Package org.web3d.x3d.sai.Rendering
Interface Normal
- All Superinterfaces:
X3DGeometricPropertyNode,X3DNode,X3DNormalNode
- All Known Implementing Classes:
NormalObject
public interface Normal extends X3DNormalNode
Normal defines a set of 3D surface-normal vectors that apply either to a sibling Coordinate|CoordinateDouble node, or else to a parent ElevationGrid node.
X3D node tooltip: [X3DNormalNode] Normal defines a set of 3D surface-normal vectors that apply either to a sibling Coordinate|CoordinateDouble node, or else to a parent ElevationGrid node. Normal values are perpendicular directions that are used per-polygon or per-vertex when computing lighting and shading.
Package hint: This interface is defined by the X3D Java Language Binding Specification for the Scene Authoring Interface (SAI).
X3D node tooltip: [X3DNormalNode] Normal defines a set of 3D surface-normal vectors that apply either to a sibling Coordinate|CoordinateDouble node, or else to a parent ElevationGrid node. Normal values are perpendicular directions that are used per-polygon or per-vertex when computing lighting and shading.
- Hint: Normal values are typically only calculated or applied once, during initial loading of model geometry.
- Hint: custom Normal values can produce special effects.
- Hint: if no child Normal node is provided, the X3D browser shall automatically generate normals, using creaseAngle to determine smoothed shading across shared vertices.
- Hint: computation of normal values is performed quite quickly on modern 3D graphics hardware, often with no perceptible delay.
- Warning: adding normal values to a model might significantly increase file size. Testing can help determine proper tradeoffs between file size, network transmission delays and initial rendering speed.
Package hint: This interface is defined by the X3D Java Language Binding Specification for the Scene Authoring Interface (SAI).
-
Method Summary
Modifier and Type Method Description X3DMetadataObjectgetMetadata()Provide X3DMetadataObject instance (using a properly typed node) from inputOutput SFNode field metadata.float[]getVector()Provide array of 3-tuple float results within allowed range of [-1,1] from inputOutput MFVec3f field named vector.NormalsetMetadata(X3DMetadataObject newValue)Accessor method to assign X3DMetadataObject instance (using a properly typed node) to inputOutput SFNode field metadata.NormalsetVector(float[] newValue)Accessor method to assign 3-tuple float array to inputOutput MFVec3f field named vector.
-
Method Details
-
getMetadata
X3DMetadataObject getMetadata()Provide 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/documents/specifications/19775-1/V3.3/Part01/components/core.html#Metadata
- Specified by:
getMetadatain interfaceX3DGeometricPropertyNode- Specified by:
getMetadatain interfaceX3DNode- Specified by:
getMetadatain interfaceX3DNormalNode- Returns:
- value of metadata field
- See Also:
- X3D Scene Authoring Hints: Metadata Nodes
-
setMetadata
Accessor method to assign 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/documents/specifications/19775-1/V3.3/Part01/components/core.html#Metadata
- Specified by:
setMetadatain interfaceX3DGeometricPropertyNode- Specified by:
setMetadatain interfaceX3DNode- Specified by:
setMetadatain interfaceX3DNormalNode- Parameters:
newValue- is new value for the metadata field.- Returns:
Normal- namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).- See Also:
- X3D Scene Authoring Hints: Metadata Nodes
-
getVector
float[] getVector()Provide array of 3-tuple float results within allowed range of [-1,1] from inputOutput MFVec3f field named vector.
Tooltip: set of unit-length normal vectors, corresponding to indexed polygons or vertices.- Warning: unit length means a magnitude of 1.0, so normal values of (0,0,0) are invalid.
- Returns:
- value of vector field
-
setVector
Accessor method to assign 3-tuple float array to inputOutput MFVec3f field named vector.
Tooltip: set of unit-length normal vectors, corresponding to indexed polygons or vertices.- Warning: unit length means a magnitude of 1.0, so normal values of (0,0,0) are invalid.
- Parameters:
newValue- is new value for the vector field.- Returns:
Normal- namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
-