Castor3D 0.16.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 = castor::StringMap< SceneNodeRPtr >
 
using MovableArray = castor::List< castor::ReferenceWrapper< MovableObject > >
 

Fonctions membres publiques

C3D_API SceneNode (castor::String const &name, Scene &scene, SceneNode *parent, castor::Point3f position, castor::Quaternion orientation, castor::Point3f scale, bool isStatic=true)
 Constructeur.
 
C3D_API SceneNode (castor::String const &name, Scene &scene)
 Constructeur.
 
C3D_API ~SceneNode () override
 Destructeur.
 
C3D_API void update ()
 Met à jour les matrices du noeud.
 
Attached objects management.
C3D_API void attachObject (MovableObject &object)
 Attache un MovableObject au noeud.
 
C3D_API void detachObject (MovableObject const &object)
 Détache un MovableObject fu noeud.
 
Children management.
C3D_API void attachTo (SceneNode &parent)
 Définit le noeud parent.
 
C3D_API void detach (bool cleanup) noexcept
 Détache le noeud de son parent.
 
C3D_API bool hasChild (castor::String const &name) const
 
C3D_API void addChild (SceneNode &child)
 Ajoute le noeud donné aux enfants de ce noeud, s'il n'y est pas encore.
 
C3D_API void detachChild (SceneNode const &child) noexcept
 Détache un noeud des enfants de ce noeud, s'il en fait partie.
 
C3D_API void detachChild (castor::String const &childName) noexcept
 Détache un noeud des enfants de ce noeud, s'il en fait partie.
 
C3D_API void detachChildren (bool cleanup) noexcept
 Détache tous les enfants de ce noeud.
 
C3D_API void markDirty ()
 Marque ce noeud comme dirty.
 
Local transformations.
C3D_API void yaw (castor::Angle const &angle)
 Tourne le noeud autour de son axe Y.
 
C3D_API void pitch (castor::Angle const &angle)
 Tourne le noeud autour de son axe Z.
 
C3D_API void roll (castor::Angle const &angle)
 Tourne le noeud autour de son axe X.
 
C3D_API void rotate (castor::Quaternion const &quat)
 Tourne le noeud d'une rotation donnée.
 
C3D_API void translate (castor::Point3f const &t)
 Translate le noeud.
 
C3D_API void scale (castor::Point3f const &s)
 Change l'échelle du noeud.
 
C3D_API SceneNodeAnimationcreateAnimation (castor::String const &name)
 Crée une animation.
 
C3D_API void removeAnimation (castor::String const &name)
 Retire une animation.
 
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 SceneNodeMap const & getChildren () const
 
C3D_API SceneNodeRPtr getChild (castor::String const &name) const
 
C3D_API MovableArray const & getObjects () const
 
C3D_API bool isVisible () const noexcept
 
bool isDisplayable () const noexcept
 
SceneNodegetParent () const noexcept
 
ScenegetScene () const noexcept
 
bool isSerialisable () const noexcept
 
bool isStatic () const noexcept
 
bool isModified () const noexcept
 
uint64_t getId () const noexcept
 
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 setTransformationMatrix (castor::Matrix4x4f const &transform)
 
C3D_API void setVisible (bool visible)
 
void setSerialisable (bool value) noexcept
 
- Fonctions membres publiques hérités de castor3d::AnimableT< Engine >
virtual C3D_API ~AnimableT () noexcept=default
 
void cleanupAnimations ()
 Vid ela map d'animations.
 
bool hasAnimation () const
 
bool hasAnimation (castor::String const &name) const
 
Animation const & getAnimation (castor::String const &name) const
 Récupère une animation.
 
AnimationgetAnimation (castor::String const &name)
 Récupère une animation.
 
void addAnimation (AnimationPtr animation)
 Ajoute une animation.
 
AnimationsMap const & getAnimations () const
 
- Fonctions membres publiques hérités de castor::OwnedBy< Owner >
Owner * getOwner () const
 L'objet propriétaire.
 
- Fonctions membres publiques hérités de castor::NamedBaseT< T >
 NamedBaseT (T name) noexcept
 Constructeur.
 
T const & getName () const noexcept
 Récupère le nom.
 
void rename (T name) noexcept
 

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
 
using AnimationPtr
 
using AnimationsMap
 
- Fonctions membres protégées hérités de castor3d::AnimableT< Engine >
void doRemoveAnimation (castor::String const &name)
 Enlève une animation.
 
AnimationTypedoGetAnimation (castor::String const &name)
 Récupère une animation.
 
AnimationType const & doGetAnimation (castor::String const &name) const
 Récupère une animation.
 
 AnimableT (Engine &owner)
 
C3D_API AnimableT (AnimableT &&rhs) noexcept=default
 
C3D_API AnimableT (AnimableT const &rhs)=delete
 
C3D_API AnimableToperator= (AnimableT &&rhs) noexcept=delete
 
C3D_API AnimableToperator= (AnimableT const &rhs)=delete
 
- Fonctions membres protégées hérités de castor::OwnedBy< Owner >
 OwnedBy (Owner &owner)
 Constructeur.
 
- Attributs protégés hérités de castor3d::AnimableT< Engine >
AnimationsMap m_animations
 
- Attributs protégés hérités de castor::NamedBaseT< T >
m_name
 

Documentation des définitions de type membres

◆ MovableArray

◆ SceneNodeMap

Documentation des constructeurs et destructeur

◆ SceneNode() [1/2]

C3D_API castor3d::SceneNode::SceneNode ( castor::String const & name,
Scene & scene,
SceneNode * parent,
castor::Point3f position,
castor::Quaternion orientation,
castor::Point3f scale,
bool isStatic = true )

Constructeur.

Paramètres
[in]nameLe nom du noeud.
[in]sceneLa scène parente.
[in]parentLe noeud parent.
[in]positionLa position initiale.
[in]orientationL'orientation initiale.
[in]scaleL'échelle initiale.
[in]isStatictrue pour un noeud statique.

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

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

Destructeur.

Documentation des fonctions membres

◆ addChild()

C3D_API void castor3d::SceneNode::addChild ( SceneNode & 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 ( bool cleanup)
noexcept

Détache le noeud de son parent.

◆ detachChild() [1/2]

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

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 ( SceneNode const & child)
noexcept

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 ( bool cleanup)
noexcept

Détache tous les enfants de ce noeud.

◆ detachObject()

C3D_API void castor3d::SceneNode::detachObject ( MovableObject const & 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éférences castor::QuaternionT< T >::toAxisAngle().

Voici le graphe d'appel pour cette fonction :

◆ getChild()

C3D_API SceneNodeRPtr 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
inlinenoexcept

◆ getObjects()

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

◆ getOrientation()

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

◆ getParent()

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

◆ getPosition()

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

◆ getScale()

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

◆ getScene()

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

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

◆ isModified()

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

◆ isSerialisable()

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

◆ isStatic()

bool castor3d::SceneNode::isStatic ( ) const
inlinenoexcept

◆ isVisible()

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

◆ markDirty()

C3D_API void castor3d::SceneNode::markDirty ( )

Marque ce noeud comme dirty.

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

◆ setTransformationMatrix()

C3D_API void castor3d::SceneNode::setTransformationMatrix ( castor::Matrix4x4f const & transform)

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