Ocean
Renderable.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) Meta Platforms, Inc. and affiliates.
3  *
4  * This source code is licensed under the MIT license found in the
5  * LICENSE file in the root directory of this source tree.
6  */
7 
8 #ifndef META_OCEAN_RENDERING_RENDERABLE_H
9 #define META_OCEAN_RENDERING_RENDERABLE_H
10 
12 #include "ocean/rendering/Object.h"
14 
15 namespace Ocean
16 {
17 
18 namespace Rendering
19 {
20 
21 // Forward declaration
22 class Renderable;
23 
24 /**
25  * Definition of a smart object reference holding a renderable node.
26  * @see SmartObjectRef, Renderable.
27  * @ingroup rendering
28  */
30 
31 /**
32  * This class is the base class for all renderable objects.
33  * Renderable objects can be combined with different appearance attributes and then added to a geometry node.<br>
34  * @see Geometry, AttributeSet
35  * @ingroup rendering
36  */
37 class OCEAN_RENDERING_EXPORT Renderable : virtual public Object
38 {
39  public:
40 
41  /**
42  * Returns the type of this object.
43  * @see Object::type().
44  */
45  ObjectType type() const override;
46 
47  protected:
48 
49  /**
50  * Creates a new renderable object.
51  */
53 
54  /**
55  * Destructs a renderable object.
56  */
57  ~Renderable() override;
58 };
59 
60 }
61 
62 }
63 
64 #endif // META_OCEAN_RENDERING_RENDERABLE_H
This class is the base class for all rendering objects.
Definition: Object.h:54
ObjectType
Definition of different object type.
Definition: Object.h:63
This class is the base class for all renderable objects.
Definition: Renderable.h:38
~Renderable() override
Destructs a renderable object.
Renderable()
Creates a new renderable object.
ObjectType type() const override
Returns the type of this object.
This class implements a smart rendering object reference.
Definition: rendering/ObjectRef.h:34
SmartObjectRef< Renderable > RenderableRef
Definition of a smart object reference holding a renderable node.
Definition: Renderable.h:22
The namespace covering the entire Ocean framework.
Definition: Accessor.h:15