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::Buffer * getVertexBuffer () 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 MeshVertexAttrib & getMeshVertexAttribute (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...
 
Texture2D * getTexture () const
 Get texture (diffuse), which is responsible for the main appearance. More...
 
Texture2D * getTexture (NTextureData::Usage usage)
 Get texture. More...
 
void setVisible (bool visible)
 visible getter and setter
 
MeshSkin * getSkin () const
 skin getter More...
 
MeshIndexData * getMeshIndexData () 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::Buffer * getIndexBuffer () const
 get index buffer More...
 
const AABB & getAABB () 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.
 
Material * getMaterial () 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...
 
Ref * autorelease ()
 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 Mesh * create (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 Mesh * create (const std::vector< float > &vertices, int perVertexSizeInFloat, const IndexArray &indices, const std::vector< MeshVertexAttrib > &attribs)
 @lua NA
 
static Mesh * create (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: