Cocos2d-x  v4
Mesh Class Reference

Mesh: contains ref to index buffer, GLProgramState, texture, skin, blend function, aabb and so on. More...

Inherits Ref.

Public Member Functions

backend::BuffergetVertexBuffer () const
 get vertex buffer More...
 
bool hasVertexAttrib (shaderinfos::VertexKey attrib) const
 has vertex attribute? More...
 
ssize_t getMeshVertexAttribCount () const
 get mesh vertex attribute count
 
const MeshVertexAttribgetMeshVertexAttribute (int idx)
 get MeshVertexAttribute by index
 
int getVertexSizeInBytes () const
 get per vertex size in bytes
 
void setTexture (const std::string &texPath)
 set texture (diffuse), which is responsible for the main appearance. More...
 
void setTexture (Texture2D *tex)
 set texture (diffuse), which is responsible for the main appearance. More...
 
void setTexture (Texture2D *tex, NTextureData::Usage usage, bool cacheFileName=true)
 set texture More...
 
void setTexture (const std::string &texPath, NTextureData::Usage usage)
 set texture More...
 
Texture2DgetTexture () const
 Get texture (diffuse), which is responsible for the main appearance. More...
 
Texture2DgetTexture (NTextureData::Usage usage)
 Get texture. More...
 
void setVisible (bool visible)
 visible getter and setter
 
MeshSkingetSkin () const
 skin getter More...
 
MeshIndexDatagetMeshIndexData () const
 mesh index data getter More...
 
backend::ProgramState * getProgramState () const
 get ProgramState More...
 
const std::string & getName () const
 name getter
 
CustomCommand::PrimitiveType getPrimitiveType () const
 get primitive type More...
 
ssize_t getIndexCount () const
 get index count More...
 
CustomCommand::IndexFormat getIndexFormat () const
 get index format More...
 
backend::BuffergetIndexBuffer () const
 get index buffer More...
 
const AABBgetAABB () const
 get AABB
 
void setProgramState (backend::ProgramState *programState)
 Sets a new ProgramState for the Mesh A new Material will be created for it.
 
void setMaterial (Material *material)
 Sets a new Material to the Mesh.
 
MaterialgetMaterial () const
 Returns the Material being used by the Mesh.
 
void setSkin (MeshSkin *skin)
 skin setter
 
void setMeshIndexData (MeshIndexData *indexdata)
 Mesh index data setter.
 
void setName (const std::string &name)
 name setter
 
void calculateAABB ()
 calculate the AABB of the mesh More...
 
void setForce2DQueue (bool force2D)
 force set this Sprite3D to 2D render queue
 
- Public Member Functions inherited from Ref
void retain ()
 Retains the ownership. More...
 
void release ()
 Releases the ownership immediately. More...
 
Refautorelease ()
 Releases the ownership sometime soon automatically. More...
 
unsigned int getReferenceCount () const
 Returns the Ref's current reference count. More...
 
virtual ~Ref ()
 Destructor. More...
 

Static Public Member Functions

static Meshcreate (const std::vector< float > &positions, const std::vector< float > &normals, const std::vector< float > &texs, const IndexArray &indices)
 create mesh from positions, normals, and so on, single SubMesh
 
static Meshcreate (const std::vector< float > &vertices, int perVertexSizeInFloat, const IndexArray &indices, const std::vector< MeshVertexAttrib > &attribs)
 @lua NA
 
static Meshcreate (const std::string &name, MeshIndexData *indexData, MeshSkin *skin=nullptr)
 create mesh @lua NA
 

Additional Inherited Members

- Public Attributes inherited from Ref
unsigned int _ID
 object id, ScriptSupport need public _ID
 
int _luaID
 Lua reference id.
 
void * _scriptObject
 scriptObject, support for swift
 
bool _rooted
 When true, it means that the object was already rooted.
 

Detailed Description

Mesh: contains ref to index buffer, GLProgramState, texture, skin, blend function, aabb and so on.

Member Function Documentation

◆ getVertexBuffer()

backend::Buffer* getVertexBuffer ( ) const

get vertex buffer

@lua NA

◆ hasVertexAttrib()

bool hasVertexAttrib ( shaderinfos::VertexKey  attrib) const

has vertex attribute?

@lua NA

◆ setTexture() [1/4]

void setTexture ( const std::string &  texPath)

set texture (diffuse), which is responsible for the main appearance.

It is also means main texture, you can also call setTexture(texPath, NTextureData::Usage::Diffuse)

Parameters
texPathtexture path

◆ setTexture() [2/4]

void setTexture ( Texture2D tex)

set texture (diffuse), which is responsible for the main appearance.

It is also means main texture, you can also call setTexture(texPath, NTextureData::Usage::Diffuse)

Parameters
textexture to be set

◆ setTexture() [3/4]

void setTexture ( Texture2D tex,
NTextureData::Usage  usage,
bool  cacheFileName = true 
)

set texture

Parameters
textexture to be set
usageUsage of this texture
whetherrefresh the cache file name

◆ setTexture() [4/4]

void setTexture ( const std::string &  texPath,
NTextureData::Usage  usage 
)

set texture

Parameters
texPathtexture path
usageUsage of this texture

◆ getTexture() [1/2]

Texture2D* getTexture ( ) const

Get texture (diffuse), which is responsible for the main appearance.

It is also means main texture, you can also call getTexture(NTextureData::Usage::Diffuse)

Returns
Texture used, return the texture of first mesh if multiple meshes exist

◆ getTexture() [2/2]

Texture2D* getTexture ( NTextureData::Usage  usage)

Get texture.

Parameters
usageUsage of returned texture
Returns
The texture of this usage, return the texture of first mesh if multiple meshes exist

◆ getSkin()

MeshSkin* getSkin ( ) const
inline

skin getter

@lua NA

◆ getMeshIndexData()

MeshIndexData* getMeshIndexData ( ) const
inline

mesh index data getter

@lua NA

◆ getProgramState()

backend::ProgramState* getProgramState ( ) const

get ProgramState

@lua NA

◆ getPrimitiveType()

CustomCommand::PrimitiveType getPrimitiveType ( ) const

get primitive type

@lua NA

◆ getIndexCount()

ssize_t getIndexCount ( ) const

get index count

@lua NA

◆ getIndexFormat()

CustomCommand::IndexFormat getIndexFormat ( ) const

get index format

@lua NA

◆ getIndexBuffer()

backend::Buffer* getIndexBuffer ( ) const

get index buffer

@lua NA

◆ calculateAABB()

void calculateAABB ( )

calculate the AABB of the mesh

Note
the AABB is in the local space, not the world space

The documentation for this class was generated from the following file: