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

#import <CC3VertexSkinning.h>

Inheritance diagram for CC3SkinMeshNode:
Inheritance graph
[legend]

Instance Methods

(void) - boneWasTransformed:
 
(CC3SkinSection *) - skinSectionForFaceIndex:
 
(CC3SkinSection *) - skinSectionForVertexIndexAt:
 
- Instance Methods inherited from CC3MeshNode
(CC3Material *) - __deprecated
 
(void) - __deprecated
 
(void) - __deprecated
 
(void) - __deprecated
 
(void) - __deprecated
 
(void) - addTexture:
 
(CC3Face- deformedFaceAt:
 
(CC3Vector- deformedFaceCenterAt:
 
(CC3Vector- deformedFaceNormalAt:
 
(CC3Plane- deformedFacePlaneAt:
 
(CC3Vector- deformedVertexLocationAt:fromFaceAt:
 
(void) - drawWithVisitor:
 
(CC3Mesh *) - ensureMesh
 
(void) - expectsVerticallyFlippedTexture:inTextureUnit:
 
(BOOL) - expectsVerticallyFlippedTextureInTextureUnit:
 
(CC3Face- faceAt:
 
(CC3Vector- faceCenterAt:
 
(GLuint) - faceCountFromVertexCount:
 
(GLuint) - faceCountFromVertexIndexCount:
 
(CC3Face- faceFromIndices:
 
(CC3FaceIndices- faceIndicesAt:
 
(CC3FaceNeighbours- faceNeighboursAt:
 
(CC3Vector- faceNormalAt:
 
(CC3Plane- facePlaneAt:
 
(GLuint) - findFirst:globalIntersections:ofGlobalRay:acceptBackFaces:acceptBehindRay:
 
(GLuint) - findFirst:intersections:ofLocalRay:acceptBackFaces:acceptBehindRay:
 
(void) - flipHorizontallyTextureUnit:
 
(void) - flipTexturesHorizontally
 
(void) - flipTexturesVertically
 
(void) - flipVerticallyTextureUnit:
 
(CC3Material *) - makeMaterial
 
(CC3Mesh *) - makeMesh
 
(void) - moveMeshOriginTo:
 
(void) - moveMeshOriginToCenterOfGeometry
 
(void) - movePivotTo:
 
(void) - populateAsBitmapFontLabelFromString:fromFontFile:andLineHeight:andTextAlignment:andRelativeOrigin:andTessellation:
 
(void) - populateAsCenteredRectangleWithSize:
 
(void) - populateAsCenteredRectangleWithSize:andTessellation:
 
(void) - populateAsCenteredRectangleWithSize:andTessellation:withTexture:invertTexture:
 
(void) - populateAsCenteredRectangleWithSize:withTexture:invertTexture:
 
(void) - populateAsCenteredTexturedRectangleWithSize:
 
(void) - populateAsCenteredTexturedRectangleWithSize:andTessellation:
 
(void) - populateAsCubeMappedSolidBox:
 
(void) - populateAsDiskWithRadius:andTessellation:
 
(void) - populateAsHollowConeWithRadius:height:andTessellation:
 
(void) - populateAsLineStripWith:vertices:andRetain:
 
(void) - populateAsRectangleWithSize:andPivot:
 
(void) - populateAsRectangleWithSize:andPivot:andTessellation:
 
(void) - populateAsRectangleWithSize:andPivot:andTessellation:withTexture:invertTexture:
 
(void) - populateAsRectangleWithSize:andPivot:withTexture:invertTexture:
 
(void) - populateAsRectangleWithSize:andRelativeOrigin:
 
(void) - populateAsRectangleWithSize:andRelativeOrigin:andTessellation:
 
(void) - populateAsSolidBox:
 
(void) - populateAsSolidBox:withCorner:
 
(void) - populateAsSphereWithRadius:andTessellation:
 
(void) - populateAsTexturedBox:
 
(void) - populateAsTexturedBox:withCorner:
 
(void) - populateAsTexturedRectangleWithSize:andPivot:
 
(void) - populateAsTexturedRectangleWithSize:andPivot:andTessellation:
 
(void) - populateAsTriangle:withTexCoords:andTessellation:
 
(void) - populateAsWireBox:
 
(CC3Mesh *) - prepareParametricMesh
 
(void) - removeAllTextures
 
(void) - removeLocalShaders
 
(void) - repeatTexture:
 
(void) - repeatTexture:forTextureUnit:
 
(CC3ShaderProgram *) - selectShaderProgram
 
(void) - setTexture:forTextureUnit:
 
(void) - setTextureRectangle:forTextureUnit:
 
(void) - setVertexBitangent:at:
 
(void) - setVertexBoneIndex:forBoneInfluence:at:
 
(void) - setVertexBoneIndices:at:
 
(void) - setVertexBoneWeights:at:
 
(void) - setVertexColor4B:at:
 
(void) - setVertexColor4F:at:
 
(void) - setVertexHomogeneousLocation:at:
 
(void) - setVertexIndex:at:
 
(void) - setVertexLocation:at:
 
(void) - setVertexMatrixIndex:forVertexUnit:at:
 
(void) - setVertexMatrixIndices:at:
 
(void) - setVertexNormal:at:
 
(void) - setVertexTangent:at:
 
(void) - setVertexTexCoord2F:at:
 
(void) - setVertexTexCoord2F:at:forTextureUnit:
 
(void) - setVertexTexCoord2F:forTextureUnit:at:
 
(void) - setVertexWeight:forBoneInfluence:at:
 
(void) - setVertexWeight:forVertexUnit:at:
 
(void) - setVertexWeights:at:
 
(CC3Texture *) - textureForTextureUnit:
 
(CGRect) - textureRectangleForTextureUnit:
 
(void) - updateGLBuffers
 
(void) - updateVertexBitangentsGLBuffer
 
(void) - updateVertexBoneIndicesGLBuffer
 
(void) - updateVertexBoneWeightsGLBuffer
 
(void) - updateVertexColorsGLBuffer
 
(void) - updateVertexIndicesGLBuffer
 
(void) - updateVertexLocationsGLBuffer
 
(void) - updateVertexNormalsGLBuffer
 
(void) - updateVertexTangentsGLBuffer
 
(void) - updateVertexTextureCoordinatesGLBuffer
 
(void) - updateVertexTextureCoordinatesGLBufferForTextureUnit:
 
(CC3Vector- vertexBitangentAt:
 
(GLuint) - vertexBoneIndexForBoneInfluence:at:
 
(GLvoid *) - vertexBoneIndicesAt:
 
(GLfloat *) - vertexBoneWeightsAt:
 
(ccColor4B) - vertexColor4BAt:
 
(ccColor4F) - vertexColor4FAt:
 
(GLuint) - vertexCountFromFaceCount:
 
(CC3Vector4- vertexHomogeneousLocationAt:
 
(GLuint) - vertexIndexAt:
 
(GLuint) - vertexIndexCountFromFaceCount:
 
(CC3Vector- vertexLocationAt:
 
(GLuint) - vertexMatrixIndexForVertexUnit:at:
 
(GLvoid *) - vertexMatrixIndicesAt:
 
(CC3Vector- vertexNormalAt:
 
(CC3Vector- vertexTangentAt:
 
(ccTex2F) - vertexTexCoord2FAt:
 
(ccTex2F) - vertexTexCoord2FAt:forTextureUnit:
 
(ccTex2F) - vertexTexCoord2FForTextureUnit:at:
 
(GLfloat) - vertexWeightForBoneInfluence:at:
 
(GLfloat) - vertexWeightForVertexUnit:at:
 
(GLfloat *) - vertexWeightsAt:
 
- Instance Methods inherited from CC3LocalContentNode
(void) - checkDrawingOrder
 
(CC3Box- localContentBoundingBoxRelativeTo:
 
- Instance Methods inherited from CC3Node
(void) - addAndLocalizeChild:
 
(void) - addAnimation:asTrack:
 
(GLuint) - addAnimationFrom:to:
 
(void) - addAnimationFrom:to:asTrack:
 
(GLuint) - addAnimationFrom:to:ofBaseTrack:
 
(void) - addAnimationFrom:to:ofBaseTrack:asTrack:
 
(GLuint) - addAnimationFromCAFFile:
 
(void) - addAnimationFromCAFFile:asTrack:
 
(GLuint) - addAnimationFromCAFFile:linkedToCSFFile:
 
(void) - addAnimationFromCAFFile:linkedToCSFFile:asTrack:
 
(GLuint) - addAnimationFromFrame:toFrame:
 
(void) - addAnimationFromFrame:toFrame:asTrack:
 
(GLuint) - addAnimationFromFrame:toFrame:ofBaseTrack:
 
(void) - addAnimationFromFrame:toFrame:ofBaseTrack:asTrack:
 
(GLuint) - addAnimationFromPODFile:
 
(void) - addAnimationFromPODFile:asTrack:
 
(GLuint) - addAnimationInResource:
 
(void) - addAnimationInResource:asTrack:
 
(void) - addAnimationState:
 
(void) - addAxesDirectionMarkers
 
(void) - addChild:
 
(void) - addContentFromPODFile:
 
(void) - addContentFromPODFile:withName:
 
(void) - addContentFromPODResourceFile:
 
(void) - addContentFromPODResourceFile:withName:
 
(void) - addDirectionMarker
 
(void) - addDirectionMarkerColored:inDirection:
 
(void) - addShadowVolumes
 
(void) - addShadowVolumesForLight:
 
(void) - addTransformListener:
 
(void) - alignInvertedTextures
 
(void) - alignTextures
 
(GLfloat) - animationBlendingWeightOnTrack:
 
(CCTime) - animationTimeOnTrack:
 
(NSString *) - appendStructureDescriptionTo:withIndent:
 
(void) - applyEffectNamed:inPFXResourceFile:
 
(void) - applyEffectNamed:inPFXResourceNamed:
 
(void) - applyLocalTransformsTo:
 
(CC3Node *) - asBumpMapLightTrackingWrapper
 
(CC3Node *) - asCameraTrackingWrapper
 
(CC3Node *) - asOrientingWrapper
 
(CC3Node *) - asTrackingWrapper
 
(void) - bindRestPose
 
(CC3Box- boundingBoxRelativeTo:
 
(void) - buildTransformMatrixWithVisitor:
 
(void) - cleanupActions
 
(CC3Node *) - closestNodeIntersectedByGlobalRay:
 
(BOOL) - containsAnimationOnTrack:
 
(id) - copy
 
(id) - copyWithName:
 
(void) - createBoundingVolume
 
(void) - createBoundingVolumes
 
(void) - createGLBuffers
 
(void) - createSkinnedBoundingVolumes
 
(CC3NodeBoundingVolume *) - defaultBoundingVolume
 
(void) - deleteBoundingVolumes
 
(void) - deleteGLBuffers
 
(NSString *) - describeAnimationStateForFrames:
 
(NSString *) - describeAnimationStateForFrames:fromTime:toTime:
 
(NSString *) - describeCurrentAnimationState
 
(void) - disableAllAnimation
 
(void) - disableAllAnimationOnTrack:
 
(void) - disableAllLocationAnimation
 
(void) - disableAllQuaternionAnimation
 
(void) - disableAllScaleAnimation
 
(void) - disableAnimation
 
(void) - disableAnimationOnTrack:
 
(void) - disableLocationAnimation
 
(void) - disableQuaternionAnimation
 
(void) - disableScaleAnimation
 
(BOOL) - doesIntersectBoundingVolume:
 
(BOOL) - doesIntersectFrustum:
 
(BOOL) - doesIntersectGlobalRay:
 
(BOOL) - doesIntersectNode:
 
(void) - doNotBufferVertexBitangents
 
(void) - doNotBufferVertexBoneIndices
 
(void) - doNotBufferVertexBoneWeights
 
(void) - doNotBufferVertexColors
 
(void) - doNotBufferVertexContent
 
(void) - doNotBufferVertexIndices
 
(void) - doNotBufferVertexLocations
 
(void) - doNotBufferVertexNormals
 
(void) - doNotBufferVertexPointSizes
 
(void) - doNotBufferVertexTangents
 
(void) - doNotBufferVertexTextureCoordinates
 
(void) - enableAllAnimation
 
(void) - enableAllAnimationOnTrack:
 
(void) - enableAllLocationAnimation
 
(void) - enableAllQuaternionAnimation
 
(void) - enableAllScaleAnimation
 
(void) - enableAnimation
 
(void) - enableAnimationOnTrack:
 
(void) - enableLocationAnimation
 
(void) - enableQuaternionAnimation
 
(void) - enableScaleAnimation
 
(void) - ensureRigidSkeleton
 
(void) - establishAnimationFrameAt:
 
(void) - establishAnimationFrameAt:onTrack:
 
(NSArray *) - flatten
 
(void) - flattenInto:
 
(void) - flipNormals
 
(void) - freezeAllInanimatesOnTrack:
 
(void) - freezeIfInanimateOnTrack:
 
(CCAction *) - getActionByTag:
 
(CC3NodeAnimation *) - getAnimationOnTrack:
 
(CC3NodeAnimationState *) - getAnimationStateOnTrack:
 
(CC3MeshNode *) - getMeshNodeNamed:
 
(CC3Node *) - getNodeNamed:
 
(CC3Node *) - getNodeTagged:
 
(CC3ShadowVolumeMeshNode *) - getShadowVolumeForLight:
 
(CC3Vector- globalLocationOfGlobalRayIntesection:
 
(CC3Matrix *) - globalRotationMatrix
 
(BOOL) - hasShadowVolumes
 
(BOOL) - hasShadowVolumesForLight:
 
(void) - hide
 
(BOOL) - isAnimationEnabledOnTrack:
 
(BOOL) - isDescendantOf:
 
(BOOL) - isShadowVisible
 
(void) - linkToPODNodes:
 
(CC3Vector- locationOfGlobalRayIntesection:
 
(void) - markAnimationDirty
 
(void) - markBoundingVolumeDirty
 
(void) - markTransformDirty
 
(PODStructPtr- nodePODStructAtIndex:fromPODResource:
 
(CC3NodePuncturingVisitor *) - nodesIntersectedByGlobalRay:
 
(void) - nodeWasDestroyed:
 
(void) - nodeWasTransformed:
 
(NSInteger) - numberOfRunningActions
 
(void) - pauseAllActions
 
(void) - prewarmForShadowVolumes
 
(void) - reattachBonesFrom:
 
(void) - releaseRedundantContent
 
(void) - remove
 
(void) - removeAllChildren
 
(void) - removeAllDirectionMarkers
 
(void) - removeAllTransformListeners
 
(void) - removeAnimation:
 
(void) - removeAnimationState:
 
(void) - removeAnimationTrack:
 
(void) - removeChild:
 
(void) - removeShaders
 
(void) - removeShadowVolumes
 
(void) - removeShadowVolumesForLight:
 
(void) - removeTransformListener:
 
(void) - resumeAllActions
 
(void) - retainVertexBitangents
 
(void) - retainVertexBoneIndices
 
(void) - retainVertexBoneWeights
 
(void) - retainVertexColors
 
(void) - retainVertexContent
 
(void) - retainVertexIndices
 
(void) - retainVertexLocations
 
(void) - retainVertexNormals
 
(void) - retainVertexPointSizes
 
(void) - retainVertexTangents
 
(void) - retainVertexTextureCoordinates
 
(void) - rotateBy:
 
(void) - rotateByAngle:aroundAxis:
 
(void) - rotateByAngle:aroundAxis:atLocation:
 
(void) - rotateByQuaternion:
 
(CCAction *) - runAction:
 
(CCAction *) - runAction:withTag:
 
(void) - selectShaders
 
(void) - setAnimationBlendingWeight:onTrack:
 
(void) - setSkeletalBoundingVolume:
 
(void) - show
 
(void) - stopAction:
 
(void) - stopActionByTag:
 
(void) - stopAllActions
 
(void) - touchDisableAll
 
(void) - touchEnableAll
 
(void) - trackTargetWithVisitor:
 
(void) - transformAndDrawWithVisitor:
 
(void) - translateBy:
 
(void) - updateAfterTransform:
 
(void) - updateBeforeTransform:
 
(void) - wasAdded
 
(void) - wasRemoved
 
- Instance Methods inherited from CC3Identifiable
(id) - copyAsClass:
 
(void) - copyUserDataFrom:
 
(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:
 

Properties

CC3MatrixskeletalTransformMatrix
 
CC3MatrixskeletalTransformMatrixInverted
 
NSArray * skinSections
 
- Properties inherited from CC3MeshNode
CC3Mesh *meshModel __deprecated
 
ccColor4F pureColor __deprecated
 
BOOL hasPremultipliedAlpha __deprecated
 
GLuint vertexUnitCount __deprecated
 
GLenum matrixIndexType __deprecated
 
ccColor4F ambientColor
 
ccBlendFunc blendFunc
 
CCColorRef color
 
ccColor4F diffuseColor
 
GLenum drawingMode
 
CC3NormalScaling effectiveNormalScalingMethod
 
ccColor4F emissionColor
 
BOOL expectsVerticallyFlippedTextures
 
GLuint faceCount
 
BOOL hasRigidSkeleton
 
BOOL hasSkeleton
 
BOOL hasTextureAlpha
 
BOOL hasTexturePremultipliedAlpha
 
BOOL isDrawingPointSprites
 
BOOL isOpaque
 
BOOL isUsingGLBuffers
 
CC3Materialmaterial
 
CC3Meshmesh
 
CCOpacity opacity
 
int podMaterialIndex
 
GLfloat reflectivity
 
CC3ShaderContextshaderContext
 
CC3ShaderProgramshaderProgram
 
GLfloat shininess
 
BOOL shouldApplyOpacityToColor
 
BOOL shouldCacheFaces
 
BOOL shouldDrawLowAlpha
 
BOOL shouldUseLighting
 
BOOL shouldUseLightProbes
 
ccColor4F specularColor
 
CC3Texturetexture
 
GLuint textureCount
 
CGRect textureRectangle
 
GLuint vertexBoneCount
 
GLenum vertexBoneIndexType
 
GLenum vertexColorType
 
CC3VertexContent vertexContentTypes
 
GLuint vertexCount
 
GLuint vertexIndexCount
 
- Properties inherited from CC3LocalContentNode
CC3Box globalLocalContentBoundingBox
 
CC3Vector globalLocalContentCenterOfGeometry
 
CC3Box localContentBoundingBox
 
CC3Vector localContentCenterOfGeometry
 
CC3WireframeBoundingBoxNodelocalContentWireframeBoxNode
 
BOOL shouldDrawLocalContentWireframeBox
 
- Properties inherited from CC3Node
CC3Vector sceneUpDirection __deprecated
 
CC3Vector worldUpDirection __deprecated
 
GLfloat scaleTolerance __deprecated
 
CC3TargettingConstraint
axisRestriction 
__deprecated
 
CC3Vector globalLightLocation __deprecated
 
CC3Matrix *transformMatrix __deprecated
 
CC3Matrix *transformMatrixInverted __deprecated
 
CC3Node *dirtiestAncestor __deprecated
 
CC3Matrix
*parentGlobalTransformMatrix 
__deprecated
 
CC3Matrix *parentTransformMatrix __deprecated
 
CC3Scene *world __deprecated
 
BOOL
shouldCleanupActionsWhenRemoved 
__deprecated
 
BOOL shouldCleanupWhenRemoved __deprecated
 
CC3CameraactiveCamera
 
ccColor4F ambientColor
 
CC3NodeAnimationanimation
 
CC3NodeAnimationStateanimationState
 
ccBlendFunc blendFunc
 
CC3Box boundingBox
 
CC3NodeBoundingVolumeboundingVolume
 
GLfloat boundingVolumePadding
 
GLfloat cameraDistanceProduct
 
CC3Vector centerOfGeometry
 
NSArray * children
 
CCColorRef color
 
BOOL containsAnimation
 
GLfloat decalOffsetFactor
 
GLfloat decalOffsetUnits
 
GLenum depthFunction
 
CC3NodeDescriptordescriptorNode
 
ccColor4F diffuseColor
 
NSArray * directionMarkers
 
ccColor4F emissionColor
 
BOOL expectsVerticallyFlippedTextures
 
CC3Vector forwardDirection
 
CC3Box globalBoundingBox
 
CC3Vector globalCenterOfGeometry
 
CC3Vector globalForwardDirection
 
CC3Vector4 globalHomogeneousPosition
 
CC3Vector4 globalLightPosition
 
CC3Vector globalLocation
 
CC3Vector globalRightDirection
 
CC3Vector globalRotation
 
CC3Vector globalScale
 
CC3MatrixglobalTransformMatrix
 
CC3MatrixglobalTransformMatrixInverted
 
CC3Vector globalUpDirection
 
BOOL hasLocalContent
 
BOOL hasSoftBodyContent
 
BOOL hasTarget
 
BOOL isAnimationEnabled
 
BOOL isBasePODNode
 
BOOL isBillboard
 
BOOL isCamera
 
BOOL isLight
 
BOOL isLightProbe
 
BOOL isMeshNode
 
BOOL isOpaque
 
BOOL isRunning
 
BOOL isScene
 
BOOL isShadowVolume
 
BOOL isTouchable
 
BOOL isTrackingForBumpMapping
 
BOOL isTransformDirty
 
BOOL isTransformRigid
 
BOOL isUniformlyScaledGlobally
 
BOOL isUniformlyScaledLocally
 
GLenum lineSmoothingHint
 
GLfloat lineWidth
 
CC3MatrixlocalTransformMatrix
 
CC3Vector location
 
CC3NormalScaling normalScalingMethod
 
CCOpacity opacity
 
CC3Nodeparent
 
CC3PerformanceStatisticsperformanceStatistics
 
GLint podContentIndex
 
GLint podParentIndex
 
GLint podTargetIndex
 
CC3Vector projectedLocation
 
CGPoint projectedPosition
 
CC3Quaternion quaternion
 
CC3Vector referenceUpDirection
 
GLfloat reflectivity
 
const char * renderStreamGroupMarker
 
CC3Vector rightDirection
 
CC3NoderootAncestor
 
CC3Vector rotation
 
GLfloat rotationAngle
 
CC3Vector rotationAxis
 
CC3Rotatorrotator
 
CC3Vector scale
 
CC3Scenescene
 
CC3ShaderContextshaderContext
 
CC3ShaderProgramshaderProgram
 
GLfloat shadowExpansionLimitFactor
 
GLushort shadowLagCount
 
GLushort shadowLagFactor
 
GLfloat shadowOffsetFactor
 
GLfloat shadowOffsetUnits
 
NSArray * shadowVolumes
 
GLfloat shadowVolumeVertexOffsetFactor
 
GLfloat shininess
 
BOOL shouldAddShadowVolumeEndCapsOnlyWhenNeeded
 
BOOL shouldAllowTouchableWhenInvisible
 
BOOL shouldApplyOpacityAndColorToMeshContent
 
BOOL shouldAutoremoveWhenEmpty
 
BOOL shouldAutotargetCamera
 
BOOL shouldBlendAtFullOpacity
 
BOOL shouldCacheFaces
 
BOOL shouldCastShadows
 
BOOL shouldCastShadowsWhenInvisible
 
BOOL shouldCullBackFaces
 
BOOL shouldCullFrontFaces
 
BOOL shouldDisableDepthMask
 
BOOL shouldDisableDepthTest
 
BOOL shouldDrawAllBoundingVolumes
 
BOOL shouldDrawAllDescriptors
 
BOOL shouldDrawAllLocalContentWireframeBoxes
 
BOOL shouldDrawAllWireframeBoxes
 
BOOL shouldDrawBoundingVolume
 
BOOL shouldDrawDescriptor
 
BOOL shouldDrawInClipSpace
 
BOOL shouldDrawWireframeBox
 
BOOL shouldIgnoreRayIntersection
 
BOOL shouldInheritTouchability
 
BOOL shouldLogIntersectionMisses
 
BOOL shouldLogIntersections
 
BOOL shouldShadowBackFaces
 
BOOL shouldShadowFrontFaces
 
BOOL shouldSmoothLines
 
BOOL shouldStopActionsWhenRemoved
 
BOOL shouldTrackTarget
 
BOOL shouldUseClockwiseFrontFaceWinding
 
BOOL shouldUseFixedBoundingVolume
 
BOOL shouldUseLighting
 
BOOL shouldUseLightProbes
 
BOOL shouldUseSmoothShading
 
CC3Vector skeletalScale
 
CC3SoftBodyNodesoftBodyNode
 
ccColor4F specularColor
 
NSString * structureDescription
 
CC3Nodetarget
 
CC3Vector targetLocation
 
CC3TargettingConstraint targettingConstraint
 
CC3Texturetexture
 
CC3NodetouchableNode
 
BOOL touchEnabled
 
NSSet * transformListeners
 
GLfloat uniformScale
 
CC3Vector upDirection
 
BOOL visible
 
CC3WireframeBoundingBoxNodewireframeBoxNode
 
GLint zOrder
 
- Properties inherited from CC3Identifiable
NSObject *sharedUserData __deprecated
 
NSString * name
 
NSString * nameSuffix
 
GLint podIndex
 
BOOL shouldIncludeInDeepCopy
 
GLuint tag
 
NSObject * userData
 
- Properties inherited from <CC3Cacheable>
NSString * name
 

Additional Inherited Members

- Class Methods inherited from CC3LocalContentNode
(ccColor4F) + localContentWireframeBoxColor
 
(void) + setLocalContentWireframeBoxColor:
 

Detailed Description

CC3SkinMeshNode is a CC3MeshNode specialized to use vertex skinning to draw the contents of its mesh.

It is one of the key structural descendant nodes of a CC3SoftBodyNode instance.

The CC3SkinMeshNode contains a collection of skin sections, in the form of CC3SkinSection instances. Each CC3SkinSection instance relates a section of the mesh, in the form of a range of vertices, to a set of bones in the skeleton.

Each CC3SkinSection applies the transformations in the referenced bones to the the vertices in the section of the mesh that it controls, and draws that section of the mesh by drawing the vertices within its range in a single GL call.

After copying a CC3SkinMeshNode, the newly created copy will still be influenced by the original skeleton. The result is that both the original mesh and the copy will move and be deformed in tandem as the skeleton moves.

If you are creating a chorus line of dancing characters, this may be the effect you are after. However, if you are creating a squadron of similar, but independently moving, characters, each CC3SkinMeshNode copy should be controlled by a separate skeleton. To do this, after creating a copy of the skeleton bone node assembly as well, you can use the reattachBonesFrom: method to attach the skin mesh node to the new skeleton.

When copying a CC3SkinMeshNode as part of copying a CC3SoftBodyNode instance, a copy of the skeleton is also created, and the reattachBonesFrom: method is automatically invoked. When copying CC3SoftBodyNode, you do not need to invoke the reattachBonesFrom: method on the new CC3SkinMeshNode directly.

The use of bounding volumes with skinned meshes can be tricky, because the locations of the vertices are affected both by the location of the mesh node, as with any mesh, but also by the location of the bones. In addition, bone transformation is handled by the GPU, and unless the CPU is also tasked with transforming each vertex, it is difficult for the app to know the true range of the vertices.

Because of this, the createBoundingVolumes method will be ignored by instances of this class, and a bounding volume will not automatically be assigned to this node, to ensure that the mesh will not be culled when it shouldn't if the automatic bounding volume is not the correct shape. This mesh will therefore be drawn for each frame, even if it is not in front of the camera (ie- inside the camera's frustum).

It is left to the application to determine the best approach to managing the assignment of a bounding volume, possibly using one of the following approaches:

Method Documentation

- (void) boneWasTransformed: (CC3Bone *)  aBone

Callback method indicating the specified bone has been transformed.

This implementation clears the internal mesh faces cache, because the faces of the skinned mesh are deformed by the movement of the bones that influence this skin mesh node.

- (CC3SkinSection*) skinSectionForFaceIndex: (GLint)  faceIndex

Returns the skin section that deforms the specified face.

The specified faceIndex value refers to the index of the face, not the vertices themselves. So, a value of 5 will retrieve the three vertices that make up the fifth triangular face in this mesh. The specified index must be between zero, inclusive, and the value of the faceCount property, exclusive.

- (CC3SkinSection*) skinSectionForVertexIndexAt: (GLint)  index

Returns the skin section that deforms the specified vertex.

Each skin section operates on a consecutive array of vertex indices. If this mesh uses vertex indexing, the specified index should be an index into the vertex index array.

If this mesh does not use vertex indexing, then the specified index should be the index of the vertex in the vertex locations array.

Property Documentation

- (CC3Matrix*) skeletalTransformMatrix
readnonatomicretain

Returns the transform matrix of this skin mesh node, relative to the coordinate system of the skeleton that influences the vertices of this mesh node.

The root of the skeleton is the nearest ancestor CC3SoftBodyNode.

- (CC3Matrix*) skeletalTransformMatrixInverted
readnonatomicretain

Returns the inverse of the matrix in the skeletalTransformMatrix property.

- (NSArray*) skinSections
readnonatomicretain

The collection of CC3SkinSections that are managed by this node.


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