MeshSkin, A class maintain a collection of bones that affect Mesh vertex. More...
Inherits Ref.
Public Member Functions | |
ssize_t | getBoneCount () const |
Get total bone count. More... | |
Bone3D * | getBoneByIndex (unsigned int index) const |
Get the specified bone by index. More... | |
Bone3D * | getBoneByName (const std::string &id) const |
Get the specified bone by name. More... | |
int | getBoneIndex (Bone3D *bone) const |
Get the specified bone index. More... | |
Vec4 * | getMatrixPalette () |
Compute matrix palette used by gpu skin. More... | |
ssize_t | getMatrixPaletteSize () const |
Get the MatrixPalette size. More... | |
Bone3D * | getRootBone () const |
Get the root bone of the skin. More... | |
Public Member Functions inherited from Ref | |
void | retain () |
Retains the ownership. More... | |
local | retain () |
Retains the ownership. More... | |
void | release () |
Releases the ownership immediately. More... | |
Ref * | autorelease () |
Releases the ownership sometime soon automatically. More... | |
unsigned int | getReferenceCount () const |
Returns the Ref's current reference count. More... | |
local | getReferenceCount () |
Returns the Ref's current reference count. More... | |
virtual | ~Ref () |
Destructor. | |
Static Public Member Functions | |
static MeshSkin * | create (Skeleton3D *skeleton, const std::string &filename, const std::string &name) |
Create a new meshskin if do not want to share meshskin. More... | |
static MeshSkin * | create (Skeleton3D *skeleton, const std::vector< std::string > &boneNames, const std::vector< Mat4 > &invBindPose) |
Create a new meshskin if do not want to share meshskin The specified skeleton. More... | |
Protected Member Functions | |
void | removeAllBones () |
Remove all bones. | |
void | addSkinBone (Bone3D *bone) |
Add the specified skin bone The Bone3D object. | |
const Mat4 & | getInvBindPose (const Bone3D *bone) |
Get inverse bind pose by the specified Bone3D object. More... | |
Additional Inherited Members | |
Public Attributes inherited from Ref | |
unsigned int | _ID |
object id, ScriptSupport need public _ID | |
local | _ID |
object id, ScriptSupport need public _ID | |
int | _luaID |
Lua reference id. | |
local | _luaID |
Lua reference id. | |
void * | _scriptObject |
scriptObject, support for swift | |
local | _scriptObject |
scriptObject, support for swift | |
bool | _rooted |
When true, it means that the object was already rooted. | |
local | _rooted |
When true, it means that the object was already rooted. | |
bool | _scriptOwned |
The life of the object is scrolled by the scripting engine. More... | |
local | _scriptOwned |
The life of the object is scrolled by the scripting engine. More... | |
MeshSkin, A class maintain a collection of bones that affect Mesh vertex.
And it is responsible for computing matrix palettes that used by skin mesh rendering.
|
static |
Create a new meshskin if do not want to share meshskin.
skeleton | The specified skeleton. |
|
static |
Create a new meshskin if do not want to share meshskin The specified skeleton.
The bones names list. The bones' inverse binding pose. The meshSkin object.
ssize_t getBoneCount | ( | ) | const |
Get total bone count.
(skin bone + node bone) The bone count.
Bone3D* getBoneByIndex | ( | unsigned int | index | ) | const |
Get the specified bone by index.
The index. The Bone3D object.
Bone3D* getBoneByName | ( | const std::string & | id | ) | const |
Get the specified bone by name.
The name. The Bone3D object.
int getBoneIndex | ( | Bone3D * | bone | ) | const |
Get the specified bone index.
The specified Bone3D object. The index.
Vec4* getMatrixPalette | ( | ) |
Compute matrix palette used by gpu skin.
The matrix palette is array of matrix which contatin The matrix palette.
ssize_t getMatrixPaletteSize | ( | ) | const |
Get the MatrixPalette size.
The size. Equal to the getSkinBoneCount() * 3
Get inverse bind pose by the specified Bone3D object.
The Bone3d object. The inverse bind pose matrix.