My Project
Public Member Functions | Public Attributes | Protected Member Functions | List of all members
ParaEngine::BMaxFrameNode Struct Reference

bone node in bmax More...

#include <BMaxFrameNode.h>

Inheritance diagram for ParaEngine::BMaxFrameNode:
ParaEngine::BMaxNode ParaEngine::CRefCounted

Public Member Functions

 BMaxFrameNode (BMaxParser *pParser, int16 x_, int16 y_, int16 z_, int32 template_id_, int32 block_data_, int32 boneIndex)
 
BMaxFrameNodeGetParent ()
 
int64 GetParentIndex () const
 
void SetParentIndex (int64 val)
 
bool HasParent ()
 
void AutoSetBoneName ()
 we will automatically set the bone name according to topology, if it is not set before. More...
 
ParaEngine::BoneGetBone ()
 
ParaEngine::BoneGetParentBone (bool bRefresh=true)
 
virtual int GetBoneIndex ()
 return the index of first bone, return -1 if no bone is binded to this node
 
virtual void SetBoneIndex (int nIndex)
 
virtual BMaxFrameNodeToBoneNode ()
 get the bone node interface if it is
 
int GetParentBoneIndex ()
 
void SetIndex (int nIndex)
 
bool IsAncestorOf (BMaxFrameNode *pChild)
 Returns true if this object is a parent, (or grandparent and so on to any level), of the given child. More...
 
bool BreakCycles ()
 if bone chain is recursive, we will break it. More...
 
virtual DWORD GetColor ()
 get the bone color
 
virtual void SetColor (DWORD val)
 
int GetChildCount ()
 get child bone count
 
BMaxFrameNodeGetChild (int nIndex)
 
int64 GetChildIndexOf (BMaxFrameNode *pChild)
 -1 if not found. More...
 
int64 GetChildIndex ()
 
void AddChild (BMaxFrameNode *pNode)
 add child node
 
void UpdatePivot ()
 
Vector3 GetAxis ()
 get the bone axis. More...
 
- Public Member Functions inherited from ParaEngine::BMaxNode
 BMaxNode (BMaxParser *pParser, int16 x_, int16 y_, int16 z_, int32 template_id_, int32 block_data_)
 
uint64 GetIndex ()
 
BlockModelGetBlockModel ()
 
void SetBlockModel (BlockModel *pModel)
 set block model weak reference. More...
 
bool HasBoneWeight ()
 if there are any bone associated with this node at the moment. More...
 
BMaxNodeGetNeighbour (BlockDirection::Side nSize)
 get neighbor block by side id More...
 
BMaxNodeGetNeighbourByOffset (Vector3 offset)
 
virtual bool isSolid ()
 
virtual int TessellateBlock (BlockModel *tessellatedModel)
 
void QueryNeighborBlockData (BMaxNode **pBlockData, int nFrom, int nTo)
 
uint32 CalculateCubeAO (BMaxNode **neighborBlocks)
 
int32_t GetAvgVertexLight (int32_t v1, int32_t v2, int32_t v3, int32_t v4)
 
void SetFaceVisible (int nIndex)
 
void SetFaceUsed (int nIndex)
 
bool IsFaceNotUse (int nIndex)
 
- Public Member Functions inherited from ParaEngine::CRefCounted
void addref () const
 add reference count of the object. More...
 
bool delref () const
 decrease reference count of the object. More...
 
int GetRefCount () const
 get the reference count
 
virtual int Release ()
 
CRefCountedAddToAutoReleasePool ()
 addref and releases the ownership sometime soon automatically (usually at the end of the current frame). More...
 

Public Attributes

int64 m_nParentIndex
 
ref_ptr< ParaEngine::Bonem_pBone
 
vector< int64 > m_children
 child node position index
 
- Public Attributes inherited from ParaEngine::BMaxNode
int16 x
 
int16 y
 
int16 z
 
int32 template_id
 
int32 block_data
 
int m_nBoneIndex
 

Protected Member Functions

DWORD CalculateBoneColor ()
 the bone's color if not calculated before. More...
 

Additional Inherited Members

- Public Types inherited from ParaEngine::BMaxNode
enum  FaceStatus { faceInvisible = 0, faceVisibleNotSign, faceVisibleSigned }
 
- Protected Attributes inherited from ParaEngine::BMaxNode
BMaxParserm_pParser
 
DWORD m_color
 
BlockModelm_pBlockModel
 
FaceStatus m_facesStatus [6]
 
- Protected Attributes inherited from ParaEngine::CRefCounted
int m_refcount
 

Detailed Description

bone node in bmax

Member Function Documentation

§ AutoSetBoneName()

void ParaEngine::BMaxFrameNode::AutoSetBoneName ( )

we will automatically set the bone name according to topology, if it is not set before.

§ BreakCycles()

bool ParaEngine::BMaxFrameNode::BreakCycles ( )

if bone chain is recursive, we will break it.

return true if cycles is found broken

§ CalculateBoneColor()

DWORD ParaEngine::BMaxFrameNode::CalculateBoneColor ( )
protected

the bone's color if not calculated before.

§ GetAxis()

Vector3 ParaEngine::BMaxFrameNode::GetAxis ( )

get the bone axis.

6 possible directions

§ GetChildIndexOf()

int64 ParaEngine::BMaxFrameNode::GetChildIndexOf ( BMaxFrameNode pChild)

-1 if not found.

§ GetParentBone()

ParaEngine::Bone * BMaxFrameNode::GetParentBone ( bool  bRefresh = true)
Parameters
bRefreshif true, we will refresh

§ IsAncestorOf()

bool ParaEngine::BMaxFrameNode::IsAncestorOf ( BMaxFrameNode pChild)

Returns true if this object is a parent, (or grandparent and so on to any level), of the given child.


The documentation for this struct was generated from the following files: