Ocean
Ocean::Rendering::UndistortedBackground Class Referenceabstract

This class is the base class for all undistorted backgrounds. More...

Inheritance diagram for Ocean::Rendering::UndistortedBackground:

Public Types

enum  DisplayType { DT_FASTEST , DT_UNDISTORTED }
 Definition of different distortion display types. 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 const Media::FrameMediumRefmedium () const
 Returns the image source used as background image. More...
 
virtual const PinholeCameracamera () const
 Returns the camera object related to the background image. More...
 
virtual DisplayType displayType () const
 Returns the display type of this background object. More...
 
bool setDistance (const Scalar distance) override
 Sets the distance between viewer and background. More...
 
virtual void setMedium (const Media::FrameMediumRef &medium)
 Sets the image source for the undistorted background. More...
 
virtual bool setDisplayType (const DisplayType type)
 Sets the display type of this background object. More...
 
ObjectType type () const override
 Returns the type of this object. More...
 
- Public Member Functions inherited from Ocean::Rendering::Background
virtual Scalar distance () const
 Returns the distance between the world coordinate system and the background object. More...
 
virtual Vector3 position () const
 Returns the position used for this background. More...
 
virtual Quaternion orientation () const
 Returns the orientation used for this background. More...
 
virtual void setPosition (const Vector3 &position)
 Sets the position used for this background. More...
 
virtual void setOrientation (const Quaternion &orientation)
 Sets the orientation used for this background. More...
 
- Public Member Functions inherited from Ocean::Rendering::Node
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

 UndistortedBackground ()
 Creates an undistorted background object. More...
 
 ~UndistortedBackground () override
 Destructs an undistorted background object. More...
 
void onDynamicUpdate (const ViewRef &view, const Timestamp timestamp) override
 Update function called by the framebuffer. More...
 
virtual void onMediumCameraChanged (const Timestamp timestamp)=0
 Event function if the camera of the used medium has changed. More...
 
- Protected Member Functions inherited from Ocean::Rendering::Background
 Background ()
 Creates a new background object. More...
 
 ~Background () override
 Destructs a background 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 Member Functions inherited from Ocean::Rendering::DynamicObject
 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...
 

Protected Attributes

Media::FrameMediumRef medium_
 Frame medium object providing the image data for the background. More...
 
PinholeCamera mediumCamera_
 The camera profile of the medium for the last update timestamp. More...
 
bool cameraChanged_ = false
 True, if the camera has changed since the last update. More...
 
MediaTexture2DRef texture_
 2D texture object holding the background image. More...
 
- Protected Attributes inherited from Ocean::Rendering::Background
Scalar backgroundDistance
 Background distance;. 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 undistorted backgrounds.


The undistorted background uses a frame medium object as background image
and uses corresponding camera calibration parameters for correct visualization.

See also
FrameMedium, PinholeCamera, CameraCalibrationManager

Member Enumeration Documentation

◆ DisplayType

Definition of different distortion display types.

Enumerator
DT_FASTEST 

Fastest display type.

DT_UNDISTORTED 

Undistorted display type.

Constructor & Destructor Documentation

◆ UndistortedBackground()

Ocean::Rendering::UndistortedBackground::UndistortedBackground ( )
protected

Creates an undistorted background object.

◆ ~UndistortedBackground()

Ocean::Rendering::UndistortedBackground::~UndistortedBackground ( )
overrideprotected

Destructs an undistorted background object.

Member Function Documentation

◆ camera()

virtual const PinholeCamera& Ocean::Rendering::UndistortedBackground::camera ( ) const
virtual

Returns the camera object related to the background image.

Returns
Current camera object

◆ displayType()

virtual DisplayType Ocean::Rendering::UndistortedBackground::displayType ( ) const
virtual

Returns the display type of this background object.

Default is DT_FASTEST.

Returns
Distortion display type
Exceptions
NotSupportedExceptionIs thrown if this function is not supported

◆ medium()

virtual const Media::FrameMediumRef& Ocean::Rendering::UndistortedBackground::medium ( ) const
virtual

Returns the image source used as background image.

Returns
Frame medium background object

◆ onDynamicUpdate()

void Ocean::Rendering::UndistortedBackground::onDynamicUpdate ( const ViewRef view,
const Timestamp  timestamp 
)
overrideprotectedvirtual

Update function called by the framebuffer.

See also
DynamicObject::onDynamicUpdate().

Implements Ocean::Rendering::DynamicObject.

◆ onMediumCameraChanged()

virtual void Ocean::Rendering::UndistortedBackground::onMediumCameraChanged ( const Timestamp  timestamp)
protectedpure virtual

Event function if the camera of the used medium has changed.

Parameters
timestampEvent timestamp

Implemented in Ocean::Rendering::GLESceneGraph::GLESUndistortedBackground.

◆ setDisplayType()

virtual bool Ocean::Rendering::UndistortedBackground::setDisplayType ( const DisplayType  type)
virtual

Sets the display type of this background object.

Parameters
typeDistortion display type to be set
Returns
True, if succceeded
Exceptions
NotSupportedExceptionIs thrown if this function is not supported

Reimplemented in Ocean::Rendering::GLESceneGraph::GLESUndistortedBackground.

◆ setDistance()

bool Ocean::Rendering::UndistortedBackground::setDistance ( const Scalar  distance)
overridevirtual

Sets the distance between viewer and background.

See also
Background::setDistance().

Reimplemented from Ocean::Rendering::Background.

◆ setMedium()

virtual void Ocean::Rendering::UndistortedBackground::setMedium ( const Media::FrameMediumRef medium)
virtual

Sets the image source for the undistorted background.

Parameters
mediumFrame medium providing the background image

◆ type()

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

Returns the type of this object.

See also
Object::type().

Reimplemented from Ocean::Rendering::Background.

Field Documentation

◆ cameraChanged_

bool Ocean::Rendering::UndistortedBackground::cameraChanged_ = false
protected

True, if the camera has changed since the last update.

◆ medium_

Media::FrameMediumRef Ocean::Rendering::UndistortedBackground::medium_
protected

Frame medium object providing the image data for the background.

◆ mediumCamera_

PinholeCamera Ocean::Rendering::UndistortedBackground::mediumCamera_
protected

The camera profile of the medium for the last update timestamp.

◆ texture_

MediaTexture2DRef Ocean::Rendering::UndistortedBackground::texture_
protected

2D texture object holding the background image.


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