Castor3D
..
|
La classe de gestion de noeud de scène. Plus de détails...
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... | |
Geometry * | 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. 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... | |
SceneNode * | GetParent () const |
Récupère le noeud parent. Plus de détails... | |
Scene * | GetScene () 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... | |
SceneNode * | GetChild (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... | |
SceneNode * | m_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... | |
Scene * | m_pScene |
La scène parente. Plus de détails... | |
La classe de gestion de noeud de scène.
|
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 |
|
protected |
Castor3D::SceneNode::SceneNode | ( | ) |
Constructeur.
Castor3D::SceneNode::SceneNode | ( | Scene * | p_pScene, |
Castor::String const & | p_name = Castor::cuEmptyString |
||
) |
Constructeur.
[in] | p_pScene | La scène parente |
[in] | p_name | The node's name. If empty the name is "SceneNode<s_nbSceneNodes>" |
|
virtual |
Destructeur.
void Castor3D::SceneNode::AddChild | ( | SceneNode * | p_child | ) |
Ajoute le noeud donné aux enfants de ce noeud, s'il n'y est pas encore.
[in] | p_child | Le noeud à ajouter |
void Castor3D::SceneNode::AttachObject | ( | MovableObject * | p_pObject | ) |
Attache un MovableObject au noeud.
[in] | p_pObject | L'objet à attacher |
void Castor3D::SceneNode::AttachTo | ( | SceneNode * | p_parent | ) |
Définit le noeud parent.
[in] | p_parent | Le nouveau parent |
|
inline |
Récupère un itérateur sur le premier enfant.
|
inline |
Récupère un itérateur sur le premier enfant.
|
inline |
Récupère un itérateur sur apèrs le dernier enfant.
|
inline |
Récupère un itérateur sur apèrs le dernier enfant.
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.
[out] | p_nbFaces | Reçoit le nombre de faces |
[out] | p_nbVertex | Reç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.
[in] | p_child | Le 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.
[in] | p_childName | Le nom du noeud à détacher |
void Castor3D::SceneNode::DetachObject | ( | MovableObject * | p_pObject | ) |
Détache un MovableObject fu noeud.
[in] | p_pObject | 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 |
|
inline |
Récupère l'enfant avec le nom donné
[in] | p_name | Le nom de l'enfant |
Castor::Quaternion Castor3D::SceneNode::GetDerivedOrientation | ( | ) |
Récupère l'orientation absolue.
Castor::Point3r Castor3D::SceneNode::GetDerivedPosition | ( | ) |
Récupère la position absolue.
Castor::Point3r Castor3D::SceneNode::GetDerivedScale | ( | ) |
Récupère l'échelle absolue.
|
inline |
Récupère la matrice de transformation absolue.
|
inline |
Récupère le nom du noeud.
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.
[in] | p_pRay | Le rayon |
[out] | p_fDistance | Reçoit la distance de la géométrie rencontrée |
[out] | p_ppFace | Reçoit la face dans la géométrie rencontrée |
[out] | p_ppSubmesh | Reçoit le submesh de la géométrie rencontrée |
|
inline |
Récupère l'orientation relative.
|
inline |
Récupère le noeud parent.
|
inline |
Récupère la position relative.
|
inline |
Récupère l'échelle relative.
|
inline |
Récupère la scène.
|
inline |
Récupère la matrice de transformation relative.
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 |
Récupère le statut d'affichabilité
|
inline |
Récupère le statut de modification des matrices de transformation.
|
inline |
Récupère le statut de visibilité
|
inline |
Récupère un itérateur sur le premier objet attaché
|
inline |
Récupère un itérateur sur le premier objet attaché
|
inline |
Récupère un itérateur sur après le dernier objet attaché
|
inline |
Récupère un itérateur sur après le dernier objet attaché
void Castor3D::SceneNode::Pitch | ( | Castor::Angle const & | p_angle | ) |
Tourne le noeud autour de son axe Z.
[in] | p_angle | L'angle de rotation |
void Castor3D::SceneNode::Roll | ( | Castor::Angle const & | p_angle | ) |
Tourne le noeud autour de son axe X.
[in] | p_angle | L'angle de rotation |
void Castor3D::SceneNode::Rotate | ( | Castor::Quaternion const & | p_quat | ) |
Tourne le noeud d'une rotation donnée.
[in] | p_quat | La rotation à appliquer |
void Castor3D::SceneNode::Scale | ( | Castor::Point3r const & | p_s | ) |
Change l'échelle du noeud.
[in] | p_s | La valeur d'échelle |
|
inline |
Définit le nom du noeud.
[in] | p_name | La nouvelle valeur |
void Castor3D::SceneNode::SetOrientation | ( | Castor::Quaternion const & | p_orientation | ) |
Définit l'orientation du noeud.
[in] | p_orientation | La nouvelle orientation |
void Castor3D::SceneNode::SetPosition | ( | Castor::Point3r const & | p_position | ) |
Définit la position relative du noeud.
[in] | p_position | La nouvelle valeur |
void Castor3D::SceneNode::SetScale | ( | Castor::Point3r const & | p_scale | ) |
Définit l'échelle relative du noeud.
[in] | p_scale | La nouvelle valeur |
|
inline |
Définit le statut de visibilité du noeud.
[in] | p_visible | La nouvelle valeur |
void Castor3D::SceneNode::Translate | ( | Castor::Point3r const & | p_t | ) |
Translate le noeud.
[in] | p_t | The La valeur de translation |
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 |
Dit si la matrice de transformation absolue doit être recalculée.
|
protected |
Dit si le noeud est affichable. Il est affichable si son parent est le noeud racine ou s'il est affichable.
|
protected |
Dit si la matrice de transformation relative doit être recalculée.
|
protected |
Le statut de visibilité. Si un noeud est caché, tous les objets qui y sont attachés sont cachés aussi.
|
protected |
Les objets attachés à ce noeud.
|
protected |
Les enfants de ce noeud.
|
protected |
la matrice de transformation absolue
|
protected |
La matrice de transformation, relative au parent.
|
protected |
Le noeud parent.
|
protected |
La scène parente.
|
protected |
La position du noeud, relative au parent.
|
protected |
La mise à l'échelle du noeud, relative au parent.
|
protected |
L'orientation du noeud, relative au parent.
|
protected |
Le nom du noeud.