NL3D::USkeleton Class Reference

#include <u_skeleton.h>

Inheritance diagram for NL3D::USkeleton:

NL3D::UTransform NL3D::UTransformable NL3D::CSkeletonUser

Detailed Description

Game interface for manipulating Skeleton.
Author:
Lionel Berenguier

Nevrax France

Date:
2001

Definition at line 50 of file u_skeleton.h.

Public Types

enum  TTransformMode { DirectMatrix = 0, RotEuler, RotQuat, TransformModeCount }
enum  TVisibility { Show = 0, Hide, Herit, VisibilityCount }
 The visibility flag. In the root case, Herit means Show. More...


Public Member Functions

virtual bool getForceClipRoot () const=0
virtual bool getLastClippedState () const=0
 Return true if the object was rendered during the last Scene->rendere(). return false else (ie clipped).

virtual void getLastParentClusters (std::vector< CCluster * > &clusters) const=0
 Fill a list of cluster that contain this tranform. This is valid after the clip traversal.

virtual const CMatrixgetLastWorldMatrixComputed () const=0
virtual bool getLastWorldVisState () const=0
 Return true if the object was determined as Visible in Hrc during the last Scene->rendere(). NB: interesting only if Herit. else can use getVisibility().

virtual uint getOrderingLayer () const=0
 Get the ordering layer.

virtual void setForceClipRoot (bool forceClipRoot)=0
virtual void setLogicInfo (ILogicInfo *logicInfo)=0
virtual void setOrderingLayer (uint layer)=0
Skin operation.
virtual bool bindSkin (UInstance *mi)=0
virtual void detachSkeletonSon (UTransform *mi)=0
virtual void stickObject (UTransform *mi, uint boneId)=0
virtual void stickObjectEx (UTransform *mi, uint boneId, bool forceCLod)=0
Bone Lod interaction / MRM
virtual void changeMRMDistanceSetup (float distanceFinest, float distanceMiddle, float distanceCoarsest)=0
virtual float getInterpolationDistance () const=0
 see setInterpolationDistance()

virtual uint getNumBoneComputed () const=0
 return the number of bones currently animated/computed (because of bindSkin()/stickObject() / Lod system).

virtual float getShapeDistMax () const=0
 see setShapeDistMax()

virtual void setInterpolationDistance (float dist)=0
virtual void setShapeDistMax (float distMax)=0
Misc.
virtual bool computeCurrentBBox (NLMISC::CAABBox &bbox, UPlayList *playList, double playTime=0, bool forceCompute=false, bool computeInWorld=false)=0
virtual bool computeRenderedBBox (NLMISC::CAABBox &bbox, bool computeInWorld=false)=0
CLod / Character Lod
virtual void computeLodTexture ()=0
virtual uint getLodCharacterAnimId () const=0
virtual TGlobalAnimationTime getLodCharacterAnimTime () const=0
virtual float getLodCharacterDistance () const=0
 see setLodCharacterDistance. 0 if disabled

virtual sint getLodCharacterShape () const=0
 see setLodCharacterShape

virtual bool getLodCharacterWrapMode () const=0
virtual bool isDisplayedAsLodCharacter () const=0
virtual void setLodCharacterAnimId (uint animId)=0
 Change/get the Character Lod anim setup.

virtual void setLodCharacterAnimTime (TGlobalAnimationTime time)=0
virtual void setLodCharacterDistance (float dist)=0
virtual void setLodCharacterShape (sint shapeId)=0
virtual void setLodCharacterWrapMode (bool wrapMode)=0
 tells if the animation must loop or clamp.

Bone access.
virtual bool forceComputeBone (uint boneId)=0
 Force to compute a bone, even if object clipped. false if boneId is invalid.

virtual UBonegetBone (uint boneId)=0
 retrieve the bone. nlerror if not here. (>=getNumBones())

virtual sint getBoneIdByName (const std::string &boneName) const=0
 retrieve the bone Id, by his name. -1 if not found.

virtual uint getNumBones () const=0
 retrieve the number of bones.

virtual bool isBoneComputed (uint boneId) const=0
 Tell if a bone has been computed in the last frame or not. false if boneId is invalid.

AnimCtrl (IK...)
virtual IAnimCtrlgetBoneAnimCtrl (uint boneId) const=0
 return NULL if bad BoneId

virtual void setBoneAnimCtrl (uint boneId, IAnimCtrl *ctrl)=0

Protected Member Functions

Object
 USkeleton ()
virtual ~USkeleton ()


Member Enumeration Documentation

enum NL3D::UTransformable::TTransformMode [inherited]
 

Enumeration values:
DirectMatrix 
RotEuler 
RotQuat 
TransformModeCount 

Definition at line 66 of file u_transformable.h.

00067         {
00068                 DirectMatrix=0,         // DirectMatrixMode .
00069                 RotEuler,                       // Matrix is computed from sperated composantes, with euler rotation.
00070                 RotQuat,                        // Matrix is computed from sperated composantes, with quat rotation (default).
00071 
00072                 TransformModeCount
00073         };

enum NL3D::UTransform::TVisibility [inherited]
 

The visibility flag. In the root case, Herit means Show.

Enumeration values:
Show 
Hide 
Herit 
VisibilityCount 

Definition at line 68 of file u_transform.h.

00069         {
00070                 Show=0,         // The model is shown in the hierarchy
00071                 Hide,           // The model is hidden in the hierarchy
00072                 Herit,          // The model herit the visibilty from his father
00073 
00074                 VisibilityCount
00075         };


Constructor & Destructor Documentation

NL3D::USkeleton::USkeleton  )  [inline, protected]
 

Definition at line 56 of file u_skeleton.h.

00056 {}

virtual NL3D::USkeleton::~USkeleton  )  [inline, protected, virtual]
 

Definition at line 57 of file u_skeleton.h.

00057 {}


Member Function Documentation

virtual bool NL3D::USkeleton::bindSkin UInstance mi  )  [pure virtual]
 

bind a MeshInstance skin to the skeleton. NB: ~UTransform() and ~USkeleton() call detachSkeletonSon(). NB: nlerror() if mi is not a UInstance. (ie a mesh instance). NB: an object can't be skinned and sticked at same time :) NB: replaced if already here. NB: when a skin is binded, the command hide(), show(), ... have no effect on it, until it is detachSkeletonSon()-ed

Returns:
false if mi is NULL or not skinnable, true otherwise

Implemented in NL3D::CSkeletonUser.

virtual bool NL3D::UTransform::canCastShadowMap  )  const [pure virtual, inherited]
 

true if the instance cast shadow. By default false

Implemented in NL3D::CTransformUser.

virtual bool NL3D::UTransform::canReceiveShadowMap  )  const [pure virtual, inherited]
 

true if the instance receive shadow. By default false

Implemented in NL3D::CTransformUser.

virtual void NL3D::USkeleton::changeMRMDistanceSetup float  distanceFinest,
float  distanceMiddle,
float  distanceCoarsest
[pure virtual]
 

Special version for skins. NB: skins never follow their original MRM distance setup, but follow this skeleton MRM setup. Default is 3-10-50. NB: Unlike UInstance::changeMRMDistanceSetup(), this setup applies to the SkeletonModel, not the shape. NB: no-op if distanceFinest<0, distanceMiddle<=distanceFinest or if distanceCoarsest<=distanceMiddle.

Parameters:
distanceFinest The MRM has its max faces when dist<=distanceFinest.
distanceMiddle The MRM has 50% of its faces at dist==distanceMiddle.
distanceCoarsest The MRM has faces/Divisor (ie near 0) when dist>=distanceCoarsest.

Implemented in NL3D::CSkeletonUser.

virtual bool NL3D::USkeleton::computeCurrentBBox NLMISC::CAABBox bbox,
UPlayList playList,
double  playTime = 0,
bool  forceCompute = false,
bool  computeInWorld = false
[pure virtual]
 

same as computeRenderedBBox() but force animation and compute of all bones => don't need render(), but slower. for all used bones, extend the bbox with their pos

Parameters:
bbox return the bbox of the skinned skeleton, local to the skeleton. If the skeleton is not skinned/sticked at all, bbox is not modified.
playList set NULL if no one, else this playList will be played at the time playTime
forceCompute force evaluation of bbox even if not skinned
computeInWorld true if want to get the bbox in world.
Returns:
true if the bbox is computed, false otherwise.

Implemented in NL3D::CSkeletonUser.

virtual void NL3D::USkeleton::computeLodTexture  )  [pure virtual]
 

Call it when you want the system to recompute the Lod texture NB: Lod texturing is possible only in conjunction with AsyncTextureManager. Hence, instances skinned to the skeleton should be in AsyncTextureMode. For best result, you should wait that each of these instances are isAsyncTextureReady() (texture loaded)

Implemented in NL3D::CSkeletonUser.

virtual bool NL3D::USkeleton::computeRenderedBBox NLMISC::CAABBox bbox,
bool  computeInWorld = false
[pure virtual]
 

Retrieve the current approx BBox around the skeleton, computed in the last USene::render(). for all computed bones, extend the bbox with their pos

Parameters:
bbox return the bbox of the skinned skeleton, local to the skeleton. If the skeleton was clipped, the bbox is not modified.
computeInWorld true if want to get the bbox in world.
Returns:
true if the bbox is computed, false otherwise.

Implemented in NL3D::CSkeletonUser.

virtual void NL3D::USkeleton::detachSkeletonSon UTransform mi  )  [pure virtual]
 

unparent a CTransform from a bone of the skeleton, or unbind a skin. No-op if not here. NB: mi is placed at root of hierarchy.

Implemented in NL3D::CSkeletonUser.

virtual void NL3D::UTransform::enableCastShadowMap bool  state  )  [pure virtual, inherited]
 

By default, map shadow casting is disabled. This enabled shadow for this model. Fails if the model don't support dynamic Map Shadow Casting (eg landscape)

Implemented in NL3D::CTransformUser.

virtual void NL3D::UTransform::enableReceiveShadowMap bool  state  )  [pure virtual, inherited]
 

By default, map shadow receiving is disabled. This enabled shadow for this model. Fails if the model don't support dynamic Map Shadow Receiving (eg Particle system)

Implemented in NL3D::CTransformUser.

virtual bool NL3D::USkeleton::forceComputeBone uint  boneId  )  [pure virtual]
 

Force to compute a bone, even if object clipped. false if boneId is invalid.

Implemented in NL3D::CSkeletonUser.

virtual void NL3D::UTransform::freezeHRC  )  [pure virtual, inherited]
 

Optimisation: freeze the HRC so the WorldMatrix computed at next render() will be kept for long, and the model won't either be tested in HRC.

NB: the model won't be tested in HRC only if this model is a "root" For maximum optimisation, you should freezeHRC() all the models of a hierarchy, from base root to leaves.

NB: if the hierarchy of this object must change, or if the object must moves, you must call unfreezeHRC() first, and you should do this for all the parents of this model.

Implemented in NL3D::CTransformUser.

virtual UBone& NL3D::USkeleton::getBone uint  boneId  )  [pure virtual]
 

retrieve the bone. nlerror if not here. (>=getNumBones())

Implemented in NL3D::CSkeletonUser.

virtual IAnimCtrl* NL3D::USkeleton::getBoneAnimCtrl uint  boneId  )  const [pure virtual]
 

return NULL if bad BoneId

Implemented in NL3D::CSkeletonUser.

virtual sint NL3D::USkeleton::getBoneIdByName const std::string &  boneName  )  const [pure virtual]
 

retrieve the bone Id, by his name. -1 if not found.

Implemented in NL3D::CSkeletonUser.

virtual UInstanceGroup* NL3D::UTransform::getClusterSystem  )  [pure virtual, inherited]
 

Implemented in NL3D::CTransformUser.

virtual bool NL3D::UTransform::getForceClipRoot  )  const [pure virtual, inherited]
 

Implemented in NL3D::CTransformUser.

virtual float NL3D::USkeleton::getInterpolationDistance  )  const [pure virtual]
 

see setInterpolationDistance()

Implemented in NL3D::CSkeletonUser.

virtual bool NL3D::UTransform::getLastClippedState  )  const [pure virtual, inherited]
 

Return true if the object was rendered during the last Scene->rendere(). return false else (ie clipped).

Implemented in NL3D::CTransformUser.

virtual void NL3D::UTransform::getLastParentClusters std::vector< CCluster * > &  clusters  )  const [pure virtual, inherited]
 

Fill a list of cluster that contain this tranform. This is valid after the clip traversal.

Implemented in NL3D::CTransformUser.

virtual const CMatrix& NL3D::UTransform::getLastWorldMatrixComputed  )  const [pure virtual, inherited]
 

get the last world matrix computed in last render(). NB: this WM is computed in last render() only if the object was not clipped. So use it wisely. use getLastClippedState() to konw if the object was visible in last render().

Implemented in NL3D::CTransformUser.

virtual bool NL3D::UTransform::getLastWorldVisState  )  const [pure virtual, inherited]
 

Return true if the object was determined as Visible in Hrc during the last Scene->rendere(). NB: interesting only if Herit. else can use getVisibility().

Implemented in NL3D::CTransformUser.

virtual const std::string& NL3D::UTransform::getLoadBalancingGroup  )  const [pure virtual, inherited]
 

Get the load Balancing group of a model. see setLoadBalancingGroup().

Implemented in NL3D::CTransformUser.

virtual uint NL3D::USkeleton::getLodCharacterAnimId  )  const [pure virtual]
 

Call it when you want the system to recompute the Lod texture NB: Lod texturing is possible only in conjunction with AsyncTextureManager. Hence, instances skinned to the skeleton should be in AsyncTextureMode. For best result, you should wait that each of these instances are isAsyncTextureReady() (texture loaded)

Implemented in NL3D::CSkeletonUser.

virtual TGlobalAnimationTime NL3D::USkeleton::getLodCharacterAnimTime  )  const [pure virtual]
 

Call it when you want the system to recompute the Lod texture NB: Lod texturing is possible only in conjunction with AsyncTextureManager. Hence, instances skinned to the skeleton should be in AsyncTextureMode. For best result, you should wait that each of these instances are isAsyncTextureReady() (texture loaded)

Implemented in NL3D::CSkeletonUser.

virtual float NL3D::USkeleton::getLodCharacterDistance  )  const [pure virtual]
 

see setLodCharacterDistance. 0 if disabled

Implemented in NL3D::CSkeletonUser.

virtual sint NL3D::USkeleton::getLodCharacterShape  )  const [pure virtual]
 

see setLodCharacterShape

Implemented in NL3D::CSkeletonUser.

virtual bool NL3D::USkeleton::getLodCharacterWrapMode  )  const [pure virtual]
 

Call it when you want the system to recompute the Lod texture NB: Lod texturing is possible only in conjunction with AsyncTextureManager. Hence, instances skinned to the skeleton should be in AsyncTextureMode. For best result, you should wait that each of these instances are isAsyncTextureReady() (texture loaded)

Implemented in NL3D::CSkeletonUser.

virtual const CMatrix& NL3D::UTransformable::getMatrix  )  const [pure virtual, inherited]
 

Get the matrix, compute her if necessary (work in all modes).

Implemented in NL3D::CTransformableUser.

Referenced by NL3D::CDriverUser::setMatrixMode3D().

virtual NLMISC::CRGBA NL3D::UTransform::getMeanColor  )  const [pure virtual, inherited]
 

see setMeanColor()

Implemented in NL3D::CTransformUser.

virtual uint NL3D::USkeleton::getNumBoneComputed  )  const [pure virtual]
 

return the number of bones currently animated/computed (because of bindSkin()/stickObject() / Lod system).

Implemented in NL3D::CSkeletonUser.

virtual uint NL3D::USkeleton::getNumBones  )  const [pure virtual]
 

retrieve the number of bones.

Implemented in NL3D::CSkeletonUser.

virtual uint NL3D::UTransform::getOrderingLayer  )  const [pure virtual, inherited]
 

Get the ordering layer.

Implemented in NL3D::CTransformUser.

virtual CVector NL3D::UTransformable::getPivot  )  [pure virtual, inherited]
 

Work only in Rot* mode (nlassert).

Implemented in NL3D::CTransformableUser.

virtual void NL3D::UTransformable::getPivot CVector pivot  )  [pure virtual, inherited]
 

Work only in Rot* mode (nlassert).

Implemented in NL3D::CTransformableUser.

const char * NL3D::UTransformable::getPivotValueName  )  [static, inherited]
 

Definition at line 55 of file transformable_user.cpp.

References NL3D_MEM_TRANSFORMABLE.

00056 {
00057         NL3D_MEM_TRANSFORMABLE
00058         return ITransformable::getPivotValueName();
00059 }

virtual CVector NL3D::UTransformable::getPos  )  [pure virtual, inherited]
 

Work only in Rot* mode(nlassert).

Implemented in NL3D::CTransformableUser.

virtual void NL3D::UTransformable::getPos CVector pos  )  [pure virtual, inherited]
 

Work only in Rot* mode(nlassert).

Implemented in NL3D::CTransformableUser.

const char * NL3D::UTransformable::getPosValueName  )  [static, inherited]
 

Definition at line 35 of file transformable_user.cpp.

References NL3D_MEM_TRANSFORMABLE.

00036 {
00037         NL3D_MEM_TRANSFORMABLE
00038         return ITransformable::getPosValueName ();
00039 }

virtual CVector NL3D::UTransformable::getRotEuler  )  [pure virtual, inherited]
 

Work only in RotEuler mode(nlassert).

Implemented in NL3D::CTransformableUser.

virtual void NL3D::UTransformable::getRotEuler CVector rot  )  [pure virtual, inherited]
 

Work only in RotEuler mode(nlassert).

Implemented in NL3D::CTransformableUser.

const char * NL3D::UTransformable::getRotEulerValueName  )  [static, inherited]
 

Definition at line 40 of file transformable_user.cpp.

References NL3D_MEM_TRANSFORMABLE.

00041 {
00042         NL3D_MEM_TRANSFORMABLE
00043         return ITransformable::getRotEulerValueName();
00044 }

virtual CMatrix::TRotOrder NL3D::UTransformable::getRotOrder  )  [pure virtual, inherited]
 

get the current rotorder (information vlaid only when RotEuler mode).

Implemented in NL3D::CTransformableUser.

virtual CQuat NL3D::UTransformable::getRotQuat  )  [pure virtual, inherited]
 

Work only in RotQuat mode (nlassert).

Implemented in NL3D::CTransformableUser.

virtual void NL3D::UTransformable::getRotQuat CQuat quat  )  [pure virtual, inherited]
 

Work only in RotQuat mode (nlassert).

Implemented in NL3D::CTransformableUser.

const char * NL3D::UTransformable::getRotQuatValueName  )  [static, inherited]
 

Definition at line 45 of file transformable_user.cpp.

References NL3D_MEM_TRANSFORMABLE.

00046 {
00047         NL3D_MEM_TRANSFORMABLE
00048         return ITransformable::getRotQuatValueName();
00049 }

virtual CVector NL3D::UTransformable::getScale  )  [pure virtual, inherited]
 

Work only in Rot* mode (nlassert).

Implemented in NL3D::CTransformableUser.

virtual void NL3D::UTransformable::getScale CVector scale  )  [pure virtual, inherited]
 

Work only in Rot* mode (nlassert).

Implemented in NL3D::CTransformableUser.

const char * NL3D::UTransformable::getScaleValueName  )  [static, inherited]
 

Definition at line 50 of file transformable_user.cpp.

References NL3D_MEM_TRANSFORMABLE.

00051 {
00052         NL3D_MEM_TRANSFORMABLE
00053         return ITransformable::getScaleValueName();
00054 }

virtual float NL3D::USkeleton::getShapeDistMax  )  const [pure virtual]
 

see setShapeDistMax()

Implemented in NL3D::CSkeletonUser.

virtual TTransformMode NL3D::UTransformable::getTransformMode  )  [pure virtual, inherited]
 

get the current transform mode.

Implemented in NL3D::CTransformableUser.

virtual bool NL3D::UTransform::getUserClipping  )  const [pure virtual, inherited]
 

Return the user clipping state.

Implemented in NL3D::CTransformUser.

virtual bool NL3D::UTransform::getUserLightable  )  const [pure virtual, inherited]
 

Get the UserLightable flag.

Implemented in NL3D::CTransformUser.

virtual TVisibility NL3D::UTransform::getVisibility  )  [pure virtual, inherited]
 

Get the local visibility state.

Implemented in NL3D::CTransformUser.

virtual void NL3D::UTransform::heritVisibility  )  [pure virtual, inherited]
 

herit the visibility from his father. (default behavior).

Implemented in NL3D::CTransformUser.

virtual void NL3D::UTransform::hide  )  [pure virtual, inherited]
 

Hide the object and his sons.

Implemented in NL3D::CTransformUser.

virtual bool NL3D::USkeleton::isBoneComputed uint  boneId  )  const [pure virtual]
 

Tell if a bone has been computed in the last frame or not. false if boneId is invalid.

Implemented in NL3D::CSkeletonUser.

virtual bool NL3D::USkeleton::isDisplayedAsLodCharacter  )  const [pure virtual]
 

True if the skeleton model and his skins have been displayed with a CLodCharacterShape at last scene render

Implemented in NL3D::CSkeletonUser.

virtual uint32 NL3D::UTransform::isOpaque  )  [pure virtual, inherited]
 

Implemented in NL3D::CTransformUser.

virtual uint32 NL3D::UTransform::isTransparent  )  [pure virtual, inherited]
 

Implemented in NL3D::CTransformUser.

virtual void NL3D::UTransformable::lookAt const CVector eye,
const CVector target,
float  roll = 0.f
[pure virtual, inherited]
 

Setup Matrix by the lookAt method. Work only in DirectMatrix mode and RotQuat mode (not euler...).

Parameters:
eye is the coordinate of the object.
target is the point the object look at.
roll is the roll angle in radian along the object's Y axis.

Implemented in NL3D::CTransformableUser.

virtual void NL3D::UTransform::parent UTransform newFather  )  [pure virtual, inherited]
 

Hierarchy edit. unlink this from oldparent, and make this be a son of newFather. if this was already a son of newFather, no-op.

Parameters:
newFather the new Father. If NULL, the transform will be linked to the root of the hierarchy (Default!).

Implemented in NL3D::CTransformUser.

virtual void NL3D::USkeleton::setBoneAnimCtrl uint  boneId,
IAnimCtrl ctrl
[pure virtual]
 

Set a special ctrl on a bone. see IAnimCtrl. set to NULL if you want to reset this bone AnimCtrl. No-op if Bad BoneId.

Implemented in NL3D::CSkeletonUser.

virtual void NL3D::UTransform::setClusterSystem UInstanceGroup pIG  )  [pure virtual, inherited]
 

Implemented in NL3D::CTransformUser.

virtual void NL3D::UTransform::setForceClipRoot bool  forceClipRoot  )  [pure virtual, inherited]
 

Force the transform to always be attached to the root As a consequence, it can't be inserted into a cluster system (even the root cluster) and is thus always visible when in the frustum (not clusterized) NB : any call to setClusterSystem will be ignored (must remain unclesterized) NB : any call to parent will be ignored (must remain linked to the root)

Implemented in NL3D::CTransformUser.

virtual void NL3D::USkeleton::setInterpolationDistance float  dist  )  [pure virtual]
 

change the Lod Bone interpolation distance (in meters). If 0, interpolation is disabled. The smaller this value is, the more Lod skeleton system will "pop". Default is 0.5 meters.

Implemented in NL3D::CSkeletonUser.

virtual void NL3D::UTransform::setLoadBalancingGroup const std::string &  group  )  [pure virtual, inherited]
 

Change the load Balancing group of a model. Every models are in a special LoadBalancingGroup. NB: the group is created if did not exist. NB: if models are skinned, it is their Skeleton which drive the group

By default, models lies in the "Default" group, but Skeletons for skinning and ParticlesSystems which are in "Skin" and "Fx" group respectively. The "Default" group is special because it is not balanced (ie models are only degraded from their distance to camera)

Implemented in NL3D::CTransformUser.

virtual void NL3D::USkeleton::setLodCharacterAnimId uint  animId  )  [pure virtual]
 

Change/get the Character Lod anim setup.

Implemented in NL3D::CSkeletonUser.

virtual void NL3D::USkeleton::setLodCharacterAnimTime TGlobalAnimationTime  time  )  [pure virtual]
 

Call it when you want the system to recompute the Lod texture NB: Lod texturing is possible only in conjunction with AsyncTextureManager. Hence, instances skinned to the skeleton should be in AsyncTextureMode. For best result, you should wait that each of these instances are isAsyncTextureReady() (texture loaded)

Implemented in NL3D::CSkeletonUser.

virtual void NL3D::USkeleton::setLodCharacterDistance float  dist  )  [pure virtual]
 

This is the distance at which the skeleton use a CLodCharacterShape to display himself if 0, never display the skeleton as a CLodCharacterShape

Implemented in NL3D::CSkeletonUser.

virtual void NL3D::USkeleton::setLodCharacterShape sint  shapeId  )  [pure virtual]
 

Change the Character Lod shape Id. set -1 if want to disable the feature (default)

Implemented in NL3D::CSkeletonUser.

virtual void NL3D::USkeleton::setLodCharacterWrapMode bool  wrapMode  )  [pure virtual]
 

tells if the animation must loop or clamp.

Implemented in NL3D::CSkeletonUser.

virtual void NL3D::UTransform::setLogicInfo ILogicInfo logicInfo  )  [pure virtual, inherited]
 

Set the LogicInfo for this transfrom, eg to retrieve statc light information, see ILogicInfo. Ptr is kept in UTransfrom, so should call setLogicInfo(NULL) before to clean up.

Implemented in NL3D::CTransformUser.

virtual void NL3D::UTransformable::setMatrix const CMatrix mat  )  [pure virtual, inherited]
 

Work only in DirecTMatrix mode (nlassert).

Implemented in NL3D::CTransformableUser.

virtual void NL3D::UTransform::setMeanColor NLMISC::CRGBA  color  )  [pure virtual, inherited]
 

set the Mean color of the transform. The mean color can be used for many purpose, such as drawing objects if the textures are not loaded. It is used also for Lod Character. Default color is (255,255,255)

Implemented in NL3D::CTransformUser.

virtual void NL3D::UTransform::setOpacity bool  v  )  [pure virtual, inherited]
 

Implemented in NL3D::CTransformUser.

virtual void NL3D::UTransform::setOrderingLayer uint  layer  )  [pure virtual, inherited]
 

Set the current ordering layer for this transform. Typically, this is used to sort transparent objects. Isn't used with solid objects. For now : Layer 0 is for underwater Layer 1 is for water surfaces Layer 2 is for object above water

Implemented in NL3D::CTransformUser.

void NL3D::UTransformable::setPivot float  px,
float  py,
float  pz
[inline, inherited]
 

Work only in Rot* mode (nlassert).

Definition at line 108 of file u_transformable.h.

References NL3D::UTransformable::setPivot().

00108 {setPivot(CVector(px, py, pz));}

virtual void NL3D::UTransformable::setPivot const CVector pivot  )  [pure virtual, inherited]
 

Work only in Rot* mode (nlassert).

Implemented in NL3D::CTransformableUser.

Referenced by NL3D::UTransformable::setPivot().

void NL3D::UTransformable::setPos float  px,
float  py,
float  pz
[inline, inherited]
 

Work only in Rot* mode(nlassert).

Definition at line 86 of file u_transformable.h.

References NL3D::UTransformable::setPos().

00086 {setPos(CVector(px, py, pz));}

virtual void NL3D::UTransformable::setPos const CVector pos  )  [pure virtual, inherited]
 

Work only in Rot* mode(nlassert).

Implemented in NL3D::CTransformableUser.

Referenced by NL3D::UTransformable::setPos().

void NL3D::UTransformable::setRotEuler float  rx,
float  ry,
float  rz
[inline, inherited]
 

Work only in RotEuler mode(nlassert).

Definition at line 90 of file u_transformable.h.

References NL3D::UTransformable::setRotEuler().

00090 {setRotEuler(CVector(rx, ry, rz));}

virtual void NL3D::UTransformable::setRotEuler const CVector rot  )  [pure virtual, inherited]
 

Work only in RotEuler mode(nlassert).

Implemented in NL3D::CTransformableUser.

Referenced by NL3D::UTransformable::setRotEuler().

virtual void NL3D::UTransformable::setRotQuat const CVector jdir,
const CVector vup
[pure virtual, inherited]
 

Work only in RotQuat mode (nlassert). Build a quaternion from a forward direction (a J vector). the roll is determined with help of the vector up vup... vectors do not need to be noramlized.

Implemented in NL3D::CTransformableUser.

virtual void NL3D::UTransformable::setRotQuat const CVector jdir  )  [pure virtual, inherited]
 

Work only in RotQuat mode (nlassert). Build a quaternion from a forward direction (a J vector). there is no roll... jdir do not need to be noramlized.

Implemented in NL3D::CTransformableUser.

virtual void NL3D::UTransformable::setRotQuat const CQuat quat  )  [pure virtual, inherited]
 

Work only in RotQuat mode (nlassert).

Implemented in NL3D::CTransformableUser.

void NL3D::UTransformable::setScale float  sx,
float  sy,
float  sz
[inline, inherited]
 

Work only in Rot* mode (nlassert).

Definition at line 104 of file u_transformable.h.

References NL3D::UTransformable::setScale().

00104 {setScale(CVector(sx, sy, sz));}

virtual void NL3D::UTransformable::setScale const CVector scale  )  [pure virtual, inherited]
 

Work only in Rot* mode (nlassert).

Implemented in NL3D::CTransformableUser.

Referenced by NL3D::UTransformable::setScale().

virtual void NL3D::USkeleton::setShapeDistMax float  distMax  )  [pure virtual]
 

Change Max Display Skeleton distance. After this distance the shape won't be displayed. setting <0 means -1 and so means DistMax = infinite (default in meshs but multilod meshes). NB: This apply to the shape direclty!! ie All instances using same shape will be affected

Note: If the skeleton himself is sticked to an other skeleton, this setup is not taken into account. ie the skeleton clip follow the ancestor skeleton clip result (ie the first skeleton in hierarchy which is not sticked).

Note (complex): same remark for QuadGridClipManager interaction with this function as in UInstance::setShapeDistMax()

Implemented in NL3D::CSkeletonUser.

virtual void NL3D::UTransformable::setTransformMode TTransformMode  mode,
CMatrix::TRotOrder  ro = CMatrix::ZXY
[pure virtual, inherited]
 

Change the transform mode. Components or matrix are not reseted.

Implemented in NL3D::CTransformableUser.

virtual void NL3D::UTransform::setTransparency bool  v  )  [pure virtual, inherited]
 

Implemented in NL3D::CTransformUser.

virtual void NL3D::UTransform::setUserClipping bool  enable  )  [pure virtual, inherited]
 

Return the user clipping state.

Implemented in NL3D::CTransformUser.

virtual void NL3D::UTransform::setUserLightable bool  enable  )  [pure virtual, inherited]
 

Set the UserLightable flag. if false, isLightable() will always return false. Doing this, user can disable lighting on a model which may be interesting for speed. NB: most of models don't need it. For example models with LightMaps are by default Lighing-disabled. Default behavior is UserLightable==true.

Implemented in NL3D::CTransformUser.

virtual void NL3D::UTransform::show  )  [pure virtual, inherited]
 

Show the objet and his sons.

Implemented in NL3D::CTransformUser.

virtual void NL3D::USkeleton::stickObject UTransform mi,
uint  boneId
[pure virtual]
 

parent a CTransform to a bone of the skeleton. NB: ~CTransform() calls detachSkeletonSon(). This object will be visible only when the Skeleton is not clipped. NB: an object can't be skinned and sticked at same time :) NB: replaced if already here.

Implemented in NL3D::CSkeletonUser.

virtual void NL3D::USkeleton::stickObjectEx UTransform mi,
uint  boneId,
bool  forceCLod
[pure virtual]
 

same method as stickObject(), but if you set forceCLod as true, then this object will be visible even if the skeleton father is in CLod state (ie displayed with a CLodCharacterShape) NB: if "mi" is a skeleton model, forceCLod is considerer true, whatever the value passed in.

Implemented in NL3D::CSkeletonUser.

virtual void NL3D::UTransform::unfreezeHRC  )  [pure virtual, inherited]
 

see freezeHRC().

Implemented in NL3D::CTransformUser.


The documentation for this class was generated from the following file:
Generated on Tue Mar 16 08:50:49 2004 for NeL by doxygen 1.3.6