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

#import <CC3LocalContentNode.h>

Inheritance diagram for CC3LocalContentNode:
Inheritance graph

Instance Methods

(void) - checkDrawingOrder
(CC3Box- localContentBoundingBoxRelativeTo:
- 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) - 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:

Class Methods

(ccColor4F) + localContentWireframeBoxColor
(void) + setLocalContentWireframeBoxColor:
- 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
- Class Methods inherited from CC3Identifiable
(GLint) + instanceCount
(void) + resetTagAllocation


CC3Box globalLocalContentBoundingBox
CC3Vector globalLocalContentCenterOfGeometry
CC3Box localContentBoundingBox
CC3Vector localContentCenterOfGeometry
BOOL shouldDrawLocalContentWireframeBox
- 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

Detailed Description

CC3LocalContentNode is an abstract class that forms the basis for nodes that have local content to draw.

You can cause a wireframe box to be drawn around the local content of the node by setting the shouldDrawLocalContentWireframeBox property to YES. This can be particularly useful during development to locate the boundaries of a node, or to locate a node that is not drawing properly. You can set the default color of this wireframe using the class-side defaultLocalContentWireframeBoxColor property.

Method Documentation

- (void) checkDrawingOrder

Checks that this node is in the correct drawing order relative to other nodes.

This implementation forwards this notification up the ancestor chain to the CC3Scene, which checks if the node is correctly positioned in the drawing sequence, and repositions the node if needed.

By default, nodes are automatically repositioned on each drawing frame to optimize the drawing order, so you should usually have no need to use this method.

However, in order to eliminate the overhead of checking each node during each drawing frame, you can disable this automatic behaviour by setting the allowSequenceUpdates property of specific drawing sequencers to NO.

In that case, if you modify the properties of a node or its content, such as mesh or material opacity, and your CC3Scene drawing sequencer uses that criteria to sort nodes, you can invoke this method to force the node to be repositioned in the correct drawing order.

You don't need to invoke this method when initially setting the properties. You only need to invoke this method if you modify the properties after the node has been added to the CC3Scene, either by itself, or as part of a node assembly.

Implements CC3Node.

- (CC3Box) localContentBoundingBoxRelativeTo: (CC3Node *)  ancestor

Returns the smallest axis-aligned bounding box that surrounds any local content of this node.

The returned bounding box is specified in the coordinate system of the specified node, or in the global coordinate system of the 3D scene if the ancestor is nil.

Returns kCC3BoxNull if this node has no local content.

Since the bounding box of a node can change based on the locations, rotations, or scales of any descendant node, this property is measured dynamically on each access, by traversing all descendant nodes. This is a computationally expensive method.

+ (ccColor4F) localContentWireframeBoxColor

Returns the color that local content wireframe bounding boxes will be drawn in when created using the shouldDrawLocalContentWireframeBox property.

Setting this property to kCCC4FBlackTransparent will cause the color of any new local content wireframe bounding boxes to be set to the value of the color property of the node instead.

The initial value of this class property is kCCC4FMagenta.

+ (void) setLocalContentWireframeBoxColor: (ccColor4F)  aColor

Sets the color that local content wireframes will be drawn in when created using the shouldDrawWireframeBox property.

Changing this property will affect the color of any new local content wireframe bounding boxes created. It does not affect any instances that already have a wireframe bounding box established.

Setting this property to kCCC4FBlackTransparent will cause the color of any new local content wireframe bounding boxes to be set to the value of the color property of the node instead.

The initial value of this class property is kCCC4FMagenta.

Property Documentation

- (CC3Box) globalLocalContentBoundingBox

Returns the smallest axis-aligned bounding box that surrounds the local content of this node, in the global coordinate system of the 3D scene.

If this node has no local content, returns kCC3BoxNull.

The value of this property is calculated by transforming the eight vertices derived from the localContentBoundingBox property, using the globalTransformMatrix of this node, and constructing another bounding box that surrounds all eight transformed vertices.

Since all bounding boxes are axis-aligned (AABB), if this node is rotated, the globalLocalContentBoundingBox will generally be significantly larger than the localContentBoundingBox.

- (CC3Vector) globalLocalContentCenterOfGeometry

Returns the center of geometry of the local content of this node, in the global coordinate system of the 3D scene.

If this node has no local content, returns the value of the globalLocation property.

The value of this property is calculated by transforming the value of the localContentCenterOfGeometry property, using the globalTransformMatrix of this node.

- (CC3Box) localContentBoundingBox

Returns the smallest axis-aligned bounding box that surrounds the local content of this node, in the local coordinate system of this node.

Returns kCC3BoxNull if this node has no local content.

- (CC3Vector) localContentCenterOfGeometry

Returns the center of geometry of the local content of this node, in the local coordinate system of this node.

If this node has no local content, returns the zero vector.

- (CC3WireframeBoundingBoxNode*) localContentWireframeBoxNode

If the shouldDrawLocalContentWireframeBox is set to YES, returns the child node that draws the wireframe around the local content of this node.

Otherwise, returns nil.

- (BOOL) shouldDrawLocalContentWireframeBox

Indicates whether the node should display a wireframe box around the local content of this node.

This property is distinct from the inherited shouldDrawWireframeBox property. The shouldDrawWireframeBox property draws a wireframe that encompasses this node and any child nodes, where this property draws a wireframe that encompasses just the local content for this node alone. If this node has no children, then the two wireframes will surround the same volume.

The wireframe box is drawn by creating and adding a CC3WireframeBoundingBoxNode as a child node to this node. The dimensions of the child node are set from the localContentBoundingBox property of this node. Setting this property to YES adds the wireframe child node, and setting this property to NO removes the wireframe child node.

Setting this property to YES can be useful during development in determining the boundaries of the local drawn content of a node.

The color of the wireframe box will be the value of the class-side defaultLocalContentWireframeBoxColor property, or the value of the color property of this node if defaultLocalContentWireframeBoxColor is equal to kCCC4FBlackTransparent.

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