Interface Shape
- All Superinterfaces:
X3DBoundedObject
,X3DChildNode
,X3DNode
,X3DShapeNode
- All Known Implementing Classes:
Shape
Shape can appear under any grouping node.
Warning: this is an abstract interface that cannot be instantiated as a concrete object. Java programmers typically only need to use concrete objects provided by the
Package hint: This interface is defined by the X3D Java Language Binding Specification for the Scene Authoring Interface (SAI).
Warning: this is an abstract interface that cannot be instantiated as a concrete object. Java programmers typically only need to use concrete objects provided by the
org.web3d.x3d.jsail
classes.
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.boolean
Provide 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.boolean
Provide 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.boolean
Provide 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:
getAppearance
in 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:
setAppearance
in 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:
getBboxCenter
in interfaceX3DBoundedObject
- Specified by:
getBboxCenter
in 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:
setBboxCenter
in interfaceX3DBoundedObject
- Specified by:
setBboxCenter
in 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:
getBboxDisplay
in interfaceX3DBoundedObject
- Specified by:
getBboxDisplay
in 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:
setBboxDisplay
in interfaceX3DBoundedObject
- Specified by:
setBboxDisplay
in 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:
getBboxSize
in interfaceX3DBoundedObject
- Specified by:
getBboxSize
in 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:
setBboxSize
in interfaceX3DBoundedObject
- Specified by:
setBboxSize
in 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:
getCastShadow
in 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:
setCastShadow
in 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:
getGeometry
in 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:
setGeometry
in 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:
getMetadata
in interfaceX3DChildNode
- Specified by:
getMetadata
in interfaceX3DNode
- Specified by:
getMetadata
in 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:
setMetadata
in interfaceX3DChildNode
- Specified by:
setMetadata
in interfaceX3DNode
- Specified by:
setMetadata
in 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:
getVisible
in interfaceX3DBoundedObject
- Specified by:
getVisible
in 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:
setVisible
in interfaceX3DBoundedObject
- Specified by:
setVisible
in 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).
-