Ocean
Ocean::Rendering::View Class Reference

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

Inheritance diagram for Ocean::Rendering::View:

Public Types

typedef std::vector< BackgroundRefBackgrounds
 Definition of a vector holding background objects. More...
 
- 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

virtual Scalar aspectRatio () const
 Returns the aspect ratio of this view. More...
 
virtual Scalar nearDistance () const
 Returns the distance to the near clipping plane. More...
 
virtual Scalar farDistance () const
 Returns the distance to the far clipping plane. More...
 
virtual HomogenousMatrix4 transformation () const
 Returns the transformation between view and world (the extrinsic camera data, the inverse of the known View Matrix). More...
 
virtual SquareMatrix4 projectionMatrix () const
 Returns the projection matrix of this view. More...
 
virtual RGBAColor backgroundColor () const
 Returns the background color of the view. More...
 
virtual BackgroundRef background () const
 Returns the currently used background of the view. More...
 
virtual Backgrounds backgrounds () const
 Returns all defined background objects. More...
 
virtual bool useHeadlight () const
 Returns whether the head light is enabled. More...
 
virtual PhantomAttribute::PhantomMode phantomMode () const
 Returns the phantom mode of this view. More...
 
virtual Line3 viewingRay (const Scalar x, const Scalar y, const unsigned int width, const unsigned int height) const
 Returns a viewing ray into the scene. More...
 
virtual bool setAspectRatio (const Scalar aspectRatio)
 Sets the aspect ratio of this view. More...
 
virtual bool setNearDistance (const Scalar distance)
 Sets the distance to the near clipping plane. More...
 
virtual bool setFarDistance (const Scalar distance)
 Sets the distance to the far clipping plane. More...
 
virtual bool setNearFarDistance (const Scalar nearDistance, const Scalar farDistance)
 Sets the distance to the near and far clipping plane. More...
 
virtual void setTransformation (const HomogenousMatrix4 &world_T_view)
 Sets the position and orientation of the view in world coordinates (the extrinsic camera data, the inverse of the known View Matrix). More...
 
virtual bool setBackgroundColor (const RGBAColor &color)
 Sets the background color of the view. More...
 
virtual void addBackground (const BackgroundRef &background)
 Adds a new background object to the background stack of the view. More...
 
virtual void removeBackground (const BackgroundRef &background)
 Removes a background object from the background stack of this view. More...
 
virtual void setUseHeadlight (const bool state)
 Sets whether the headlight should be activated. More...
 
virtual bool setPhantomMode (const PhantomAttribute::PhantomMode mode)
 Sets the phantom mode of this view. More...
 
virtual void fitCamera (const NodeRef &node=NodeRef())
 Fits the camera to a given node. More...
 
ObjectType type () const override
 Returns the type of this object. 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

 View ()
 Creates a new view object. More...
 
 ~View () override
 Destructs a view object. 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

Backgrounds backgrounds_
 The view's background objects. More...
 
- Protected Attributes inherited from Ocean::Rendering::Object
Lock objectLock
 Lock for the object. More...
 

Additional Inherited Members

- 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 views.

Member Typedef Documentation

◆ Backgrounds

Definition of a vector holding background objects.

Constructor & Destructor Documentation

◆ View()

Ocean::Rendering::View::View ( )
protected

Creates a new view object.

◆ ~View()

Ocean::Rendering::View::~View ( )
overrideprotected

Destructs a view object.

Member Function Documentation

◆ addBackground()

virtual void Ocean::Rendering::View::addBackground ( const BackgroundRef background)
virtual

Adds a new background object to the background stack of the view.

A view can hold more than one background object, however the first background object is used for rendering only.

Parameters
backgroundBackground to add
Exceptions
NotSupportedExceptionIs thrown if this function is not supported
See also
background(), removeBackground(), setBackgroundColor().

◆ aspectRatio()

virtual Scalar Ocean::Rendering::View::aspectRatio ( ) const
virtual

Returns the aspect ratio of this view.

Returns
Ratio between width and height
Exceptions
NotSupportedExceptionIs thrown if this function is not supported
See also
setAspectRatio().

Reimplemented in Ocean::Rendering::GlobalIllumination::GIView, and Ocean::Rendering::GLESceneGraph::GLESView.

◆ background()

virtual BackgroundRef Ocean::Rendering::View::background ( ) const
virtual

Returns the currently used background of the view.

Returns
Background object
See also
backgrounds(), backgroundColor().

◆ backgroundColor()

virtual RGBAColor Ocean::Rendering::View::backgroundColor ( ) const
virtual

Returns the background color of the view.

Returns
Background color
Exceptions
NotSupportedExceptionIs thrown if this function is not supported
See also
background(), backgrounds().

Reimplemented in Ocean::Rendering::GlobalIllumination::GIView, and Ocean::Rendering::GLESceneGraph::GLESView.

◆ backgrounds()

virtual Backgrounds Ocean::Rendering::View::backgrounds ( ) const
virtual

Returns all defined background objects.

A view can hold more than one background object, however only the first background object is used for rendering

Returns
Defined background objects
See also
background(), backgroundColor().

◆ farDistance()

virtual Scalar Ocean::Rendering::View::farDistance ( ) const
virtual

Returns the distance to the far clipping plane.

Returns
Distance to far clipping plane
Exceptions
NotSupportedExceptionIs thrown if this function is not supported
See also
setFarDistance(), nearDistance().

Reimplemented in Ocean::Rendering::GlobalIllumination::GIView, and Ocean::Rendering::GLESceneGraph::GLESView.

◆ fitCamera()

virtual void Ocean::Rendering::View::fitCamera ( const NodeRef node = NodeRef())
virtual

Fits the camera to a given node.

If no node is specified the entire scene world is fitted.

Parameters
nodeNode to fit the camera to
Exceptions
NotSupportedExceptionIs thrown if this function is not supported

Reimplemented in Ocean::Rendering::PerspectiveView.

◆ nearDistance()

virtual Scalar Ocean::Rendering::View::nearDistance ( ) const
virtual

Returns the distance to the near clipping plane.

Returns
Distance to near clipping plane
Exceptions
NotSupportedExceptionIs thrown if this function is not supported
See also
setNearDistance(), farDistance().

Reimplemented in Ocean::Rendering::GlobalIllumination::GIView, and Ocean::Rendering::GLESceneGraph::GLESView.

◆ phantomMode()

virtual PhantomAttribute::PhantomMode Ocean::Rendering::View::phantomMode ( ) const
virtual

Returns the phantom mode of this view.

Returns
Phantom mode
Exceptions
NotSupportedExceptionIs thrown if this function is not supported
See also
setPhantomMode().

Reimplemented in Ocean::Rendering::GLESceneGraph::GLESView.

◆ projectionMatrix()

virtual SquareMatrix4 Ocean::Rendering::View::projectionMatrix ( ) const
virtual

Returns the projection matrix of this view.

Returns
The view's projection matrix, which is clip_T_view
Exceptions
NotSupportedExceptionIs thrown if this function is not supported

Reimplemented in Ocean::Rendering::StereoView, Ocean::Rendering::GlobalIllumination::GIView, Ocean::Rendering::GLESceneGraph::GLESView, and Ocean::Rendering::GLESceneGraph::GLESStereoView.

◆ removeBackground()

virtual void Ocean::Rendering::View::removeBackground ( const BackgroundRef background)
virtual

Removes a background object from the background stack of this view.

If the background to remove is the currently first object in the background stack, the next background object in the queue will be used for rendering.

Parameters
backgroundBackground to remove
Exceptions
NotSupportedExceptionIs thrown if this function is not supported

◆ setAspectRatio()

virtual bool Ocean::Rendering::View::setAspectRatio ( const Scalar  aspectRatio)
virtual

Sets the aspect ratio of this view.

Parameters
aspectRatioThe ratio between width and height, with range (0, infinity)
Returns
True, if succeeded
Exceptions
NotSupportedExceptionIs thrown if this function is not supported
See also
aspectRatio().

Reimplemented in Ocean::Rendering::GlobalIllumination::GIView, and Ocean::Rendering::GLESceneGraph::GLESView.

◆ setBackgroundColor()

virtual bool Ocean::Rendering::View::setBackgroundColor ( const RGBAColor color)
virtual

Sets the background color of the view.

Parameters
colorBackground color to set
Returns
True, if the color is valid and could be set
Exceptions
NotSupportedExceptionIs thrown if this function is not supported
See also
backgroundColor(), addBackground(), removeBackground().

Reimplemented in Ocean::Rendering::GlobalIllumination::GIView, and Ocean::Rendering::GLESceneGraph::GLESView.

◆ setFarDistance()

virtual bool Ocean::Rendering::View::setFarDistance ( const Scalar  distance)
virtual

Sets the distance to the far clipping plane.

Parameters
distanceThe distance to the far clipping plane to set, with range (nearDistance(), infinity)
Returns
True, if succeeded
Exceptions
NotSupportedExceptionIs thrown if this function is not supported
See also
farDistance(), setNearDistance(), setNearFarDistance().

Reimplemented in Ocean::Rendering::GlobalIllumination::GIView, and Ocean::Rendering::GLESceneGraph::GLESView.

◆ setNearDistance()

virtual bool Ocean::Rendering::View::setNearDistance ( const Scalar  distance)
virtual

Sets the distance to the near clipping plane.

Parameters
distanceThe distance to the near clipping plane to set, with range (0, farDistance())
Returns
True, if succeeded
Exceptions
NotSupportedExceptionIs thrown if this function is not supported
See also
nearDistance(), setFarDistance(), setNearFarDistance().

Reimplemented in Ocean::Rendering::GlobalIllumination::GIView, and Ocean::Rendering::GLESceneGraph::GLESView.

◆ setNearFarDistance()

virtual bool Ocean::Rendering::View::setNearFarDistance ( const Scalar  nearDistance,
const Scalar  farDistance 
)
virtual

Sets the distance to the near and far clipping plane.

Parameters
nearDistanceThe distance to the near clipping plane, with range (0, farDistance)
farDistanceThe distance to the far clipping plane to set, with range (nearDistance, infinity)
Returns
True, if succeeded
Exceptions
NotSupportedExceptionIs thrown if this function is not supported
See also
farDistance(), setNearDistance().

Reimplemented in Ocean::Rendering::GlobalIllumination::GIView, and Ocean::Rendering::GLESceneGraph::GLESView.

◆ setPhantomMode()

virtual bool Ocean::Rendering::View::setPhantomMode ( const PhantomAttribute::PhantomMode  mode)
virtual

Sets the phantom mode of this view.

Parameters
modePhantom mode to be set
Returns
True, if succeeded
Exceptions
NotSupportedExceptionIs thrown if this function is not supported
See also
phantomMode().

Reimplemented in Ocean::Rendering::GLESceneGraph::GLESView.

◆ setTransformation()

virtual void Ocean::Rendering::View::setTransformation ( const HomogenousMatrix4 world_T_view)
virtual

Sets the position and orientation of the view in world coordinates (the extrinsic camera data, the inverse of the known View Matrix).

Parameters
world_T_viewThe transformation converting the view to world, must be valid
Exceptions
NotSupportedExceptionIs thrown if this function is not supported
See also
transformation().

Reimplemented in Ocean::Rendering::StereoView, Ocean::Rendering::GLESceneGraph::GLESStereoView, Ocean::Rendering::GlobalIllumination::GIView, and Ocean::Rendering::GLESceneGraph::GLESView.

◆ setUseHeadlight()

virtual void Ocean::Rendering::View::setUseHeadlight ( const bool  state)
virtual

Sets whether the headlight should be activated.

Parameters
stateTrue, to activate the headlight
Exceptions
NotSupportedExceptionIs thrown if this function is not supported
See also
useHeadlight().

Reimplemented in Ocean::Rendering::GlobalIllumination::GIView, and Ocean::Rendering::GLESceneGraph::GLESView.

◆ transformation()

virtual HomogenousMatrix4 Ocean::Rendering::View::transformation ( ) const
virtual

Returns the transformation between view and world (the extrinsic camera data, the inverse of the known View Matrix).

Returns
The view's transformation, which is world_T_view
Exceptions
NotSupportedExceptionIs thrown if this function is not supported
See also
setTransformation().

Reimplemented in Ocean::Rendering::StereoView, Ocean::Rendering::GlobalIllumination::GIView, Ocean::Rendering::GLESceneGraph::GLESView, and Ocean::Rendering::GLESceneGraph::GLESStereoView.

◆ type()

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

Returns the type of this object.

See also
Object::type().

Reimplemented from Ocean::Rendering::Object.

◆ useHeadlight()

virtual bool Ocean::Rendering::View::useHeadlight ( ) const
virtual

Returns whether the head light is enabled.

Returns
True, if so
See also
setUseHeadlight().
Exceptions
NotSupportedExceptionIs thrown if this function is not supported

Reimplemented in Ocean::Rendering::GlobalIllumination::GIView, and Ocean::Rendering::GLESceneGraph::GLESView.

◆ viewingRay()

virtual Line3 Ocean::Rendering::View::viewingRay ( const Scalar  x,
const Scalar  y,
const unsigned int  width,
const unsigned int  height 
) const
virtual

Returns a viewing ray into the scene.

The start position is located at the center of projection.

Parameters
xHorizontal position on the projection plane defining the intersection between plane and ray, in pixel
yVertical position on the projection plane defining the intersection between plane and ray, in pixel
widthHorizontal width of the projection plane in pixel
heightVertical height of the projection plane in pixel
Returns
Resulting viewing ray

Reimplemented in Ocean::Rendering::GlobalIllumination::GIPerspectiveView, and Ocean::Rendering::GLESceneGraph::GLESPerspectiveView.

Field Documentation

◆ backgrounds_

Backgrounds Ocean::Rendering::View::backgrounds_
protected

The view's background objects.


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