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

#include <SceneNode.hpp>

Graphe d'héritage de castor3d::SceneNode:
Inheritance graph
[légende]
Graphe de collaboration de castor3d::SceneNode:
Collaboration graph
[légende]

Types publics

using SceneNodeMap = std::map< castor::String, SceneNodeWPtr >
 
using MovableArray = std::list< std::reference_wrapper< MovableObject > >
 

Fonctions membres publiques

C3D_API SceneNode (castor::String const &name, Scene &scene)
 Constructeur. Plus de détails...
 
C3D_API ~SceneNode () override
 Destructeur. Plus de détails...
 
C3D_API void update ()
 Met à jour les matrices du noeud. Plus de détails...
 
Attached objects management.
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...
 
Children management.
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) const
 
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...
 
Local transformations.
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 SceneNodeAnimationcreateAnimation (castor::String const &name)
 Crée une animation. Plus de détails...
 
C3D_API void removeAnimation (castor::String const &name)
 Retire une animation. Plus de détails...
 
Absolute value getters.
C3D_API castor::Point3f getDerivedPosition () const
 
C3D_API castor::Quaternion getDerivedOrientation () const
 
C3D_API castor::Point3f getDerivedScale () const
 
C3D_API castor::Matrix4x4f const & getTransformationMatrix () const
 
C3D_API castor::Matrix4x4f const & getDerivedTransformationMatrix () const
 
Local value getters.
castor::Point3f const & getPosition () const
 
castor::Quaternion const & getOrientation () const
 
castor::Point3f const & getScale () const
 
void getAxisAngle (castor::Point3f &axis, castor::Angle &angle) const
 
Other getters.
C3D_API bool isVisible () const
 
bool isDisplayable () const
 
SceneNodegetParent () const
 
ScenegetScene () const
 
bool isSerialisable () const
 
Setters.
C3D_API void setOrientation (castor::Quaternion const &orientation)
 
C3D_API void setPosition (castor::Point3f const &position)
 
C3D_API void setScale (castor::Point3f const &scale)
 
C3D_API void setVisible (bool visible)
 
C3D_API SceneNodeMap const & getChildren () const
 
C3D_API SceneNodeSPtr getChild (castor::String const &name) const
 
C3D_API MovableArray const & getObjects () const
 
bool isModified () const
 
uint64_t getId () const
 
void setSerialisable (bool value)
 
- Fonctions membres publiques hérités de castor3d::AnimableT< Engine >
virtual C3D_API ~AnimableT ()=default
 
void cleanupAnimations ()
 Vid ela map d'animations. Plus de détails...
 
bool hasAnimation () const
 
bool hasAnimation (castor::String const &name) const
 
Animation const & getAnimation (castor::String const &name) const
 Récupère une animation. Plus de détails...
 
AnimationgetAnimation (castor::String const &name)
 Récupère une animation. Plus de détails...
 
void addAnimation (AnimationPtr animation)
 Ajoute une animation. Plus de détails...
 
AnimationPtrStrMap const & getAnimations () const
 

Attributs publics

OnSceneNodeReparent onParentChanged
 

Attributs publics statiques

static uint64_t Count
 

Membres hérités additionnels

- Types protégés hérités de castor3d::AnimableT< Engine >
using Animation = AnimationT< Engine >
 
using AnimationPtr = std::unique_ptr< Animation >
 
using AnimationPtrStrMap = std::map< castor::String, AnimationPtr >
 
- Fonctions membres protégées hérités de castor3d::AnimableT< Engine >
void doRemoveAnimation (castor::String const &name)
 Enlève une animation. Plus de détails...
 
AnimationTypedoGetAnimation (castor::String const &name)
 Récupère une animation. Plus de détails...
 
AnimationType const & doGetAnimation (castor::String const &name) const
 Récupère une animation. Plus de détails...
 
 AnimableT (Engine &owner)
 
C3D_API AnimableT (AnimableT &&rhs)=default
 
C3D_API AnimableT (AnimableT const &rhs)=delete
 
C3D_API AnimableToperator= (AnimableT &&rhs)=delete
 
C3D_API AnimableToperator= (AnimableT const &rhs)=delete
 
- Attributs protégés hérités de castor3d::AnimableT< Engine >
AnimationPtrStrMap m_animations
 

Documentation des définitions de type membres

◆ MovableArray

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

◆ SceneNodeMap

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

Documentation des constructeurs et destructeur

◆ SceneNode()

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()

C3D_API castor3d::SceneNode::~SceneNode ( )
override

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

Référencé par castor3d::MovableAttacherT< CacheT >::operator()().

Voici le graphe des appelants de cette fonction :

◆ attachTo()

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

Définit le noeud parent.

Paramètres
[in]parentLe nouveau parent

◆ createAnimation()

C3D_API SceneNodeAnimation & castor3d::SceneNode::createAnimation ( castor::String const &  name)

Crée une animation.

Paramètres
[in]nameLe nom de l'animation
Renvoie
l'animation

◆ detach()

C3D_API void castor3d::SceneNode::detach ( )

Détache le noeud de son parent.

◆ detachChild() [1/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

◆ detachChild() [2/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

◆ 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

◆ getChild()

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

◆ getChildren()

C3D_API SceneNodeMap const & castor3d::SceneNode::getChildren ( ) const

◆ getDerivedOrientation()

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

◆ getDerivedPosition()

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

◆ getDerivedScale()

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

◆ getDerivedTransformationMatrix()

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

◆ getId()

uint64_t castor3d::SceneNode::getId ( ) const
inline

◆ getObjects()

C3D_API MovableArray const & castor3d::SceneNode::getObjects ( ) const

◆ getOrientation()

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

◆ getParent()

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

◆ getPosition()

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

◆ getScale()

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

◆ getScene()

Scene * castor3d::SceneNode::getScene ( ) const
inline

◆ getTransformationMatrix()

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

◆ hasChild()

C3D_API bool castor3d::SceneNode::hasChild ( castor::String const &  name) const
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

◆ isModified()

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

◆ isSerialisable()

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

◆ isVisible()

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

◆ 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

◆ removeAnimation()

C3D_API void castor3d::SceneNode::removeAnimation ( castor::String const &  name)

Retire une animation.

Paramètres
[in]nameLe nom de l'animation

◆ 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)

◆ setPosition()

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

◆ setScale()

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

◆ setSerialisable()

void castor3d::SceneNode::setSerialisable ( bool  value)
inline

◆ setVisible()

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

◆ 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.

◆ onParentChanged

OnSceneNodeReparent castor3d::SceneNode::onParentChanged

Signal utilisé pour notifier que le noeud a été attaché à un autre.


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