Ocean
rendering/Shape.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_SHAPE_H
9 #define META_OCEAN_RENDERING_SHAPE_H
10 
13 
14 namespace Ocean
15 {
16 
17 namespace Rendering
18 {
19 
20 // Forward declaration
21 class Shape;
22 
23 /**
24  * Definition of a smart object reference holding a shape.
25  * @see SmartObjectRef, Shape.
26  * @ingroup rendering
27  */
29 
30 /**
31  * This class is the base class for all geometries.
32  * @ingroup rendering
33  */
34 class OCEAN_RENDERING_EXPORT Shape : virtual public Renderable
35 {
36  public:
37 
38  /**
39  * Returns the type of this object.
40  * @see Object::type().
41  */
42  ObjectType type() const override;
43 
44  protected:
45 
46  /**
47  * Creates a new shape node.
48  */
49  Shape();
50 
51  /**
52  * Destructs a shape node.
53  */
54  ~Shape() override;
55 };
56 
57 }
58 
59 }
60 
61 #endif // META_OCEAN_RENDERING_GEOMETRY_H
ObjectType
Definition of different object type.
Definition: Object.h:63
This class is the base class for all renderable objects.
Definition: Renderable.h:38
This class is the base class for all geometries.
Definition: rendering/Shape.h:35
Shape()
Creates a new shape node.
ObjectType type() const override
Returns the type of this object.
~Shape() override
Destructs a shape node.
This class implements a smart rendering object reference.
Definition: rendering/ObjectRef.h:34
SmartObjectRef< Shape > ShapeRef
Definition of a smart object reference holding a shape.
Definition: rendering/Shape.h:21
The namespace covering the entire Ocean framework.
Definition: Accessor.h:15