|
Ocean
|
This class is the base class for all rendering objects. More...
#include <Object.h>
Public Member Functions | |
| ObjectId | id () const |
| Returns the unique object id of this object. | |
| const std::string & | name () const |
| Returns the name of this object. | |
| virtual void | setName (const std::string &name) |
| Sets or changes the name of this object. | |
| virtual const std::string & | engineName () const =0 |
| Returns the name of the owner engine. | |
| virtual ObjectType | type () const |
| Returns the type of this object. | |
| ObjectRefs | parentObjects () const |
| Returns all parent objects. | |
| ObjectRefSet | parentNodes () const |
| Returns all parent nodes. | |
| virtual std::string | descriptiveInformation () const |
| Returns descriptive information about the object as string. | |
Static Public Member Functions | |
| static std::string | translateObjectType (const ObjectType objectType) |
| Translates an object type to a readable string. | |
Protected Member Functions | |
| Object () | |
| Creates a new object. | |
| Object (const Object &object)=delete | |
| Disabled copy constructor. | |
| virtual | ~Object () |
| Destructs an object. | |
| Engine & | engine () const |
| Returns the render engine which is owner of this object. | |
| void | registerParent (const ObjectId parentId) |
| Registers a parent node for this (child) node. | |
| void | unregisterParent (const ObjectId parentId) |
| Unregisters a parent node for this (child) node. | |
| void | registerThisObjectAsParent (const ObjectRef &child) |
| Registers this object at a child as parent object. | |
| void | unregisterThisObjectAsParent (const ObjectRef &child) |
| Unregisters this object from a child as parent. | |
| Object & | operator= (const Object &object)=delete |
| Disabled copy operator. | |
Protected Attributes | |
| Lock | objectLock |
| Lock for the object. | |
Private Attributes | |
| ObjectId | objectId |
| Unique object id. | |
| std::string | objectName |
| Object name. | |
| ObjectIdMap | objectParents |
| Object ids of parent objects. | |
Friends | |
| class | Ocean::ObjectRef< Object > |
This class is the base class for all rendering objects.
| using Ocean::Rendering::Object::ObjectIdMap = std::unordered_map<ObjectId, unsigned int> |
Definition of a map holding object ids to reference counters.
Definition of different object type.
| Enumerator | |
|---|---|
| TYPE_UNKNOWN | Unknown type. |
| TYPE_ABSOLUTE_TRANSFORM | Absolute transform type. |
| TYPE_ATTRIBUTE | Attribute type. |
| TYPE_ATTRIBUTE_SET | AttributeSet type. |
| TYPE_BACKGROUND | Background type. |
| TYPE_BILLBOARD | Billboard type. |
| TYPE_BITMAP_FRAMEBUFFER | BitmapFramebuffer type. |
| TYPE_BLEND_ATTRIBUTE | BlendAttribute type. |
| TYPE_BOX | Box type. |
| TYPE_CONE | Cone type. |
| TYPE_CYLINDER | Cylinder type. |
| TYPE_DEPTH_ATTRIBUTE | DepthAttribute type. |
| TYPE_DIRECTIONAL_LIGHT | DirectionalLight type. |
| TYPE_FRAMEBUFFER | Framebuffer type. |
| TYPE_FRAME_TEXTURE_2D | FrameTexture2D type. |
| TYPE_GEOMETRY | Geometry type. |
| TYPE_GROUP | Group type. |
| TYPE_INDEPENDENT_PRIMITIVE | IndependentPrimitive type. |
| TYPE_LIGHT_SOURCE | LightSource type. |
| TYPE_LINES | Lines type. |
| TYPE_LINE_STRIPS | Line strips type. |
| TYPE_LOD | LOD type. |
| TYPE_MATERIAL | Material type. |
| TYPE_NODE | Node type. |
| TYPE_OBJECT | Object type. |
| TYPE_PARALLEL_VIEW | ParallelView type. |
| TYPE_PERSPECTIVE_VIEW | PerspectiveView type. |
| TYPE_PHANTOM_ATTRIBUTE | PhantomAttribute type. |
| TYPE_POINT_LIGHT | PointLight type. |
| TYPE_POINTS | Points type. |
| TYPE_PRIMITIVE | Primitive type. |
| TYPE_PRIMITIVE_ATTRIBUTE | PrimitiveAttribute type. |
| TYPE_QUAD_STRIPS | QuadStrips type. |
| TYPE_QUADS | Quads type. |
| TYPE_RENDERABLE | Renderable type. |
| TYPE_SCENE | Scene type. |
| TYPE_SHADER_PROGRAM | ShaderProgram type. |
| TYPE_SHAPE | Shape type. |
| TYPE_SKY_BACKGROUND | SkyBackground type. |
| TYPE_SPHERE | Sphere type. |
| TYPE_SPOT_LIGHT | SpotLight type. |
| TYPE_STEREO_ATTRIBUTE | StereoAttribute type. |
| TYPE_STEREO_VIEW | StereoView type. |
| TYPE_STRIP_PRIMITIVE | StripPrimitive type. |
| TYPE_SWITCH | Switch type. |
| TYPE_TEXT | Text type. |
| TYPE_TEXTURE | Texture type. |
| TYPE_TEXTURE_2D | Texture2D type. |
| TYPE_MEDIA_TEXTURE_2D | MediaTexture2D type. |
| TYPE_TEXTURE_FRAMEBUFFER | TextureFramebuffer type. |
| TYPE_TEXTURES | Textures type. |
| TYPE_TRANSFORM | Transform type. |
| TYPE_TRIANGLE_FANS | TriangleFans type. |
| TYPE_TRIANGLES | Triangles type. |
| TYPE_TRIANGLE_STRIPS | TriangleStrips type. |
| TYPE_UNDISTORTED_BACKGROUND | UndistortedBackground type. |
| TYPE_VERTEX_SET | VertexSet type. |
| TYPE_VIEW | View type. |
| TYPE_WINDOW_FRAMEBUFFER | WindowFramebuffer type. |
|
protected |
Creates a new object.
|
protecteddelete |
Disabled copy constructor.
| object | Object which would be copied |
|
protectedvirtual |
Destructs an object.
|
virtual |
Returns descriptive information about the object as string.
The descriptive information can be used during debugging.
Reimplemented in Ocean::Rendering::GLESceneGraph::GLESMediaTexture2D, and Ocean::Rendering::GLESceneGraph::GLESText.
|
protected |
Returns the render engine which is owner of this object.
|
pure virtual |
Returns the name of the owner engine.
Implemented in Ocean::Rendering::GLESceneGraph::GLESObject, and Ocean::Rendering::GlobalIllumination::GIObject.
|
inline |
Returns the unique object id of this object.
|
inline |
Returns the name of this object.
Disabled copy operator.
| object | Object which would be copied |
| ObjectRefSet Ocean::Rendering::Object::parentNodes | ( | ) | const |
Returns all parent nodes.
| ObjectRefs Ocean::Rendering::Object::parentObjects | ( | ) | const |
Returns all parent objects.
|
inlineprotected |
Registers a parent node for this (child) node.
| parentId | Id of the parent node to register |
|
protected |
Registers this object at a child as parent object.
| child | New child object for this object |
|
virtual |
Sets or changes the name of this object.
| name | New object name |
|
static |
Translates an object type to a readable string.
| objectType | The object type to translate |
|
virtual |
Returns the type of this object.
Reimplemented in Ocean::Rendering::AbsoluteTransform, Ocean::Rendering::Attribute, Ocean::Rendering::AttributeSet, Ocean::Rendering::Background, Ocean::Rendering::Billboard, Ocean::Rendering::BitmapFramebuffer, Ocean::Rendering::BlendAttribute, Ocean::Rendering::Box, Ocean::Rendering::Cone, Ocean::Rendering::Cylinder, Ocean::Rendering::DepthAttribute, Ocean::Rendering::DirectionalLight, Ocean::Rendering::Framebuffer, Ocean::Rendering::FrameTexture2D, Ocean::Rendering::Geometry, Ocean::Rendering::GLESceneGraph::GLESBox, Ocean::Rendering::GLESceneGraph::GLESCone, Ocean::Rendering::GLESceneGraph::GLESCylinder, Ocean::Rendering::GLESceneGraph::GLESSphere, Ocean::Rendering::GLESceneGraph::GLESText, Ocean::Rendering::GlobalIllumination::GIBox, Ocean::Rendering::GlobalIllumination::GICone, Ocean::Rendering::GlobalIllumination::GICylinder, Ocean::Rendering::GlobalIllumination::GISphere, Ocean::Rendering::Group, Ocean::Rendering::IndependentPrimitive, Ocean::Rendering::LightSource, Ocean::Rendering::Lines, Ocean::Rendering::LineStrips, Ocean::Rendering::LOD, Ocean::Rendering::Material, Ocean::Rendering::MediaTexture2D, Ocean::Rendering::Node, Ocean::Rendering::ParallelView, Ocean::Rendering::PerspectiveView, Ocean::Rendering::PhantomAttribute, Ocean::Rendering::PointLight, Ocean::Rendering::Points, Ocean::Rendering::Primitive, Ocean::Rendering::PrimitiveAttribute, Ocean::Rendering::Quads, Ocean::Rendering::QuadStrips, Ocean::Rendering::Renderable, Ocean::Rendering::Scene, Ocean::Rendering::ShaderProgram, Ocean::Rendering::Shape, Ocean::Rendering::SkyBackground, Ocean::Rendering::Sphere, Ocean::Rendering::SpotLight, Ocean::Rendering::StereoAttribute, Ocean::Rendering::StereoView, Ocean::Rendering::StripPrimitive, Ocean::Rendering::Switch, Ocean::Rendering::Text, Ocean::Rendering::Texture, Ocean::Rendering::Texture2D, Ocean::Rendering::TextureFramebuffer, Ocean::Rendering::Textures, Ocean::Rendering::Transform, Ocean::Rendering::TriangleFans, Ocean::Rendering::Triangles, Ocean::Rendering::TriangleStrips, Ocean::Rendering::UndistortedBackground, Ocean::Rendering::VertexSet, Ocean::Rendering::View, and Ocean::Rendering::WindowFramebuffer.
|
inlineprotected |
Unregisters a parent node for this (child) node.
| parentId | Id of the parent node to unregister |
|
protected |
Unregisters this object from a child as parent.
| child | Child object to unregister |
|
friend |
|
private |
Unique object id.
|
private |
Object name.
|
private |
Object ids of parent objects.