Ocean
Ocean::Rendering::AbsoluteTransform Class Referenceabstract

This class is the base class for all absolute transform nodes. More...

Inheritance diagram for Ocean::Rendering::AbsoluteTransform:

Public Types

enum  TransformationType { TT_NONE , TT_VIEW , TT_HEAD_UP }
 Defines different transformation 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 TransformationType transformationType () const
 Returns the current transfomation type. More...
 
virtual Vector2 headUpRelativePosition () const
 Returns the relative screen position of the head-up node. More...
 
virtual HomogenousMatrix4 transformation () const =0
 Returns the transformation which is applied on top of the absolute transformation. More...
 
virtual bool setTransformationType (const TransformationType type)
 Sets or changes the transfomation type. More...
 
virtual bool setHeadUpRelativePosition (const Vector2 &position)
 Sets the relative screen position of the head-up node. More...
 
virtual void setTransformation (const HomogenousMatrix4 &absolute_T_children)=0
 Sets an additional transformation which is applied on top of the absolute transformation. More...
 
ObjectType type () const override
 Returns the type of this object. More...
 
- Public Member Functions inherited from Ocean::Rendering::Group
virtual void addChild (const NodeRef &node)
 Adds a new child node to this group. More...
 
virtual void registerLight (const LightSourceRef &light)
 Registers a light lighting all childs of this group node. More...
 
virtual unsigned int numberChildren () const
 Returns the number of child nodes connected to this group. More...
 
virtual NodeRef child (const unsigned int index) const
 Returns a specific child node defined by it's index. More...
 
virtual void removeChild (const NodeRef &node)
 Removes a child node connected to this group. More...
 
virtual void unregisterLight (const LightSourceRef &light)
 Unregisters a light. More...
 
virtual void clear ()
 Removes all child nodes connected to this group. 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 Member Functions

 AbsoluteTransform ()
 Creates a new absolute transform node. More...
 
 ~AbsoluteTransform () override
 Destructs an absolute transform node. More...
 
- Protected Member Functions inherited from Ocean::Rendering::Group
 Group ()
 Creates a new group object. More...
 
 ~Group () override
 Destructs a group 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...
 

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...
 
- Protected Types inherited from Ocean::Rendering::Group
typedef std::vector< NodeRefNodes
 Definition of a vector holding node objects. More...
 
typedef std::set< LightSourceRefLightSet
 Definition of a set holding light objects. More...
 
- Protected Attributes inherited from Ocean::Rendering::Group
Nodes groupNodes
 Child nodes connected to this group. More...
 
LightSet groupLights
 Set holding all lights lighting object in this group. 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 absolute transform nodes.

An absolute transformation provides an own and explicit transformation independent form parent nodes.

Member Enumeration Documentation

◆ TransformationType

Defines different transformation types.

Enumerator
TT_NONE 

Transformation with no explicit absolute coordinate system.

TT_VIEW 

Transformation which is defined in relation to the view.

TT_HEAD_UP 

Transformation providing an explicit coordinate system for head-up objects.

Constructor & Destructor Documentation

◆ AbsoluteTransform()

Ocean::Rendering::AbsoluteTransform::AbsoluteTransform ( )
protected

Creates a new absolute transform node.

◆ ~AbsoluteTransform()

Ocean::Rendering::AbsoluteTransform::~AbsoluteTransform ( )
overrideprotected

Destructs an absolute transform node.

Member Function Documentation

◆ headUpRelativePosition()

virtual Vector2 Ocean::Rendering::AbsoluteTransform::headUpRelativePosition ( ) const
virtual

Returns the relative screen position of the head-up node.

The default value is (0.5, 0.5)

Returns
Relative screen position, with range [0.0, 1.0] for each axis, -1.0 neglects this definition
Exceptions
NotSupportedExceptionIs thrown if this function is not supported
See also
setHeadUpRelativePosition().

Reimplemented in Ocean::Rendering::GLESceneGraph::GLESAbsoluteTransform.

◆ setHeadUpRelativePosition()

virtual bool Ocean::Rendering::AbsoluteTransform::setHeadUpRelativePosition ( const Vector2 position)
virtual

Sets the relative screen position of the head-up node.

Parameters
positionRelative screen position, with range [0.0, 1.0] for each axis, -1.0 neglects this definition
Returns
True, if succeeded
Exceptions
NotSupportedExceptionIs thrown if this function is not supported
See also
headUpRelativePosition().

Reimplemented in Ocean::Rendering::GLESceneGraph::GLESAbsoluteTransform.

◆ setTransformation()

virtual void Ocean::Rendering::AbsoluteTransform::setTransformation ( const HomogenousMatrix4 absolute_T_children)
pure virtual

Sets an additional transformation which is applied on top of the absolute transformation.

Parameters
absolute_T_childrenThe transformation between all child nodes and the absolute transformation, must be valid

Implemented in Ocean::Rendering::GLESceneGraph::GLESAbsoluteTransform.

◆ setTransformationType()

virtual bool Ocean::Rendering::AbsoluteTransform::setTransformationType ( const TransformationType  type)
virtual

Sets or changes the transfomation type.

Default is TT_NONE.

Parameters
typeTransformation type to set
Returns
True, if succeeded
Exceptions
NotSupportedExceptionIs thrown if this function is not supported

Reimplemented in Ocean::Rendering::GLESceneGraph::GLESAbsoluteTransform.

◆ transformation()

virtual HomogenousMatrix4 Ocean::Rendering::AbsoluteTransform::transformation ( ) const
pure virtual

Returns the transformation which is applied on top of the absolute transformation.

Returns
The transformation between all child nodes and the absolute transformation (absolute_T_children)

Implemented in Ocean::Rendering::GLESceneGraph::GLESAbsoluteTransform.

◆ transformationType()

virtual TransformationType Ocean::Rendering::AbsoluteTransform::transformationType ( ) const
virtual

Returns the current transfomation type.

Default is TT_NONE.

Returns
Transformation type
Exceptions
NotSupportedExceptionIs thrown if this function is not supported

Reimplemented in Ocean::Rendering::GLESceneGraph::GLESAbsoluteTransform.

◆ type()

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

Returns the type of this object.

See also
Object::type().

Reimplemented from Ocean::Rendering::Object.


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