Castor3D  ..
Classes | Types publics | Fonctions membres publiques | Attributs publics statiques | Types protégés | Attributs protégés | Liste de tous les membres
Référence de la classe Castor3D::SceneNode

La classe de gestion de noeud de scène. Plus de détails...

+ Graphe d'héritage de Castor3D::SceneNode:
+ Graphe de collaboration de Castor3D::SceneNode:

Classes

class  BinaryParser
 
class  TextLoader
 SceneNode loader. Plus de détails...
 

Types publics

typedef
SceneNodeSPtrStrMap::iterator 
node_iterator
 
typedef
SceneNodeSPtrStrMap::const_iterator 
node_const_iterator
 
typedef
MovableObjectPtrStrMap::iterator 
object_iterator
 
typedef
MovableObjectPtrStrMap::const_iterator 
object_const_iterator
 

Fonctions membres publiques

 SceneNode ()
 Constructeur. Plus de détails...
 
 SceneNode (Scene *p_pScene, Castor::String const &p_name=Castor::cuEmptyString)
 Constructeur. Plus de détails...
 
virtual ~SceneNode ()
 Destructeur. Plus de détails...
 
void AttachObject (MovableObject *p_pObject)
 Attache un MovableObject au noeud. Plus de détails...
 
void DetachObject (MovableObject *p_pObject)
 Détache un MovableObject fu noeud. Plus de détails...
 
void AttachTo (SceneNode *p_parent)
 Définit le noeud parent. Plus de détails...
 
void Detach ()
 Détache le noeud de son parent. Plus de détails...
 
bool HasChild (Castor::String const &p_name)
 
void AddChild (SceneNode *p_child)
 Ajoute le noeud donné aux enfants de ce noeud, s'il n'y est pas encore. Plus de détails...
 
void DetachChild (SceneNode *p_child)
 Détache un noeud des enfants de ce noeud, s'il en fait partie. Plus de détails...
 
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...
 
void DetachAllChilds ()
 Détache tous les enfants de ce noeud. Plus de détails...
 
void Yaw (Castor::Angle const &p_angle)
 Tourne le noeud autour de son axe Y. Plus de détails...
 
void Pitch (Castor::Angle const &p_angle)
 Tourne le noeud autour de son axe Z. Plus de détails...
 
void Roll (Castor::Angle const &p_angle)
 Tourne le noeud autour de son axe X. Plus de détails...
 
void Rotate (Castor::Quaternion const &p_quat)
 Tourne le noeud d'une rotation donnée. Plus de détails...
 
void Translate (Castor::Point3r const &p_t)
 Translate le noeud. Plus de détails...
 
void Scale (Castor::Point3r const &p_s)
 Change l'échelle du noeud. Plus de détails...
 
void SetOrientation (Castor::Quaternion const &p_orientation)
 Définit l'orientation du noeud. Plus de détails...
 
void SetPosition (Castor::Point3r const &p_position)
 Définit la position relative du noeud. Plus de détails...
 
void SetScale (Castor::Point3r const &p_scale)
 Définit l'échelle relative du noeud. Plus de détails...
 
void CreateBuffers (uint32_t &p_nbFaces, uint32_t &p_nbVertex) const
 Crée les tampons de sommets des géométries attachées. Plus de détails...
 
GeometryGetNearestGeometry (Ray *p_pRay, real &p_fDistance, FaceSPtr *p_ppFace, SubmeshSPtr *p_ppSubmesh)
 Récupère la géométrie la plus proche de ce noeud et de ses enfants, qui sera touchée par le rayon. Plus de détails...
 
Castor::Point3r GetDerivedPosition ()
 Récupère la position absolue. Plus de détails...
 
Castor::Quaternion GetDerivedOrientation ()
 Récupère l'orientation absolue. Plus de détails...
 
Castor::Point3r GetDerivedScale ()
 Récupère l'échelle absolue. 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)
 Récupère l'orientation, en termes d'angle et d'axe. Plus de détails...
 
bool IsVisible () const
 Récupère le statut de visibilité 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...
 
SceneGetScene () const
 Récupère la scène. Plus de détails...
 
Castor::String GetName () const
 Récupère le nom du noeud. Plus de détails...
 
node_iterator ChildsBegin ()
 Récupère un itérateur sur le premier enfant. Plus de détails...
 
node_const_iterator ChildsBegin () const
 Récupère un itérateur sur le premier enfant. Plus de détails...
 
node_iterator ChildsEnd ()
 Récupère un itérateur sur apèrs le dernier enfant. Plus de détails...
 
node_const_iterator ChildsEnd () const
 Récupère un itérateur sur apèrs le dernier enfant. 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...
 
SceneNodeGetChild (Castor::String const &p_name)
 Récupère l'enfant avec le nom donné Plus de détails...
 
Castor::Matrix4x4r const & GetTransformationMatrix ()
 Récupère la matrice de transformation relative. Plus de détails...
 
Castor::Matrix4x4r const & GetDerivedTransformationMatrix ()
 Récupère la matrice de transformation absolue. Plus de détails...
 
bool IsModified () const
 Récupère le statut de modification des matrices de transformation. Plus de détails...
 
void SetVisible (bool p_visible)
 Définit le statut de visibilité du noeud. Plus de détails...
 
void SetName (Castor::String const &p_name)
 Définit le nom du noeud. Plus de détails...
 

Attributs publics statiques

static unsigned long long Count
 Le nombre total de noeuds de scène. Plus de détails...
 

Types protégés

typedef std::map
< Castor::String, SceneNode * > 
SceneNodeSPtrStrMap
 
typedef std::map
< Castor::String,
MovableObject * > 
MovableObjectPtrStrMap
 

Attributs protégés

Castor::String m_strName
 Le nom du noeud. Plus de détails...
 
bool m_bDisplayable
 Dit si le noeud est affichable. Il est affichable si son parent est le noeud racine ou s'il est affichable. Plus de détails...
 
bool m_bVisible
 Le statut de visibilité. Si un noeud est caché, tous les objets qui y sont attachés sont cachés aussi. Plus de détails...
 
Castor::Quaternion m_qOrientation
 L'orientation du noeud, relative au parent. Plus de détails...
 
Castor::Point3r m_ptPosition
 La position du noeud, relative au parent. Plus de détails...
 
Castor::Point3r m_ptScale
 La mise à l'échelle du noeud, relative au parent. Plus de détails...
 
Castor::Matrix4x4r m_mtxMatrix
 La matrice de transformation, relative au parent. Plus de détails...
 
bool m_bMtxChanged
 Dit si la matrice de transformation relative doit être recalculée. Plus de détails...
 
Castor::Matrix4x4r m_mtxDerivedMatrix
 la matrice de transformation absolue Plus de détails...
 
bool m_bDerivedMtxChanged
 Dit si la matrice de transformation absolue doit être recalculée. Plus de détails...
 
SceneNodem_pParent
 Le noeud parent. Plus de détails...
 
SceneNodeSPtrStrMap m_mapChilds
 Les enfants de ce noeud. Plus de détails...
 
MovableObjectPtrStrMap m_mapAttachedObjects
 Les objets attachés à ce noeud. Plus de détails...
 
Scenem_pScene
 La scène parente. Plus de détails...
 

Description détaillée

La classe de gestion de noeud de scène.

Auteur
Sylvain DOREMUS
Version
0.1
Date
09/02/2010
Remarques
Un noeud de scène est un parent pour à peu près tous les objets d'une scène : géométrie, caméra, ...

Documentation des définitions de type membres

typedef std::map< Castor::String, MovableObject * > Castor3D::SceneNode::MovableObjectPtrStrMap
protected
typedef SceneNodeSPtrStrMap::const_iterator Castor3D::SceneNode::node_const_iterator
typedef SceneNodeSPtrStrMap::iterator Castor3D::SceneNode::node_iterator
typedef MovableObjectPtrStrMap::const_iterator Castor3D::SceneNode::object_const_iterator
typedef MovableObjectPtrStrMap::iterator Castor3D::SceneNode::object_iterator
typedef std::map< Castor::String, SceneNode * > Castor3D::SceneNode::SceneNodeSPtrStrMap
protected

Documentation des constructeurs et destructeur

Castor3D::SceneNode::SceneNode ( )

Constructeur.

Castor3D::SceneNode::SceneNode ( Scene p_pScene,
Castor::String const &  p_name = Castor::cuEmptyString 
)

Constructeur.

Paramètres
[in]p_pSceneLa scène parente
[in]p_nameThe node's name. If empty the name is "SceneNode<s_nbSceneNodes>"
virtual Castor3D::SceneNode::~SceneNode ( )
virtual

Destructeur.

Documentation des fonctions membres

void Castor3D::SceneNode::AddChild ( SceneNode p_child)

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

Paramètres
[in]p_childLe noeud à ajouter
void Castor3D::SceneNode::AttachObject ( MovableObject p_pObject)

Attache un MovableObject au noeud.

Paramètres
[in]p_pObjectL'objet à attacher
void Castor3D::SceneNode::AttachTo ( SceneNode p_parent)

Définit le noeud parent.

Paramètres
[in]p_parentLe nouveau parent
node_iterator Castor3D::SceneNode::ChildsBegin ( )
inline

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

Renvoie
La valeur
node_const_iterator Castor3D::SceneNode::ChildsBegin ( ) const
inline

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

Renvoie
La valeur
node_iterator Castor3D::SceneNode::ChildsEnd ( )
inline

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

Renvoie
La valeur
node_const_iterator Castor3D::SceneNode::ChildsEnd ( ) const
inline

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

Renvoie
La valeur
void Castor3D::SceneNode::CreateBuffers ( uint32_t &  p_nbFaces,
uint32_t &  p_nbVertex 
) const

Crée les tampons de sommets des géométries attachées.

Paramètres
[out]p_nbFacesReçoit le nombre de faces
[out]p_nbVertexReçoit le nombre de sommets
void Castor3D::SceneNode::Detach ( )

Détache le noeud de son parent.

void Castor3D::SceneNode::DetachAllChilds ( )

Détache tous les enfants de ce noeud.

void Castor3D::SceneNode::DetachChild ( SceneNode p_child)

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

Paramètres
[in]p_childLe noeud à détacher
void Castor3D::SceneNode::DetachChild ( Castor::String const &  p_childName)

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

Paramètres
[in]p_childNameLe nom du noeud à détacher
void Castor3D::SceneNode::DetachObject ( MovableObject p_pObject)

Détache un MovableObject fu noeud.

Paramètres
[in]p_pObjectL'objet à détacher
void Castor3D::SceneNode::GetAxisAngle ( Castor::Point3r &  p_axis,
Castor::Angle &  p_angle 
)
inline

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

Paramètres
[out]p_axisReçoit l'axe
[out]p_angleReçoit l'angle
SceneNode* Castor3D::SceneNode::GetChild ( Castor::String const &  p_name)
inline

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

Paramètres
[in]p_nameLe nom de l'enfant
Renvoie
La valeur, NULL si non trouvé
Castor::Quaternion Castor3D::SceneNode::GetDerivedOrientation ( )

Récupère l'orientation absolue.

Renvoie
La valeur
Castor::Point3r Castor3D::SceneNode::GetDerivedPosition ( )

Récupère la position absolue.

Renvoie
La valeur
Castor::Point3r Castor3D::SceneNode::GetDerivedScale ( )

Récupère l'échelle absolue.

Renvoie
La valeur
Castor::Matrix4x4r const& Castor3D::SceneNode::GetDerivedTransformationMatrix ( )
inline

Récupère la matrice de transformation absolue.

Renvoie
La valeur
Castor::String Castor3D::SceneNode::GetName ( ) const
inline

Récupère le nom du noeud.

Renvoie
La valeur
Geometry* Castor3D::SceneNode::GetNearestGeometry ( Ray p_pRay,
real &  p_fDistance,
FaceSPtr *  p_ppFace,
SubmeshSPtr *  p_ppSubmesh 
)

Récupère la géométrie la plus proche de ce noeud et de ses enfants, qui sera touchée par le rayon.

Paramètres
[in]p_pRayLe rayon
[out]p_fDistanceReçoit la distance de la géométrie rencontrée
[out]p_ppFaceReçoit la face dans la géométrie rencontrée
[out]p_ppSubmeshReçoit le submesh de la géométrie rencontrée
Renvoie
La géométrie, NULL si aucune
Castor::Quaternion const& Castor3D::SceneNode::GetOrientation ( ) const
inline

Récupère l'orientation relative.

Renvoie
La valeur
SceneNode* Castor3D::SceneNode::GetParent ( ) const
inline

Récupère le noeud parent.

Renvoie
La valeur
Castor::Point3r const& Castor3D::SceneNode::GetPosition ( ) const
inline

Récupère la position relative.

Renvoie
La valeur
Castor::Point3r const& Castor3D::SceneNode::GetScale ( ) const
inline

Récupère l'échelle relative.

Renvoie
La valeur
Scene* Castor3D::SceneNode::GetScene ( ) const
inline

Récupère la scène.

Renvoie
La valeur
Castor::Matrix4x4r const& Castor3D::SceneNode::GetTransformationMatrix ( )
inline

Récupère la matrice de transformation relative.

Renvoie
La valeur
bool Castor3D::SceneNode::HasChild ( Castor::String const &  p_name)
Paramètres
[in]p_nameLe nom du noeud
Renvoie
true si un des enfants de ce noeud a le nom donné
bool Castor3D::SceneNode::IsDisplayable ( ) const
inline

Récupère le statut d'affichabilité

Renvoie
La valeur
bool Castor3D::SceneNode::IsModified ( ) const
inline

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

Renvoie
La valeur
bool Castor3D::SceneNode::IsVisible ( ) const
inline

Récupère le statut de visibilité

Renvoie
La valeur
object_iterator Castor3D::SceneNode::ObjectsBegin ( )
inline

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

Renvoie
La valeur
object_const_iterator Castor3D::SceneNode::ObjectsBegin ( ) const
inline

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

Renvoie
La valeur
object_iterator Castor3D::SceneNode::ObjectsEnd ( )
inline

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

Renvoie
La valeur
object_const_iterator Castor3D::SceneNode::ObjectsEnd ( ) const
inline

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

Renvoie
La valeur
void Castor3D::SceneNode::Pitch ( Castor::Angle const &  p_angle)

Tourne le noeud autour de son axe Z.

Paramètres
[in]p_angleL'angle de rotation
void Castor3D::SceneNode::Roll ( Castor::Angle const &  p_angle)

Tourne le noeud autour de son axe X.

Paramètres
[in]p_angleL'angle de rotation
void Castor3D::SceneNode::Rotate ( Castor::Quaternion const &  p_quat)

Tourne le noeud d'une rotation donnée.

Paramètres
[in]p_quatLa rotation à appliquer
void Castor3D::SceneNode::Scale ( Castor::Point3r const &  p_s)

Change l'échelle du noeud.

Paramètres
[in]p_sLa valeur d'échelle
void Castor3D::SceneNode::SetName ( Castor::String const &  p_name)
inline

Définit le nom du noeud.

Paramètres
[in]p_nameLa nouvelle valeur
void Castor3D::SceneNode::SetOrientation ( Castor::Quaternion const &  p_orientation)

Définit l'orientation du noeud.

Paramètres
[in]p_orientationLa nouvelle orientation
void Castor3D::SceneNode::SetPosition ( Castor::Point3r const &  p_position)

Définit la position relative du noeud.

Paramètres
[in]p_positionLa nouvelle valeur
void Castor3D::SceneNode::SetScale ( Castor::Point3r const &  p_scale)

Définit l'échelle relative du noeud.

Paramètres
[in]p_scaleLa nouvelle valeur
void Castor3D::SceneNode::SetVisible ( bool  p_visible)
inline

Définit le statut de visibilité du noeud.

Paramètres
[in]p_visibleLa nouvelle valeur
void Castor3D::SceneNode::Translate ( Castor::Point3r const &  p_t)

Translate le noeud.

Paramètres
[in]p_tThe La valeur de translation
void Castor3D::SceneNode::Yaw ( Castor::Angle const &  p_angle)

Tourne le noeud autour de son axe Y.

Paramètres
[in]p_angleL'angle de rotation

Documentation des données membres

unsigned long long Castor3D::SceneNode::Count
static

Le nombre total de noeuds de scène.

bool Castor3D::SceneNode::m_bDerivedMtxChanged
protected

Dit si la matrice de transformation absolue doit être recalculée.

bool Castor3D::SceneNode::m_bDisplayable
protected

Dit si le noeud est affichable. Il est affichable si son parent est le noeud racine ou s'il est affichable.

bool Castor3D::SceneNode::m_bMtxChanged
protected

Dit si la matrice de transformation relative doit être recalculée.

bool Castor3D::SceneNode::m_bVisible
protected

Le statut de visibilité. Si un noeud est caché, tous les objets qui y sont attachés sont cachés aussi.

MovableObjectPtrStrMap Castor3D::SceneNode::m_mapAttachedObjects
protected

Les objets attachés à ce noeud.

SceneNodeSPtrStrMap Castor3D::SceneNode::m_mapChilds
protected

Les enfants de ce noeud.

Castor::Matrix4x4r Castor3D::SceneNode::m_mtxDerivedMatrix
protected

la matrice de transformation absolue

Castor::Matrix4x4r Castor3D::SceneNode::m_mtxMatrix
protected

La matrice de transformation, relative au parent.

SceneNode* Castor3D::SceneNode::m_pParent
protected

Le noeud parent.

Scene* Castor3D::SceneNode::m_pScene
protected

La scène parente.

Castor::Point3r Castor3D::SceneNode::m_ptPosition
protected

La position du noeud, relative au parent.

Castor::Point3r Castor3D::SceneNode::m_ptScale
protected

La mise à l'échelle du noeud, relative au parent.

Castor::Quaternion Castor3D::SceneNode::m_qOrientation
protected

L'orientation du noeud, relative au parent.

Castor::String Castor3D::SceneNode::m_strName
protected

Le nom du noeud.


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