| H3D API
    2.4.1
    | 
Defines a set of per-vertex 4*4 matrix attributes. More...
#include <H3D/Matrix4VertexAttribute.h>

| Public Member Functions | |
| Matrix4VertexAttribute (Inst< SFNode > _metadata=0, Inst< SFString > _name=0, Inst< MFMatrix4f > _value=0) | |
| Constructor. | |
| virtual | ~Matrix4VertexAttribute () | 
| Destructor. | |
| virtual void | render (int value_index) | 
| Perform the OpenGL commands to set the vertex attribute with the given index.  More... | |
| virtual void | renderArray () | 
| Perform the OpenGL commands to set the vertex attributes as a an vertex attribute array on the attribute with the given index. | |
| 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. | |
|  Public Member Functions inherited from H3D::X3DVertexAttributeNode | |
| X3DVertexAttributeNode (Inst< SFNode > _metadata=0, Inst< SFString > _name=0, Inst< SFInt32 > _divisor=0) | |
| Constructor. | |
| void | setAttribIndex (int _attrib_index) | 
| Set the attribute index this vertex attribute should be rendered as.  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< MFMatrix4f > | value | 
| The value field specifies an arbitrary collection of Matrix4f values that will be passed to the shader as per-vertex information.  More... | |
|  Public Attributes inherited from H3D::X3DVertexAttributeNode | |
| H3DUniquePtr< SFString > | name | 
| The name field describes a name that is mapped to the shading language-specific name for describing per-vertex data.  More... | |
| H3DUniquePtr< SFInt32 > | divisor | 
| If non-zero, for instanced rendering, the divisor specifies the number of instances that will pass between updates of the attribute.  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::X3DVertexAttributeNode | |
| static H3DNodeDatabase | database | 
| The H3DNodeDatabase for this node. | |
|  Static Public Attributes inherited from H3D::X3DNode | |
| static H3DNodeDatabase | database | 
| The H3DNodeDatabase for this node. | |
| Protected Attributes | |
| H3DUniquePtr< Field > | attribDataUpToDate | 
| Internal field used to know if attribute_data has been created. | |
|  Protected Attributes inherited from H3D::GLVertexAttributeObject | |
| H3DUniquePtr< Field > | vboFieldsUpToDate | 
| Internal field used to know if vertex buffer object can be created.  More... | |
| 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::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... | |
Defines a set of per-vertex 4*4 matrix attributes.
The value field specifies an arbitrary collection of matrix values that will be passed to the shader as per-vertex information.
Examples:
| 
 | virtual | 
Perform the OpenGL commands to set the vertex attribute with the given index.
value_index is the index of the value in the value field that is to be used and attrib_index is the index of the attribute to set.
Reimplemented from H3D::X3DVertexAttributeNode.
References value.
| H3DUniquePtr< MFMatrix4f > H3D::Matrix4VertexAttribute::value | 
The value field specifies an arbitrary collection of Matrix4f values that will be passed to the shader as per-vertex information.
Access type: inputOutput 
 
Referenced by Matrix4VertexAttribute(), preRenderCheckFail(), and render().