neoGFX
Cross-platform C++ app/game engine
Loading...
Searching...
No Matches
neogfx::scene_graph::i_node Class Referenceabstract

#include <i_scene_graph.hpp>

Classes

struct  trs_transform
 

Public Types

enum class  local_transform_flavour : uint32_t { Matrix , TRS }
 
typedef i_node abstract_type
 
typedef mat44 matrix_transform
 
typedef neolib::i_plugin_variant< local_transform_flavour, matrix_transform, trs_transformlocal_transform_type
 

Public Member Functions

virtual ~i_node ()=default
 
virtual neolib::i_optional< neolib::i_string > const & name () const =0
 
virtual neolib::i_vector< i_node * > const & children () const =0
 
virtual neolib::i_vector< i_node * > & children ()=0
 
virtual local_transform_type const & local_transform () const =0
 
virtual local_transform_typelocal_transform ()=0
 
virtual bool has_mesh () const =0
 
virtual i_mesh const & mesh () const =0
 
virtual i_meshmesh ()=0
 
virtual bool has_camera () const =0
 
virtual i_camera const & camera () const =0
 
virtual i_cameracamera ()=0
 
virtual bool has_skin () const =0
 
virtual i_skin const & skin () const =0
 
virtual i_skinskin ()=0
 
virtual neolib::i_vector< scalar > const & weights () const =0
 
virtual neolib::i_vector< scalar > & weights ()=0
 

Detailed Description

Definition at line 425 of file i_scene_graph.hpp.

Member Typedef Documentation

◆ abstract_type

◆ local_transform_type

◆ matrix_transform

Member Enumeration Documentation

◆ local_transform_flavour

Enumerator
Matrix 
TRS 

Definition at line 432 of file i_scene_graph.hpp.

Constructor & Destructor Documentation

◆ ~i_node()

virtual neogfx::scene_graph::i_node::~i_node ( )
virtualdefault

Member Function Documentation

◆ camera() [1/2]

virtual i_camera const & neogfx::scene_graph::i_node::camera ( ) const
pure virtual

◆ camera() [2/2]

virtual i_camera & neogfx::scene_graph::i_node::camera ( )
pure virtual

◆ children() [1/2]

virtual neolib::i_vector< i_node * > const & neogfx::scene_graph::i_node::children ( ) const
pure virtual

◆ children() [2/2]

virtual neolib::i_vector< i_node * > & neogfx::scene_graph::i_node::children ( )
pure virtual

◆ has_camera()

virtual bool neogfx::scene_graph::i_node::has_camera ( ) const
pure virtual

◆ has_mesh()

virtual bool neogfx::scene_graph::i_node::has_mesh ( ) const
pure virtual

◆ has_skin()

virtual bool neogfx::scene_graph::i_node::has_skin ( ) const
pure virtual

◆ local_transform() [1/2]

virtual local_transform_type const & neogfx::scene_graph::i_node::local_transform ( ) const
pure virtual

◆ local_transform() [2/2]

virtual local_transform_type & neogfx::scene_graph::i_node::local_transform ( )
pure virtual

◆ mesh() [1/2]

virtual i_mesh const & neogfx::scene_graph::i_node::mesh ( ) const
pure virtual

◆ mesh() [2/2]

virtual i_mesh & neogfx::scene_graph::i_node::mesh ( )
pure virtual

◆ name()

virtual neolib::i_optional< neolib::i_string > const & neogfx::scene_graph::i_node::name ( ) const
pure virtual

◆ skin() [1/2]

virtual i_skin const & neogfx::scene_graph::i_node::skin ( ) const
pure virtual

◆ skin() [2/2]

virtual i_skin & neogfx::scene_graph::i_node::skin ( )
pure virtual

◆ weights() [1/2]

virtual neolib::i_vector< scalar > const & neogfx::scene_graph::i_node::weights ( ) const
pure virtual

◆ weights() [2/2]

virtual neolib::i_vector< scalar > & neogfx::scene_graph::i_node::weights ( )
pure virtual

The documentation for this class was generated from the following file: