5 #include <unordered_map>
15 using std::unique_ptr;
16 using std::unordered_map;
Node faces entity A node can have multiple entities containing faces and a applied material.
Representation of a 3D model.
const vector< Vector3 > & getBitangents() const
int32_t getFaceCount() const
unordered_map< string, Node * > & getSubNodes()
FacesEntity * getFacesEntity(const string &id)
Find faces entity by id.
void setAnimation(Animation *animation)
Sets animation object.
unique_ptr< Skinning > skinning
vector< Vector3 > bitangents
void setOrigins(const vector< Vector3 > &origins)
Set origins.
void setVertices(const vector< Vector3 > &vertices)
Set vertices.
const vector< Vector3 > & getTangents() const
unordered_map< string, Node * > subNodes
void setFacesEntities(const vector< FacesEntity > &facesEntities)
Set up faces entities.
void setSkinning(Skinning *skinning)
Sets skinning object.
const vector< Vector3 > & getOrigins() const
vector< FacesEntity > facesEntities
void setTransformMatrix(const Matrix4x4 &transformMatrix)
void setTextureCoordinates(const vector< Vector2 > &textureCoordinates)
Set texture coordinates.
Animation * getAnimation()
void setJoint(bool isJoint)
Sets up if this node is a joint or not.
Matrix4x4 transformMatrix
const vector< Vector3 > & getVertices() const
unique_ptr< Animation > animation
const vector< Vector3 > & getNormals() const
vector< Vector3 > tangents
const vector< Vector2 > & getTextureCoordinates() const
vector< Vector2 > textureCoordinates
vector< Vector3 > normals
vector< Vector3 > origins
vector< Vector3 > vertices
void setNormals(const vector< Vector3 > &normals)
Set normals.
const string & getId()
Returns id.
void setBitangents(const vector< Vector3 > &bitangents)
Set bitangents.
Node(Model *model, Node *parentNode, const string &id, const string &name)
Public constructor.
const vector< FacesEntity > & getFacesEntities() const
void setTangents(const vector< Vector3 > &tangents)
Set tangents.
const Matrix4x4 & getTransformMatrix() const
Skinning definition for nodes.
Matrix4x4 class representing matrix4x4 mathematical structure and operations for 3d space.
Vector2 class representing vector2 mathematical structure and operations with x, y components.
Vector3 class representing vector3 mathematical structure and operations with x, y,...
#define FORBID_CLASS_COPY(CLASS)