Castor3D 0.14.0
Multiplatform 3D engine
|
#include <SceneNode.hpp>
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 SceneNodeAnimation & | createAnimation (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 |
SceneNode * | getParent () const |
Scene * | getScene () 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... | |
Animation & | getAnimation (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... | |
AnimationType & | doGetAnimation (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 AnimableT & | operator= (AnimableT &&rhs)=delete |
C3D_API AnimableT & | operator= (AnimableT const &rhs)=delete |
Attributs protégés hérités de castor3d::AnimableT< Engine > | |
AnimationPtrStrMap | m_animations |
using castor3d::SceneNode::MovableArray = std::list< std::reference_wrapper< MovableObject > > |
using castor3d::SceneNode::SceneNodeMap = std::map< castor::String, SceneNodeWPtr > |
Constructeur.
[in] | name | Le nom du noeud. |
[in] | scene | La scène parente. |
|
override |
Destructeur.
C3D_API void castor3d::SceneNode::addChild | ( | SceneNodeSPtr | child | ) |
Ajoute le noeud donné aux enfants de ce noeud, s'il n'y est pas encore.
[in] | child | Le noeud à ajouter |
C3D_API void castor3d::SceneNode::attachObject | ( | MovableObject & | object | ) |
Attache un MovableObject au noeud.
[in] | object | L'objet à attacher |
Référencé par castor3d::MovableAttacherT< CacheT >::operator()().
Définit le noeud parent.
[in] | parent | Le nouveau parent |
C3D_API SceneNodeAnimation & castor3d::SceneNode::createAnimation | ( | castor::String const & | name | ) |
Crée une animation.
[in] | name | Le nom de l'animation |
C3D_API void castor3d::SceneNode::detach | ( | ) |
Détache le noeud de son parent.
C3D_API void castor3d::SceneNode::detachChild | ( | castor::String const & | childName | ) |
Détache un noeud des enfants de ce noeud, s'il en fait partie.
[in] | childName | Le nom du noeud à détacher |
C3D_API void castor3d::SceneNode::detachChild | ( | SceneNodeSPtr | child | ) |
Détache un noeud des enfants de ce noeud, s'il en fait partie.
[in] | child | Le noeud à détacher |
C3D_API void castor3d::SceneNode::detachChildren | ( | ) |
Détache tous les enfants de ce noeud.
C3D_API void castor3d::SceneNode::detachObject | ( | MovableObject & | object | ) |
Détache un MovableObject fu noeud.
[in] | object | L'objet à détacher |
|
inline |
C3D_API SceneNodeSPtr castor3d::SceneNode::getChild | ( | castor::String const & | name | ) | const |
C3D_API SceneNodeMap const & castor3d::SceneNode::getChildren | ( | ) | const |
C3D_API castor::Quaternion castor3d::SceneNode::getDerivedOrientation | ( | ) | const |
C3D_API castor::Point3f castor3d::SceneNode::getDerivedPosition | ( | ) | const |
C3D_API castor::Point3f castor3d::SceneNode::getDerivedScale | ( | ) | const |
C3D_API castor::Matrix4x4f const & castor3d::SceneNode::getDerivedTransformationMatrix | ( | ) | const |
|
inline |
C3D_API MovableArray const & castor3d::SceneNode::getObjects | ( | ) | const |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
C3D_API castor::Matrix4x4f const & castor3d::SceneNode::getTransformationMatrix | ( | ) | const |
C3D_API bool castor3d::SceneNode::hasChild | ( | castor::String const & | name | ) | const |
[in] | name | Le nom du noeud |
true
si un des enfants de ce noeud a le nom donné
|
inline |
|
inline |
|
inline |
C3D_API bool castor3d::SceneNode::isVisible | ( | ) | const |
C3D_API void castor3d::SceneNode::pitch | ( | castor::Angle const & | angle | ) |
Tourne le noeud autour de son axe Z.
[in] | angle | L'angle de rotation |
C3D_API void castor3d::SceneNode::removeAnimation | ( | castor::String const & | name | ) |
Retire une animation.
[in] | name | Le nom de l'animation |
C3D_API void castor3d::SceneNode::roll | ( | castor::Angle const & | angle | ) |
Tourne le noeud autour de son axe X.
[in] | angle | L'angle de rotation |
C3D_API void castor3d::SceneNode::rotate | ( | castor::Quaternion const & | quat | ) |
Tourne le noeud d'une rotation donnée.
[in] | quat | La rotation à appliquer |
C3D_API void castor3d::SceneNode::scale | ( | castor::Point3f const & | s | ) |
Change l'échelle du noeud.
[in] | s | La valeur d'échelle |
C3D_API void castor3d::SceneNode::setOrientation | ( | castor::Quaternion const & | orientation | ) |
C3D_API void castor3d::SceneNode::setPosition | ( | castor::Point3f const & | position | ) |
C3D_API void castor3d::SceneNode::setScale | ( | castor::Point3f const & | scale | ) |
|
inline |
C3D_API void castor3d::SceneNode::setVisible | ( | bool | visible | ) |
C3D_API void castor3d::SceneNode::translate | ( | castor::Point3f const & | t | ) |
Translate le noeud.
[in] | 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 & | angle | ) |
Tourne le noeud autour de son axe Y.
[in] | angle | L'angle de rotation |
|
static |
Le nombre total de noeuds de scène.
OnSceneNodeReparent castor3d::SceneNode::onParentChanged |
Signal utilisé pour notifier que le noeud a été attaché à un autre.