Castor3D  0.11.0
Multiplatform 3D engine
Types publics | Fonctions membres publiques | Attributs publics | Attributs publics statiques | Liste de tous les membres
Référence de la classe castor3d::SceneNode
Graphe d'héritage de castor3d::SceneNode:
Inheritance graph
[légende]
Graphe de collaboration de castor3d::SceneNode:
Collaboration graph
[légende]

Types publics

using SceneNodePtrStrMap = std::map< castor::String, SceneNodeWPtr >
 
using MovableObjectArray = std::list< std::reference_wrapper< MovableObject > >
 
typedef SceneNodePtrStrMap::iterator node_iterator
 
typedef SceneNodePtrStrMap::const_iterator node_const_iterator
 
typedef MovableObjectArray::iterator object_iterator
 
typedef MovableObjectArray::const_iterator object_const_iterator
 

Fonctions membres publiques

C3D_API SceneNode (castor::String const &name, Scene &scene)
 Constructeur. Plus de détails...
 
C3D_API SceneNode (castor::String const &name, SceneNode &parent, Scene &scene)
 Constructeur. Plus de détails...
 
C3D_API ~SceneNode ()
 Destructeur. Plus de détails...
 
C3D_API void update ()
 Met à jour les matrices du noeud. Plus de détails...
 
C3D_API void attachObject (MovableObject &object)
 Attache un MovableObject au noeud. Plus de détails...
 
C3D_API void detachObject (MovableObject &object)
 Détache un MovableObject fu noeud. Plus de détails...
 
C3D_API void attachTo (SceneNode &parent)
 Définit le noeud parent. Plus de détails...
 
C3D_API void detach ()
 Détache le noeud de son parent. Plus de détails...
 
C3D_API bool hasChild (castor::String const &name)
 
C3D_API void addChild (SceneNodeSPtr child)
 Ajoute le noeud donné aux enfants de ce noeud, s'il n'y est pas encore. Plus de détails...
 
C3D_API void detachChild (SceneNodeSPtr child)
 Détache un noeud des enfants de ce noeud, s'il en fait partie. Plus de détails...
 
C3D_API void detachChild (castor::String const &childName)
 Détache un noeud des enfants de ce noeud, s'il en fait partie. Plus de détails...
 
C3D_API void detachChildren ()
 Détache tous les enfants de ce noeud. Plus de détails...
 
C3D_API void yaw (castor::Angle const &angle)
 Tourne le noeud autour de son axe Y. Plus de détails...
 
C3D_API void pitch (castor::Angle const &angle)
 Tourne le noeud autour de son axe Z. Plus de détails...
 
C3D_API void roll (castor::Angle const &angle)
 Tourne le noeud autour de son axe X. Plus de détails...
 
C3D_API void rotate (castor::Quaternion const &quat)
 Tourne le noeud d'une rotation donnée. Plus de détails...
 
C3D_API void translate (castor::Point3f const &t)
 Translate le noeud. Plus de détails...
 
C3D_API void scale (castor::Point3f const &s)
 Change l'échelle du noeud. Plus de détails...
 
C3D_API void setOrientation (castor::Quaternion const &orientation)
 Définit l'orientation du noeud. Plus de détails...
 
C3D_API void setPosition (castor::Point3f const &position)
 Définit la position relative du noeud. Plus de détails...
 
C3D_API void setScale (castor::Point3f const &scale)
 Définit l'échelle relative du noeud. Plus de détails...
 
C3D_API castor::Point3f getDerivedPosition () const
 Récupère la position absolue. Plus de détails...
 
C3D_API castor::Quaternion getDerivedOrientation () const
 Récupère l'orientation absolue. Plus de détails...
 
C3D_API castor::Point3f getDerivedScale () const
 Récupère l'échelle absolue. Plus de détails...
 
C3D_API castor::Matrix4x4f const & getTransformationMatrix () const
 Récupère la matrice de transformation relative. Plus de détails...
 
C3D_API castor::Matrix4x4f const & getDerivedTransformationMatrix () const
 Récupère la matrice de transformation absolue. Plus de détails...
 
C3D_API void setVisible (bool visible)
 Définit le statut de visibilité du noeud. Plus de détails...
 
C3D_API bool isVisible () const
 Récupère le statut de visibilité Plus de détails...
 
castor::Point3f const & getPosition () const
 Récupère la position relative. Plus de détails...
 
castor::Quaternion const & getOrientation () const
 Récupère l'orientation relative. Plus de détails...
 
castor::Point3f const & getScale () const
 Récupère l'échelle relative. Plus de détails...
 
void getAxisAngle (castor::Point3f &axis, castor::Angle &angle) const
 Récupère l'orientation, en termes d'angle et d'axe. Plus de détails...
 
bool isDisplayable () const
 Récupère le statut d'affichabilité Plus de détails...
 
SceneNodegetParent () const
 Récupère le noeud parent. Plus de détails...
 
SceneNodePtrStrMap const & getChildren () const
 Récupère la map des enfants. Plus de détails...
 
node_iterator childrenBegin ()
 Récupère un itérateur sur le premier enfant. Plus de détails...
 
node_const_iterator childrenBegin () const
 Récupère un itérateur sur le premier enfant. Plus de détails...
 
node_iterator childrenEnd ()
 Récupère un itérateur sur apèrs le dernier enfant. Plus de détails...
 
node_const_iterator childrenEnd () const
 Récupère un itérateur sur apèrs le dernier enfant. Plus de détails...
 
MovableObjectArray const & getObjects () const
 Récupère la map des objets. Plus de détails...
 
object_iterator objectsBegin ()
 Récupère un itérateur sur le premier objet attaché Plus de détails...
 
object_const_iterator objectsBegin () const
 Récupère un itérateur sur le premier objet attaché Plus de détails...
 
object_iterator objectsEnd ()
 Récupère un itérateur sur après le dernier objet attaché Plus de détails...
 
object_const_iterator objectsEnd () const
 Récupère un itérateur sur après le dernier objet attaché Plus de détails...
 
SceneNodeSPtr getChild (castor::String const &name) const
 Récupère l'enfant avec le nom donné Plus de détails...
 
bool isModified () const
 Récupère le statut de modification des matrices de transformation. Plus de détails...
 
uint64_t getId () const
 

Attributs publics

OnSceneNodeChanged onChanged
 

Attributs publics statiques

static uint64_t Count
 

Documentation des définitions de type membres

◆ MovableObjectArray

using castor3d::SceneNode::MovableObjectArray = std::list< std::reference_wrapper< MovableObject > >

◆ node_const_iterator

typedef SceneNodePtrStrMap::const_iterator castor3d::SceneNode::node_const_iterator

◆ node_iterator

typedef SceneNodePtrStrMap::iterator castor3d::SceneNode::node_iterator

◆ object_const_iterator

typedef MovableObjectArray::const_iterator castor3d::SceneNode::object_const_iterator

◆ object_iterator

typedef MovableObjectArray::iterator castor3d::SceneNode::object_iterator

◆ SceneNodePtrStrMap

using castor3d::SceneNode::SceneNodePtrStrMap = std::map< castor::String, SceneNodeWPtr >

Documentation des constructeurs et destructeur

◆ SceneNode() [1/2]

C3D_API castor3d::SceneNode::SceneNode ( castor::String const &  name,
Scene scene 
)

Constructeur.

Paramètres
[in]nameLe nom du noeud.
[in]sceneLa scène parente.

◆ SceneNode() [2/2]

C3D_API castor3d::SceneNode::SceneNode ( castor::String const &  name,
SceneNode parent,
Scene scene 
)

Constructeur.

Paramètres
[in]nameLe nom du noeud.
[in]parentLe noeud parent.
[in]sceneLa scène parente.

◆ ~SceneNode()

C3D_API castor3d::SceneNode::~SceneNode ( )

Destructeur.

Documentation des fonctions membres

◆ addChild()

C3D_API void castor3d::SceneNode::addChild ( SceneNodeSPtr  child)

Ajoute le noeud donné aux enfants de ce noeud, s'il n'y est pas encore.

Paramètres
[in]childLe noeud à ajouter

◆ attachObject()

C3D_API void castor3d::SceneNode::attachObject ( MovableObject object)

Attache un MovableObject au noeud.

Paramètres
[in]objectL'objet à attacher

◆ attachTo()

C3D_API void castor3d::SceneNode::attachTo ( SceneNode parent)

Définit le noeud parent.

Paramètres
[in]parentLe nouveau parent

◆ childrenBegin() [1/2]

node_iterator castor3d::SceneNode::childrenBegin ( )
inline

Récupère un itérateur sur le premier enfant.

Renvoie
La valeur

◆ childrenBegin() [2/2]

node_const_iterator castor3d::SceneNode::childrenBegin ( ) const
inline

Récupère un itérateur sur le premier enfant.

Renvoie
La valeur

◆ childrenEnd() [1/2]

node_iterator castor3d::SceneNode::childrenEnd ( )
inline

Récupère un itérateur sur apèrs le dernier enfant.

Renvoie
La valeur

◆ childrenEnd() [2/2]

node_const_iterator castor3d::SceneNode::childrenEnd ( ) const
inline

Récupère un itérateur sur apèrs le dernier enfant.

Renvoie
La valeur

◆ detach()

C3D_API void castor3d::SceneNode::detach ( )

Détache le noeud de son parent.

◆ detachChild() [1/2]

C3D_API void castor3d::SceneNode::detachChild ( SceneNodeSPtr  child)

Détache un noeud des enfants de ce noeud, s'il en fait partie.

Paramètres
[in]childLe noeud à détacher

◆ detachChild() [2/2]

C3D_API void castor3d::SceneNode::detachChild ( castor::String const &  childName)

Détache un noeud des enfants de ce noeud, s'il en fait partie.

Paramètres
[in]childNameLe nom du noeud à détacher

◆ detachChildren()

C3D_API void castor3d::SceneNode::detachChildren ( )

Détache tous les enfants de ce noeud.

◆ detachObject()

C3D_API void castor3d::SceneNode::detachObject ( MovableObject object)

Détache un MovableObject fu noeud.

Paramètres
[in]objectL'objet à détacher

◆ getAxisAngle()

void castor3d::SceneNode::getAxisAngle ( castor::Point3f &  axis,
castor::Angle &  angle 
) const
inline

Récupère l'orientation, en termes d'angle et d'axe.

Paramètres
[out]axisReçoit l'axe
[out]angleReçoit l'angle

◆ getChild()

SceneNodeSPtr castor3d::SceneNode::getChild ( castor::String const &  name) const
inline

Récupère l'enfant avec le nom donné

Paramètres
[in]nameLe nom de l'enfant
Renvoie
La valeur, nullptr si non trouvé

◆ getChildren()

SceneNodePtrStrMap const& castor3d::SceneNode::getChildren ( ) const
inline

Récupère la map des enfants.

Renvoie
La valeur

◆ getDerivedOrientation()

C3D_API castor::Quaternion castor3d::SceneNode::getDerivedOrientation ( ) const

Récupère l'orientation absolue.

Renvoie
La valeur

◆ getDerivedPosition()

C3D_API castor::Point3f castor3d::SceneNode::getDerivedPosition ( ) const

Récupère la position absolue.

Renvoie
La valeur

◆ getDerivedScale()

C3D_API castor::Point3f castor3d::SceneNode::getDerivedScale ( ) const

Récupère l'échelle absolue.

Renvoie
La valeur

◆ getDerivedTransformationMatrix()

C3D_API castor::Matrix4x4f const& castor3d::SceneNode::getDerivedTransformationMatrix ( ) const

Récupère la matrice de transformation absolue.

Renvoie
La valeur

◆ getId()

uint64_t castor3d::SceneNode::getId ( ) const
inline
Renvoie
L'ID du noeud.

◆ getObjects()

MovableObjectArray const& castor3d::SceneNode::getObjects ( ) const
inline

Récupère la map des objets.

Renvoie
La valeur

◆ getOrientation()

castor::Quaternion const& castor3d::SceneNode::getOrientation ( ) const
inline

Récupère l'orientation relative.

Renvoie
La valeur

◆ getParent()

SceneNode* castor3d::SceneNode::getParent ( ) const
inline

Récupère le noeud parent.

Renvoie
La valeur

◆ getPosition()

castor::Point3f const& castor3d::SceneNode::getPosition ( ) const
inline

Récupère la position relative.

Renvoie
La valeur

◆ getScale()

castor::Point3f const& castor3d::SceneNode::getScale ( ) const
inline

Récupère l'échelle relative.

Renvoie
La valeur

◆ getTransformationMatrix()

C3D_API castor::Matrix4x4f const& castor3d::SceneNode::getTransformationMatrix ( ) const

Récupère la matrice de transformation relative.

Renvoie
La valeur

◆ hasChild()

C3D_API bool castor3d::SceneNode::hasChild ( castor::String const &  name)
Paramètres
[in]nameLe nom du noeud
Renvoie
true si un des enfants de ce noeud a le nom donné

◆ isDisplayable()

bool castor3d::SceneNode::isDisplayable ( ) const
inline

Récupère le statut d'affichabilité

Renvoie
La valeur

◆ isModified()

bool castor3d::SceneNode::isModified ( ) const
inline

Récupère le statut de modification des matrices de transformation.

Renvoie
La valeur

◆ isVisible()

C3D_API bool castor3d::SceneNode::isVisible ( ) const

Récupère le statut de visibilité

Renvoie
La valeur

◆ objectsBegin() [1/2]

object_iterator castor3d::SceneNode::objectsBegin ( )
inline

Récupère un itérateur sur le premier objet attaché

Renvoie
La valeur

◆ objectsBegin() [2/2]

object_const_iterator castor3d::SceneNode::objectsBegin ( ) const
inline

Récupère un itérateur sur le premier objet attaché

Renvoie
La valeur

◆ objectsEnd() [1/2]

object_iterator castor3d::SceneNode::objectsEnd ( )
inline

Récupère un itérateur sur après le dernier objet attaché

Renvoie
La valeur

◆ objectsEnd() [2/2]

object_const_iterator castor3d::SceneNode::objectsEnd ( ) const
inline

Récupère un itérateur sur après le dernier objet attaché

Renvoie
La valeur

◆ pitch()

C3D_API void castor3d::SceneNode::pitch ( castor::Angle const &  angle)

Tourne le noeud autour de son axe Z.

Paramètres
[in]angleL'angle de rotation

◆ roll()

C3D_API void castor3d::SceneNode::roll ( castor::Angle const &  angle)

Tourne le noeud autour de son axe X.

Paramètres
[in]angleL'angle de rotation

◆ rotate()

C3D_API void castor3d::SceneNode::rotate ( castor::Quaternion const &  quat)

Tourne le noeud d'une rotation donnée.

Paramètres
[in]quatLa rotation à appliquer

◆ scale()

C3D_API void castor3d::SceneNode::scale ( castor::Point3f const &  s)

Change l'échelle du noeud.

Paramètres
[in]sLa valeur d'échelle

◆ setOrientation()

C3D_API void castor3d::SceneNode::setOrientation ( castor::Quaternion const &  orientation)

Définit l'orientation du noeud.

Paramètres
[in]orientationLa nouvelle orientation

◆ setPosition()

C3D_API void castor3d::SceneNode::setPosition ( castor::Point3f const &  position)

Définit la position relative du noeud.

Paramètres
[in]positionLa nouvelle valeur

◆ setScale()

C3D_API void castor3d::SceneNode::setScale ( castor::Point3f const &  scale)

Définit l'échelle relative du noeud.

Paramètres
[in]scaleLa nouvelle valeur

◆ setVisible()

C3D_API void castor3d::SceneNode::setVisible ( bool  visible)

Définit le statut de visibilité du noeud.

Paramètres
[in]visibleLa nouvelle valeur

◆ translate()

C3D_API void castor3d::SceneNode::translate ( castor::Point3f const &  t)

Translate le noeud.

Paramètres
[in]tThe La valeur de translation

◆ update()

C3D_API void castor3d::SceneNode::update ( )

Met à jour les matrices du noeud.

◆ yaw()

C3D_API void castor3d::SceneNode::yaw ( castor::Angle const &  angle)

Tourne le noeud autour de son axe Y.

Paramètres
[in]angleL'angle de rotation

Documentation des données membres

◆ Count

uint64_t castor3d::SceneNode::Count
static

Le nombre total de noeuds de scène.

◆ onChanged

OnSceneNodeChanged castor3d::SceneNode::onChanged

Signal utilisé pour notifier aux objets attachés que le noeud a changé.


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