Instance Methods | Properties | List of all members
CC3CALNode Class Reference

#import <CC3CALNode.h>

Inheritance diagram for CC3CALNode:
Inheritance graph

Instance Methods

(void) - correctAnimationToSkeletalScale:
(CC3CALNode *) - getNodeWithCALIndex:
(void) - linkToCALNodes:
- Instance Methods inherited from CC3Node
(void) - __deprecated
(void) - __deprecated
(void) - __deprecated
(void) - __deprecated
(void) - __deprecated
(void) - __deprecated
(void) - __deprecated
(void) - __deprecated
(void) - __deprecated
(void) - __deprecated
(id) - __deprecated
(void) - __deprecated
(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) - addTexture:
(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) - checkDrawingOrder
(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) - drawWithVisitor:
(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) - flipTexturesHorizontally
(void) - flipTexturesVertically
(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:


GLint calIndex
GLint calParentIndex
BOOL isAnimationCorrectedForScale
BOOL isBaseCALNode
- Properties inherited from CC3Node
CC3Vector sceneUpDirection __deprecated
CC3Vector worldUpDirection __deprecated
GLfloat scaleTolerance __deprecated
CC3Vector globalLightLocation __deprecated
CC3Matrix *transformMatrix __deprecated
CC3Matrix *transformMatrixInverted __deprecated
CC3Node *dirtiestAncestor __deprecated
CC3Matrix *parentTransformMatrix __deprecated
CC3Scene *world __deprecated
BOOL shouldCleanupWhenRemoved __deprecated
ccColor4F ambientColor
ccBlendFunc blendFunc
CC3Box boundingBox
GLfloat boundingVolumePadding
GLfloat cameraDistanceProduct
CC3Vector centerOfGeometry
NSArray * children
CCColorRef color
BOOL containsAnimation
GLfloat decalOffsetFactor
GLfloat decalOffsetUnits
GLenum depthFunction
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
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
CC3Vector location
CC3NormalScaling normalScalingMethod
CCOpacity opacity
GLint podContentIndex
GLint podParentIndex
GLint podTargetIndex
CC3Vector projectedLocation
CGPoint projectedPosition
CC3Quaternion quaternion
CC3Vector referenceUpDirection
GLfloat reflectivity
const char * renderStreamGroupMarker
CC3Vector rightDirection
CC3Vector rotation
GLfloat rotationAngle
CC3Vector rotationAxis
CC3Vector scale
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
ccColor4F specularColor
NSString * structureDescription
CC3Vector targetLocation
CC3TargettingConstraint targettingConstraint
BOOL touchEnabled
NSSet * transformListeners
GLfloat uniformScale
CC3Vector upDirection
BOOL visible
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 CC3Node
(GLfloat) + __deprecated
(CGFloat) + descriptorFontSize
(ccColor4F) + directionMarkerColor
(id) + node
(id) + nodeAtIndex:fromPODResource:
(id) + nodeWithName:
(id) + nodeWithTag:
(id) + nodeWithTag:withName:
(void) + setDefaultScaleTolerance:
(void) + setDescriptorFontSize:
(void) + setDirectionMarkerColor:
(void) + setWireframeBoxColor:
(ccColor4F) + wireframeBoxColor

Detailed Description

A CC3CALNode extracted from a file.

During extraction from the file, nodes of this type are related to each other through index values.

Only CC3ArrayNodeAnimation should be used for animating this type of node.

CAF bones do not contain scale content. When a skeleton model whose bones do contain scale content is exported to a CAF file, the animation location content is incorrectly scaled.

To compensate, when using a CC3CALNode to hold animation content loaded from a CAF file, invoke the correctAnimationToSkeletalScale: method, passing the skeletalScale of the node to which the animation contained in the CC3CALNode is to be attached. This should only be done once, and subsequent invocations of that method will be ignored. Consequently, the animation held in a CC3CALNode should only be used to animate bones that have the same skeletalScale.

Method Documentation

- (void) correctAnimationToSkeletalScale: (CC3Vector aScale

Corrects the animation contained in this node to align with the specified skeletalScale.

CAF bones do not contain scale content. When a skeleton model whose bones do contain scale content is exported to a CAF file, the location content of this animation is not correctly scaled.

To compensate, invoke this method, passing the skeletalScale of the node to which this animation is to be attached.

When this method is invoked, if the value of the isAnimationCorrectedForScale property is NO, each location in the animation contained in this node (on all animation tracks) is scaled by the inverse of the specified scale. Once this is complete, the value of the isAnimationCorrectedForScale property is set to YES.

Since this scaling should only be done once, subsequent invocations of this method will be ignored. Consequently, the contained animation should only be used to animate bones that have the same skeletalScale.

This method is invoked automatically when this CAL node is retrieved from the CAF resource using the CC3CAFResource getNodeMatching: method. Normally, the application never has need to invoke this method.

- (CC3CALNode*) getNodeWithCALIndex: (GLint)  calIndex

Retrieves the first node found with the specified calIndex, anywhere in the structural hierarchy of descendants of this node (not just direct children).

The hierarchy search is depth-first.

- (void) linkToCALNodes: (NSArray *)  nodeArray

Links this node to its parent by retrieving the node at the position in the array specified by the calParentIndex of this node.

Property Documentation

- (GLint) calIndex

The index of this node in the resource file.

- (GLint) calParentIndex

The index of the parent of this node in the resource file.

- (BOOL) isAnimationCorrectedForScale

Indicates whether the contained animation has been corrected for the scale of the node.

- (BOOL) isBaseCALNode

Returns whether this node is a base node.

It is if the calParentIndex is negative.

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