VPath
Engine/source/Verve/VPath/VPath.h
Public Types
eMaskBits { InitialUpdateMask = Parent::NextFreeMask << 0 PathUpdateMask = Parent::NextFreeMask << 1 NodeUpdateMask = Parent::NextFreeMask << 2 ObjectUpdateMask = Parent::NextFreeMask << 3 NextFreeMask = Parent::NextFreeMask << 4 }
ePathType { k_PathLinear k_PathBezier k_PathInvalid k_PathTypeSize }
Private Types
Parent
Public Friends
class
Public Static Attributes
Private Attributes
Public Functions
advanceObject(VPathObject * pPathObject, const F32 & pDelta)
attachObject(SceneObject * pObject, const bool & pForward, const F32 & pSpeed, const bool & pRelative, const S32 & pStartNode, const S32 & pEndNode)
attachObject(SceneObject * pObject, const bool & pForward, const F32 & pSpeed, const bool & pRelative, const S32 & pStartNode, const S32 & pEndNode, const VPathObject::eOrientationType & pOrientationMode)
attachObject(SceneObject * pObject, const bool & pForward, const F32 & pSpeed, const bool & pRelative, const S32 & pStartNode, const S32 & pEndNode, const VPathObject::eOrientationType & pOrientationMode, void * pOrientationData)
attachObject(VPathObject * pPathObject)
calculateBezierPath(VPathNode * pNode, VPathNode * pNextNode)
calculateLinearPath(VPathNode * pNode, VPathNode * pNextNode)
deleteNode(const S32 & pNodeIndex)
detachObject(SceneObject * pObject)
detachObject(VPathObject * pPathObject)
getAdvancedBezierPathPosition(VPathObject * pPathObject, const F32 & pTargetDistance, F32 & pInterpDelta)
getAdvancedLinearPathPosition(VPathObject * pPathObject, const F32 & pTargetDistance, F32 & pInterpDelta)
getAdvancedPathPosition(VPathObject * pPathObject, const F32 & pTargetDistance, F32 & pInterpDelta)
getMountVelocity(const U32 & pIndex)
getNodeLength(const S32 & pNodeIndex)
getNodeLocalPosition(const S32 & pNodeIndex)
getNodeLocalRotation(const S32 & pNodeIndex)
getNodeWeight(const S32 & pNodeIndex)
getNodeWorldPosition(const S32 & pNodeIndex)
getNodeWorldRotation(const S32 & pNodeIndex)
getPathObject(SceneObject * pObject)
getUpdatePriority(CameraScopeQuery * focusObject, U32 updateMask, S32 updateSkips)
This returns a value which is used to prioritize which objects need to be updated.
bool
isMountIndex(const U32 & pIndex)
bool
isObjectAttached(SceneObject * pObject)
mountObject(SceneObject * obj, S32 node, const MatrixF & xfm)
ex: Mount B to A at A's node N A.mountObject( B, N )
normalizeNodeIndex(const S32 & pNodeIndex)
normalizeNodeIndex(S32 & pNodeIndex)
normalizeNodeIndex(S32 & pNodeIndex, const S32 & pNodeCount)
onAttachObject(VPathObject * pPathObject)
onDeleteNotify(SimObject * object)
Called when a SimObject is deleted.
onDetachObject(VPathObject * pPathObject)
packUpdate(NetConnection * conn, U32 mask, BitStream * stream)
Instructs this object to pack its state for transfer over the network.
processTick(const Move * move)
Processes a move event and updates object state once every 32 milliseconds.
removeNode(const S32 & pNodeIndex)
setNodeOrientationMode(const S32 & pNodeIndex, const VPathNode::eOrientationType & pType)
setNodeOrientationMode(const S32 & pNodeIndex, const VPathNode::eOrientationType & pType, const Point3F pPoint)
setPathObjectActive(SceneObject * pObject, const bool & pActive)
setPathObjectEndNode(SceneObject * pObject, const S32 & pNodeIndex)
setPathObjectForward(SceneObject * pObject, const bool & pForward)
setPathObjectInterp(SceneObject * pObject, const F32 & pTimeInterp)
setPathObjectInterp(VPathObject * pPathObject, const F32 & pTimeInterp)
setPathObjectNode(SceneObject * pObject, const S32 & pNodeIndex)
setPathObjectOffset(SceneObject * pObject, const Point3F & pOffset)
setPathObjectOrientationMode(SceneObject * pObject, const VPathObject::eOrientationType & pType)
setPathObjectOrientationMode(SceneObject * pObject, const VPathObject::eOrientationType & pType, const Point3F pPoint)
setPathObjectOrientationMode(SceneObject * pObject, const VPathObject::eOrientationType & pType, SceneObject * pLookAtObject)
setPathObjectSpeed(SceneObject * pObject, const F32 & pSpeed)
setPathType(const ePathType & pType)
setTransform(const MatrixF & mat)
Sets the Object -> World transform.
unmountObject(SceneObject * obj)
Remove an object mounting.
unpackUpdate(NetConnection * conn, BitStream * stream)
Instructs this object to read state data previously packed with packUpdate.
updateOrientation(VPathObject * pPathObject)
updateOrientation(VPathObject * pPathObject, const Point3F & pPathOrientation)
updatePosition(VPathObject * pPathObject)
writeFields(Stream & stream, U32 tabStop)
Write the fields of this object in TorqueScript.
Public Static Functions
deleteNode(VPathNode * pNode)
SimSet *
bool
setPathType(void * pObject, const char * pArray, const char * pData)
Detailed Description
Public Types
eMaskBits
Enumerator
- InitialUpdateMask = Parent::NextFreeMask << 0
- PathUpdateMask = Parent::NextFreeMask << 1
- NodeUpdateMask = Parent::NextFreeMask << 2
- ObjectUpdateMask = Parent::NextFreeMask << 3
- NextFreeMask = Parent::NextFreeMask << 4
ePathType
Enumerator
- k_PathLinear
- k_PathBezier
- k_PathInvalid
- k_PathTypeSize
Private Types
typedef SceneObject Parent
Public Friends
Public Static Attributes
Point3F gBezierAxis
Point3F gBezierUp
U32 gMaxNodeBits
U32 gMaxNodeCount
U32 gMaxNodeTransmit
U32 gMaxObjectBits
U32 gMaxObjectCount
U32 gMaxObjectTransmit
SimObjectPtr< SimSet > gServerSet
Private Attributes
VPathNodeVector mNodeList
VPathObjectVector mObjectList
U32 mPathType
Public Functions
VPath(void )
~VPath(void )
addNode(const Point3F & pPosition, const QuatF & pRotation, const F32 & pWeight, const S32 & pLocation)
addNode(VPathNode * pNode, const S32 & pLocation)
advanceObject(VPathObject * pPathObject, const F32 & pDelta)
attachObject(SceneObject * pObject, const bool & pForward, const F32 & pSpeed, const bool & pRelative, const S32 & pStartNode, const S32 & pEndNode)
attachObject(SceneObject * pObject, const bool & pForward, const F32 & pSpeed, const bool & pRelative, const S32 & pStartNode, const S32 & pEndNode, const VPathObject::eOrientationType & pOrientationMode)
attachObject(SceneObject * pObject, const bool & pForward, const F32 & pSpeed, const bool & pRelative, const S32 & pStartNode, const S32 & pEndNode, const VPathObject::eOrientationType & pOrientationMode, void * pOrientationData)
attachObject(VPathObject * pPathObject)
calculateBezierPath(VPathNode * pNode, VPathNode * pNextNode)
calculateLinearPath(VPathNode * pNode, VPathNode * pNextNode)
calculatePath(void )
clear(void )
Reimplemented from: SimGroup
collideBox(const Point3F & pStart, const Point3F & pEnd, RayInfo * pInfo)
Reimplemented from: SceneObject
DECLARE_CONOBJECT(VPath )
deleteNode(const S32 & pNodeIndex)
detachObject(SceneObject * pObject)
detachObject(VPathObject * pPathObject)
getAdvancedBezierPathPosition(VPathObject * pPathObject, const F32 & pTargetDistance, F32 & pInterpDelta)
getAdvancedLinearPathPosition(VPathObject * pPathObject, const F32 & pTargetDistance, F32 & pInterpDelta)
getAdvancedPathPosition(VPathObject * pPathObject, const F32 & pTargetDistance, F32 & pInterpDelta)
getAvailableMountIndex(void )
getBezierPathOrientation(VPathNode * pSourceNode, VPathNode * pDestinationNode, const F32 & pInterp, const bool & pForward)
getBezierPathPosition(VPathNode * pSourceNode, VPathNode * pDestinationNode, const F32 & pInterp, const bool & pForward, F32 & pPathInterp)
getBezierPathPosition(VPathNode * pSourceNode, VPathNode * pDestinationNode, const F32 & pInterp, const Point3F & pReferencePosition, const F32 & pTargetDistance, const bool & pForward, const bool & pRelativeToReference, F32 & pPathInterpDelta)
getLinearPathOrientation(VPathNode * pSourceNode, VPathNode * pDestinationNode, const F32 & pInterp, const bool & pForward)
getLinearPathPosition(VPathNode * pSourceNode, VPathNode * pDestinationNode, const F32 & pInterp, const bool & pForward, F32 & pPathInterp)
getMountTransform(S32 pIndex, const MatrixF & pInTransform, MatrixF * pTransform)
Reimplemented from: SceneObject
getMountVelocity(const U32 & pIndex)
getNode(const S32 & pNodeIndex)
getNodeCount(void )
getNodeLength(const S32 & pNodeIndex)
getNodeLocalPosition(const S32 & pNodeIndex)
getNodeLocalRotation(const S32 & pNodeIndex)
getNodeWeight(const S32 & pNodeIndex)
getNodeWorldPosition(const S32 & pNodeIndex)
getNodeWorldRotation(const S32 & pNodeIndex)
getPathObject(SceneObject * pObject)
getPathOrientation(VPathNode * pSourceNode, VPathNode * pDestinationNode, const F32 & pTimeInterp, const bool & pForward)
getPathPosition(VPathNode * pSourceNode, VPathNode * pDestinationNode, const F32 & pTimeInterp, const bool & pForward)
getPathPosition(VPathNode * pSourceNode, VPathNode * pDestinationNode, const F32 & pTimeInterp, const bool & pForward, F32 & pPathInterp)
getRenderMountTransform(F32 pDelta, S32 pIndex, const MatrixF & pInTransform, MatrixF * pTransform)
Reimplemented from: SceneObject
getUpdatePriority(CameraScopeQuery * focusObject, U32 updateMask, S32 updateSkips)
Reimplemented from: NetObject
isMountIndex(const U32 & pIndex)
isObjectAttached(SceneObject * pObject)
mountObject(SceneObject * obj, S32 node, const MatrixF & xfm)
Reimplemented from: SceneObject
normalizeNodeIndex(const S32 & pNodeIndex)
normalizeNodeIndex(S32 & pNodeIndex)
normalizeNodeIndex(S32 & pNodeIndex, const S32 & pNodeCount)
onAdd(void )
Reimplemented from: SceneObject
onAttachObject(VPathObject * pPathObject)
onDeleteNotify(SimObject * object)
Reimplemented from: SceneObject
onDetachObject(VPathObject * pPathObject)
onRemove(void )
Reimplemented from: SceneObject
packUpdate(NetConnection * conn, U32 mask, BitStream * stream)
Reimplemented from: SceneObject
processTick(const Move * move)
Reimplemented from: ProcessObject
readFields(void )
removeNode(const S32 & pNodeIndex)
setNodeOrientationMode(const S32 & pNodeIndex, const VPathNode::eOrientationType & pType)
setNodeOrientationMode(const S32 & pNodeIndex, const VPathNode::eOrientationType & pType, const Point3F pPoint)
setNodePosition(const S32 & pNodeIndex, const Point3F & pPosition)
setNodeRotation(const S32 & pNodeIndex, const QuatF & pRotation)
setNodeWeight(const S32 & pNodeIndex, const F32 & pWeight)
setPathObjectActive(SceneObject * pObject, const bool & pActive)
setPathObjectEndNode(SceneObject * pObject, const S32 & pNodeIndex)
setPathObjectForward(SceneObject * pObject, const bool & pForward)
setPathObjectInterp(SceneObject * pObject, const F32 & pTimeInterp)
setPathObjectInterp(VPathObject * pPathObject, const F32 & pTimeInterp)
setPathObjectNode(SceneObject * pObject, const S32 & pNodeIndex)
setPathObjectOffset(SceneObject * pObject, const Point3F & pOffset)
setPathObjectOrientationMode(SceneObject * pObject, const VPathObject::eOrientationType & pType)
setPathObjectOrientationMode(SceneObject * pObject, const VPathObject::eOrientationType & pType, const Point3F pPoint)
setPathObjectOrientationMode(SceneObject * pObject, const VPathObject::eOrientationType & pType, SceneObject * pLookAtObject)
setPathObjectSpeed(SceneObject * pObject, const F32 & pSpeed)
setPathType(const ePathType & pType)
setScale(const VectorF & scale)
Reimplemented from: SceneObject
setTransform(const MatrixF & mat)
Reimplemented from: SceneObject
unmountObject(SceneObject * obj)
Reimplemented from: SceneObject
unpackUpdate(NetConnection * conn, BitStream * stream)
Reimplemented from: SceneObject
updateContainer(void )
updateNodeTransforms(void )
updateOrientation(VPathObject * pPathObject)
updateOrientation(VPathObject * pPathObject, const Point3F & pPathOrientation)
updatePosition(VPathObject * pPathObject)
writeFields(Stream & stream, U32 tabStop)
Reimplemented from: SimObject
Public Static Functions
createNode(void )
deleteNode(VPathNode * pNode)
getServerSet(void )
initPersistFields(void )
setPathType(void * pObject, const char * pArray, const char * pData)