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

Representation d'un sous-maillage. 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

C3D_API Submesh (Engine &p_engine, MeshRPtr p_mesh, uint32_t p_id=1)
 Constructeur. Plus de détails...
 
C3D_API ~Submesh ()
 Destructeur. Plus de détails...
 
C3D_API void Initialise ()
 Initialise le sous-maillage. Plus de détails...
 
C3D_API void Cleanup ()
 Nettoie le sous-maillage. Plus de détails...
 
C3D_API void ComputeContainers ()
 Calcule les conteneurs (cube et sphère) Plus de détails...
 
C3D_API uint32_t GetFaceCount () const
 
C3D_API uint32_t GetPointsCount () const
 
C3D_API int IsInMyPoints (Castor::Point3r const &p_vertex, double p_precision)
 Teste si le point donné fait partie de ceux de ce sous-maillage. Plus de détails...
 
C3D_API 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...
 
C3D_API BufferElementGroupSPtr AddPoint (Castor::Point3r const &p_v)
 Crée un Vertex à partir du point donné et l'ajoute à la liste. Plus de détails...
 
C3D_API BufferElementGroupSPtr AddPoint (real *p_v)
 Crée un Vertex à partir des coordonnées données et l'ajoute à la liste. Plus de détails...
 
C3D_API void AddPoints (stVERTEX_GROUP const &p_vertices)
 Ajoute des points à la liste. Plus de détails...
 
C3D_API void AddBoneDatas (stVERTEX_BONE_DATA const *const p_boneDataBegin, stVERTEX_BONE_DATA const *const p_boneDataEnd)
 Ajoute des données de bones. Plus de détails...
 
void AddBoneDatas (stVERTEX_BONE_DATA const *const p_boneData, uint32_t p_count)
 Ajoute des données de bones. Plus de détails...
 
void AddBoneDatas (std::vector< stVERTEX_BONE_DATA > const &p_boneData)
 Ajoute des données de bones. Plus de détails...
 
template<uint32_t Count>
void AddBoneDatas (stVERTEX_BONE_DATA const (&p_boneData)[Count])
 Ajoute des données de bones. Plus de détails...
 
C3D_API void ClearFaces ()
 Vide le tableau de faces. Plus de détails...
 
C3D_API Face AddFace (uint32_t a, uint32_t b, uint32_t c)
 Crée et ajoute une face au sous-maillage. Plus de détails...
 
C3D_API void AddFaceGroup (stFACE_INDICES *p_faces, uint32_t p_count)
 Crée et ajoute une face au sous-maillage. Plus de détails...
 
C3D_API void AddQuadFace (uint32_t a, uint32_t b, uint32_t c, uint32_t d, Castor::Point3r const &p_minUV=Castor::Point3r(), Castor::Point3r const &p_maxUV=Castor::Point3r(1, 1, 1))
 Crée et ajoute une face à 4 côtés au sous-maillage. Plus de détails...
 
C3D_API SubmeshSPtr Clone ()
 Clône le sous-maillage. Plus de détails...
 
C3D_API void ResetGpuBuffers ()
 Recrée les Vertex et Index buffers. Plus de détails...
 
C3D_API void Draw (ShaderProgram const &p_program)
 Dessine le sous-maillage. Plus de détails...
 
C3D_API void DrawInstanced (ShaderProgram const &p_program, uint32_t p_count)
 Dessine le sous-maillage. Plus de détails...
 
C3D_API void ComputeFacesFromPolygonVertex ()
 Crée les faces à partir des points. Plus de détails...
 
C3D_API void ComputeNormals (bool p_reverted=false)
 Génère les normales et les tangentes. Plus de détails...
 
C3D_API void ComputeNormals (Face const &p_face)
 Calcule la normale et la tangente pour chaque vertex de la face donnée. Plus de détails...
 
C3D_API void ComputeTangents (Face const &p_face)
 Calcule la tangente pour chaque vertex de la face donnée. Plus de détails...
 
C3D_API void ComputeTangentsFromNormals ()
 Calcule la tangente pour chaque vertex du sous-maillage. Plus de détails...
 
C3D_API void ComputeTangentsFromBitangents ()
 Calcule la tangente pour chaque vertex du sous-maillage. Plus de détails...
 
C3D_API void ComputeBitangents ()
 Calcule la bitangente pour chaque vertex du sous-maillage. Plus de détails...
 
C3D_API void SortFaces (Castor::Point3r const &p_cameraPosition)
 Trie les faces des plus éloignées aux plus proches de la caméra. Plus de détails...
 
C3D_API void Ref (MaterialSPtr p_material)
 Incrémente le compte d'instances. Plus de détails...
 
C3D_API void UnRef (MaterialSPtr p_material)
 Décrémente le compte d'instances. Plus de détails...
 
C3D_API uint32_t GetRefCount (MaterialSPtr p_material) const
 Récupère le nombre d'instances. Plus de détails...
 
C3D_API eTOPOLOGY GetTopology () const
 
C3D_API void SetTopology (eTOPOLOGY p_value)
 Définit la topologie. 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_index) const
 Récupère le point à l'index donné Plus de détails...
 
BufferElementGroupSPtr GetPoint (uint32_t p_index) 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...
 
Face const & GetFace (uint32_t p_index) const
 Récupère récupère la face à l'index donné Plus de détails...
 
FaceArray const & GetFaces () const
 Récupère le tableau de faces. Plus de détails...
 
FaceArray & GetFaces ()
 Récupère le tableau de faces. Plus de détails...
 
bool HasVertexBuffer () const
 
bool HasIndexBuffer () const
 
bool HasBonesBuffer () const
 
bool HasMatrixBuffer () const
 
VertexBuffer const & GetVertexBuffer () const
 
VertexBufferGetVertexBuffer ()
 
IndexBuffer const & GetIndexBuffer () const
 
IndexBufferGetIndexBuffer ()
 
VertexBuffer const & GetBonesBuffer () const
 
VertexBufferGetBonesBuffer ()
 
VertexBuffer const & GetMatrixBuffer () const
 
VertexBufferGetMatrixBuffer ()
 
bool IsInitialised () const
 Récupère le statut d'initialisation. Plus de détails...
 
MeshRPtr GetParent () const
 Récupère le mesh parent. Plus de détails...
 
uint32_t GetProgramFlags () const
 Récupère les indicateurs de shader. Plus de détails...
 
template<uint32_t Count>
void AddFaceGroup (stFACE_INDICES(&p_faces)[Count])
 Crée et ajoute une face au sous-maillage. Plus de détails...
 

Amis

class GeometryBuffers
 

Description détaillée

Representation d'un sous-maillage.

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

Documentation des constructeurs et destructeur

C3D_API Castor3D::Submesh::Submesh ( Engine p_engine,
MeshRPtr  p_mesh,
uint32_t  p_id = 1 
)

Constructeur.

Paramètres
[in]p_meshLe mesh parent
[in]p_engineLe moteur
[in]p_idL'ID du sous-maillage
C3D_API Castor3D::Submesh::~Submesh ( )

Destructeur.

Documentation des fonctions membres

C3D_API void Castor3D::Submesh::AddBoneDatas ( stVERTEX_BONE_DATA const *const  p_boneDataBegin,
stVERTEX_BONE_DATA const *const  p_boneDataEnd 
)

Ajoute des données de bones.

Paramètres
[in]p_boneDataBeginLe début des données de bones.
[in]p_boneDataEndLa fin des données de bones.

Référencé par AddBoneDatas().

+ Voici le graphe des appelants de cette fonction :

void Castor3D::Submesh::AddBoneDatas ( stVERTEX_BONE_DATA const *const  p_boneData,
uint32_t  p_count 
)
inline

Ajoute des données de bones.

Paramètres
[in]p_boneDataLes données de bones.
[in]p_countLes compte des données.

Références AddBoneDatas().

+ Voici le graphe d'appel pour cette fonction :

void Castor3D::Submesh::AddBoneDatas ( std::vector< stVERTEX_BONE_DATA > const &  p_boneData)
inline

Ajoute des données de bones.

Paramètres
[in]p_boneDataLes données de bones.

Références AddBoneDatas().

+ Voici le graphe d'appel pour cette fonction :

template<uint32_t Count>
void Castor3D::Submesh::AddBoneDatas ( stVERTEX_BONE_DATA const (&)  p_boneData[Count])
inline
C3D_API Face Castor3D::Submesh::AddFace ( uint32_t  a,
uint32_t  b,
uint32_t  c 
)

Crée et ajoute une face au sous-maillage.

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

Référencé par AddBoneDatas().

+ Voici le graphe des appelants de cette fonction :

C3D_API void Castor3D::Submesh::AddFaceGroup ( stFACE_INDICES p_faces,
uint32_t  p_count 
)

Crée et ajoute une face au sous-maillage.

Paramètres
[in]p_facesLes faces
[in]p_countLe nombre de faces

Référencé par AddBoneDatas(), et AddFaceGroup().

+ Voici le graphe des appelants de cette fonction :

template<uint32_t Count>
void Castor3D::Submesh::AddFaceGroup ( stFACE_INDICES(&)  p_faces[Count])
inline

Crée et ajoute une face au sous-maillage.

Paramètres
[in]p_facesLes faces

Références AddFaceGroup().

+ Voici le graphe d'appel pour cette fonction :

C3D_API 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éé
C3D_API 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éé
C3D_API 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éé
C3D_API void Castor3D::Submesh::AddPoints ( stVERTEX_GROUP const &  p_vertices)

Ajoute des points à la liste.

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

Crée et ajoute une face à 4 côtés au sous-maillage.

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_minUVL'UV du coin bas gauche
[in]p_maxUVL'UV du coin haut droit
Renvoie
La face créée

Référencé par AddBoneDatas().

+ Voici le graphe des appelants de cette fonction :

C3D_API void Castor3D::Submesh::Cleanup ( )

Nettoie le sous-maillage.

C3D_API void Castor3D::Submesh::ClearFaces ( )

Vide le tableau de faces.

Référencé par AddBoneDatas().

+ Voici le graphe des appelants de cette fonction :

C3D_API SubmeshSPtr Castor3D::Submesh::Clone ( )

Clône le sous-maillage.

Renvoie
Le clône

Référencé par AddBoneDatas().

+ Voici le graphe des appelants de cette fonction :

C3D_API void Castor3D::Submesh::ComputeBitangents ( )

Calcule la bitangente pour chaque vertex du sous-maillage.

Remarques
Cette fonction suppose que les tangentes et les normales sont définies

Référencé par AddBoneDatas().

+ Voici le graphe des appelants de cette fonction :

C3D_API void Castor3D::Submesh::ComputeContainers ( )

Calcule les conteneurs (cube et sphère)

C3D_API 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

Référencé par AddBoneDatas().

+ Voici le graphe des appelants de cette fonction :

C3D_API void Castor3D::Submesh::ComputeNormals ( bool  p_reverted = false)

Génère les normales et les tangentes.

Référencé par AddBoneDatas().

+ Voici le graphe des appelants de cette fonction :

C3D_API void Castor3D::Submesh::ComputeNormals ( Face const &  p_face)

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

Paramètres
[in]p_faceLa face
C3D_API void Castor3D::Submesh::ComputeTangents ( Face const &  p_face)

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

Paramètres
[in]p_faceLa face

Référencé par AddBoneDatas().

+ Voici le graphe des appelants de cette fonction :

C3D_API void Castor3D::Submesh::ComputeTangentsFromBitangents ( )

Calcule la tangente pour chaque vertex du sous-maillage.

Remarques
Cette fonction suppose que les bitangentes et les normales sont définies

Référencé par AddBoneDatas().

+ Voici le graphe des appelants de cette fonction :

C3D_API void Castor3D::Submesh::ComputeTangentsFromNormals ( )

Calcule la tangente pour chaque vertex du sous-maillage.

Remarques
Cette fonction suppose que les normales sont définies

Référencé par AddBoneDatas().

+ Voici le graphe des appelants de cette fonction :

C3D_API void Castor3D::Submesh::Draw ( ShaderProgram const &  p_program)

Dessine le sous-maillage.

Paramètres
[in]p_programLe programme shader.

Référencé par AddBoneDatas().

+ Voici le graphe des appelants de cette fonction :

C3D_API void Castor3D::Submesh::DrawInstanced ( ShaderProgram const &  p_program,
uint32_t  p_count 
)

Dessine le sous-maillage.

Paramètres
[in]p_programLe programme shader.
[in]p_countLe nombre d'instances.

Référencé par AddBoneDatas().

+ Voici le graphe des appelants de cette fonction :

VertexBuffer const& Castor3D::Submesh::GetBonesBuffer ( ) const
inline
Renvoie
Le VertexBuffer des bones.
VertexBuffer& Castor3D::Submesh::GetBonesBuffer ( )
inline
Renvoie
Le VertexBuffer des bones.
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
MaterialSPtr Castor3D::Submesh::GetDefaultMaterial ( ) const
inline

Récupère le material.

Renvoie
La valeur
Face const& Castor3D::Submesh::GetFace ( uint32_t  p_index) const
inline

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

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

Récupère le tableau de faces.

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

Récupère le tableau de faces.

Renvoie
La valeur
IndexBuffer const& Castor3D::Submesh::GetIndexBuffer ( ) const
inline
Renvoie
L'IndexBuffer.
IndexBuffer& Castor3D::Submesh::GetIndexBuffer ( )
inline
Renvoie
L'IndexBuffer.
VertexBuffer const& Castor3D::Submesh::GetMatrixBuffer ( ) const
inline
Renvoie
Le VertexBuffer d'instanciation.
VertexBuffer& Castor3D::Submesh::GetMatrixBuffer ( )
inline
Renvoie
Le VertexBuffer d'instanciation.
MeshRPtr Castor3D::Submesh::GetParent ( ) const
inline

Récupère le mesh parent.

Renvoie
La valeur

Référencé par GetSkeleton().

+ Voici le graphe des appelants de cette fonction :

BufferElementGroupSPtr Castor3D::Submesh::GetPoint ( uint32_t  p_index) const
inline

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

Paramètres
[in]p_indexL'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
C3D_API uint32_t Castor3D::Submesh::GetPointsCount ( ) const
Renvoie
Le nombre de vertices de ce sous-maillage
uint32_t Castor3D::Submesh::GetProgramFlags ( ) const
inline

Récupère les indicateurs de shader.

Renvoie
La valeur
C3D_API 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

Référencé par AddBoneDatas().

+ Voici le graphe des appelants de cette fonction :

SkeletonSPtr Castor3D::Submesh::GetSkeleton ( ) const
inline

Récupère le squelette.

Renvoie
La valeur

Références GetParent().

+ Voici le graphe d'appel pour cette fonction :

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
C3D_API eTOPOLOGY Castor3D::Submesh::GetTopology ( ) const
Renvoie
La topologie.

Référencé par AddBoneDatas().

+ Voici le graphe des appelants de cette fonction :

VertexBuffer const& Castor3D::Submesh::GetVertexBuffer ( ) const
inline
Renvoie
Le VertexBuffer.
VertexBuffer& Castor3D::Submesh::GetVertexBuffer ( )
inline
Renvoie
Le VertexBuffer.
bool Castor3D::Submesh::HasBonesBuffer ( ) const
inline
Renvoie
Le VertexBuffer des bones.
bool Castor3D::Submesh::HasIndexBuffer ( ) const
inline
Renvoie
L'IndexBuffer.
bool Castor3D::Submesh::HasMatrixBuffer ( ) const
inline
Renvoie
Le VertexBuffer d'instanciation.
bool Castor3D::Submesh::HasVertexBuffer ( ) const
inline
Renvoie
Le VertexBuffer.
C3D_API void Castor3D::Submesh::Initialise ( )

Initialise le sous-maillage.

bool Castor3D::Submesh::IsInitialised ( ) const
inline

Récupère le statut d'initialisation.

Renvoie
true si initialisé
C3D_API int Castor3D::Submesh::IsInMyPoints ( Castor::Point3r const &  p_vertex,
double  p_precision 
)

Teste si le point donné fait partie de ceux de ce sous-maillage.

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

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

Paramètres
[in]p_indexL'index
Renvoie
La valeur
C3D_API 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é

Référencé par AddBoneDatas().

+ Voici le graphe des appelants de cette fonction :

C3D_API void Castor3D::Submesh::ResetGpuBuffers ( )

Recrée les Vertex et Index buffers.

Référencé par AddBoneDatas().

+ Voici le graphe des appelants de cette fonction :

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

Définit le material.

Paramètres
[in]p_matLa nouvelle valeur
C3D_API void Castor3D::Submesh::SetTopology ( eTOPOLOGY  p_value)

Définit la topologie.

Paramètres
[in]p_valueLa nouvelle valeur.

Référencé par AddBoneDatas().

+ Voici le graphe des appelants de cette fonction :

C3D_API void Castor3D::Submesh::SortFaces ( Castor::Point3r const &  p_cameraPosition)

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

Paramètres
[in]p_cameraPositionLa position de la caméra, relative au sous-maillage

Référencé par AddBoneDatas().

+ Voici le graphe des appelants de cette fonction :

C3D_API 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é

Référencé par AddBoneDatas().

+ Voici le graphe des appelants de cette fonction :

Documentation des fonctions amies et associées

friend class GeometryBuffers
friend

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