Castor3D  ..
Classes | Fonctions membres publiques | Liste de tous les membres
Référence de la classe Castor3D::Submesh

Representation d'un submesh. Plus de détails...

+ Graphe d'héritage de Castor3D::Submesh:
+ Graphe de collaboration de Castor3D::Submesh:

Classes

class  BinaryParser
 
class  TextLoader
 Loader texte de Submesh. Plus de détails...
 

Fonctions membres publiques

 Submesh (MeshRPtr p_pMesh, Engine *p_pEngine=nullptr, uint32_t p_uiID=1)
 Constructeur. Plus de détails...
 
 ~Submesh ()
 Destructeur. Plus de détails...
 
void Cleanup ()
 Nettoie le submesh. Plus de détails...
 
void ComputeContainers ()
 Calcule les conteneurs (cube et sphère) Plus de détails...
 
uint32_t GetFaceCount () const
 
uint32_t GetPointsCount () const
 
int IsInMyPoints (Castor::Point3r const &p_vertex)
 Teste si le point donné fait partie de ceux de ce submesh. Plus de détails...
 
BufferElementGroupSPtr AddPoint (real x, real y, real z)
 Crée un Vertex à partir des coordonnées données et l'ajoute à la liste. Plus de détails...
 
BufferElementGroupSPtr AddPoint (Castor::Point3r const &p_v)
 Crée un Vertex à partir du point donné et l'ajoute à la liste. Plus de détails...
 
BufferElementGroupSPtr AddPoint (real *p_v)
 Crée un Vertex à partir des coordonnées données et l'ajoute à la liste. Plus de détails...
 
void AddPoints (stVERTEX_GROUP const &p_vertices)
 Ajoute des points à la liste. Plus de détails...
 
void ClearFaces ()
 Vide le tableau de faces. Plus de détails...
 
FaceSPtr AddFace (uint32_t a, uint32_t b, uint32_t c)
 Crée et ajoute une face au submesh. Plus de détails...
 
void AddFaceGroup (stFACE_INDICES *p_pFaces, uint32_t p_uiNbFaces)
 Crée et ajoute une face au submesh. Plus de détails...
 
template<uint32_t Count>
void AddFaceGroup (stFACE_INDICES(&p_pFaces)[Count])
 Crée et ajoute une face au submesh. Plus de détails...
 
void AddQuadFace (uint32_t a, uint32_t b, uint32_t c, uint32_t d, Castor::Point3r const &p_ptMinUV=Castor::Point3r(), Castor::Point3r const &p_ptMaxUV=Castor::Point3r(1, 1, 1))
 Crée et ajoute une face à 4 côtés au submesh. Plus de détails...
 
void GenerateBuffers ()
 Genère les buffers 3D. Plus de détails...
 
SubmeshSPtr Clone ()
 Clône le submesh. Plus de détails...
 
void ResetGpuBuffers ()
 Recrée les Vertex et Index buffers. Plus de détails...
 
void ComputeFacesFromPolygonVertex ()
 Crée les faces à partir des points. Plus de détails...
 
virtual void Render ()
 Dessine le submesh. Plus de détails...
 
VertexPtrArrayIt VerticesBegin ()
 Récupère un itérateur sur le premier vertex du submesh. Plus de détails...
 
VertexPtrArrayConstIt VerticesBegin () const
 Récupère un itérateur constant sur le premier vertex du submesh. Plus de détails...
 
VertexPtrArrayIt VerticesEnd ()
 Récupère un itérateur sur la fin du tableau de vertex. Plus de détails...
 
VertexPtrArrayConstIt VerticesEnd () const
 Récupère un itérateur constant sur la fin du tableau de vertex. Plus de détails...
 
FacePtrArrayIt FacesBegin ()
 Récupère un itérateur sur le premier vertex du submesh. Plus de détails...
 
FacePtrArrayConstIt FacesBegin () const
 Récupère un itérateur constant sur le premier vertex du submesh. Plus de détails...
 
FacePtrArrayIt FacesEnd ()
 Récupère un itérateur sur la fin du tableau de vertex. Plus de détails...
 
FacePtrArrayConstIt FacesEnd () const
 Récupère un itérateur constant sur la fin du tableau de vertex. Plus de détails...
 
SkeletonSPtr GetSkeleton () const
 Récupère le squelette. Plus de détails...
 
void SetDefaultMaterial (MaterialSPtr p_mat)
 Définit le material. Plus de détails...
 
BufferElementGroupSPtr operator[] (uint32_t p_uiIndex) const
 Récupère le point à l'index donné Plus de détails...
 
BufferElementGroupSPtr GetPoint (uint32_t p_uiIndex) const
 Récupère le point à l'index donné Plus de détails...
 
MaterialSPtr GetDefaultMaterial () const
 Récupère le material. Plus de détails...
 
Castor::CubeBox const & GetCubeBox () const
 Récupère la boundig box cube. Plus de détails...
 
Castor::CubeBox & GetCubeBox ()
 Récupère la boundig box cube. Plus de détails...
 
Castor::SphereBox const & GetSphere () const
 Récupère la bounding box sphere. Plus de détails...
 
Castor::SphereBox & GetSphere ()
 Récupère la bounding box sphere. Plus de détails...
 
VertexPtrArray const & GetPoints () const
 Récupère le tableau de points. Plus de détails...
 
VertexPtrArray & GetPoints ()
 Récupère le tableau de points. Plus de détails...
 
FaceSPtr GetFace (uint32_t p_uiIndex) const
 Récupère récupère la face à l'index donné Plus de détails...
 
FacePtrArray const & GetFaces () const
 Récupère le tableau de faces. Plus de détails...
 
FacePtrArray & GetFaces ()
 Récupère le tableau de faces. Plus de détails...
 
BufferDeclarationSPtr GetDeclaration ()
 Récupère la BufferDeclaration. Plus de détails...
 
virtual void ComputeNormals (bool p_bReverted=false)
 Génère les normales et les tangentes. Plus de détails...
 
void ComputeNormals (FaceSPtr p_pFace)
 Calcule la normale et la tangente pour chaque vertex de la face donnée. Plus de détails...
 
void ComputeTangents (FaceSPtr p_pFace)
 Calcule la tangente pour chaque vertex de la face donnée. Plus de détails...
 
void ComputeTangentsFromNormals ()
 Calcule la tangente pour chaque vertex du submesh. Plus de détails...
 
void ComputeTangentsFromBitangents ()
 Calcule la tangente pour chaque vertex du submesh. Plus de détails...
 
void ComputeBitangents ()
 Calcule la bitangente pour chaque vertex du submesh. Plus de détails...
 
void SortFaces (Castor::Point3r const &p_ptCamera)
 Trie les faces des plus éloignées aux plus proches de la caméra. Plus de détails...
 
MeshRPtr GetParent () const
 Récupère le mesh parent. Plus de détails...
 
void Ref (MaterialSPtr p_material)
 Incrémente le compte d'instances. Plus de détails...
 
void UnRef (MaterialSPtr p_material)
 Décrémente le compte d'instances. Plus de détails...
 
uint32_t GetRefCount (MaterialSPtr p_material) const
 Récupère le nombre d'instances. Plus de détails...
 
uint32_t GetProgramFlags () const
 Récupère les indicateurs de shader. Plus de détails...
 
- Fonctions membres publiques hérités de Castor3D::Renderable< Submesh, SubmeshRenderer >
virtual ~Renderable ()
 Destructeur. Plus de détails...
 
virtual void EndRender ()
 Fonction de fin de rendu. Plus de détails...
 
virtual void Render2D ()
 
renderer_sptr GetRenderer () const
 Récupère le Renderer. Plus de détails...
 
virtual EngineGetEngine () const
 Récupère l'Engine. Plus de détails...
 

Membres hérités additionnels

- Fonctions membres protégées hérités de Castor3D::Renderable< Submesh, SubmeshRenderer >
 Renderable (Engine *p_pEngine)
 Constructeur. Plus de détails...
 
 Renderable (Renderable< Submesh, SubmeshRenderer > const &p_copy)
 Constructeur par copie. Plus de détails...
 
 Renderable (Renderable< Submesh, SubmeshRenderer > &&p_copy)
 Constructeur par déplacement. Plus de détails...
 
Renderableoperator= (Renderable< Submesh, SubmeshRenderer > const &p_copy)
 Opérateur d'affectation par copie. Plus de détails...
 
Renderableoperator= (Renderable< Submesh, SubmeshRenderer > &&p_copy)
 Opérateur d'affectation par déplacement. Plus de détails...
 
- Attributs protégés hérités de Castor3D::Renderable< Submesh, SubmeshRenderer >
renderer_wptr m_pRenderer
 Le renderer. Plus de détails...
 
Enginem_pEngine
 Le moteur. Plus de détails...
 

Description détaillée

Representation d'un submesh.

Auteur
Sylvain DOREMUS
Date
14/02/2010
Remarques
Un submesh est sous partie d'un mesh. Il possede ses propres tampons (vertex, normales et texture coords) ses smoothgroups et ses combobox

Documentation des constructeurs et destructeur

Castor3D::Submesh::Submesh ( MeshRPtr  p_pMesh,
Engine p_pEngine = nullptr,
uint32_t  p_uiID = 1 
)

Constructeur.

Paramètres
[in]p_pMeshLe mesh parent
[in]p_pEngineLe moteur
[in]p_uiIDL'ID du submesh
Castor3D::Submesh::~Submesh ( )

Destructeur.

Documentation des fonctions membres

FaceSPtr Castor3D::Submesh::AddFace ( uint32_t  a,
uint32_t  b,
uint32_t  c 
)

Crée et ajoute une face au submesh.

Paramètres
[in]aL'index du premier vertex
[in]bL'index du second vertex
[in]cL'index du troisième vertex
Renvoie
La face créée
void Castor3D::Submesh::AddFaceGroup ( stFACE_INDICES p_pFaces,
uint32_t  p_uiNbFaces 
)

Crée et ajoute une face au submesh.

Paramètres
[in]p_arrayFacesLes faces
[in]p_uiNbFacesLe nombre de faces
template<uint32_t Count>
void Castor3D::Submesh::AddFaceGroup ( stFACE_INDICES(&)  p_pFaces[Count])
inline

Crée et ajoute une face au submesh.

Paramètres
[in]p_arrayFacesLes faces
BufferElementGroupSPtr Castor3D::Submesh::AddPoint ( real  x,
real  y,
real  z 
)

Crée un Vertex à partir des coordonnées données et l'ajoute à la liste.

Paramètres
[in]xCoordonnée X
[in]yCoordonnée Y
[in]zCoordonnée Y
Renvoie
Le vertex créé
BufferElementGroupSPtr Castor3D::Submesh::AddPoint ( Castor::Point3r const &  p_v)

Crée un Vertex à partir du point donné et l'ajoute à la liste.

Paramètres
[in]p_vLe point
Renvoie
Le vertex créé
BufferElementGroupSPtr Castor3D::Submesh::AddPoint ( real *  p_v)

Crée un Vertex à partir des coordonnées données et l'ajoute à la liste.

Paramètres
[in]p_vLes coordonnées du point
Renvoie
Le vertex créé
void Castor3D::Submesh::AddPoints ( stVERTEX_GROUP const &  p_vertices)

Ajoute des points à la liste.

Paramètres
[in]p_verticesLes vertices
void Castor3D::Submesh::AddQuadFace ( uint32_t  a,
uint32_t  b,
uint32_t  c,
uint32_t  d,
Castor::Point3r const &  p_ptMinUV = Castor::Point3r(),
Castor::Point3r const &  p_ptMaxUV = Castor::Point3r(1, 1, 1) 
)

Crée et ajoute une face à 4 côtés au submesh.

Paramètres
[in]aL'index du premier vertex
[in]bL'index du second vertex
[in]cL'index du troisième vertex
[in]dL'index du quatrième vertex
[in]p_ptMinUVL'UV du coin bas gauche
[in]p_ptMaxUVL'UV du coin haut droit
Renvoie
La face créée
void Castor3D::Submesh::Cleanup ( )

Nettoie le submesh.

void Castor3D::Submesh::ClearFaces ( )

Vide le tableau de faces.

SubmeshSPtr Castor3D::Submesh::Clone ( )

Clône le submesh.

Renvoie
Le clône
void Castor3D::Submesh::ComputeBitangents ( )

Calcule la bitangente pour chaque vertex du submesh.

Remarques
Cette fonction suppose que les tangentes et les normales sont définies
void Castor3D::Submesh::ComputeContainers ( )

Calcule les conteneurs (cube et sphère)

void Castor3D::Submesh::ComputeFacesFromPolygonVertex ( )

Crée les faces à partir des points.

Remarques
Cette fonction suppose que les points sont tirés à la manière triangles fan
virtual void Castor3D::Submesh::ComputeNormals ( bool  p_bReverted = false)
virtual

Génère les normales et les tangentes.

void Castor3D::Submesh::ComputeNormals ( FaceSPtr  p_pFace)

Calcule la normale et la tangente pour chaque vertex de la face donnée.

Paramètres
[in]p_pFaceLa face
void Castor3D::Submesh::ComputeTangents ( FaceSPtr  p_pFace)

Calcule la tangente pour chaque vertex de la face donnée.

Paramètres
[in]p_pFaceLa face
void Castor3D::Submesh::ComputeTangentsFromBitangents ( )

Calcule la tangente pour chaque vertex du submesh.

Remarques
Cette fonction suppose que les bitangentes et les normales sont définies
void Castor3D::Submesh::ComputeTangentsFromNormals ( )

Calcule la tangente pour chaque vertex du submesh.

Remarques
Cette fonction suppose que les normales sont définies
FacePtrArrayIt Castor3D::Submesh::FacesBegin ( )
inline

Récupère un itérateur sur le premier vertex du submesh.

Renvoie
L'itérateur
FacePtrArrayConstIt Castor3D::Submesh::FacesBegin ( ) const
inline

Récupère un itérateur constant sur le premier vertex du submesh.

Renvoie
L'itérateur
FacePtrArrayIt Castor3D::Submesh::FacesEnd ( )
inline

Récupère un itérateur sur la fin du tableau de vertex.

Renvoie
L'itérateur
FacePtrArrayConstIt Castor3D::Submesh::FacesEnd ( ) const
inline

Récupère un itérateur constant sur la fin du tableau de vertex.

Renvoie
L'itérateur
void Castor3D::Submesh::GenerateBuffers ( )

Genère les buffers 3D.

Castor::CubeBox const& Castor3D::Submesh::GetCubeBox ( ) const
inline

Récupère la boundig box cube.

Renvoie
La valeur
Castor::CubeBox& Castor3D::Submesh::GetCubeBox ( )
inline

Récupère la boundig box cube.

Renvoie
La valeur
BufferDeclarationSPtr Castor3D::Submesh::GetDeclaration ( )
inline

Récupère la BufferDeclaration.

Renvoie
La BufferDeclaration
MaterialSPtr Castor3D::Submesh::GetDefaultMaterial ( ) const
inline

Récupère le material.

Renvoie
La valeur
FaceSPtr Castor3D::Submesh::GetFace ( uint32_t  p_uiIndex) const
inline

Récupère récupère la face à l'index donné

Paramètres
[in]p_uiIndexL'index
Renvoie
La valeur
uint32_t Castor3D::Submesh::GetFaceCount ( ) const
Renvoie
Le nombre de faces de ce submesh
FacePtrArray const& Castor3D::Submesh::GetFaces ( ) const
inline

Récupère le tableau de faces.

Renvoie
La valeur
FacePtrArray& Castor3D::Submesh::GetFaces ( )
inline

Récupère le tableau de faces.

Renvoie
La valeur
MeshRPtr Castor3D::Submesh::GetParent ( ) const
inline

Récupère le mesh parent.

Renvoie
La valeur
BufferElementGroupSPtr Castor3D::Submesh::GetPoint ( uint32_t  p_uiIndex) const
inline

Récupère le point à l'index donné

Paramètres
[in]p_uiIndexL'index
Renvoie
La valeur
VertexPtrArray const& Castor3D::Submesh::GetPoints ( ) const
inline

Récupère le tableau de points.

Renvoie
La valeur
VertexPtrArray& Castor3D::Submesh::GetPoints ( )
inline

Récupère le tableau de points.

Renvoie
La valeur
uint32_t Castor3D::Submesh::GetPointsCount ( ) const
Renvoie
Le nombre de vertices de ce submesh
uint32_t Castor3D::Submesh::GetProgramFlags ( ) const
inline

Récupère les indicateurs de shader.

Renvoie
La valeur
uint32_t Castor3D::Submesh::GetRefCount ( MaterialSPtr  p_material) const

Récupère le nombre d'instances.

Paramètres
[in]p_materialLe matériau pour lequel le compte est récupéré
Renvoie
La valeur
SkeletonSPtr Castor3D::Submesh::GetSkeleton ( ) const
inline

Récupère le squelette.

Renvoie
La valeur
Castor::SphereBox const& Castor3D::Submesh::GetSphere ( ) const
inline

Récupère la bounding box sphere.

Renvoie
La valeur
Castor::SphereBox& Castor3D::Submesh::GetSphere ( )
inline

Récupère la bounding box sphere.

Renvoie
La valeur
int Castor3D::Submesh::IsInMyPoints ( Castor::Point3r const &  p_vertex)

Teste si le point donné fait partie de ceux de ce submesh.

Paramètres
[in]p_vertexLe point à tester
Renvoie
L'index du point s'il a été trouvé, -1 sinon
BufferElementGroupSPtr Castor3D::Submesh::operator[] ( uint32_t  p_uiIndex) const
inline

Récupère le point à l'index donné

Paramètres
[in]p_uiIndexL'index
Renvoie
La valeur
void Castor3D::Submesh::Ref ( MaterialSPtr  p_material)

Incrémente le compte d'instances.

Paramètres
[in]p_materialLe matériau pour lequel le compte est incrémenté
virtual void Castor3D::Submesh::Render ( )
virtual

Dessine le submesh.

Réimplémentée à partir de Castor3D::Renderable< Submesh, SubmeshRenderer >.

void Castor3D::Submesh::ResetGpuBuffers ( )

Recrée les Vertex et Index buffers.

void Castor3D::Submesh::SetDefaultMaterial ( MaterialSPtr  p_mat)
inline

Définit le material.

Paramètres
[in]Lanouvelle valeur
void Castor3D::Submesh::SortFaces ( Castor::Point3r const &  p_ptCamera)

Trie les faces des plus éloignées aux plus proches de la caméra.

Paramètres
[in]p_ptCameraLa position de la caméra, relative au submesh
void Castor3D::Submesh::UnRef ( MaterialSPtr  p_material)

Décrémente le compte d'instances.

Paramètres
[in]p_materialLe matériau pour lequel le compte est décrémenté
VertexPtrArrayIt Castor3D::Submesh::VerticesBegin ( )
inline

Récupère un itérateur sur le premier vertex du submesh.

Renvoie
L'itérateur
VertexPtrArrayConstIt Castor3D::Submesh::VerticesBegin ( ) const
inline

Récupère un itérateur constant sur le premier vertex du submesh.

Renvoie
L'itérateur
VertexPtrArrayIt Castor3D::Submesh::VerticesEnd ( )
inline

Récupère un itérateur sur la fin du tableau de vertex.

Renvoie
L'itérateur
VertexPtrArrayConstIt Castor3D::Submesh::VerticesEnd ( ) const
inline

Récupère un itérateur constant sur la fin du tableau de vertex.

Renvoie
L'itérateur

La documentation de cette classe a été générée à partir du fichier suivant :