Ocean
Ocean::Rendering::Geometry Class Reference

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

Inheritance diagram for Ocean::Rendering::Geometry:

Public Member Functions

virtual void addRenderable (const RenderableRef &renderable, const AttributeSetRef &attributes)
 Adds a new renderable object to this geometry. More...
 
virtual unsigned int numberRenderables () const
 Returns the number of renderable objects connected to this geometry. More...
 
virtual RenderableRef renderable (const unsigned int index) const
 Returns a specified renderable holds by this geometry object. More...
 
virtual AttributeSetRef attributeSet (const unsigned int index) const
 Returns an attribute set connected with a renderable object specified by the index. More...
 
virtual void removeRenderable (const RenderableRef &renderable)
 Removes a renderable object connected to this geometry. More...
 
ObjectType type () const override
 Returns the type of this object. More...
 
- Public Member Functions inherited from Ocean::Rendering::Node
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 Types

typedef std::map< RenderableRef, AttributeSetRefRenderables
 Definition of a map mapping renderable objects to attributes. More...
 

Protected Member Functions

 Geometry ()
 Creates a new geometry object. More...
 
 ~Geometry () override
 Destructs a geometry object. More...
 
- Protected Member Functions inherited from Ocean::Rendering::Node
 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...
 

Protected Attributes

Renderables geometryRenderables
 Renderables object connected to this geometry. More...
 
- Protected Attributes inherited from Ocean::Rendering::Object
Lock objectLock
 Lock for the object. 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...
 

Detailed Description

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


Each geometry node can holds several different renderable objects associated with different appearance attributes.
All renderable objects are defined in the same coordinate system.
A group node can be used to group several independent geometry nodes.
Geometry nodes with different coordinate systems can be defined by the use of transform nodes as father nodes.

See also
Renderable, AttributeSet, Group, Transform

Member Typedef Documentation

◆ Renderables

Definition of a map mapping renderable objects to attributes.

Constructor & Destructor Documentation

◆ Geometry()

Ocean::Rendering::Geometry::Geometry ( )
protected

Creates a new geometry object.

◆ ~Geometry()

Ocean::Rendering::Geometry::~Geometry ( )
overrideprotected

Destructs a geometry object.

Member Function Documentation

◆ addRenderable()

virtual void Ocean::Rendering::Geometry::addRenderable ( const RenderableRef renderable,
const AttributeSetRef attributes 
)
virtual

Adds a new renderable object to this geometry.

See also
Renderable, AttributeSet
Parameters
renderableNew renderable object
attributesAttributes associated with the renderable object

Reimplemented in Ocean::Rendering::GlobalIllumination::GIGeometry, and Ocean::Rendering::GLESceneGraph::GLESGeometry.

◆ attributeSet()

virtual AttributeSetRef Ocean::Rendering::Geometry::attributeSet ( const unsigned int  index) const
virtual

Returns an attribute set connected with a renderable object specified by the index.

Parameters
indexIndex of the renderable object to return the attribute set for
Returns
Attribute set object

◆ numberRenderables()

virtual unsigned int Ocean::Rendering::Geometry::numberRenderables ( ) const
virtual

Returns the number of renderable objects connected to this geometry.

Returns
Number of renderable objects

◆ removeRenderable()

virtual void Ocean::Rendering::Geometry::removeRenderable ( const RenderableRef renderable)
virtual

Removes a renderable object connected to this geometry.

Parameters
renderableRenderable object to remove

Reimplemented in Ocean::Rendering::GlobalIllumination::GIGeometry, and Ocean::Rendering::GLESceneGraph::GLESGeometry.

◆ renderable()

virtual RenderableRef Ocean::Rendering::Geometry::renderable ( const unsigned int  index) const
virtual

Returns a specified renderable holds by this geometry object.

Parameters
indexIndex of the renderable object to return
Returns
Renderable object

◆ type()

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

Returns the type of this object.

See also
Object::type().

Reimplemented from Ocean::Rendering::Object.

Field Documentation

◆ geometryRenderables

Renderables Ocean::Rendering::Geometry::geometryRenderables
protected

Renderables object connected to this geometry.


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