Ocean
|
This class is the base class for all rendering objects. More...
Public Member Functions | |
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... | |
virtual ObjectType | type () const |
Returns the type of this object. 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... | |
Static Public Member Functions | |
static std::string | translateObjectType (const ObjectType objectType) |
Translates an object type to a readable string. More... | |
Protected Member Functions | |
Object () | |
Creates a new object. More... | |
Object (const Object &object)=delete | |
Disabled copy constructor. More... | |
virtual | ~Object () |
Destructs an object. More... | |
Engine & | engine () 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... | |
Object & | operator= (const Object &object)=delete |
Disabled copy operator. More... | |
Protected Attributes | |
Lock | objectLock |
Lock for the object. More... | |
Private Attributes | |
ObjectId | objectId |
Unique object id. More... | |
std::string | objectName |
Object name. More... | |
ObjectIdMap | objectParents |
Object ids of parent objects. More... | |
Friends | |
class | Ocean::ObjectRef< Object > |
This class is the base class for all rendering objects.
typedef std::unordered_map<ObjectId, unsigned int> Ocean::Rendering::Object::ObjectIdMap |
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::GLESText, and Ocean::Rendering::GLESceneGraph::GLESMediaTexture2D.
|
protected |
Returns the render engine which is owner of this object.
|
pure virtual |
Returns the name of the owner engine.
Implemented in Ocean::Rendering::GlobalIllumination::GIObject, and Ocean::Rendering::GLESceneGraph::GLESObject.
|
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::WindowFramebuffer, Ocean::Rendering::View, Ocean::Rendering::VertexSet, Ocean::Rendering::UndistortedBackground, Ocean::Rendering::TriangleStrips, Ocean::Rendering::Triangles, Ocean::Rendering::TriangleFans, Ocean::Rendering::Transform, Ocean::Rendering::Textures, Ocean::Rendering::TextureFramebuffer, Ocean::Rendering::Texture2D, Ocean::Rendering::Texture, Ocean::Rendering::Text, Ocean::Rendering::Switch, Ocean::Rendering::StripPrimitive, Ocean::Rendering::StereoView, Ocean::Rendering::StereoAttribute, Ocean::Rendering::SpotLight, Ocean::Rendering::Sphere, Ocean::Rendering::SkyBackground, Ocean::Rendering::Shape, Ocean::Rendering::ShaderProgram, Ocean::Rendering::Scene, Ocean::Rendering::Renderable, Ocean::Rendering::QuadStrips, Ocean::Rendering::Quads, Ocean::Rendering::PrimitiveAttribute, Ocean::Rendering::Primitive, Ocean::Rendering::Points, Ocean::Rendering::PointLight, Ocean::Rendering::PhantomAttribute, Ocean::Rendering::PerspectiveView, Ocean::Rendering::ParallelView, Ocean::Rendering::Node, Ocean::Rendering::MediaTexture2D, Ocean::Rendering::Material, Ocean::Rendering::LOD, Ocean::Rendering::LineStrips, Ocean::Rendering::Lines, Ocean::Rendering::LightSource, Ocean::Rendering::IndependentPrimitive, Ocean::Rendering::Group, Ocean::Rendering::GlobalIllumination::GISphere, Ocean::Rendering::GlobalIllumination::GICylinder, Ocean::Rendering::GlobalIllumination::GICone, Ocean::Rendering::GlobalIllumination::GIBox, Ocean::Rendering::GLESceneGraph::GLESText, Ocean::Rendering::GLESceneGraph::GLESSphere, Ocean::Rendering::GLESceneGraph::GLESCylinder, Ocean::Rendering::GLESceneGraph::GLESCone, Ocean::Rendering::GLESceneGraph::GLESBox, Ocean::Rendering::Geometry, Ocean::Rendering::FrameTexture2D, Ocean::Rendering::Framebuffer, Ocean::Rendering::DirectionalLight, Ocean::Rendering::DepthAttribute, Ocean::Rendering::Cylinder, Ocean::Rendering::Cone, Ocean::Rendering::Box, Ocean::Rendering::BlendAttribute, Ocean::Rendering::BitmapFramebuffer, Ocean::Rendering::Billboard, Ocean::Rendering::Background, Ocean::Rendering::AttributeSet, Ocean::Rendering::Attribute, and Ocean::Rendering::AbsoluteTransform.
|
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.