C3D Toolkit  Kernel - 117982, Vision -

It is the basic scene node class that can aggregate with Essence instances like a component. More...

#include <vsn_feature.h>

+ Inheritance diagram for VSN::Feature:
+ Collaboration diagram for VSN::Feature:

Public Member Functions

 Feature (Node *pParent=nullptr)
 Feature (const NodeKey &key, const String &name)
 Constructor with name and unique key.
virtual ~Feature ()
bool IsShareable () const
 Returns flag value. Component can be common for several essences.
const ObjectVector< Essence * > & GetEssences () const
 Returns vector containing all essences with reference to the Feature.
- Public Member Functions inherited from VSN::Node
 Node (Node *pParent=nullptr)
 Constructor with parent.
virtual ~Node ()
NodeKey GetUniqueKey () const
 Returns key identifing Node instance.
void SetUniqueKey (const NodeKey &key)
 Sets the unique key for the instance.
NodeKey GetCustomKey () const
 Returns custom key identifing Node instance.
void SetCustomKey (const NodeKey &key)
 Sets the custom unique key for the instance.
NodeGetParentNode () const
 Returns pointer to the parent object or nullptr if no parent.
bool IsEnabled () const
 Returns the Node enabled flag. By default, the flag is always on.
ObjectList< Node * > GetChildNodes () const
 Return an array of child nodes for this node.
void SetParent (Node *pParent)
 Sets parent object to the object.
bool IsNotificationsBlocked () const
 True if notifications are blocked, otherwise, False.
bool SetBlockNotifications (bool block)
 Sets blocking of notifications and returns the previous blocking value.
- Public Member Functions inherited from VSN::Object
 Object (Object *pParent=nullptr)
 Default constructor. More...
virtual ~Object ()
void SetParent (Object *pParent)
MutexGetMutex ()
 Object mutex.
String GetObjectName () const
 Returns name.
void SetObjectName (const String &name)
 Sets name.
bool IsControlType () const
ObjectGetParent () const
Variant GetProperty (const String &name) const
bool IsSignalsBlocked () const
bool SetBlockSignals (bool bBlock)
void AddEventListener (Object *pObject)
void RemoveEventListener (Object *pObject)
ObjectGetSender () const
Thread * GetThread () const
void BindWithThread (Thread *thread)
int StartTimer (int interval, TimerType timerType=tt_CoarseTimer)
void KillTimer (int id)
const ObjectList< Object * > & GetChildren () const
template<typename T >
FindChild (const String &objName=String()) const
template<typename T >
ObjectList< T > FindChildren (const String &objName=String(), VSN::ChildFindingPolicies policies=VSN::FindAllNestedChildren) const
- Public Member Functions inherited from VSN::BasicObject
 BasicObject ()
 Default constructor.
virtual ~BasicObject ()

Protected Member Functions

 Feature (FeaturePrivate &dd, Node *parent=nullptr)
 Private construсtor for inheritors.
- Protected Member Functions inherited from VSN::Node
 Node (NodePrivate &dd, Node *pParent)
 Sets the node enable flag. More...
virtual void SceneModificationEvent (const std::shared_ptr< SceneModification > &modification)
 The function is called in case of scene being modified.

Detailed Description

It is the basic scene node class that can aggregate with Essence instances like a component.

Feature provides behavior of the object being set with Essence objects. Feature subclasses are often combined as groups that pass useful behavior throughout aggregating essences. For example, if object is renderable, Essence will most probably contain transformation matrix, polygonal model and component material.

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