Castor3D
..
|
La classe de gestion de noeud de scène. Plus de détails...
Classes | |
class | TextWriter |
SceneNode loader. Plus de détails... | |
Types publics | |
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 &p_name, Scene &p_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 &p_object) |
Attache un MovableObject au noeud. Plus de détails... | |
C3D_API void | detachObject (MovableObject &p_object) |
Détache un MovableObject fu noeud. Plus de détails... | |
C3D_API void | attachTo (SceneNodeSPtr p_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 &p_name) |
C3D_API void | addChild (SceneNodeSPtr p_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 p_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 &p_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 &p_angle) |
Tourne le noeud autour de son axe Y. Plus de détails... | |
C3D_API void | pitch (castor::Angle const &p_angle) |
Tourne le noeud autour de son axe Z. Plus de détails... | |
C3D_API void | roll (castor::Angle const &p_angle) |
Tourne le noeud autour de son axe X. Plus de détails... | |
C3D_API void | rotate (castor::Quaternion const &p_quat) |
Tourne le noeud d'une rotation donnée. Plus de détails... | |
C3D_API void | translate (castor::Point3r const &p_t) |
Translate le noeud. Plus de détails... | |
C3D_API void | scale (castor::Point3r const &p_s) |
Change l'échelle du noeud. Plus de détails... | |
C3D_API void | setOrientation (castor::Quaternion const &p_orientation) |
Définit l'orientation du noeud. Plus de détails... | |
C3D_API void | setPosition (castor::Point3r const &p_position) |
Définit la position relative du noeud. Plus de détails... | |
C3D_API void | setScale (castor::Point3r const &p_scale) |
Définit l'échelle relative du noeud. Plus de détails... | |
C3D_API castor::Point3r | 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::Point3r | getDerivedScale () const |
Récupère l'échelle absolue. Plus de détails... | |
C3D_API castor::Matrix4x4r const & | getTransformationMatrix () const |
Récupère la matrice de transformation relative. Plus de détails... | |
C3D_API castor::Matrix4x4r const & | getDerivedTransformationMatrix () const |
Récupère la matrice de transformation absolue. Plus de détails... | |
C3D_API void | setVisible (bool p_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::Point3r 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::Point3r const & | getScale () const |
Récupère l'échelle relative. Plus de détails... | |
void | getAxisAngle (castor::Point3r &p_axis, castor::Angle &p_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... | |
SceneNodeSPtr | getParent () 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 &p_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... | |
Attributs publics | |
OnSceneNodeChanged | onChanged |
Attributs publics statiques | |
static uint64_t | Count |
Le nombre total de noeuds de scène. Plus de détails... | |
Types protégés | |
using | SceneNodePtrStrMap = std::map< castor::String, SceneNodeWPtr > |
using | MovableObjectArray = std::list< std::reference_wrapper< MovableObject > > |
Attributs protégés | |
bool | m_displayable |
bool | m_visible { true } |
castor::Quaternion | m_orientation |
castor::Point3r | m_position { 0.0_r, 0.0_r, 0.0_r } |
castor::Point3r | m_scale { 1.0_r, 1.0_r, 1.0_r } |
castor::Matrix4x4r | m_transform { 1.0_r } |
bool | m_mtxChanged { true } |
castor::Matrix4x4r | m_derivedTransform { 1.0_r } |
bool | m_derivedMtxChanged { true } |
SceneNodeWPtr | m_parent |
SceneNodePtrStrMap | m_children |
MovableObjectArray | m_objects |
La classe de gestion de noeud de scène.
|
protected |
typedef SceneNodePtrStrMap::const_iterator castor3d::SceneNode::node_const_iterator |
typedef SceneNodePtrStrMap::iterator castor3d::SceneNode::node_iterator |
typedef MovableObjectArray::const_iterator castor3d::SceneNode::object_const_iterator |
typedef MovableObjectArray::iterator castor3d::SceneNode::object_iterator |
|
protected |
Constructeur.
[in] | p_name | Le nom du noeud. |
[in] | p_scene | La scène parente. |
C3D_API castor3d::SceneNode::~SceneNode | ( | ) |
Destructeur.
C3D_API void castor3d::SceneNode::addChild | ( | SceneNodeSPtr | p_child | ) |
Ajoute le noeud donné aux enfants de ce noeud, s'il n'y est pas encore.
[in] | p_child | Le noeud à ajouter |
C3D_API void castor3d::SceneNode::attachObject | ( | MovableObject & | p_object | ) |
Attache un MovableObject au noeud.
[in] | p_object | L'objet à attacher |
C3D_API void castor3d::SceneNode::attachTo | ( | SceneNodeSPtr | p_parent | ) |
Définit le noeud parent.
[in] | p_parent | Le nouveau parent |
|
inline |
|
inline |
|
inline |
|
inline |
C3D_API void castor3d::SceneNode::detach | ( | ) |
Détache le noeud de son parent.
C3D_API void castor3d::SceneNode::detachChild | ( | SceneNodeSPtr | p_child | ) |
Détache un noeud des enfants de ce noeud, s'il en fait partie.
[in] | p_child | Le noeud à détacher |
C3D_API void castor3d::SceneNode::detachChild | ( | castor::String const & | p_childName | ) |
Détache un noeud des enfants de ce noeud, s'il en fait partie.
[in] | p_childName | Le nom du noeud à détacher |
C3D_API void castor3d::SceneNode::detachChildren | ( | ) |
Détache tous les enfants de ce noeud.
C3D_API void castor3d::SceneNode::detachObject | ( | MovableObject & | p_object | ) |
Détache un MovableObject fu noeud.
[in] | p_object | L'objet à détacher |
|
inline |
Récupère l'orientation, en termes d'angle et d'axe.
[out] | p_axis | Reçoit l'axe |
[out] | p_angle | Reçoit l'angle |
Références m_orientation.
|
inline |
Récupère l'enfant avec le nom donné
[in] | p_name | Le nom de l'enfant |
Références m_children.
|
inline |
C3D_API castor::Quaternion castor3d::SceneNode::getDerivedOrientation | ( | ) | const |
Récupère l'orientation absolue.
C3D_API castor::Point3r castor3d::SceneNode::getDerivedPosition | ( | ) | const |
Récupère la position absolue.
C3D_API castor::Point3r castor3d::SceneNode::getDerivedScale | ( | ) | const |
Récupère l'échelle absolue.
C3D_API castor::Matrix4x4r const& castor3d::SceneNode::getDerivedTransformationMatrix | ( | ) | const |
Récupère la matrice de transformation absolue.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
C3D_API castor::Matrix4x4r const& castor3d::SceneNode::getTransformationMatrix | ( | ) | const |
Récupère la matrice de transformation relative.
C3D_API bool castor3d::SceneNode::hasChild | ( | castor::String const & | p_name | ) |
[in] | p_name | Le nom du noeud |
true
si un des enfants de ce noeud a le nom donné
|
inline |
|
inline |
Récupère le statut de modification des matrices de transformation.
Références m_derivedMtxChanged, et m_mtxChanged.
C3D_API bool castor3d::SceneNode::isVisible | ( | ) | const |
Récupère le statut de visibilité
|
inline |
|
inline |
|
inline |
|
inline |
C3D_API void castor3d::SceneNode::pitch | ( | castor::Angle const & | p_angle | ) |
Tourne le noeud autour de son axe Z.
[in] | p_angle | L'angle de rotation |
C3D_API void castor3d::SceneNode::roll | ( | castor::Angle const & | p_angle | ) |
Tourne le noeud autour de son axe X.
[in] | p_angle | L'angle de rotation |
C3D_API void castor3d::SceneNode::rotate | ( | castor::Quaternion const & | p_quat | ) |
Tourne le noeud d'une rotation donnée.
[in] | p_quat | La rotation à appliquer |
C3D_API void castor3d::SceneNode::scale | ( | castor::Point3r const & | p_s | ) |
Change l'échelle du noeud.
[in] | p_s | La valeur d'échelle |
C3D_API void castor3d::SceneNode::setOrientation | ( | castor::Quaternion const & | p_orientation | ) |
Définit l'orientation du noeud.
[in] | p_orientation | La nouvelle orientation |
C3D_API void castor3d::SceneNode::setPosition | ( | castor::Point3r const & | p_position | ) |
Définit la position relative du noeud.
[in] | p_position | La nouvelle valeur |
C3D_API void castor3d::SceneNode::setScale | ( | castor::Point3r const & | p_scale | ) |
Définit l'échelle relative du noeud.
[in] | p_scale | La nouvelle valeur |
C3D_API void castor3d::SceneNode::setVisible | ( | bool | p_visible | ) |
Définit le statut de visibilité du noeud.
[in] | p_visible | La nouvelle valeur |
C3D_API void castor3d::SceneNode::translate | ( | castor::Point3r const & | p_t | ) |
Translate le noeud.
[in] | p_t | The La valeur de translation |
C3D_API void castor3d::SceneNode::update | ( | ) |
Met à jour les matrices du noeud.
C3D_API void castor3d::SceneNode::yaw | ( | castor::Angle const & | p_angle | ) |
Tourne le noeud autour de son axe Y.
[in] | p_angle | L'angle de rotation |
|
static |
Le nombre total de noeuds de scène.
|
protected |
Les enfants de ce noeud.
Référencé par childrenBegin(), childrenEnd(), getChild(), et getChildren().
|
protected |
Dit si la matrice de transformation absolue doit être recalculée.
Référencé par isModified().
|
protected |
la matrice de transformation absolue.
|
protected |
Dit si le noeud est affichable. Il est affichable si son parent est le noeud racine ou s'il est affichable.
Référencé par isDisplayable().
|
protected |
Dit si la matrice de transformation relative doit être recalculée.
Référencé par isModified().
|
protected |
Les objets attachés à ce noeud.
Référencé par getObjects(), objectsBegin(), et objectsEnd().
|
protected |
L'orientation du noeud, relative au parent.
Référencé par getAxisAngle(), et getOrientation().
|
protected |
Le noeud parent.
Référencé par getParent().
|
protected |
La position du noeud, relative au parent.
Référencé par getPosition().
|
protected |
La mise à l'échelle du noeud, relative au parent.
Référencé par getScale().
|
protected |
La matrice de transformation, relative au parent.
|
protected |
Le statut de visibilité. Si un noeud est caché, tous les objets qui y sont attachés sont cachés aussi.
OnSceneNodeChanged castor3d::SceneNode::onChanged |
Signal utilisé pour notifier aux objets attachés que le noeud a changé.