|
|
|
|
Documentation |
|
Main Page Namespace List Class Hierarchy Alphabetical List Compound List File List Namespace Members Compound Members File Members Related Pages Search
NL3D::CTransform Class ReferenceA basic node which provide an animatable matrix (ITransformable).
More...
#include <transform.h>
Inheritance diagram for NL3D::CTransform:
List of all members.
Skinning Behavior. |
virtual bool | isSkinnable () const |
| Deriver must change this method if the model can be skinned. called rarely. More...
|
virtual void | setApplySkin (bool state) |
| Deriver must change this method if isSkinnable(). More...
|
virtual const std::vector<
sint32 > * | getSkinBoneUsage () const |
| Deriver must change this method if isSkinnable(). More...
|
virtual void | renderSkin (float alphaMRM) |
| Deriver must change this method if isSkinnable(). More...
|
virtual bool | supportSkinGrouping () const |
| Deriver may support SkinGrouping if isSkinnable(). More...
|
virtual sint | renderSkinGroupGeom (float alphaMRM, uint remainingVertices, uint8 *dest) |
| if supportSkinGrouping(), called to transform the VBuffer, and store it into dest. More...
|
virtual void | renderSkinGroupPrimitives (uint baseVertex) |
| if supportSkinGrouping(), called to render the primitives of the already skinned vertices (VB activated in the driver). More...
|
CSkeletonModel * | _FatherSkeletonModel |
uint | _FatherBoneId |
[NOHEADER] |
uint32 | isNeedUpdateLighting () const |
| non-zero if the object needs to updatelighting. More...
|
uint32 | isNeedUpdateFrozenStaticLightSetup () const |
| non-zero if the object has a FrozenStaticLightSetup not correclty updated. More...
|
CLightContribution | _LightContribution |
| The contribution of all lights. This enlarge the struct only of approx 15%. More...
|
CLightingManager::CQGItLightedModel | _LightedModelIt |
| each transform may be in a quadGird of lighted models (see CLightingManager). More...
|
State Flag mgt (boolean compression) |
enum | TState {
IsAnimDetailable = 0x0001,
IsLoadBalancable = 0x0002,
IsLightable = 0x0004,
IsRenderable = 0x0008,
IsTransparent = 0x0010,
IsOpaque = 0x0020,
QuadGridClipEnabled = 0x0040,
IsUserLightable = 0x0080,
IsFinalLightable = 0x0100,
IsBigLightable = 0x0200,
IsNeedUpdateLighting = 0x0400,
IsNeedUpdateFrozenStaticLightSetup,
IsSkeleton = 0x1000,
IsSkinned = 0x2000,
IsDeleteChannelMixer = 0x4000,
IsForceAnimDetail = 0x8000,
IsMeshBaseInstance = 0x10000
} |
| State Flags. More...
|
void | setStateFlag (uint32 mask, bool val) |
| This is used to set Static or dynamic flags. val must take 0 or 1. More...
|
uint32 | getStateFlag (uint32 mask) const |
| return a non zero-value if state is set. More...
|
uint32 | _StateFlags |
| Flags for the General State of the Transform. They are both static or dynamic flags. More...
|
Public Methods |
void | setTransparency (bool v) |
| Accessors for opacity/transparency Warning: if you call it on a Skin which is already binded to a skeleton, you should call CSkeletonModel::dirtSkinRenderLists(), else it won't takes effect. More...
|
void | setOpacity (bool v) |
uint32 | isOpaque () |
uint32 | isTransparent () |
void | setOrderingLayer (uint layer) |
| Set the current layer for this transform. More...
|
uint | getOrderingLayer () const |
| Get the ordering layer. More...
|
void | hide () |
| Hide the object and his sons. More...
|
void | show () |
| Show the objet and his sons. More...
|
void | heritVisibility () |
| herit the visibility from his father. (default behavior). More...
|
CHrcTrav::TVisibility | getVisibility () |
| Get the local visibility state. More...
|
CSkeletonModel * | getSkeletonModel () const |
| Get the skeleton model. Returnr NULL in normal mode. More...
|
void | setChannelMixerOwnerShip (bool enable=true) |
| This force gives this object ownership of the channel mixer it is registered to, so it will delete it when the dtor is called. More...
|
bool | getChannelMixerOwnerShip () const |
void | freeze () |
| freeze the preceding position of the model. More...
|
void | setDontUnfreezeChildren (bool val) |
void | freezeHRC () |
| 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 (which is still expensive, even if the worldmatrix doesn't need to be recomputed). More...
|
void | unfreezeHRC () |
| see freezeHRC(). More...
|
uint32 | isQuadGridClipEnabled () const |
| special feature for CQuadGridClipManager. More...
|
const CMatrix & | getWorldMatrix () |
| Get the worldMatrix that is stored in the hrc observer. More...
|
bool | getLastClippedState () const |
| Get the Visible state that is stored in the clip observer. More...
|
void | setClusterSystem (CInstanceGroup *pIG) |
CInstanceGroup * | getClusterSystem () |
void | setLogicInfo (ILogicInfo *logicInfo) |
| Set the LogicInfo for this transfrom, eg to retrieve statc light information, see ILogicInfo. More...
|
virtual void | getAABBox (NLMISC::CAABBox &bbox) const |
| Get the untransformed AABBox of the transform. More...
|
|
virtual ITrack * | getDefaultTrack (uint valueId) |
| Default Track Values are identity (pos,pivot= 0, scale= 1, rots=0). More...
|
virtual void | registerToChannelMixer (CChannelMixer *chanMixer, const std::string &prefix) |
| register transform channels (in global anim mode). More...
|
|
void | resetLighting () |
| reset lights which influence this models. More...
|
uint32 | isLightable () const |
| true if the model can be lighted (such as CMeshBaseInstance) Default behavior is false. More...
|
void | setUserLightable (bool enable) |
| Set the UserLightable flag. More...
|
bool | getUserLightable () const |
| Get the UserLightable flag. More...
|
void | freezeStaticLightSetup (CPointLight *pointLight[NL3D_MAX_LIGHT_CONTRIBUTION], uint numPointLights, uint8 sunContribution, CPointLight *frozenAmbientlight) |
| Freeze and set the Static Light Setup. More...
|
void | unfreezeStaticLightSetup () |
| unFreeze the Static Light Setup. More...
|
uint32 | isBigLightable () const |
| non-zero if the lighting Manager must take into account the bbox of the transform. More...
|
|
void | setLoadBalancingGroup (const std::string &group) |
| Change the load Balancing group of a model. More...
|
const std::string & | getLoadBalancingGroup () const |
| Get the load Balancing group of a model. More...
|
|
uint32 | isSkeleton () const |
| return non-zero if I am a skeleton. if yes, static_cast<CSkeletonModel*> may be used. More...
|
uint32 | isSkinned () const |
| non-zero if the model is skinned onto a skeleton. More...
|
|
void | setMeanColor (CRGBA color) |
| set the Mean color of the transform. More...
|
CRGBA | getMeanColor () const |
| see setMeanColor(). More...
|
uint32 | isAnimDetailable () const |
| non-zero if the model is animDetailable (ie added to the animDetail list if visible). More...
|
uint32 | isLoadBalancable () const |
| non-zero if the model is loadBalancable (ie added to the loadBalancing list if visible). More...
|
uint32 | isRenderable () const |
| non-zero if the model is renderable (ie something may appear on screen). More...
|
uint32 | isMeshBaseInstance () const |
| non-zero if the CTransform can be casted to a CMeshBaseInstance. More...
|
Static Public Methods |
void | registerBasic () |
| Call at the begining of the program, to register the model, and the basic observers. More...
|
Protected Methods |
| CTransform () |
| Constructor. More...
|
virtual | ~CTransform () |
| Destructor. More...
|
virtual void | update () |
| Implement the update method. More...
|
virtual void | initModel () |
| Implement the initModel method. More...
|
CChannelMixer * | getChannelMixer () const |
| get the channelMixer owned by the transform. More...
|
bool | getShowWhenLODSticked () const |
| Test if obj must be displayed when sticked to an object displayed as a LOD (example: sword in hand of a character displayed as a LOD state). More...
|
|
void | setIsLightable (bool val) |
| Deriver must use this method with true to indicate the model support lighting. More...
|
void | setIsRenderable (bool val) |
| Deriver must use this method with true to indicate the model can be rendered. More...
|
void | setIsBigLightable (bool val) |
| Deriver must use this method with true to indicate the model is a big lightable. More...
|
void | setIsSkeleton (bool val) |
| For CSkeletonModel only. More...
|
void | setIsForceAnimDetail (bool val) |
| Deriver must use this method with true if the model must be AnimDetail-ed whatever registerToChannelMixer() has been called or not. More...
|
void | setIsLoadbalancable (bool val) |
| Deriver must use this method with true to indicate the model support loadBalancing. More...
|
void | setIsMeshBaseInstance (bool val) |
| For CMeshBaseInstance only. More...
|
Protected Attributes |
CTransformHrcObs * | _HrcObs |
CTransformClipObs * | _ClipObs |
CTransformLightObs * | _LightObs |
Private Types |
enum | TDirty { TransformDirty = IModel::Last,
Last
} |
| The Dirty states. More...
|
enum | TFreezeHRCState { FreezeHRCStateDisabled = 0,
FreezeHRCStateRequest,
FreezeHRCStateReady,
FreezeHRCStateEnabled
} |
Private Methods |
void | foulTransform () |
void | updateWorldMatrixFromFather () |
| For Skeleton Object Stick. More...
|
Static Private Methods |
IModel * | creator () |
Private Attributes |
CHrcTrav::TVisibility | Visibility |
NLMISC::CRefPtr< CChannelMixer > | _ChannelMixer |
uint64 | _LastTransformableMatrixDate |
CInstanceGroup * | _ClusterSystem |
TFreezeHRCState | _FreezeHRCState |
uint8 | _OrderingLayer |
bool | _ForceCLodSticked |
ILogicInfo * | _LogicInfo |
| See ILogicInfo. Used for lighting. default is NULL. More...
|
CRGBA | _MeanColor |
| see setMeanColor(). More...
|
Static Private Attributes |
CTrackDefaultVector | DefaultPos |
CTrackDefaultVector | DefaultPivot |
CTrackDefaultVector | DefaultRotEuler |
CTrackDefaultQuat | DefaultRotQuat |
CTrackDefaultVector | DefaultScale |
Friends |
class | CTransformHrcObs |
class | CTransformClipObs |
class | CTransformLightObs |
class | CTransformAnimDetailObs |
class | CSkeletonModel |
class | CSkeletonModelAnimDetailObs |
class | CSkeletonModelRenderObs |
Detailed Description
A basic node which provide an animatable matrix (ITransformable).
May be derived for each node who want to support such a scheme (CCamera, CLight, CInstance ... )
CTransform ALWAYS herit scale from fathers! (joints skeleton may not...) (nbyoyo: else, this breaks the touch system with observers).
CTransform Default tracks are identity (derived class may change this).
CTransform by default IS NOT RENDERABLE. ie never inserted in renderList. Deriver should call setIsRenderable(true) to make the model renderable
CTransform by default IS NOT ANIMDETAIL-able. ie never inserted in anim detail list. It is automatically inserted in anim detail list if registerToChannelMixer() is called. Deriver should call setIsForceAnimdetail(true) to make the model always anim-detail-ed
CTransform by default IS NOT LOADBALANCE-able. ie never inserted into list for LoadBlancing. Deriver should call setIsLoadbalancable(true) to support this traversal.
-
Author:
-
Lionel Berenguier , Nevrax France
-
Date:
-
2000
Definition at line 101 of file transform.h.
Member Enumeration Documentation
enum NL3D::CTransform::TDirty [private]
|
|
|
The Dirty states.
Derived models may add flags with similar enum. The first enum element must begin at CBaseClass::Last (where CBaseClass is the base class), so falg compatibility is maintained. -
Enumeration values:
-
Reimplemented from NL3D::IModel.
Definition at line 331 of file transform.h. |
enum NL3D::CTransform::TFreezeHRCState [private]
|
|
|
-
Enumeration values:
-
FreezeHRCStateDisabled |
|
FreezeHRCStateRequest |
|
FreezeHRCStateReady |
|
FreezeHRCStateEnabled |
|
Definition at line 486 of file transform.h. |
enum NL3D::CTransform::TState [private]
|
|
|
State Flags.
-
Enumeration values:
-
IsAnimDetailable |
|
IsLoadBalancable |
|
IsLightable |
|
IsRenderable |
|
IsTransparent |
|
IsOpaque |
|
QuadGridClipEnabled |
|
IsUserLightable |
|
IsFinalLightable |
|
IsBigLightable |
|
IsNeedUpdateLighting |
|
IsNeedUpdateFrozenStaticLightSetup |
|
IsSkeleton |
|
IsSkinned |
|
IsDeleteChannelMixer |
|
IsForceAnimDetail |
|
IsMeshBaseInstance |
|
Definition at line 507 of file transform.h. |
Constructor & Destructor Documentation
NL3D::CTransform::CTransform |
( |
|
) |
[protected] |
|
|
Constructor.
Definition at line 56 of file transform.cpp.
References _ClipObs, _ClusterSystem, _FatherSkeletonModel, _ForceCLodSticked, _FreezeHRCState, _HrcObs, _LastTransformableMatrixDate, _LightObs, _LogicInfo, _MeanColor, _OrderingLayer, _StateFlags, FreezeHRCStateDisabled, IsOpaque, IsUserLightable, Last, NLMISC::CBitSet::resize, NL3D::IModel::TouchObs, and Visibility.
Referenced by NL3D::CSkeletonModel::computeCLodVertexColors, creator, NL3D::CSkeletonModel::updateSkinRenderLists, and updateWorldMatrixFromFather. |
NL3D::CTransform::~CTransform |
( |
|
) |
[protected, virtual] |
|
Member Function Documentation
IModel* NL3D::CTransform::creator |
( |
|
) |
[inline, static, private] |
|
void NL3D::CTransform::foulTransform |
( |
|
) |
[inline, private] |
|
void NL3D::CTransform::freeze |
( |
|
) |
|
|
|
freeze the preceding position of the model.
Do not use, special code for cluster. This inform the scene that preceding position setuped by user is "frozen". ie at next render(), this object won't be added to the "object moving list" (usefull for cluster mgt). The "frozen" state is disabled (at render() time) if:
- change in position (directly or indireclty, such as animation) is performed after the freeze().
- the "frozen" state of a father is not enabled (or disabled by a change in position of him :) ).
Definition at line 288 of file transform.cpp.
References _HrcObs, and NL3D::IModel::validate. |
void NL3D::CTransform::freezeHRC |
( |
|
) |
|
|
|
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 (which is still expensive, even if the worldmatrix doesn't need to be recomputed).
The model won't either be validated. It is suposed to not change at all. Also, if it is not a son of a CCluster, it may be accelerated during Cliping (with CQuadGridClipManager).
NB: the model won't be tested in HRC only if this model is a "root", ie HrcTrav->getFirstParent()==HrcTrav->getRoot(). calling freezeHRC() on a model in a hierarchy without calling it to the root of the hierarchy will result in that the model won't be validated, but still HRC traversed. To be simplier, 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.
Definition at line 320 of file transform.cpp.
References _FreezeHRCState, FreezeHRCStateDisabled, FreezeHRCStateRequest, QuadGridClipEnabled, and setStateFlag. |
void NL3D::CTransform::freezeStaticLightSetup |
( |
CPointLight * |
pointLight[NL3D_MAX_LIGHT_CONTRIBUTION], |
|
|
uint |
numPointLights, |
|
|
uint8 |
sunContribution, |
|
|
CPointLight * |
frozenAmbientlight |
|
) |
|
|
void NL3D::CTransform::getAABBox |
( |
NLMISC::CAABBox & |
bbox |
) |
const [virtual] |
|
CChannelMixer* NL3D::CTransform::getChannelMixer |
( |
|
) |
const [inline, protected] |
|
bool NL3D::CTransform::getChannelMixerOwnerShip |
( |
|
) |
const [inline] |
|
ITrack * NL3D::CTransform::getDefaultTrack |
( |
uint |
valueId |
) |
[virtual] |
|
|
Default Track Values are identity (pos,pivot= 0, scale= 1, rots=0).
Implements NL3D::ITransformable.
Reimplemented in NL3D::CCamera.
Definition at line 198 of file transform.cpp.
References DefaultPivot, DefaultPos, DefaultRotEuler, DefaultRotQuat, DefaultScale, nlstop, NL3D::ITransformable::PivotValue, NL3D::ITransformable::PosValue, NL3D::ITransformable::RotEulerValue, NL3D::ITransformable::RotQuatValue, and NL3D::ITransformable::ScaleValue. |
bool NL3D::CTransform::getLastClippedState |
( |
|
) |
const |
|
const std::string & NL3D::CTransform::getLoadBalancingGroup |
( |
|
) |
const |
|
CRGBA NL3D::CTransform::getMeanColor |
( |
|
) |
const [inline] |
|
uint NL3D::CTransform::getOrderingLayer |
( |
|
) |
const [inline] |
|
bool NL3D::CTransform::getShowWhenLODSticked |
( |
|
) |
const [inline, protected] |
|
|
Test if obj must be displayed when sticked to an object displayed as a LOD (example: sword in hand of a character displayed as a LOD state).
Definition at line 458 of file transform.h.
References _ForceCLodSticked. |
virtual const std::vector<sint32>* NL3D::CTransform::getSkinBoneUsage |
( |
|
) |
const [inline, protected, virtual] |
|
|
Deriver must change this method if isSkinnable().
It return the list of bone (correct skeleton index) used by the skins (NB: without the parents of the bone). default is to return NULL.
Reimplemented in NL3D::CMeshInstance.
Definition at line 377 of file transform.h. |
uint32 NL3D::CTransform::getStateFlag |
( |
uint32 |
mask |
) |
const [inline, private] |
|
|
return a non zero-value if state is set.
Definition at line 549 of file transform.h.
References _StateFlags.
Referenced by getChannelMixerOwnerShip, getUserLightable, isAnimDetailable, isBigLightable, isLightable, isLoadBalancable, isMeshBaseInstance, isNeedUpdateFrozenStaticLightSetup, isNeedUpdateLighting, isOpaque, isQuadGridClipEnabled, isRenderable, isTransparent, registerToChannelMixer, setIsForceAnimDetail, setIsLightable, and setUserLightable. |
bool NL3D::CTransform::getUserLightable |
( |
|
) |
const [inline] |
|
const CMatrix & NL3D::CTransform::getWorldMatrix |
( |
|
) |
|
|
void NL3D::CTransform::heritVisibility |
( |
|
) |
|
|
void NL3D::CTransform::hide |
( |
|
) |
|
|
void NL3D::CTransform::initModel |
( |
|
) |
[protected, virtual] |
|
uint32 NL3D::CTransform::isAnimDetailable |
( |
|
) |
const [inline] |
|
uint32 NL3D::CTransform::isBigLightable |
( |
|
) |
const [inline] |
|
uint32 NL3D::CTransform::isLightable |
( |
|
) |
const [inline] |
|
uint32 NL3D::CTransform::isLoadBalancable |
( |
|
) |
const [inline] |
|
uint32 NL3D::CTransform::isMeshBaseInstance |
( |
|
) |
const [inline] |
|
uint32 NL3D::CTransform::isNeedUpdateFrozenStaticLightSetup |
( |
|
) |
const [inline, protected] |
|
uint32 NL3D::CTransform::isNeedUpdateLighting |
( |
|
) |
const [inline, protected] |
|
uint32 NL3D::CTransform::isOpaque |
( |
|
) |
[inline] |
|
uint32 NL3D::CTransform::isQuadGridClipEnabled |
( |
|
) |
const [inline] |
|
uint32 NL3D::CTransform::isRenderable |
( |
|
) |
const [inline] |
|
uint32 NL3D::CTransform::isSkeleton |
( |
|
) |
const [inline] |
|
virtual bool NL3D::CTransform::isSkinnable |
( |
|
) |
const [inline, protected, virtual] |
|
uint32 NL3D::CTransform::isSkinned |
( |
|
) |
const [inline] |
|
uint32 NL3D::CTransform::isTransparent |
( |
|
) |
[inline] |
|
void NL3D::CTransform::registerBasic |
( |
|
) |
[static] |
|
void NL3D::CTransform::registerToChannelMixer |
( |
CChannelMixer * |
chanMixer, |
|
|
const std::string & |
prefix |
|
) |
[virtual] |
|
|
register transform channels (in global anim mode).
-
See also:
-
setChannelMixerOwnerShip
Implements NL3D::ITransformable.
Reimplemented in NL3D::CCamera.
Definition at line 221 of file transform.cpp.
References _ChannelMixer, _FatherSkeletonModel, NL3D::IAnimatable::addValue, getChannelMixerOwnerShip, getStateFlag, IsAnimDetailable, IsForceAnimDetail, isSkinned, nlassert, NL3D::ITransformable::OwnerBit, NL3D::ITransformable::PivotValue, NL3D::ITransformable::PosValue, NL3D::ITransformable::RotEulerValue, NL3D::ITransformable::RotQuatValue, NL3D::ITransformable::ScaleValue, setChannelMixerOwnerShip, and setStateFlag. |
virtual void NL3D::CTransform::renderSkin |
( |
float |
alphaMRM |
) |
[inline, protected, virtual] |
|
|
Deriver must change this method if isSkinnable().
It renders the skin with current ctx of the skeletonModel SkeletonModel has already setuped the Light and the modelMatrix in the driver. If the skin is a MRM, it is the skeleton which drives the MRM level with alphaMRM: [0,1] default is nop
Reimplemented in NL3D::CMeshInstance.
Definition at line 383 of file transform.h. |
virtual sint NL3D::CTransform::renderSkinGroupGeom |
( |
float |
alphaMRM, |
|
|
uint |
remainingVertices, |
|
|
uint8 * |
dest |
|
) |
[inline, protected, virtual] |
|
virtual void NL3D::CTransform::renderSkinGroupPrimitives |
( |
uint |
baseVertex |
) |
[inline, protected, virtual] |
|
void NL3D::CTransform::resetLighting |
( |
|
) |
|
|
void NL3D::CTransform::setApplySkin |
( |
bool |
state |
) |
[protected, virtual] |
|
void NL3D::CTransform::setChannelMixerOwnerShip |
( |
bool |
enable = true |
) |
[inline] |
|
|
This force gives this object ownership of the channel mixer it is registered to, so it will delete it when the dtor is called.
It should be called AFTER this object has been registered to a channel mixer, because a new registration will broke the ownership. This is useful for automatic animations, when there's no owner of the channel mixer that could delete it.
Definition at line 158 of file transform.h.
References IsDeleteChannelMixer, and setStateFlag.
Referenced by registerToChannelMixer. |
void NL3D::CTransform::setClusterSystem |
( |
CInstanceGroup * |
pIG |
) |
[inline] |
|
void NL3D::CTransform::setDontUnfreezeChildren |
( |
bool |
val |
) |
|
|
void NL3D::CTransform::setIsBigLightable |
( |
bool |
val |
) |
[protected] |
|
void NL3D::CTransform::setIsForceAnimDetail |
( |
bool |
val |
) |
[protected] |
|
void NL3D::CTransform::setIsLightable |
( |
bool |
val |
) |
[protected] |
|
void NL3D::CTransform::setIsLoadbalancable |
( |
bool |
val |
) |
[protected] |
|
void NL3D::CTransform::setIsMeshBaseInstance |
( |
bool |
val |
) |
[inline, protected] |
|
void NL3D::CTransform::setIsRenderable |
( |
bool |
val |
) |
[protected] |
|
|
Deriver must use this method with true to indicate the model can be rendered.
"can be rendered" means if object has to be inserted in RenderTrav list. eg: a mesh must be inserted in a render list, but not a light, or a NULL transform. The default is false.
Definition at line 489 of file transform.cpp.
References IsRenderable, and setStateFlag. |
void NL3D::CTransform::setIsSkeleton |
( |
bool |
val |
) |
[protected] |
|
void NL3D::CTransform::setLoadBalancingGroup |
( |
const std::string & |
group |
) |
|
|
|
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)
Definition at line 428 of file transform.cpp.
References NL3D::IModel::getObs, NL3D::LoadBalancingTravId, and nlassert. |
void NL3D::CTransform::setLogicInfo |
( |
ILogicInfo * |
logicInfo |
) |
[inline] |
|
|
Set the LogicInfo for this transfrom, eg to retrieve statc light information, see ILogicInfo.
Ptr is kept in CTransfrom, so should call setLogicInfo(NULL) before to clean up.
Definition at line 265 of file transform.h.
References _LogicInfo. |
void NL3D::CTransform::setMeanColor |
( |
CRGBA |
color |
) |
|
|
|
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)
Definition at line 455 of file transform.cpp.
References _FatherSkeletonModel, and _MeanColor. |
void NL3D::CTransform::setOpacity |
( |
bool |
v |
) |
[inline] |
|
void NL3D::CTransform::setOrderingLayer |
( |
uint |
layer |
) |
[inline] |
|
|
Set the current 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
Definition at line 127 of file transform.h.
References _OrderingLayer.
Referenced by NL3D::CWaterModel::CWaterModel. |
void NL3D::CTransform::setStateFlag |
( |
uint32 |
mask, |
|
|
bool |
val |
|
) |
[inline, private] |
|
|
This is used to set Static or dynamic flags. val must take 0 or 1.
Definition at line 540 of file transform.h.
References _StateFlags.
Referenced by freezeHRC, freezeStaticLightSetup, registerToChannelMixer, resetLighting, setApplySkin, setChannelMixerOwnerShip, setIsBigLightable, setIsForceAnimDetail, setIsLightable, setIsLoadbalancable, setIsMeshBaseInstance, setIsRenderable, setIsSkeleton, setOpacity, setTransparency, setUserLightable, unfreezeHRC, and unfreezeStaticLightSetup. |
void NL3D::CTransform::setTransparency |
( |
bool |
v |
) |
[inline] |
|
|
Accessors for opacity/transparency Warning: if you call it on a Skin which is already binded to a skeleton, you should call CSkeletonModel::dirtSkinRenderLists(), else it won't takes effect.
Definition at line 113 of file transform.h.
References IsTransparent, setStateFlag, and v.
Referenced by NL3D::CCoarseMeshManager::CCoarseMeshManager, NL3D::CFlareModel::CFlareModel, NL3D::CParticleSystemModel::CParticleSystemModel, NL3D::CSkeletonModel::CSkeletonModel, NL3D::CVegetableBlendLayerModel::CVegetableBlendLayerModel, NL3D::CWaterModel::CWaterModel, NL3D::CSegRemanence::updateOpacityFromShape, NL3D::CParticleSystemModel::updateOpacityInfos, and NL3D::CSkeletonModel::updateSkinRenderLists. |
void NL3D::CTransform::setUserLightable |
( |
bool |
enable |
) |
|
|
void NL3D::CTransform::show |
( |
|
) |
|
|
virtual bool NL3D::CTransform::supportSkinGrouping |
( |
|
) |
const [inline, protected, virtual] |
|
|
Deriver may support SkinGrouping if isSkinnable().
It renders the skin with current ctx of the skeletonModel, but torn in 2 pass: fillVB,a nd renderPrimitives Deriver may check NL3D_MESH_SKIN_MANAGER_VERTEXFORMAT and NL3D_MESH_SKIN_MANAGER_MAXVERTICES
Reimplemented in NL3D::CMeshMRMInstance.
Definition at line 390 of file transform.h. |
void NL3D::CTransform::unfreezeHRC |
( |
|
) |
|
|
void NL3D::CTransform::unfreezeStaticLightSetup |
( |
|
) |
|
|
void NL3D::CTransform::update |
( |
|
) |
[protected, virtual] |
|
void NL3D::CTransform::updateWorldMatrixFromFather |
( |
|
) |
[private] |
|
Friends And Related Function Documentation
friend class CSkeletonModel [friend]
|
|
friend class CSkeletonModelAnimDetailObs [friend]
|
|
friend class CSkeletonModelRenderObs [friend]
|
|
friend class CTransformAnimDetailObs [friend]
|
|
friend class CTransformClipObs [friend]
|
|
friend class CTransformHrcObs [friend]
|
|
friend class CTransformLightObs [friend]
|
|
Member Data Documentation
uint NL3D::CTransform::_FatherBoneId [protected]
|
|
|
Definition at line 402 of file transform.h.
Referenced by CTransform, getSkeletonModel, NL3D::CMeshMRMInstance::getSkinBoneUsage, NL3D::CMeshInstance::getSkinBoneUsage, registerToChannelMixer, NL3D::CMeshMRMInstance::setApplySkin, NL3D::CMeshInstance::setApplySkin, setIsForceAnimDetail, setMeanColor, updateWorldMatrixFromFather, NL3D::CMeshInstance::~CMeshInstance, NL3D::CMeshMRMInstance::~CMeshMRMInstance, NL3D::CParticleSystemModel::~CParticleSystemModel, NL3D::CSegRemanence::~CSegRemanence, and ~CTransform. |
bool NL3D::CTransform::_ForceCLodSticked [private]
|
|
|
Reimplemented in NL3D::CVegetableBlendLayerModel.
Definition at line 558 of file transform.h.
Referenced by NL3D::CSkeletonModel::computeDisplayLodCharacterPriority, CTransform, freeze, NL3D::CPointLightModel::getHrcObs, getWorldMatrix, initModel, NL3D::CPointLightModel::isHrcVisible, NL3D::CSegRemanence::render, setDontUnfreezeChildren, unfreezeHRC, update, and updateWorldMatrixFromFather. |
uint64 NL3D::CTransform::_LastTransformableMatrixDate [private]
|
|
ILogicInfo* NL3D::CTransform::_LogicInfo [private]
|
|
CRGBA NL3D::CTransform::_MeanColor [private]
|
|
uint8 NL3D::CTransform::_OrderingLayer [private]
|
|
uint32 NL3D::CTransform::_StateFlags [private]
|
|
The documentation for this class was generated from the following files:
|
|