TrueReality  v0.1.1912
trBase::NodeBase Class Reference

Base class for creating all the scenegraphs nodes. More...

#include <NodeBase.h>

Inheritance diagram for trBase::NodeBase:
Collaboration diagram for trBase::NodeBase:

Public Types

using BaseClass = trBase::Base
 
using NodeMask = osg::Node::NodeMask
 Holds the class type name for efficient comparisons. More...
 
- Public Types inherited from trBase::Base
using BaseClass = trBase::SmrtClass
 
- Public Types inherited from trBase::SmrtClass
using BaseClass = osg::Referenced
 

Public Member Functions

 NodeBase (const std::string name=CLASS_TYPE)
 ctor More...
 
virtual const std::string & GetType () const override
 Returns the class type. More...
 
virtual void SetName (const std::string &name)
 Sets this instances name. More...
 
virtual osg::Node * AsOSGNode ()
 Returns a pointer to the internal OSG Node. More...
 
virtual const osg::Node * AsOSGNode () const
 Returns a constant pointer to the internal OSG Node. More...
 
virtual trBase::UserDataContainerGetUserData ()
 Returns the custom user data that could be stored in the class instance Note, that if the user did not set any data, a NULL will be returned. More...
 
virtual const trBase::UserDataContainerGetUserData () const
 Returns the custom user data that could be stored in the class instance Note, that if the user did not set any data, a NULL will be returned. More...
 
virtual void SetUserData (trBase::UserDataContainer *data)
 Sets the user data for the current instance. More...
 
- Public Member Functions inherited from trBase::Base
 Base (const std::string &name=CLASS_TYPE)
 Holds the class type name for efficient comparisons. More...
 
virtual const std::string & GetName ()
 Returns this instances name. More...
 
virtual const std::string & GetName () const
 Returns this instances name. More...
 
virtual void SetUUID (const trBase::UniqueId &id)
 Overwrites the default internal UUID with the passed in one. More...
 
virtual const trBase::UniqueIdGetUUID (void)
 Returns the instances Universally Unique ID. More...
 
- Public Member Functions inherited from trBase::SmrtClass
 SmrtClass ()
 Adds an easy and swappable access to the base class. More...
 
 SmrtClass (bool threadSafeRefUnref)
 Constructor. More...
 
 SmrtClass (const SmrtClass &inst)
 Copy constructor. More...
 
virtual bool GetThreadSafeRefUnref ()
 Get whether a mutex is used to ensure Ref() and UnRef() are thread safe. More...
 
OpenThreads::Mutex * GetRefMutex () const
 Get the mutex used to ensure thread safety of Ref()/UnRef(). More...
 
int Ref () const
 Increment the reference count by one, indicating that this object has another pointer which is referencing it. More...
 
int Unref () const
 Decrement the reference count by one, indicating that a pointer to this object is no longer referencing it. More...
 
int UnRefNoDelete () const
 Decrement the reference count by one, indicating that a pointer to this object is no longer referencing it. More...
 
int ReferenceCount () const
 Return the number of pointers currently referencing this object. More...
 

Static Public Attributes

static const trUtil::RefStr CLASS_TYPE = trUtil::RefStr("trBase::NodeBase")
 Adds an easy and swappable access to the base class. More...
 
- Static Public Attributes inherited from trBase::Base
static const trUtil::RefStr CLASS_TYPE = trUtil::RefStr("trBase::Base")
 Adds an easy and swappable access to the base class. More...
 

Protected Member Functions

 ~NodeBase ()
 dtor More...
 
- Protected Member Functions inherited from trBase::Base
 ~Base ()
 Base destructor. More...
 
- Protected Member Functions inherited from trBase::SmrtClass
 ~SmrtClass ()
 

Protected Attributes

trBase::SmrtPtr< osg::Node > mNode
 

Private Attributes

trBase::SmrtPtr< trBase::UserDataContainermUserData
 

Additional Inherited Members

- Static Public Member Functions inherited from trBase::SmrtClass
static OpenThreads::Mutex * GetGlobalReferencedMutex ()
 Get the optional global Referenced mutex, this can be shared between all trBase::SmrtClass. More...
 

Detailed Description

Base class for creating all the scenegraphs nodes.

Internally it contains an OSG Node, that can be accessed by user if additional functionality is required.

Definition at line 40 of file NodeBase.h.

Member Typedef Documentation

◆ BaseClass

Definition at line 44 of file NodeBase.h.

◆ NodeMask

using trBase::NodeBase::NodeMask = osg::Node::NodeMask

Holds the class type name for efficient comparisons.

This is a set of bits (flags) that represent the Node. The default value is 0xffffffff (all bits set).

The most common use of these is during traversal of the scene graph.

For example, if a Node has a NodeMask value of 0x02 (only 2nd bit set) and the Camera has a CullMask of 0x4 (2nd bit not set) then during cull traversal, which takes it's TraversalMask from the Camera's CullMask, the node and any children would be ignored and thereby treated as "culled" and thus not rendered. Conversely, if the Camera CullMask were 0x3 (2nd bit set) then the node would be processed and child Nodes would be examined.

Definition at line 61 of file NodeBase.h.

Constructor & Destructor Documentation

◆ NodeBase()

trBase::NodeBase::NodeBase ( const std::string  name = CLASS_TYPE)

ctor

Definition at line 29 of file NodeBase.cpp.

References mNode.

◆ ~NodeBase()

trBase::NodeBase::~NodeBase ( )
protected

dtor

Definition at line 36 of file NodeBase.cpp.

Member Function Documentation

◆ AsOSGNode() [1/2]

osg::Node * trBase::NodeBase::AsOSGNode ( )
virtual

Returns a pointer to the internal OSG Node.

Definition at line 54 of file NodeBase.cpp.

References trBase::SmrtPtr< T >::Get(), and mNode.

Here is the call graph for this function:

◆ AsOSGNode() [2/2]

const osg::Node * trBase::NodeBase::AsOSGNode ( ) const
virtual

Returns a constant pointer to the internal OSG Node.

Definition at line 60 of file NodeBase.cpp.

References trBase::SmrtPtr< T >::Get(), and mNode.

Here is the call graph for this function:

◆ GetType()

const std::string & trBase::NodeBase::GetType ( ) const
overridevirtual

Returns the class type.

Implements trBase::Base.

Definition at line 41 of file NodeBase.cpp.

References CLASS_TYPE.

◆ GetUserData() [1/2]

trBase::UserDataContainer * trBase::NodeBase::GetUserData ( )
virtual

Returns the custom user data that could be stored in the class instance Note, that if the user did not set any data, a NULL will be returned.

Definition at line 66 of file NodeBase.cpp.

References mUserData.

◆ GetUserData() [2/2]

const trBase::UserDataContainer * trBase::NodeBase::GetUserData ( ) const
virtual

Returns the custom user data that could be stored in the class instance Note, that if the user did not set any data, a NULL will be returned.

Definition at line 72 of file NodeBase.cpp.

References mUserData.

◆ SetName()

void trBase::NodeBase::SetName ( const std::string &  name)
virtual

Sets this instances name.

Reimplemented from trBase::Base.

Definition at line 47 of file NodeBase.cpp.

References mNode, and trBase::Base::SetName().

Here is the call graph for this function:

◆ SetUserData()

void trBase::NodeBase::SetUserData ( trBase::UserDataContainer data)
virtual

Sets the user data for the current instance.

Definition at line 78 of file NodeBase.cpp.

References mUserData.

Member Data Documentation

◆ CLASS_TYPE

const trUtil::RefStr trBase::NodeBase::CLASS_TYPE = trUtil::RefStr("trBase::NodeBase")
static

Adds an easy and swappable access to the base class.

Definition at line 46 of file NodeBase.h.

Referenced by GetType().

◆ mNode

trBase::SmrtPtr<osg::Node> trBase::NodeBase::mNode
protected

Definition at line 107 of file NodeBase.h.

Referenced by AsOSGNode(), NodeBase(), and SetName().

◆ mUserData

trBase::SmrtPtr<trBase::UserDataContainer> trBase::NodeBase::mUserData
private

Definition at line 116 of file NodeBase.h.

Referenced by GetUserData(), and SetUserData().


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