Ocean
Ocean::Rendering::Node Class Reference

This is the base class for all rendering nodes. More...

Inheritance diagram for Ocean::Rendering::Node:

Public Member Functions

ObjectType type () const override
 Returns the type of this object. More...
 
virtual bool visible () const
 Returns whether the node is visible. More...
 
virtual BoundingBox boundingBox (const bool involveLocalTransformation=true) const
 Returns the bounding box of this node. More...
 
virtual BoundingSphere boundingSphere (const bool involveLocalTransformation=true) const
 Returns the bounding sphere of this node. More...
 
virtual HomogenousMatrix4 worldTransformation () const
 Returns the first possible transformation transforming this node into world coordinates. More...
 
virtual HomogenousMatrices4 worldTransformations () const
 Returns all possible transformations transforming this node into world coordinates. More...
 
virtual void setVisible (const bool visible)
 Sets whether the node is visible. 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...
 
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...
 

Protected Member Functions

 Node ()
 Creates a new node. More...
 
 ~Node () override
 Destructs a node. 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...
 

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...
 
- 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 is the base class for all rendering nodes.

Constructor & Destructor Documentation

◆ Node()

Ocean::Rendering::Node::Node ( )
protected

Creates a new node.

◆ ~Node()

Ocean::Rendering::Node::~Node ( )
overrideprotected

Destructs a node.

Member Function Documentation

◆ boundingBox()

virtual BoundingBox Ocean::Rendering::Node::boundingBox ( const bool  involveLocalTransformation = true) const
virtual

Returns the bounding box of this node.

Parameters
involveLocalTransformationTrue, to involve local transformations (e.g., from a Transform node) into the bounding box; False, to skip any local transformation
Returns
Node bounding box

Reimplemented in Ocean::Rendering::GlobalIllumination::GIGeometry, Ocean::Rendering::GlobalIllumination::GITransform, Ocean::Rendering::GlobalIllumination::GIGroup, Ocean::Rendering::GLESceneGraph::GLESTransform, Ocean::Rendering::GLESceneGraph::GLESGroup, and Ocean::Rendering::GLESceneGraph::GLESGeometry.

◆ boundingSphere()

virtual BoundingSphere Ocean::Rendering::Node::boundingSphere ( const bool  involveLocalTransformation = true) const
virtual

Returns the bounding sphere of this node.

Parameters
involveLocalTransformationTrue, to involve local transformations (e.g., from a Transform node) into the bounding box; False, to skip any local transformation
Returns
Bounding sphere

Reimplemented in Ocean::Rendering::GlobalIllumination::GIGeometry, and Ocean::Rendering::GlobalIllumination::GITransform.

◆ setVisible()

virtual void Ocean::Rendering::Node::setVisible ( const bool  visible)
virtual

Sets whether the node is visible.

As default the node is visible.

Parameters
visibleTrue, to make the node visible
See also
visible().

Reimplemented in Ocean::Rendering::GlobalIllumination::GINode, and Ocean::Rendering::GLESceneGraph::GLESNode.

◆ type()

ObjectType Ocean::Rendering::Node::type ( ) const
overridevirtual

◆ visible()

virtual bool Ocean::Rendering::Node::visible ( ) const
virtual

Returns whether the node is visible.

As default the node is visible.

See also
setVisible().
Returns
True, if so

Reimplemented in Ocean::Rendering::GlobalIllumination::GINode, and Ocean::Rendering::GLESceneGraph::GLESNode.

◆ worldTransformation()

virtual HomogenousMatrix4 Ocean::Rendering::Node::worldTransformation ( ) const
virtual

Returns the first possible transformation transforming this node into world coordinates.

The returned transformation is the concatenated transformation result of this node with all parent nodes up to the global root-scene.

Returns
The first possible world transformation, which is world_T_node
See also
worldTransformations().

◆ worldTransformations()

virtual HomogenousMatrices4 Ocean::Rendering::Node::worldTransformations ( ) const
virtual

Returns all possible transformations transforming this node into world coordinates.

The returned transformations are concatenated transformations of this node with all parent nodes up to the global root-scene.

Returns
All possible world transformations, which is world_T_nodes
See also
worldTransformation().

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