Face3d
Face3D::Model Class Reference

#include <Model.hpp>

Classes

struct  ModelInfo
 

Public Member Functions

 Model (const ModelInfo &modelInfo)
 
void rotate (GLfloat val)
 
void scale (GLfloat val)
 
void render ()
 

Private Member Functions

void load (const std::string &path)
 load mesh data from file More...
 
void processNode (aiNode *node, const aiScene *scene)
 
Mesh processMesh (aiMesh *mesh, const aiScene *scene, std::string name)
 
void calcScalingFactors ()
 
glm::vec3 moveGenericVertex (const glm::vec3 &genericVertex)
 

Private Attributes

ModelInfo m_ModelInfo
 
FaceCoordinates3d m_FaceCoords
 
GLuint m_TextureFrontID = 0
 
GLuint m_TextureSideID = 0
 
GLuint m_SamplerID = 0
 
std::shared_ptr< std::vector< Mesh > > m_pMeshes
 
GLuint m_ShaderID =0
 
GLuint m_MVPMatrixLocation = 0
 
GLuint m_TextureFrontSamplerLocation = 0
 
GLuint m_TextureSideSamplerLocation = 0
 
GLuint m_ChinVerticalPosLocation = 0
 
GLuint m_EyeVerticalPosLocation = 0
 
GLuint m_LEyeTexVerticalPosLocation = 0
 
GLuint m_REyeTexVerticalPosLocation = 0
 
GLuint m_ChinTexVerticalPosLocation = 0
 
glm::mat4 m_MVPMatrix
 
GLfloat m_RotationAngle = 0.0f
 
GLfloat m_ScaleVal = 1.0f
 
GLfloat m_fx =0
 
GLfloat m_fy =0
 
GLfloat m_fz =0
 

Detailed Description

definition of a model of an object containing meshes and vertices

Constructor & Destructor Documentation

Face3D::Model::Model ( const ModelInfo modelInfo)

Member Function Documentation

void Face3D::Model::calcScalingFactors ( )
private

calculate the scaling factors to resize the generic face such that it looks like the face on the images

void Face3D::Model::load ( const std::string &  path)
private

load mesh data from file

glm::vec3 Face3D::Model::moveGenericVertex ( const glm::vec3 &  genericVertex)
private

move a vrtex of the generic model to its final position according to the face detection

Mesh Face3D::Model::processMesh ( aiMesh *  mesh,
const aiScene *  scene,
std::string  name 
)
private
void Face3D::Model::processNode ( aiNode *  node,
const aiScene *  scene 
)
private
void Face3D::Model::render ( )
void Face3D::Model::rotate ( GLfloat  val)
inline
void Face3D::Model::scale ( GLfloat  val)
inline

Member Data Documentation

GLuint Face3D::Model::m_ChinTexVerticalPosLocation = 0
private
GLuint Face3D::Model::m_ChinVerticalPosLocation = 0
private
GLuint Face3D::Model::m_EyeVerticalPosLocation = 0
private
FaceCoordinates3d Face3D::Model::m_FaceCoords
private
GLfloat Face3D::Model::m_fx =0
private
GLfloat Face3D::Model::m_fy =0
private
GLfloat Face3D::Model::m_fz =0
private
GLuint Face3D::Model::m_LEyeTexVerticalPosLocation = 0
private
ModelInfo Face3D::Model::m_ModelInfo
private
glm::mat4 Face3D::Model::m_MVPMatrix
private
GLuint Face3D::Model::m_MVPMatrixLocation = 0
private
std::shared_ptr<std::vector<Mesh> > Face3D::Model::m_pMeshes
private
GLuint Face3D::Model::m_REyeTexVerticalPosLocation = 0
private
GLfloat Face3D::Model::m_RotationAngle = 0.0f
private
GLuint Face3D::Model::m_SamplerID = 0
private
GLfloat Face3D::Model::m_ScaleVal = 1.0f
private
GLuint Face3D::Model::m_ShaderID =0
private
GLuint Face3D::Model::m_TextureFrontID = 0
private
GLuint Face3D::Model::m_TextureFrontSamplerLocation = 0
private
GLuint Face3D::Model::m_TextureSideID = 0
private
GLuint Face3D::Model::m_TextureSideSamplerLocation = 0
private

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