Interface Shape
- All Superinterfaces:
X3DBoundedObject,X3DChildNode,X3DNode,X3DShapeNode
- All Known Implementing Classes:
Shape
Shape can appear under any grouping node.
Shape node tooltip: [X3DShapeNode,X3DVisibleObject] Shape can appear under any grouping node. Shape can contain an Appearance node and a geometry node (for example one of the primitives Box Cone Cylinder Sphere Text, one of ElevationGrid Extrusion IndexedFaceSet IndexedLineSet LineSet PointSet, or one of the other geometry nodes).
Package hint: This interface is defined by the X3D Java Language Binding Specification for the Scene Authoring Interface (SAI).
Shape node tooltip: [X3DShapeNode,X3DVisibleObject] Shape can appear under any grouping node. Shape can contain an Appearance node and a geometry node (for example one of the primitives Box Cone Cylinder Sphere Text, one of ElevationGrid Extrusion IndexedFaceSet IndexedLineSet LineSet PointSet, or one of the other geometry nodes).
- Hint: Shape https://en.wikipedia.org/wiki/Shape
- Hint: the Shape design pattern to collect appearance and geometry together is fundamentally the same for many types of 3D graphics software and hardware.
- Hint: for advanced extensibility, authors can substitute a type-matched ProtoInstance node (with correct containerField value) for contained node content.
- Hint: X3D Architecture 12.2.1 Shape nodes https://www.web3d.org/specifications/X3Dv4/ISO-IEC19775-1v4-IS/Part01/components/shape.html#Shapenodes
- Hint: X3D Architecture 17.2.2 Lighting model https://www.web3d.org/specifications/X3Dv4/ISO-IEC19775-1v4-IS/Part01/components/lighting.html#Lightingmodel
- Hint: apply containerField='shape' if parent node is CADFace.
Package hint: This interface is defined by the X3D Java Language Binding Specification for the Scene Authoring Interface (SAI).
- See Also:
-
Method Summary
Modifier and TypeMethodDescriptionProvide org.web3d.x3d.sai.Shape.X3DAppearanceNode instance (using a properly typed node) from inputOutput SFNode field appearance.float[]Provide array of 3-tuple float results from initializeOnly SFVec3f field named bboxCenter.booleanProvide boolean value from inputOutput SFBool field named bboxDisplay.float[]Provide array of 3-tuple float results within allowed range of [0,infinity), or default value [-1 -1 -1], from initializeOnly SFVec3f field named bboxSize.booleanProvide boolean value from inputOutput SFBool field named castShadow.Provide org.web3d.x3d.sai.Rendering.X3DGeometryNode instance (using a properly typed node) from inputOutput SFNode field geometry.Provide org.web3d.x3d.sai.Core.X3DMetadataObject instance (using a properly typed node) from inputOutput SFNode field metadata.booleanProvide boolean value from inputOutput SFBool field named visible.setAppearance(X3DAppearanceNode newValue) Accessor method to assign org.web3d.x3d.sai.Shape.X3DAppearanceNode instance (using a properly typed node) to inputOutput SFNode field appearance.setBboxCenter(float[] newValue) Accessor method to assign 3-tuple float array to initializeOnly SFVec3f field named bboxCenter.setBboxDisplay(boolean newValue) Accessor method to assign boolean value to inputOutput SFBool field named bboxDisplay.setBboxSize(float[] newValue) Accessor method to assign 3-tuple float array to initializeOnly SFVec3f field named bboxSize.setCastShadow(boolean newValue) Accessor method to assign boolean value to inputOutput SFBool field named castShadow.setGeometry(X3DGeometryNode newValue) Accessor method to assign org.web3d.x3d.sai.Rendering.X3DGeometryNode instance (using a properly typed node) to inputOutput SFNode field geometry.setMetadata(X3DMetadataObject newValue) Accessor method to assign org.web3d.x3d.sai.Core.X3DMetadataObject instance (using a properly typed node) to inputOutput SFNode field metadata.setVisible(boolean newValue) Accessor method to assign boolean value to inputOutput SFBool field named visible.
-
Method Details
-
getAppearance
X3DAppearanceNode getAppearance()Provide org.web3d.x3d.sai.Shape.X3DAppearanceNode instance (using a properly typed node) from inputOutput SFNode field appearance.
Tooltip: [X3DAppearanceNode] Single contained Appearance node that can specify visual attributes (such as material, texture, fillProperties and lineProperties) applied to corresponding geometry. *- Specified by:
getAppearancein interfaceX3DShapeNode- Returns:
- value of appearance field
-
setAppearance
Accessor method to assign org.web3d.x3d.sai.Shape.X3DAppearanceNode instance (using a properly typed node) to inputOutput SFNode field appearance.
Tooltip: [X3DAppearanceNode] Single contained Appearance node that can specify visual attributes (such as material, texture, fillProperties and lineProperties) applied to corresponding geometry. *- Specified by:
setAppearancein interfaceX3DShapeNode- Parameters:
newValue- is new value for the appearance field.- Returns:
Shape- namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
-
getBboxCenter
float[] getBboxCenter()Provide array of 3-tuple float results from initializeOnly SFVec3f field named bboxCenter.
Tooltip: Bounding box center accompanies bboxSize and provides an optional hint for bounding box position offset from origin of local coordinate system.- Hint: precomputation and inclusion of bounding box information can speed up the initialization of large detailed models, with a corresponding cost of increased file size.
- Hint: X3D Architecture, 10.2.2 Bounding boxes https://www.web3d.org/specifications/X3Dv4/ISO-IEC19775-1v4-IS/Part01/components/grouping.html#BoundingBoxes
- Hint: X3D Architecture, 10.3.1 X3DBoundedObject https://www.web3d.org/specifications/X3Dv4/ISO-IEC19775-1v4-IS/Part01/components/grouping.html#X3DBoundedObject
- Specified by:
getBboxCenterin interfaceX3DBoundedObject- Specified by:
getBboxCenterin interfaceX3DShapeNode- Returns:
- value of bboxCenter field
-
setBboxCenter
Accessor method to assign 3-tuple float array to initializeOnly SFVec3f field named bboxCenter.
Tooltip: Bounding box center accompanies bboxSize and provides an optional hint for bounding box position offset from origin of local coordinate system.- Hint: precomputation and inclusion of bounding box information can speed up the initialization of large detailed models, with a corresponding cost of increased file size.
- Hint: X3D Architecture, 10.2.2 Bounding boxes https://www.web3d.org/specifications/X3Dv4/ISO-IEC19775-1v4-IS/Part01/components/grouping.html#BoundingBoxes
- Hint: X3D Architecture, 10.3.1 X3DBoundedObject https://www.web3d.org/specifications/X3Dv4/ISO-IEC19775-1v4-IS/Part01/components/grouping.html#X3DBoundedObject
- Specified by:
setBboxCenterin interfaceX3DBoundedObject- Specified by:
setBboxCenterin interfaceX3DShapeNode- Parameters:
newValue- is new value for the bboxCenter field.- Returns:
Shape- namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
-
getBboxDisplay
boolean getBboxDisplay()Provide boolean value from inputOutput SFBool field named bboxDisplay.
Tooltip: Whether to display bounding box for associated geometry, aligned with world coordinates.- Hint: the bounding box is displayed regardless of whether contained content is visible.
- Specified by:
getBboxDisplayin interfaceX3DBoundedObject- Specified by:
getBboxDisplayin interfaceX3DShapeNode- Returns:
- value of bboxDisplay field
-
setBboxDisplay
Accessor method to assign boolean value to inputOutput SFBool field named bboxDisplay.
Tooltip: Whether to display bounding box for associated geometry, aligned with world coordinates.- Hint: the bounding box is displayed regardless of whether contained content is visible.
- Specified by:
setBboxDisplayin interfaceX3DBoundedObject- Specified by:
setBboxDisplayin interfaceX3DShapeNode- Parameters:
newValue- is new value for the bboxDisplay field.- Returns:
Shape- namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
-
getBboxSize
float[] getBboxSize()Provide array of 3-tuple float results within allowed range of [0,infinity), or default value [-1 -1 -1], from initializeOnly SFVec3f field named bboxSize.
Tooltip: or [0,+infinity) Bounding box size is usually omitted, and can easily be calculated automatically by an X3D player at scene-loading time with minimal computational cost. Bounding box size can also be defined as an optional authoring hint that suggests an optimization or constraint.- Hint: can be useful for collision computations or inverse-kinematics (IK) engines.
- Hint: precomputation and inclusion of bounding box information can speed up the initialization of large detailed models, with a corresponding cost of increased file size.
- Hint: X3D Architecture, 10.2.2 Bounding boxes https://www.web3d.org/specifications/X3Dv4/ISO-IEC19775-1v4-IS/Part01/components/grouping.html#BoundingBoxes
- Hint: X3D Architecture, 10.3.1 X3DBoundedObject https://www.web3d.org/specifications/X3Dv4/ISO-IEC19775-1v4-IS/Part01/components/grouping.html#X3DBoundedObject
- Specified by:
getBboxSizein interfaceX3DBoundedObject- Specified by:
getBboxSizein interfaceX3DShapeNode- Returns:
- value of bboxSize field
-
setBboxSize
Accessor method to assign 3-tuple float array to initializeOnly SFVec3f field named bboxSize.
Tooltip: or [0,+infinity) Bounding box size is usually omitted, and can easily be calculated automatically by an X3D player at scene-loading time with minimal computational cost. Bounding box size can also be defined as an optional authoring hint that suggests an optimization or constraint.- Hint: can be useful for collision computations or inverse-kinematics (IK) engines.
- Hint: precomputation and inclusion of bounding box information can speed up the initialization of large detailed models, with a corresponding cost of increased file size.
- Hint: X3D Architecture, 10.2.2 Bounding boxes https://www.web3d.org/specifications/X3Dv4/ISO-IEC19775-1v4-IS/Part01/components/grouping.html#BoundingBoxes
- Hint: X3D Architecture, 10.3.1 X3DBoundedObject https://www.web3d.org/specifications/X3Dv4/ISO-IEC19775-1v4-IS/Part01/components/grouping.html#X3DBoundedObject
- Specified by:
setBboxSizein interfaceX3DBoundedObject- Specified by:
setBboxSizein interfaceX3DShapeNode- Parameters:
newValue- is new value for the bboxSize field.- Returns:
Shape- namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
-
getCastShadow
boolean getCastShadow()Provide boolean value from inputOutput SFBool field named castShadow.
Tooltip: castShadow defines whether this Shape casts shadows as produced by lighting nodes.- Hint: if the visible field is FALSE, then the Shape does not cast any shadows.
- Hint: if prior X3D3 content is loaded into an X3D4 model, then legacy Shape nodes have shadows set to true.
- Specified by:
getCastShadowin interfaceX3DShapeNode- Returns:
- value of castShadow field
-
setCastShadow
Accessor method to assign boolean value to inputOutput SFBool field named castShadow.
Tooltip: castShadow defines whether this Shape casts shadows as produced by lighting nodes.- Hint: if the visible field is FALSE, then the Shape does not cast any shadows.
- Hint: if prior X3D3 content is loaded into an X3D4 model, then legacy Shape nodes have shadows set to true.
- Specified by:
setCastShadowin interfaceX3DShapeNode- Parameters:
newValue- is new value for the castShadow field.- Returns:
Shape- namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
-
getGeometry
X3DGeometryNode getGeometry()Provide org.web3d.x3d.sai.Rendering.X3DGeometryNode instance (using a properly typed node) from inputOutput SFNode field geometry.
Tooltip: [X3DGeometryNode] Single contained geometry node that is rendered according to corresponding appearance. *- Specified by:
getGeometryin interfaceX3DShapeNode- Returns:
- value of geometry field
-
setGeometry
Accessor method to assign org.web3d.x3d.sai.Rendering.X3DGeometryNode instance (using a properly typed node) to inputOutput SFNode field geometry.
Tooltip: [X3DGeometryNode] Single contained geometry node that is rendered according to corresponding appearance. *- Specified by:
setGeometryin interfaceX3DShapeNode- Parameters:
newValue- is new value for the geometry field.- Returns:
Shape- namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
-
getMetadata
X3DMetadataObject getMetadata()Provide org.web3d.x3d.sai.Core.X3DMetadataObject instance (using a properly typed node) from inputOutput SFNode field metadata.
Tooltip: [X3DMetadataObject] Information about this node can be contained in a MetadataBoolean, MetadataDouble, MetadataFloat, MetadataInteger, MetadataString or MetadataSet node.- Hint: X3D Architecture 7.2.4 Metadata https://www.web3d.org/specifications/X3Dv4/ISO-IEC19775-1v4-IS/Part01/components/core.html#Metadata
- Specified by:
getMetadatain interfaceX3DChildNode- Specified by:
getMetadatain interfaceX3DNode- Specified by:
getMetadatain interfaceX3DShapeNode- Returns:
- value of metadata field
- See Also:
-
setMetadata
Accessor method to assign org.web3d.x3d.sai.Core.X3DMetadataObject instance (using a properly typed node) to inputOutput SFNode field metadata.
Tooltip: [X3DMetadataObject] Information about this node can be contained in a MetadataBoolean, MetadataDouble, MetadataFloat, MetadataInteger, MetadataString or MetadataSet node.- Hint: X3D Architecture 7.2.4 Metadata https://www.web3d.org/specifications/X3Dv4/ISO-IEC19775-1v4-IS/Part01/components/core.html#Metadata
- Specified by:
setMetadatain interfaceX3DChildNode- Specified by:
setMetadatain interfaceX3DNode- Specified by:
setMetadatain interfaceX3DShapeNode- Parameters:
newValue- is new value for the metadata field.- Returns:
Shape- namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).- See Also:
-
getVisible
boolean getVisible()Provide boolean value from inputOutput SFBool field named visible.
Tooltip: Whether or not renderable content within this node is visually displayed.- Hint: the visible field has no effect on animation behaviors, event passing or other non-visual characteristics.
- Hint: content must be visible to be collidable and to be pickable.
- Specified by:
getVisiblein interfaceX3DBoundedObject- Specified by:
getVisiblein interfaceX3DShapeNode- Returns:
- value of visible field
-
setVisible
Accessor method to assign boolean value to inputOutput SFBool field named visible.
Tooltip: Whether or not renderable content within this node is visually displayed.- Hint: the visible field has no effect on animation behaviors, event passing or other non-visual characteristics.
- Hint: content must be visible to be collidable and to be pickable.
- Specified by:
setVisiblein interfaceX3DBoundedObject- Specified by:
setVisiblein interfaceX3DShapeNode- Parameters:
newValue- is new value for the visible field.- Returns:
Shape- namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
-