#include <X3DComposedGeometryNode.h>
Inheritance diagram for H3D::X3DComposedGeometryNode:

Public Types | |
|
typedef DependentSFNode< X3DColorNode, FieldRef< X3DGeometricPropertyNode, Field,&X3DColorNode::propertyChanged > > | SFColorNode |
| The SFColorNode is dependent on the propertyChanged field of the contained X3DColorNode. | |
|
typedef DependentSFNode< X3DCoordinateNode, FieldRef< X3DGeometricPropertyNode, Field,&X3DCoordinateNode::propertyChanged > > | SFCoordinateNode |
| The SFCoordinateNode is dependent on the propertyChanged field of the contained X3DCoordinateNode. | |
|
typedef DependentSFNode< X3DNormalNode, FieldRef< X3DGeometricPropertyNode, Field,&X3DNormalNode::propertyChanged > > | SFNormalNode |
| The SFNormalNode is dependent on the propertyChanged field of the contained X3DNormalNode. | |
|
typedef DependentSFNode< X3DTextureCoordinateNode, FieldRef< X3DGeometricPropertyNode, Field,&X3DTextureCoordinateNode::propertyChanged > > | SFTextureCoordinateNode |
| The SFTextureCoordinteNode is dependent on the propertyChanged field of the contained X3DTextureCoordinateNode. | |
|
typedef DependentMFNode< X3DVertexAttributeNode, FieldRef< X3DGeometricPropertyNode, Field,&X3DVertexAttributeNode::propertyChanged > > | MFVertexAttributeNode |
| The MFVertexAttributeNode is dependent on the propertyChanged field of the contained X3DVertexAttributeNode. | |
Public Member Functions | |
| virtual void | startTexGen (TextureCoordinateGenerator *tex_coord_gen) |
| Start texture coordinate generation. | |
| virtual void | stopTexGen (TextureCoordinateGenerator *tex_coord_gen) |
| Stop texture coordinate generation. | |
| virtual void | renderTexCoord (int index, X3DTextureCoordinateNode *tc) |
| Render the texure coordinate with the given index from the tc argument. | |
| virtual void | renderTexCoordArray (X3DTextureCoordinateNode *tc) |
| Render the X3DTextureCoordinate as an array. | |
| virtual void | disableTexCoordArray (X3DTextureCoordinateNode *tc) |
| Disable the arrays that were enabled in renderTexCoordArray(). | |
| X3DComposedGeometryNode (Inst< SFNode > _metadata=0, Inst< SFBound > _bound=0, Inst< DisplayList > _displayList=0, Inst< SFColorNode > _color=0, Inst< SFCoordinateNode > _coord=0, Inst< SFNormalNode > _normal=0, Inst< SFTextureCoordinateNode > _texCoord=0, Inst< SFBool > _ccw=0, Inst< SFBool > _colorPerVertex=0, Inst< SFBool > _normalPerVertex=0, Inst< SFBool > _solid=0, Inst< MFVertexAttributeNode > _attrib=0) | |
| Constructor. | |
Public Attributes | |
| auto_ptr< SFColorNode > | color |
| Contains an X3DColorNode whose colors are applied to the X3DComposedGeometryNode. | |
| auto_ptr< SFCoordinateNode > | coord |
| An X3DCoordinate node with the coordinates to use. | |
| auto_ptr< SFNormalNode > | normal |
| Contains an X3DNormalNode which colors are applied to the X3DComposedGeometryNode. | |
| auto_ptr< SFTextureCoordinateNode > | texCoord |
| Contains an X3DTextureCoordinateNode which colors are applied to the X3DComposedGeometryNode. | |
| auto_ptr< SFBool > | ccw |
| The ccw field defines the ordering of the vertex coordinates of the geometry with respect to user-given or automatically generated normal vectors used in the lighting model equations. | |
| auto_ptr< SFBool > | colorPerVertex |
| If TRUE the colors in the color field is applied per vertex, otherwise it is applied per face. | |
| auto_ptr< SFBool > | normalPerVertex |
| If TRUE the normals in the normal field is applied per vertex, otherwise it is applied per face. | |
| auto_ptr< SFBool > | solid |
| The solid field determines whether one or both sides of each polygon shall be displayed. | |
| auto_ptr< MFVertexAttributeNode > | attrib |
| If the attrib field is not empty it shall contain a list of X3DVertexAttributeNode instances with per-vertex attribute information for programmable shaders. | |
Static Public Attributes | |
| static H3DNodeDatabase | database |
| The H3DNodeDatabase for this node. | |
Classes | |
| class | DisplayList |
| Display list is extended in order to set front sidedness of triangles outside the display list. More... | |
A composed geometry node type defines an abstract type that composes geometry from a set of nodes that define individual components. Composed geometry may have color, coordinates, normal and texture coordinates supplied. The rendered output of the combination of these is dependent on the concrete node definition. However, in general, the following rules shall be applied for all nodes:
If the texCoord field is not NULL, it shall contain a TextureCoordinate node.
If the attrib field is not empty it shall contain a list of X3DVertexAttributeNode instances with per-vertex attribute information for programmable shaders.
|
||||||||||||
|
Render the texure coordinate with the given index from the tc argument. If the currently active texture is a MultiTexture the texture coordinate will be rendered for the texture units of all textures in MultiTexture. tc must not be NULL. |
|
|
Render the X3DTextureCoordinate as an array. If the currently active texture is a MultiTexture it will be rendered for the texture units of all textures in MultiTexture. tc must not be NULL. |
|
|
Start texture coordinate generation. Texture coordinates will be generated for all texture units used by the currently active texture. If tex_coord_gen is NULL then texture coordinates will be generated from the bounding box of the geometry as defined in the X3D specification. If tex_coord_gen is not NULL then we use the TextureCoordinateGenerator to define the texture coordinate generation. |
|
|
If the attrib field is not empty it shall contain a list of X3DVertexAttributeNode instances with per-vertex attribute information for programmable shaders.
Access type: inputOutput
|
|
|
The ccw field defines the ordering of the vertex coordinates of the geometry with respect to user-given or automatically generated normal vectors used in the lighting model equations. If ccw is TRUE, the normals shall follow the right hand rule; the orientation of each normal with respect to the vertices (taken in order) shall be such that the vertices appear to be oriented in a counterclockwise order when the vertices are viewed (in the local coordinate system of the Shape) from the opposite direction as the normal. If ccw is FALSE, the normals shall be oriented in the opposite direction. If normals are not generated but are supplied using a Normal node, and the orientation of the normals does not match the setting of the ccw field, results are undefined.
Access type: inputOutput
|
|
|
Contains an X3DColorNode whose colors are applied to the X3DComposedGeometryNode. If the color field is NULL, the geometry shall be rendered normally using the Material and texture defined in the Appearance node
Access type: inputOutput
|
|
|
If TRUE the colors in the color field is applied per vertex, otherwise it is applied per face.
Access type: inputOutput
|
|
|
An X3DCoordinate node with the coordinates to use.
Access type: inputOutput
|
|
|
Contains an X3DNormalNode which colors are applied to the X3DComposedGeometryNode. If the normal field is NULL, the normals are automatically generated in accordance with the node's definition. If the node does not define a behaviour, the default is to generate an averaged normal for all faces that share that vertex.
Access type: inputOutput
|
|
|
If TRUE the normals in the normal field is applied per vertex, otherwise it is applied per face.
Access type: inputOutput
|
|
|
The solid field determines whether one or both sides of each polygon shall be displayed. If solid is FALSE, each polygon shall be visible regardless of the viewing direction (i.e., no backface culling shall be done, and two sided lighting shall be performed to illuminate both sides of lit surfaces). If solid is TRUE, back face culling will be performed.
Access type: inputOutput
|
|
|
Contains an X3DTextureCoordinateNode which colors are applied to the X3DComposedGeometryNode.
Access type: inputOutput
|
1.4.5