| 
    H3D API
    2.4.1
    
   | 
 
The TextureCoordinate4D node is a geometry property node that specifies a set of 4D (homogeneous 3D) texture coordinates used by vertex-based geometry nodes (e.g., IndexedFaceSet) to map 3D textures to vertices. More...
#include <H3D/TextureCoordinate4D.h>

Public Member Functions | |
| TextureCoordinate4D (Inst< SFNode > _metadata=0, Inst< MFVec4f > _point=0) | |
| Constructor.  | |
| virtual | ~TextureCoordinate4D () | 
| Destructor.  | |
| virtual bool | supportsExplicitTexCoords () | 
| Returns true.  | |
| virtual void | render (int index) | 
| Perform the OpenGL commands to render a texture coordinate given the index of the texture coordinate.  More... | |
| virtual void | renderForTextureUnit (int index, unsigned int texture_unit) | 
| Render the texture transform for the currently active texture unit.  | |
| virtual void | renderArray () | 
| Perform the OpenGL commands to render all vertices as a vertex array.  | |
| virtual void | disableArray () | 
| Disable the array state enabled in renderArray().  | |
| virtual void | setAttributeData () | 
| Implement the method to specify data and releated information.  | |
| virtual void | renderVBO () | 
| VBO rendering implementation.  | |
| virtual void | disableVBO () | 
| VBO disabling implementation.  | |
| virtual bool | preRenderCheckFail () | 
| Check if this vertex attribute needs to be rendered.  | |
| virtual unsigned int | nrAvailableTexCoords () | 
| Returns the number of texture coordinates this node can render.  | |
| virtual bool | supportsGetTexCoord (unsigned int texture_unit) | 
| Returns true if the getTexCoord function is available for use.  More... | |
| virtual Vec4f | getTexCoord (int index, unsigned int texture_unit) | 
| Gets texture coordinate of the given index and texture unit.  | |
  Public Member Functions inherited from H3D::X3DTextureCoordinateNode | |
| X3DTextureCoordinateNode (Inst< SFNode > _metadata=0) | |
| Constructor.  | |
| void | renderForTextureUnits (int index, unsigned int start_unit, unsigned int end_unit) | 
| Render the texture coordinate for the texture units between and including start_unit and end_unit.  | |
| void | renderForActiveTexture (int index) | 
| Render the texture coordinate for all texture units used by the texture in X3DTextureNode::getActiveTexture.  | |
| void | renderForTexture (int index, X3DTextureNode *t) | 
| Render the texture coordinate for all texture units used by the texture.  | |
| void | renderArrayForTexture (X3DTextureNode *t) | 
| Render the texture coordinate for all texture units used by the texture.  | |
| void | renderArrayForActiveTexture () | 
| Render the texture coordinate for all texture units used by the texture in X3DTextureNode::getActiveTexture.  | |
| virtual void | renderArrayForTextureUnit (unsigned int texture_unit) | 
| Perform the OpenGL commands to render all texture coordinates as an array for the given texture unit.  | |
| void | renderArrayForTextureUnits (unsigned int start_unit, unsigned int end_unit) | 
| Perform the OpenGL commands to render all texture coordinates as an array for the texture units between and including start_unit and end_unit.  | |
| void | disableArrayForTexture (X3DTextureNode *t) | 
| Disable the array state enabled in renderArrayForTexture.  | |
| void | disableArrayForActiveTexture () | 
| Disable the array state enabled in renderArrayForActiveTexture.  | |
| virtual void | disableArrayForTextureUnit (unsigned int texture_unit) | 
| Disable the array state enabled in renderArrayForTextureUnit().  | |
| void | disableArrayForTextureUnits (unsigned int start_unit, unsigned int end_unit) | 
| Disable the array state enabled in renderArrayForTextureUnits().  | |
| void | renderVertexBufferObjectForTexture (X3DTextureNode *t) | 
| Render the texture coordinate for all texture units used by the texture.  | |
| void | renderVertexBufferObjectForActiveTexture () | 
| Render the texture coordinate for all texture units used by the texture in X3DTextureNode::getActiveTexture.  | |
| virtual void | renderVertexBufferObjectForTextureUnit (unsigned int texture_unit) | 
| Perform the OpenGL commands to render all texture coordinates as an vertex buffer object for the given texture unit.  | |
| void | renderVertexBufferObjectForTextureUnits (unsigned int start_unit, unsigned int end_unit) | 
| Perform the OpenGL commands to render all texture coordinates as an vertex buffer object for the texture units between and including start_unit and end_unit.  | |
| void | disableVertexBufferObjectForTexture (X3DTextureNode *t) | 
| Disable the vertex buffer object state state enabled in renderVertexBufferObjectForTexture.  | |
| void | disableVertexBufferObjectForActiveTexture () | 
| Disable the vertex buffer object state enabled in renderVertexBufferObjectForActiveTexture.  | |
| virtual void | disableVertexBufferObjectForTextureUnit (unsigned int texture_unit) | 
| Disable the vertex buffer object state enabled in renderVertexBufferObjectForTextureUnit().  | |
| void | disableVertexBufferObjectForTextureUnits (unsigned int start_unit, unsigned int end_unit) | 
| Disable the vertex buffer object state enabled in renderVertexBufferObjectForTextureUnits().  | |
| virtual bool | supportsTexGen () | 
| Returns true if the node supports rendering of explicit texture coordinates.  | |
| virtual void | startTexGen () | 
| Start hardware texture coordinate generation.  More... | |
| virtual void | stopTexGen () | 
| Stop the texture coordinate generation started with startTexGen().  | |
| virtual void | startTexGenForTexture (X3DTextureNode *t) | 
| Start hardware texture coordinate generateion for all texture units used by the texture  | |
| void | startTexGenForActiveTexture () | 
| Start hardware texture coordinate generateion for all texture units used by the texture in X3DTextureNode::getActiveTexture.  | |
| virtual void | stopTexGenForTexture (X3DTextureNode *t) | 
| Stop texture coordinate generateion for all texture units used by the texture  | |
| void | stopTexGenForActiveTexture () | 
| Stop hardware texture coordinate generateion for all texture units used by the texture in X3DTextureNode::getActiveTexture.  | |
| void | startTexGenForTextureUnits (unsigned int start_unit, unsigned int end_unit) | 
| Start hardware texture coordinate generation for the texture units between and including start_unit and end_unit.  More... | |
| virtual void | startTexGenForTextureUnit (unsigned int texture_unit) | 
| Start hardware texture coordinate generation for the texture unit specified.  More... | |
| void | stopTexGenForTextureUnits (unsigned int start_unit, unsigned int end_unit) | 
| Stop the texture coordinate generation started with startTexGenForTextureUnits().  | |
| virtual void | stopTexGenForTextureUnit (unsigned int texture_unit) | 
| Stop hardware texture coordinate generation for the texture unit specified.  More... | |
| virtual string | defaultXMLContainerField () | 
| Returns the default xml containerField attribute value.  More... | |
  Public Member Functions inherited from H3D::X3DGeometricPropertyNode | |
| X3DGeometricPropertyNode (Inst< SFNode > _metadata=0) | |
| Constructor.  | |
  Public Member Functions inherited from H3D::X3DNode | |
| X3DNode (Inst< SFNode > _metadata=0) | |
| Constructor.  | |
| X3DMetadataObject * | getMetadataByName (const string &_name) | 
| Given a name, the first X3DMetadataObject in the metadata field that matches that name is returned.  More... | |
  Public Member Functions inherited from H3D::Node | |
| Node () | |
| Constructor.  | |
| virtual Node * | clone (bool deepCopy=true, DeepCopyMap *deepCopyMap=NULL) | 
| Returns a new instance of this node type with the same state as this one.  More... | |
| virtual | ~Node () | 
| Destructor.  | |
| X3DPrototypeInstance * | getProtoInstanceParent () | 
| If this node is the root node in the proto body of a X3DPrototypeInstance then this will return that node.  More... | |
| void | setProtoInstanceParent (X3DPrototypeInstance *p) | 
| Set the X3DPrototypeInstance this node is the the root node if applicaple.  | |
| virtual void | render () | 
| the render() function is used for the depth-first rendering traversal of the scene-graph.  More... | |
| virtual void | traverseSG (TraverseInfo &ti) | 
| traverseSG is called once per scenegraph loop on the scene in order to traverse the scenegraph.  More... | |
| virtual bool | lineIntersect (const Vec3f &from, const Vec3f &to, LineIntersectResult &result) | 
| Detect intersection between a line segment and the Node.  More... | |
| virtual void | closestPoint (const Vec3f &p, NodeIntersectResult &result) | 
| Find closest point on Node to p.  More... | |
| virtual bool | movingSphereIntersect (H3DFloat radius, const Vec3f &from, const Vec3f &to, NodeIntersectResult &result) | 
| Detect collision between a moving sphere and the Node.  More... | |
| virtual Field * | getField (const string &_name) const | 
| return a pointer to the field specified by name within this instance  | |
| int | addDestructCallback (void(*func)(Node *, void *), void *args) | 
| Add a callback function to be run on destruction of node.  More... | |
| int | removeDestructCallback (void(*func)(Node *, void *), void *args) | 
| Add a callback function to be run on destruction of node.  More... | |
  Public Member Functions inherited from H3D::GLVertexAttributeObject | |
| GLVertexAttributeObject (VERTEXATTRIBUTE::VERTEXATTRIBUTETYPE type) | |
| Constructor.  | |
| virtual | ~GLVertexAttributeObject () | 
| Destructor.  | |
| void | renderVertexBufferObject () | 
| Perform the OpenGL commands to render all vertices as a vertex buffer object.  | |
| void | disableVertexBufferObject () | 
| Disable the vertex buffer object enabled in renderVertexBufferObject().  | |
| virtual void | updateVertexBufferObject () | 
| Perform the OpenGL commands to update vertex attribute data/format.  | |
Public Attributes | |
| H3DUniquePtr< MFVec4f > | point | 
| A vector of 4d texture coordinates.  More... | |
  Public Attributes inherited from H3D::X3DGeometricPropertyNode | |
| H3DUniquePtr< Field > | propertyChanged | 
| Field that indicated whether the properties have changed.  More... | |
  Public Attributes inherited from H3D::X3DNode | |
| H3DUniquePtr< SFNode > | metadata | 
| Meta data about the node.  More... | |
  Public Attributes inherited from H3D::GLVertexAttributeObject | |
| H3DUniquePtr< SFBool > | isDynamic | 
| Option to indicate whether this vertex attribute is dynamic or not Access type: inputOutput  Default value: false.  | |
Static Public Attributes | |
| static H3DNodeDatabase | database | 
| The H3DNodeDatabase for this node.  | |
  Static Public Attributes inherited from H3D::X3DNode | |
| static H3DNodeDatabase | database | 
| The H3DNodeDatabase for this node.  | |
Additional Inherited Members | |
  Public Types inherited from H3D::Node | |
| typedef std::map< Node *, Node * > | DeepCopyMap | 
| A map type used during a deep copy clone() to map from original nodes to cloned nodes.  | |
  Static Public Member Functions inherited from H3D::X3DTextureCoordinateNode | |
| static void | renderTexCoordForActiveTexture (const Vec3f &tc) | 
| Render the texture coordinate for all texture units used by the texture in X3DTextureNode::getActiveTexture.  | |
| static void | renderTexCoordForTexture (const Vec3f &tc, X3DTextureNode *t) | 
| Render the texture coordinate for all texture units used by the given texture .  | |
| static void | renderVertexBufferObjectForActiveTexture (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer) | 
| Render the vertex buffer object for all texture units used by the texture in X3DTextureNode::getActiveTexture.  More... | |
| static void | renderVertexBufferObjectForTexture (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer, X3DTextureNode *t) | 
| Render the vertex buffer object for all texture units used by the given texture.  More... | |
| static void | disableVBOForActiveTexture () | 
| Function that corresponds to the static version of the function renderVertexBufferObjectForActiveTexture.  More... | |
| static void | disableVBOForTexture (X3DTextureNode *t) | 
| Function that corresponds to the static version of the function renderVertexBufferObjectForTexture.  More... | |
  Static Public Member Functions inherited from H3D::Node | |
| static unsigned int | nrNodesAlive () | 
| Returns the nr of nodes currently alive, i.e. nodes created but not destructed.  | |
| static int | nrNodesCreated () | 
| Returns the number of nodes created in total since the start of the program.  | |
  Protected Member Functions inherited from H3D::Node | |
| void | cloneFieldValue (Field &_from, Field &_to, bool deepCopy, DeepCopyMap &deepCopyMap) | 
| A helper function for the clone() method.  More... | |
  Static Protected Member Functions inherited from H3D::Node | |
| static Node * | getClonedInstance (Node *original, bool deepCopy, DeepCopyMap &deepCopyMap) | 
| A helper function for nodes that implement clone()  More... | |
  Protected Attributes inherited from H3D::X3DTextureCoordinateNode | |
| unsigned int | texture_index | 
| the current texture index  | |
  Protected Attributes inherited from H3D::GLVertexAttributeObject | |
| H3DUniquePtr< Field > | vboFieldsUpToDate | 
| Internal field used to know if vertex buffer object can be created.  More... | |
The TextureCoordinate4D node is a geometry property node that specifies a set of 4D (homogeneous 3D) texture coordinates used by vertex-based geometry nodes (e.g., IndexedFaceSet) to map 3D textures to vertices.
Examples:
      
  | 
  virtual | 
Perform the OpenGL commands to render a texture coordinate given the index of the texture coordinate.
Installs the texture coordinate as a glTexCoord2f
Reimplemented from H3D::X3DTextureCoordinateNode.
      
  | 
  inlinevirtual | 
Returns true if the getTexCoord function is available for use.
For a TextureCoordinate node it is
Reimplemented from H3D::X3DTextureCoordinateNode.
| H3DUniquePtr< MFVec4f > H3D::TextureCoordinate4D::point | 
A vector of 4d texture coordinates.
Access type: inputOutput 
  
Referenced by preRenderCheckFail(), render(), renderArray(), renderForTextureUnit(), setAttributeData(), and TextureCoordinate4D().