Castor3D  ..
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:

Fonctions membres publiques

C3D_API Submesh (Scene &scene, Mesh &mesh, uint32_t 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 void updateContainers (castor::BoundingBox const &boundingBox)
 Met à jour les conteneurs depuis la bounding box donnée. Plus de détails...
 
C3D_API uint32_t getFaceCount () const
 
C3D_API uint32_t getPointsCount () const
 
C3D_API int isInMyPoints (castor::Point3r const &position, double 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 &value)
 Crée un Vertex à partir du point donné et l'ajoute à la liste. Plus de détails...
 
C3D_API BufferElementGroupSPtr addPoint (real *value)
 Crée un Vertex à partir des coordonnées données et l'ajoute à la liste. Plus de détails...
 
C3D_API void addPoints (InterleavedVertex const *const begin, InterleavedVertex const *const end)
 Ajoute des points à la liste. Plus de détails...
 
C3D_API void draw (GeometryBuffers const &geometryBuffers)
 Dessine le sous-maillage. Plus de détails...
 
C3D_API void drawInstanced (GeometryBuffers const &geometryBuffers, uint32_t count)
 Dessine le sous-maillage. Plus de détails...
 
C3D_API void computeNormals (bool reverted=false)
 Génère les normales et les tangentes. Plus de détails...
 
C3D_API void sortByDistance (castor::Point3r const &cameraPosition)
 Trie les faces des plus éloignées aux plus proches de la caméra. Plus de détails...
 
C3D_API ProgramFlags getProgramFlags () const
 
C3D_API void setMaterial (MaterialSPtr oldMaterial, MaterialSPtr newMaterial, bool update)
 Définit le materiau. Plus de détails...
 
C3D_API void gatherBuffers (VertexBufferArray &buffers)
 Récupère les tampons qui doivent aller dans un VAO. Plus de détails...
 
void addPoints (std::vector< InterleavedVertex > const &vertices)
 Ajoute des points à la liste. Plus de détails...
 
template<size_t Count>
void addPoints (std::array< InterleavedVertex, Count > const &vertices)
 Ajoute des points à la liste. Plus de détails...
 
SkeletonSPtr getSkeleton () const
 
void setDefaultMaterial (MaterialSPtr material)
 Définit le material. Plus de détails...
 
BufferElementGroupSPtr operator[] (uint32_t index) const
 Récupère le point à l'index donné Plus de détails...
 
BufferElementGroupSPtr getPoint (uint32_t index) const
 Récupère le point à l'index donné Plus de détails...
 
MaterialSPtr getDefaultMaterial () const
 
castor::BoundingBox const & getBoundingBox () const
 
castor::BoundingBox & getBoundingBox ()
 
castor::BoundingSphere const & getBoundingSphere () const
 
castor::BoundingSphere & getBoundingSphere ()
 
VertexPtrArray const & getPoints () const
 
VertexPtrArray & getPoints ()
 
VertexBuffer const & getVertexBuffer () const
 
VertexBuffergetVertexBuffer ()
 
IndexBuffer const & getIndexBuffer () const
 
IndexBuffergetIndexBuffer ()
 
bool isInitialised () const
 
Mesh const & getParent () const
 
MeshgetParent ()
 
uint32_t getId () const
 
void needsUpdate ()
 Dit que le sous-maillage doit être mis à jour. Plus de détails...
 
void setIndexMapping (IndexMappingSPtr mapping)
 Définit le mappage d'indices. Plus de détails...
 
bool hasComponent (castor::String const &name) const
 Vérifie si un composant existe. Plus de détails...
 
void addComponent (castor::String const &name, SubmeshComponentSPtr component)
 Ajoute un composant. Plus de détails...
 
template<typename T >
void addComponent (std::shared_ptr< T > component)
 Ajoute un composant. Plus de détails...
 
SubmeshComponentSPtr getComponent (castor::String const &name) const
 Trouve un composant. Plus de détails...
 
template<typename T >
std::shared_ptr< T > getComponent () const
 Trouve un composant. return Le composant, nullptr si non trouvé. Plus de détails...
 
InstantiationComponentgetInstantiation ()
 
InstantiationComponent const & getInstantiation () const
 
BonesInstantiationComponentgetInstantiatedBones ()
 
BonesInstantiationComponent const & getInstantiatedBones () const
 
SubmeshComponentStrMap const & getComponents () const
 
Topology getTopology () const
 
void setTopology (Topology value)
 Définit la topologie. Plus de détails...
 

Amis

template<typename T >
struct SubmeshComponentAdder
 
class GeometryBuffers
 
class BinaryWriter< Submesh >
 
class BinaryParser< Submesh >
 

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

◆ Submesh()

C3D_API castor3d::Submesh::Submesh ( Scene scene,
Mesh mesh,
uint32_t  id = 1 
)

Constructeur.

Paramètres
[in]meshLe mesh parent.
[in]sceneLa scène.
[in]idL'ID du sous-maillage.

◆ ~Submesh()

C3D_API castor3d::Submesh::~Submesh ( )

Destructeur.

Documentation des fonctions membres

◆ addComponent() [1/2]

void castor3d::Submesh::addComponent ( castor::String const &  name,
SubmeshComponentSPtr  component 
)
inline

Ajoute un composant.

Paramètres
[in]nameLe nom du composant.
[in]componentLe composant.

◆ addComponent() [2/2]

template<typename T >
void castor3d::Submesh::addComponent ( std::shared_ptr< T >  component)
inline

Ajoute un composant.

Paramètres
[in]componentLe composant.

◆ addPoint() [1/3]

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

◆ addPoint() [2/3]

C3D_API BufferElementGroupSPtr castor3d::Submesh::addPoint ( castor::Point3r const &  value)

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

Paramètres
[in]valueLe point
Renvoie
Le vertex créé

◆ addPoint() [3/3]

C3D_API BufferElementGroupSPtr castor3d::Submesh::addPoint ( real *  value)

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

Paramètres
[in]valueLes coordonnées du point
Renvoie
Le vertex créé

◆ addPoints() [1/3]

C3D_API void castor3d::Submesh::addPoints ( InterleavedVertex const *const  begin,
InterleavedVertex const *const  end 
)

Ajoute des points à la liste.

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

◆ addPoints() [2/3]

void castor3d::Submesh::addPoints ( std::vector< InterleavedVertex > const &  vertices)
inline

Ajoute des points à la liste.

Paramètres
[in]verticesLes vertices

◆ addPoints() [3/3]

template<size_t Count>
void castor3d::Submesh::addPoints ( std::array< InterleavedVertex, Count > const &  vertices)
inline

Ajoute des points à la liste.

Paramètres
[in]verticesLes vertices

◆ cleanup()

C3D_API void castor3d::Submesh::cleanup ( )

Nettoie le sous-maillage.

◆ computeContainers()

C3D_API void castor3d::Submesh::computeContainers ( )

Calcule les conteneurs (cube et sphère)

◆ computeNormals()

C3D_API void castor3d::Submesh::computeNormals ( bool  reverted = false)

Génère les normales et les tangentes.

◆ draw()

C3D_API void castor3d::Submesh::draw ( GeometryBuffers const &  geometryBuffers)

Dessine le sous-maillage.

Paramètres
[in]geometryBuffersLes tampons de géométrie utilisés pour dessiner ce sous-maillage.

◆ drawInstanced()

C3D_API void castor3d::Submesh::drawInstanced ( GeometryBuffers const &  geometryBuffers,
uint32_t  count 
)

Dessine le sous-maillage.

Paramètres
[in]geometryBuffersLes tampons de géométrie utilisés pour dessiner ce sous-maillage.
[in]countLe nombre d'instances.

◆ gatherBuffers()

C3D_API void castor3d::Submesh::gatherBuffers ( VertexBufferArray buffers)

Récupère les tampons qui doivent aller dans un VAO.

◆ getBoundingBox() [1/2]

castor::BoundingBox const& castor3d::Submesh::getBoundingBox ( ) const
inline
Renvoie
La bounding box cube.

◆ getBoundingBox() [2/2]

castor::BoundingBox& castor3d::Submesh::getBoundingBox ( )
inline
Renvoie
La bounding box cube.

◆ getBoundingSphere() [1/2]

castor::BoundingSphere const& castor3d::Submesh::getBoundingSphere ( ) const
inline
Renvoie
La bounding box sphère.

◆ getBoundingSphere() [2/2]

castor::BoundingSphere& castor3d::Submesh::getBoundingSphere ( )
inline
Renvoie
La bounding box sphère.

◆ getComponent() [1/2]

SubmeshComponentSPtr castor3d::Submesh::getComponent ( castor::String const &  name) const
inline

Trouve un composant.

Paramètres
[in]nameLe nom du composant. return Le composant, nullptr si non trouvé.

◆ getComponent() [2/2]

template<typename T >
std::shared_ptr< T > castor3d::Submesh::getComponent ( ) const
inline

Trouve un composant. return Le composant, nullptr si non trouvé.

◆ getComponents()

SubmeshComponentStrMap const& castor3d::Submesh::getComponents ( ) const
inline

return Les composants.

◆ getDefaultMaterial()

MaterialSPtr castor3d::Submesh::getDefaultMaterial ( ) const
inline
Renvoie
Le matériau.

◆ getFaceCount()

C3D_API uint32_t castor3d::Submesh::getFaceCount ( ) const
Renvoie
Le nombre de faces de ce submesh

◆ getId()

uint32_t castor3d::Submesh::getId ( ) const
inline
Renvoie
L'ID du sous-maillage.

Référencé par castor3d::MeshAnimationKeyFrame::find().

+ Voici le graphe des appelants de cette fonction :

◆ getIndexBuffer() [1/2]

IndexBuffer const& castor3d::Submesh::getIndexBuffer ( ) const
inline
Renvoie
L'IndexBuffer.

◆ getIndexBuffer() [2/2]

IndexBuffer& castor3d::Submesh::getIndexBuffer ( )
inline
Renvoie
L'IndexBuffer.

◆ getInstantiatedBones() [1/2]

BonesInstantiationComponent& castor3d::Submesh::getInstantiatedBones ( )
inline

return Le composant d'instantiation.

◆ getInstantiatedBones() [2/2]

BonesInstantiationComponent const& castor3d::Submesh::getInstantiatedBones ( ) const
inline

return Le composant d'instantiation.

◆ getInstantiation() [1/2]

InstantiationComponent& castor3d::Submesh::getInstantiation ( )
inline

return Le composant d'instantiation.

◆ getInstantiation() [2/2]

InstantiationComponent const& castor3d::Submesh::getInstantiation ( ) const
inline

return Le composant d'instantiation.

◆ getParent() [1/2]

Mesh const& castor3d::Submesh::getParent ( ) const
inline
Renvoie
Le maillage parent.

◆ getParent() [2/2]

Mesh& castor3d::Submesh::getParent ( )
inline
Renvoie
Le maillage parent.

◆ getPoint()

BufferElementGroupSPtr castor3d::Submesh::getPoint ( uint32_t  index) const
inline

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

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

◆ getPoints() [1/2]

VertexPtrArray const& castor3d::Submesh::getPoints ( ) const
inline
Renvoie
Le tableau de points.

◆ getPoints() [2/2]

VertexPtrArray& castor3d::Submesh::getPoints ( )
inline
Renvoie
Le tableau de points.

◆ getPointsCount()

C3D_API uint32_t castor3d::Submesh::getPointsCount ( ) const
Renvoie
Le nombre de vertices de ce sous-maillage

◆ getProgramFlags()

C3D_API ProgramFlags castor3d::Submesh::getProgramFlags ( ) const
Renvoie
Les indicateurs de shader.

◆ getSkeleton()

SkeletonSPtr castor3d::Submesh::getSkeleton ( ) const
inline
Renvoie
Le squelette.

◆ getTopology()

Topology castor3d::Submesh::getTopology ( ) const
inline
Renvoie
La topologie.

◆ getVertexBuffer() [1/2]

VertexBuffer const& castor3d::Submesh::getVertexBuffer ( ) const
inline
Renvoie
Le VertexBuffer.

◆ getVertexBuffer() [2/2]

VertexBuffer& castor3d::Submesh::getVertexBuffer ( )
inline
Renvoie
Le VertexBuffer.

◆ hasComponent()

bool castor3d::Submesh::hasComponent ( castor::String const &  name) const
inline

Vérifie si un composant existe.

Paramètres
[in]nameLe nom du composant.

◆ initialise()

C3D_API void castor3d::Submesh::initialise ( )

Initialise le sous-maillage.

◆ isInitialised()

bool castor3d::Submesh::isInitialised ( ) const
inline
Renvoie
Le statut d'initialisation.

◆ isInMyPoints()

C3D_API int castor3d::Submesh::isInMyPoints ( castor::Point3r const &  position,
double  precision 
)

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

Paramètres
[in]positionLe point à tester
[in]precisionLa précision de comparaison
Renvoie
L'index du point s'il a été trouvé, -1 sinon

◆ needsUpdate()

void castor3d::Submesh::needsUpdate ( )
inline

Dit que le sous-maillage doit être mis à jour.

◆ operator[]()

BufferElementGroupSPtr castor3d::Submesh::operator[] ( uint32_t  index) const
inline

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

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

◆ setDefaultMaterial()

void castor3d::Submesh::setDefaultMaterial ( MaterialSPtr  material)
inline

Définit le material.

Paramètres
[in]materialLa nouvelle valeur

◆ setIndexMapping()

void castor3d::Submesh::setIndexMapping ( IndexMappingSPtr  mapping)
inline

Définit le mappage d'indices.

Paramètres
[in]mappingLe mappage.

◆ setMaterial()

C3D_API void castor3d::Submesh::setMaterial ( MaterialSPtr  oldMaterial,
MaterialSPtr  newMaterial,
bool  update 
)

Définit le materiau.

Paramètres
[in]oldMaterialLe matériau précédent.
[in]newMaterialLe nouveau matériau.
[in]updateDit si les tampons doivent être mis à jour.
Renvoie
true if the material is changed.

◆ setTopology()

void castor3d::Submesh::setTopology ( Topology  value)
inline

Définit la topologie.

Paramètres
[in]valueLa nouvelle valeur.

◆ sortByDistance()

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

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

◆ updateContainers()

C3D_API void castor3d::Submesh::updateContainers ( castor::BoundingBox const &  boundingBox)

Met à jour les conteneurs depuis la bounding box donnée.

Documentation des fonctions amies et associées

◆ BinaryParser< Submesh >

friend class BinaryParser< Submesh >
friend

◆ BinaryWriter< Submesh >

friend class BinaryWriter< Submesh >
friend

◆ GeometryBuffers

friend class GeometryBuffers
friend

◆ SubmeshComponentAdder

template<typename T >
friend struct SubmeshComponentAdder
friend

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