|
C3D_API uint32_t | doSubdivideThreaded () |
| Fonction de subdivision du thread. Plus de détails...
|
|
C3D_API SubmeshVertex & | doTryAddPoint (castor::Point3f const &position) |
| Vérifie si le position donnée est déjà dans la liste, et sinon le crée et l'ajoute. Plus de détails...
|
|
virtual C3D_API void | doSubdivide (SubmeshSPtr submesh, bool generateBuffers, bool threaded) |
| Fonction de subdivision. Plus de détails...
|
|
virtual C3D_API void | doInitialise () |
| Fonction d'initialisation. Plus de détails...
|
|
virtual C3D_API void | doAddGeneratedFaces ()=0 |
| Ajoute les faces générées à celles du sous-maillage. Plus de détails...
|
|
C3D_API void | doSwapBuffers () |
| Echange les faces internes avec celles du sous-maillage. Plus de détails...
|
|
virtual C3D_API void | doSubdivide ()=0 |
| Subdivise le sous-maillage. Plus de détails...
|
|
C3D_API void | doSetTextCoords (SubmeshVertex const &a, SubmeshVertex const &b, SubmeshVertex const &c, SubmeshVertex &d, SubmeshVertex &e, SubmeshVertex &f) |
| Calcule les coordonnées de texture des sommets donnés, crée les faces. Plus de détails...
|
|
C3D_API void | doSetTextCoords (SubmeshVertex const &a, SubmeshVertex const &b, SubmeshVertex const &c, SubmeshVertex &p) |
| Calcule les coordonnées de texture du nouveau sommet, crée les faces. Plus de détails...
|
|
◆ MeshSubdivisionEndFunction
◆ MeshSubdivider()
C3D_API castor3d::MeshSubdivider::MeshSubdivider |
( |
| ) |
|
◆ ~MeshSubdivider()
virtual C3D_API castor3d::MeshSubdivider::~MeshSubdivider |
( |
| ) |
|
|
virtual |
◆ addFace()
virtual C3D_API Face castor3d::MeshSubdivider::addFace |
( |
uint32_t |
a, |
|
|
uint32_t |
b, |
|
|
uint32_t |
c |
|
) |
| |
|
virtual |
Crée et ajoute une face.
- Paramètres
-
[in] | a | L'indice du premier sommet de la face |
[in] | b | L'indice du second sommet de la face |
[in] | c | L'indice du troisième sommet de la face |
- Renvoie
- La face créée
◆ addPoint() [1/3]
Crée et ajoute un sommet à la liste.
- Paramètres
-
[in] | x,y,z | Les coordonnées de la position du sommet |
- Renvoie
- Le sommet créé
◆ addPoint() [2/3]
Crée et ajoute un sommet à la liste.
- Paramètres
-
[in] | position | La position du sommet à ajouter |
- Renvoie
- Le sommet créé
◆ addPoint() [3/3]
Crée et ajoute un sommet à la liste.
- Paramètres
-
[in] | position | Les coordonnées de la position du sommet à ajouter |
- Renvoie
- Le sommet créé
◆ cleanup()
virtual C3D_API void castor3d::MeshSubdivider::cleanup |
( |
| ) |
|
|
virtual |
Nettoie tous les membres.
◆ doAddGeneratedFaces()
virtual C3D_API void castor3d::MeshSubdivider::doAddGeneratedFaces |
( |
| ) |
|
|
protectedpure virtual |
Ajoute les faces générées à celles du sous-maillage.
◆ doInitialise()
virtual C3D_API void castor3d::MeshSubdivider::doInitialise |
( |
| ) |
|
|
protectedvirtual |
Fonction d'initialisation.
◆ doSetTextCoords() [1/2]
Calcule les coordonnées de texture des sommets donnés, crée les faces.
- Paramètres
-
[in] | a,b,c | Les sommets source |
[out] | d,e,f | Les nouveaux sommets |
◆ doSetTextCoords() [2/2]
Calcule les coordonnées de texture du nouveau sommet, crée les faces.
- Paramètres
-
[in] | a,b,c | Les sommets sources |
[out] | p | Le nouveau sommet |
◆ doSubdivide() [1/2]
virtual C3D_API void castor3d::MeshSubdivider::doSubdivide |
( |
SubmeshSPtr |
submesh, |
|
|
bool |
generateBuffers, |
|
|
bool |
threaded |
|
) |
| |
|
protectedvirtual |
Fonction de subdivision.
- Paramètres
-
[in] | submesh | Le sous maillage à subdiviser |
[in] | generateBuffers | Dit si les tampons doivent être générés |
[in] | threaded | Dit si la subdivision doit être threadée |
◆ doSubdivide() [2/2]
virtual C3D_API void castor3d::MeshSubdivider::doSubdivide |
( |
| ) |
|
|
protectedpure virtual |
Subdivise le sous-maillage.
◆ doSubdivideThreaded()
C3D_API uint32_t castor3d::MeshSubdivider::doSubdivideThreaded |
( |
| ) |
|
|
protected |
Fonction de subdivision du thread.
◆ doSwapBuffers()
C3D_API void castor3d::MeshSubdivider::doSwapBuffers |
( |
| ) |
|
|
protected |
Echange les faces internes avec celles du sous-maillage.
◆ doTryAddPoint()
Vérifie si le position donnée est déjà dans la liste, et sinon le crée et l'ajoute.
- Paramètres
-
[in] | position | Les coordonnées de la position du sommet à ajouter |
- Renvoie
- Le sommet créé
◆ getPoint()
Récupère le position voulu.
- Paramètres
-
[in] | i | L'indice du position |
- Renvoie
- La valeur
◆ getPoints()
- Renvoie
- Récupère le tableau de points
◆ getPointsCount()
C3D_API uint32_t castor3d::MeshSubdivider::getPointsCount |
( |
| ) |
const |
Récupère le nombre de points.
- Renvoie
- La valeur
◆ isInMyPoints()
virtual C3D_API int castor3d::MeshSubdivider::isInMyPoints |
( |
castor::Point3f const & |
vertex, |
|
|
double |
precision |
|
) |
| |
|
virtual |
Teste si le position donné fait partie de ceux de ce submesh.
- Paramètres
-
[in] | vertex | Le position à tester |
[in] | precision | La précision de comparaison |
- Renvoie
- L'index du position s'il a été trouvé, -1 sinon
◆ setSubdivisionEndCallback()
Définit une fonction qui sera appelée lors de la fin de la subdivision.
- Paramètres
-
[in] | subdivisionEndFunc | Pointeur de la fonction à exécuter |
Références m_onSubdivisionEnd.
◆ subdivide()
virtual C3D_API void castor3d::MeshSubdivider::subdivide |
( |
SubmeshSPtr |
submesh, |
|
|
int |
occurences, |
|
|
bool |
generateBuffers = true , |
|
|
bool |
threaded = false |
|
) |
| |
|
virtual |
Fonction de subdivision.
- Paramètres
-
[in] | submesh | Le sous maillage à subdiviser |
[in] | occurences | Le nombre de subdivisions à effectuer |
[in] | generateBuffers | Dit si les tampons doivent être générés |
[in] | threaded | Dit si la subdivision doit être threadée |
◆ m_arrayFaces
FaceArray castor3d::MeshSubdivider::m_arrayFaces |
|
protected |
◆ m_generateBuffers
bool castor3d::MeshSubdivider::m_generateBuffers |
|
protected |
◆ m_mutex
std::recursive_mutex castor3d::MeshSubdivider::m_mutex |
|
protected |
◆ m_onSubdivisionEnd
◆ m_points
std::vector< std::unique_ptr< SubmeshVertex > > castor3d::MeshSubdivider::m_points |
|
protected |
◆ m_submesh
SubmeshSPtr castor3d::MeshSubdivider::m_submesh |
|
protected |
◆ m_thread
std::shared_ptr< std::thread > castor3d::MeshSubdivider::m_thread |
|
protected |
◆ m_threaded
bool castor3d::MeshSubdivider::m_threaded |
|
protected |
La documentation de cette classe a été générée à partir du fichier suivant :