Ocean
Ocean::Rendering::DynamicObject Class Referenceabstract

This class is the base class for all dynamic scene graph objects. More...

Inheritance diagram for Ocean::Rendering::DynamicObject:

Protected Member Functions

 DynamicObject ()
 Creates a new dynamic object. More...
 
 ~DynamicObject () override
 Destructs a dynamic object. More...
 
void registerDynamicUpdateObject ()
 Registers this dynamic object at the framebuffer update queue. More...
 
void unregisterDynamicUpdateObject ()
 Unregisteres this dynamic object at the frambuffer update queue. More...
 
virtual void onDynamicUpdate (const ViewRef &view, const Timestamp timestamp)=0
 Update function called by the framebuffer. More...
 
- Protected Member Functions inherited from Ocean::Rendering::Object
 Object ()
 Creates a new object. More...
 
 Object (const Object &object)=delete
 Disabled copy constructor. More...
 
virtual ~Object ()
 Destructs an object. More...
 
Engineengine () const
 Returns the render engine which is owner of this object. More...
 
void registerParent (const ObjectId parentId)
 Registers a parent node for this (child) node. More...
 
void unregisterParent (const ObjectId parentId)
 Unregisters a parent node for this (child) node. More...
 
void registerThisObjectAsParent (const ObjectRef &child)
 Registers this object at a child as parent object. More...
 
void unregisterThisObjectAsParent (const ObjectRef &child)
 Unregisters this object from a child as parent. More...
 
Objectoperator= (const Object &object)=delete
 Disabled copy operator. More...
 

Friends

class Engine
 

Additional Inherited Members

- Public Types inherited from Ocean::Rendering::Object
enum  ObjectType {
  TYPE_UNKNOWN , TYPE_ABSOLUTE_TRANSFORM , TYPE_ATTRIBUTE , TYPE_ATTRIBUTE_SET ,
  TYPE_BACKGROUND , TYPE_BILLBOARD , TYPE_BITMAP_FRAMEBUFFER , TYPE_BLEND_ATTRIBUTE ,
  TYPE_BOX , TYPE_CONE , TYPE_CYLINDER , TYPE_DEPTH_ATTRIBUTE ,
  TYPE_DIRECTIONAL_LIGHT , TYPE_FRAMEBUFFER , TYPE_FRAME_TEXTURE_2D , TYPE_GEOMETRY ,
  TYPE_GROUP , TYPE_INDEPENDENT_PRIMITIVE , TYPE_LIGHT_SOURCE , TYPE_LINES ,
  TYPE_LINE_STRIPS , TYPE_LOD , TYPE_MATERIAL , TYPE_NODE ,
  TYPE_OBJECT , TYPE_PARALLEL_VIEW , TYPE_PERSPECTIVE_VIEW , TYPE_PHANTOM_ATTRIBUTE ,
  TYPE_POINT_LIGHT , TYPE_POINTS , TYPE_PRIMITIVE , TYPE_PRIMITIVE_ATTRIBUTE ,
  TYPE_QUAD_STRIPS , TYPE_QUADS , TYPE_RENDERABLE , TYPE_SCENE ,
  TYPE_SHADER_PROGRAM , TYPE_SHAPE , TYPE_SKY_BACKGROUND , TYPE_SPHERE ,
  TYPE_SPOT_LIGHT , TYPE_STEREO_ATTRIBUTE , TYPE_STEREO_VIEW , TYPE_STRIP_PRIMITIVE ,
  TYPE_SWITCH , TYPE_TEXT , TYPE_TEXTURE , TYPE_TEXTURE_2D ,
  TYPE_MEDIA_TEXTURE_2D , TYPE_TEXTURE_FRAMEBUFFER , TYPE_TEXTURES , TYPE_TRANSFORM ,
  TYPE_TRIANGLE_FANS , TYPE_TRIANGLES , TYPE_TRIANGLE_STRIPS , TYPE_UNDISTORTED_BACKGROUND ,
  TYPE_VERTEX_SET , TYPE_VIEW , TYPE_WINDOW_FRAMEBUFFER
}
 Definition of different object type. More...
 
typedef std::unordered_map< ObjectId, unsigned int > ObjectIdMap
 Definition of a map holding object ids to reference counters. More...
 
- Public Member Functions inherited from Ocean::Rendering::Object
ObjectId id () const
 Returns the unique object id of this object. More...
 
const std::string & name () const
 Returns the name of this object. More...
 
virtual void setName (const std::string &name)
 Sets or changes the name of this object. More...
 
virtual const std::string & engineName () const =0
 Returns the name of the owner engine. More...
 
virtual ObjectType type () const
 Returns the type of this object. More...
 
ObjectRefs parentObjects () const
 Returns all parent objects. More...
 
ObjectRefSet parentNodes () const
 Returns all parent nodes. More...
 
virtual std::string descriptiveInformation () const
 Returns descriptive information about the object as string. More...
 
- Static Public Member Functions inherited from Ocean::Rendering::Object
static std::string translateObjectType (const ObjectType objectType)
 Translates an object type to a readable string. More...
 
- Protected Attributes inherited from Ocean::Rendering::Object
Lock objectLock
 Lock for the object. More...
 

Detailed Description

This class is the base class for all dynamic scene graph objects.


The class holds an internal update function which is called by the framebuffer.

Constructor & Destructor Documentation

◆ DynamicObject()

Ocean::Rendering::DynamicObject::DynamicObject ( )
protected

Creates a new dynamic object.

◆ ~DynamicObject()

Ocean::Rendering::DynamicObject::~DynamicObject ( )
overrideprotected

Destructs a dynamic object.

Member Function Documentation

◆ onDynamicUpdate()

virtual void Ocean::Rendering::DynamicObject::onDynamicUpdate ( const ViewRef view,
const Timestamp  timestamp 
)
protectedpure virtual

◆ registerDynamicUpdateObject()

void Ocean::Rendering::DynamicObject::registerDynamicUpdateObject ( )
protected

Registers this dynamic object at the framebuffer update queue.

◆ unregisterDynamicUpdateObject()

void Ocean::Rendering::DynamicObject::unregisterDynamicUpdateObject ( )
protected

Unregisteres this dynamic object at the frambuffer update queue.

Friends And Related Function Documentation

◆ Engine

friend class Engine
friend

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