v2.0.2
Instance Methods | List of all members
CC3VertexBoneWeights Class Reference

#import <CC3VertexArrays.h>

Inheritance diagram for CC3VertexBoneWeights:
Inheritance graph
[legend]

Instance Methods

(GLfloat *) - boneWeightsAt:
 
(void) - setBoneWeights:at:
 
(void) - setWeight:forBoneInfluence:at:
 
(void) - setWeight:forVertexUnit:at:
 
(void) - setWeights:at:
 
(GLfloat) - weightForBoneInfluence:at:
 
(GLfloat) - weightForVertexUnit:at:
 
(GLfloat *) - weightsAt:
 
- Instance Methods inherited from CC3VertexArray
(void) - __deprecated
 
(NSString *) - __deprecated
 
(void) - __deprecated
 
(GLvoid *) - addressOfElement:
 
(GLvoid *) - allocateElements:
 
(void) - bindContentToAttributeAt:withVisitor:
 
(void) - copyVertices:from:to:
 
(void) - copyVertices:from:toAddress:
 
(void) - copyVertices:fromAddress:to:
 
(void) - copyVertices:fromAddress:toAddress:
 
(void) - createGLBuffer
 
(void) - deleteGLBuffer
 
(NSString *) - describeElements:
 
(NSString *) - describeElements:startingAt:
 
(NSString *) - describeVertices
 
(NSString *) - describeVertices:
 
(NSString *) - describeVertices:startingAt:
 
(BOOL) - ensureCapacity:
 
(id) - initFromCPODData:fromSPODMesh:
 
(GLvoid *) - interleaveWith:
 
(GLvoid *) - interleaveWith:usingOffset:
 
(GLvoid *) - reallocateElements:
 
(void) - releaseRedundantContent
 
(void) - updateGLBuffer
 
(void) - updateGLBufferStartingAt:forLength:
 
- Instance Methods inherited from CC3Identifiable
(id) - copy
 
(id) - copyAsClass:
 
(void) - copyUserDataFrom:
 
(id) - copyWithName:
 
(id) - copyWithName:asClass:
 
(id) - copyWithZone:withName:
 
(id) - copyWithZone:withName:asClass:
 
(BOOL) - deriveNameFrom:
 
(BOOL) - deriveNameFrom:usingSuffix:
 
(NSString *) - fullDescription
 
(id) - init
 
(id) - initAtIndex:fromPODResource:
 
(void) - initUserData
 
(id) - initWithName:
 
(id) - initWithTag:
 
(id) - initWithTag:withName:
 
(GLuint) - nextTag
 
(void) - populateFrom:
 

Additional Inherited Members

- Class Methods inherited from CC3VertexArray
(id) + arrayFromCPODData:fromSPODMesh:
 
(GLenum) + defaultSemantic
 
(id) + vertexArray
 
(id) + vertexArrayWithName:
 
(id) + vertexArrayWithTag:
 
(id) + vertexArrayWithTag:withName:
 
- Properties inherited from CC3VertexArray
GLvoid *elements __deprecated
 
GLuint elementCount __deprecated
 
GLuint elementStride __deprecated
 
GLfloat capacityExpansionFactor __deprecated
 
BOOL shouldReleaseRedundantData __deprecated
 
GLuint allocatedVertexCapacity
 
GLuint bufferID
 
GLenum bufferTarget
 
GLenum bufferUsage
 
GLuint elementLength
 
GLuint elementOffset
 
GLint elementSize
 
GLenum elementType
 
BOOL isUsingGLBuffer
 
GLenum semantic
 
BOOL shouldAllowVertexBuffering
 
BOOL shouldNormalizeContent
 
BOOL shouldReleaseRedundantContent
 
GLuint vertexCount
 
GLuint vertexStride
 
GLvoid * vertices
 

Detailed Description

A CC3VertexArray that manages a collection of bone weights for each vertex.

Each bone weight indicates how much that particular bone influences the movement of the vertex for a mesh that uses vertex skinning. Vertex skinning is the manipulation of a soft-body mesh under control of a skeleton of bone nodes.

For each vertex, the bone to which the weight should be applied is identified by the bone index specified in the corresponding entry in the CC3VertexBoneIndices vertex array.

This vertex array works together with an instace of a CC3VertexBoneIndices vertex array. The elementSize property of the two vertex arrays must be equal, and under OpenGL ES 1.1, must not be larger than the maximum number of available bone influences allowed by the platform, which can be retreived from CC3OpenGL.sharedGL.maxNumberOfBoneInfluencesPerVertex.

Method Documentation

- (GLfloat*) boneWeightsAt: (GLuint)  vtxIndex

Returns the weights of all of the bones that influence the movement of the vertex at the specified index within the underlying vertex content.

Several weights are stored for each vertex, one for each bone that influences the movement of the vertex. The number of elements in the returned array is the same for each vertex in this vertex array, as defined by the elementSize property.

The vertex index refers to vertices, not bytes. The implementation takes into consideration the vertexStride and elementOffset properties to access the correct vertices.

If the releaseRedundantContent method has been invoked and the underlying vertex content has been released, this method will raise an assertion exception.

- (void) setBoneWeights: (GLfloat *)  weights
at: (GLuint)  vtxIndex 

Sets the weights of all of the bones that influence the movement of the vertex at the specified index within the underlying vertex content.

Several weights are stored for each vertex, one for each bone that influences the movement of the vertex. The number of elements in the specified input array must therefore be at least as large as the value of the elementSize property.

The vertex index refers to vertices, not bytes. The implementation takes into consideration the vertexStride and elementOffset properties to access the correct vertices.

If the releaseRedundantContent method has been invoked and the underlying vertex content has been released, this method will raise an assertion exception.

- (void) setWeight: (GLfloat)  weight
forBoneInfluence: (GLuint)  influenceIndex
at: (GLuint)  vtxIndex 

Sets the weight value, for the specified influence index within the vertex, for the vertex at the specified index within the underlying vertex content.

The weight indicates how much a particular bone influences the movement of the particular vertex. Several weights are stored for each vertex, one for each bone that influences the movement of that vertex. The specified influenceIndex parameter must be between zero, and the elementSize property (inclusive/exclusive respectively).

The vertex index refers to vertices, not bytes. The implementation takes into consideration the vertexStride and elementOffset properties to access the correct element.

If the releaseRedundantContent method has been invoked and the underlying vertex content has been released, this method will raise an assertion exception.

- (void) setWeight: (GLfloat)  aWeight
forVertexUnit: (GLuint)  vertexUnit
at: (GLuint)  __deprecated 

Deprecated:
Renamed to setWeight:forBoneInfluence:at:.
- (void) setWeights: (GLfloat *)  weights
at: (GLuint)  __deprecated 

Deprecated:
Renamed to setBoneWeights:at:.
- (GLfloat) weightForBoneInfluence: (GLuint)  influenceIndex
at: (GLuint)  vtxIndex 

Returns the weight value, for the specified influence index within the vertex, for the vertex at the specified index within the underlying vertex content.

The weight indicates how much a particular bone influences the movement of the particular vertex. Several weights are stored for each vertex, one for each bone that influences the movement of that vertex. The specified influenceIndex parameter must be between zero, and the elementSize property (inclusive/exclusive respectively).

The vertex index refers to vertices, not bytes. The implementation takes into consideration the vertexStride and elementOffset properties to access the correct element.

If the releaseRedundantContent method has been invoked and the underlying vertex content has been released, this method will raise an assertion exception.

- (GLfloat) weightForVertexUnit: (GLuint)  vertexUnit
at: (GLuint)  __deprecated 

Deprecated:
Renamed to weightForBoneInfluence:at:.
- (GLfloat*) weightsAt: (GLuint)  __deprecated

Deprecated:
Renamed to boneWeightsAt:.

The documentation for this class was generated from the following file: