Castor3D  ..
Fonctions membres publiques | Attributs publics statiques | Liste de tous les membres
Référence de la classe castor3d::TriFaceMapping

Composant de sous-maillage pour les faces triangulaires. Plus de détails...

+ Graphe d'héritage de castor3d::TriFaceMapping:
+ Graphe de collaboration de castor3d::TriFaceMapping:

Fonctions membres publiques

C3D_API TriFaceMapping (Submesh &submesh)
 Constructeur. Plus de détails...
 
C3D_API ~TriFaceMapping ()
 Destructeur. 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 (FaceIndices const *const begin, FaceIndices const *const end)
 Crée et ajoute des faces 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 &minUV=castor::Point3r(), castor::Point3r const &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 void computeFacesFromPolygonVertex ()
 Crée les faces à partir des points. Plus de détails...
 
C3D_API void computeNormals (Face const &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 &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 uint32_t getCount () const override
 
C3D_API void sortByDistance (castor::Point3r const &cameraPosition) override
 Trie les faces des plus éloignées aux plus proches de la caméra. Plus de détails...
 
C3D_API void computeNormals (bool reverted=false) override
 Génère les normales et les tangentes. Plus de détails...
 
void addFaceGroup (std::vector< FaceIndices > const &faces)
 Crée et ajoute une face au sous-maillage. Plus de détails...
 
template<size_t Count>
void addFaceGroup (std::array< FaceIndices, Count > const &faces)
 Crée et ajoute une face au sous-maillage. Plus de détails...
 
template<uint32_t Count>
void addFaceGroup (FaceIndices(&faces)[Count])
 Crée et ajoute une face au sous-maillage. Plus de détails...
 
Face const & operator[] (uint32_t index) const
 Récupère la face à l'index donné. Plus de détails...
 
FaceArray const & getFaces () const
 
FaceArray & getFaces ()
 
- Fonctions membres publiques hérités de castor3d::IndexMapping
C3D_API IndexMapping (Submesh &submesh, castor::String const &type)
 Constructeur. Plus de détails...
 
C3D_API ~IndexMapping ()
 Destructeur. Plus de détails...
 
void gather (VertexBufferArray &buffers) override
 Récupère les tampons qui doivent aller dans un VAO. Plus de détails...
 
ProgramFlags getProgramFlags () const override
 
- Fonctions membres publiques hérités de castor3d::SubmeshComponent
C3D_API SubmeshComponent (Submesh &submesh, castor::String const &type)
 Constructeur. Plus de détails...
 
virtual C3D_API ~SubmeshComponent () noexcept=default
 Destructeur. Plus de détails...
 
C3D_API bool initialise ()
 Initialise le sous-maillage. Plus de détails...
 
C3D_API void cleanup ()
 Nettoie le sous-maillage. Plus de détails...
 
C3D_API void fill ()
 Initialise le sous-maillage. Plus de détails...
 
C3D_API void upload ()
 Met les données en VRAM. Plus de détails...
 
virtual C3D_API void setMaterial (MaterialSPtr oldMaterial, MaterialSPtr newMaterial, bool update)
 Définit le materiau. Plus de détails...
 
castor::String const & getType () const
 
void needsUpdate ()
 

Attributs publics statiques

static C3D_API castor::String const Name
 

Description détaillée

Composant de sous-maillage pour les faces triangulaires.

Auteur
Sylvain DOREMUS
Date
11/11/2017

Documentation des constructeurs et destructeur

◆ TriFaceMapping()

C3D_API castor3d::TriFaceMapping::TriFaceMapping ( Submesh submesh)
explicit

Constructeur.

Paramètres
[in]submeshLe sous-maillage parent.

◆ ~TriFaceMapping()

C3D_API castor3d::TriFaceMapping::~TriFaceMapping ( )

Destructeur.

Documentation des fonctions membres

◆ addFace()

C3D_API Face castor3d::TriFaceMapping::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.

◆ addFaceGroup() [1/4]

C3D_API void castor3d::TriFaceMapping::addFaceGroup ( FaceIndices const *const  begin,
FaceIndices const *const  end 
)

Crée et ajoute des faces au sous-maillage.

Paramètres
[in]beginLe début des données de faces.
[in]endLa fin des données de faces.

Référencé par addFaceGroup().

+ Voici le graphe des appelants de cette fonction :

◆ addFaceGroup() [2/4]

void castor3d::TriFaceMapping::addFaceGroup ( std::vector< FaceIndices > const &  faces)
inline

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

Paramètres
[in]facesLes faces.

Références addFaceGroup().

+ Voici le graphe d'appel pour cette fonction :

◆ addFaceGroup() [3/4]

template<size_t Count>
void castor3d::TriFaceMapping::addFaceGroup ( std::array< FaceIndices, Count > const &  faces)
inline

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

Paramètres
[in]facesLes faces.

Références addFaceGroup().

+ Voici le graphe d'appel pour cette fonction :

◆ addFaceGroup() [4/4]

template<uint32_t Count>
void castor3d::TriFaceMapping::addFaceGroup ( FaceIndices(&)  faces[Count])
inline

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

Paramètres
[in]facesLes faces.

Références addFaceGroup().

+ Voici le graphe d'appel pour cette fonction :

◆ addQuadFace()

C3D_API void castor3d::TriFaceMapping::addQuadFace ( uint32_t  a,
uint32_t  b,
uint32_t  c,
uint32_t  d,
castor::Point3r const &  minUV = castor::Point3r(),
castor::Point3r const &  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]minUVL'UV du coin bas gauche.
[in]maxUVL'UV du coin haut droit.
Renvoie
La face créée.

◆ clearFaces()

C3D_API void castor3d::TriFaceMapping::clearFaces ( )

Vide le tableau de faces.

◆ computeBitangents()

C3D_API void castor3d::TriFaceMapping::computeBitangents ( )

Calcule la bitangente pour chaque vertex du sous-maillage.

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

◆ computeFacesFromPolygonVertex()

C3D_API void castor3d::TriFaceMapping::computeFacesFromPolygonVertex ( )

Crée les faces à partir des points.

Remarques
Cette fonction suppose que les points sont tirés à la manière triangles fan.

◆ computeNormals() [1/2]

C3D_API void castor3d::TriFaceMapping::computeNormals ( Face const &  face)

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

Paramètres
[in]faceLa face.

◆ computeNormals() [2/2]

C3D_API void castor3d::TriFaceMapping::computeNormals ( bool  reverted = false)
overridevirtual

Génère les normales et les tangentes.

Paramètres
[in]revertedDit si les normales sont inversées.

Implémente castor3d::IndexMapping.

◆ computeTangents()

C3D_API void castor3d::TriFaceMapping::computeTangents ( Face const &  face)

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

Paramètres
[in]faceLa face.

◆ computeTangentsFromBitangents()

C3D_API void castor3d::TriFaceMapping::computeTangentsFromBitangents ( )

Calcule la tangente pour chaque vertex du sous-maillage.

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

◆ computeTangentsFromNormals()

C3D_API void castor3d::TriFaceMapping::computeTangentsFromNormals ( )

Calcule la tangente pour chaque vertex du sous-maillage.

Remarques
Cette fonction suppose que les normales sont définies.

◆ getCount()

C3D_API uint32_t castor3d::TriFaceMapping::getCount ( ) const
overridevirtual

Renvoie
Le nombre d'éléments.

Implémente castor3d::IndexMapping.

◆ getFaces() [1/2]

FaceArray const& castor3d::TriFaceMapping::getFaces ( ) const
inline
Renvoie
Le tableau de faces.

◆ getFaces() [2/2]

FaceArray& castor3d::TriFaceMapping::getFaces ( )
inline
Renvoie
Le tableau de faces.

◆ operator[]()

Face const& castor3d::TriFaceMapping::operator[] ( uint32_t  index) const
inline

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

Paramètres
[in]indexL'index.
Renvoie
La valeur.

◆ sortByDistance()

C3D_API void castor3d::TriFaceMapping::sortByDistance ( castor::Point3r const &  cameraPosition)
overridevirtual

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

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

Implémente castor3d::IndexMapping.

Documentation des données membres

◆ Name

C3D_API castor::String const castor3d::TriFaceMapping::Name
static

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