Ocean
LineStrips.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_LINE_STRIPS_H
9 #define META_OCEAN_RENDERING_LINE_STRIPS_H
10 
13 
14 namespace Ocean
15 {
16 
17 namespace Rendering
18 {
19 
20 // Forward declaration
21 class LineStrips;
22 
23 /**
24  * Definition of a smart object reference holding a line strips node.
25  * @see SmartObjectRef, LineStrips.
26  * @ingroup rendering
27  */
29 
30 /**
31  * This class is the base for all rendering line strips.
32  * @ingroup rendering
33  */
34 class OCEAN_RENDERING_EXPORT LineStrips : virtual public StripPrimitive
35 {
36  public:
37 
38  /**
39  * Returns the type of this object.
40  * @see Object::type().
41  */
42  ObjectType type() const override;
43 
44  /**
45  * Returns the width (thickness ) in pixels at which all lines will be rendered
46  * @return The width of all lines, in pixels, with range [1, infinity)
47  * @exception NotSupportedException Is thrown if this function is not supported
48  */
49  virtual Scalar lineWidth() const;
50 
51  /**
52  * Sets the width (thickness) in pixels at which all lines will be rendered.
53  * @param width The width of all lines, in pixels, with range [1, infinity)
54  * @exception NotSupportedException Is thrown if this function is not supported
55  */
56  virtual void setLineWidth(const Scalar width);
57 
58  protected:
59 
60  /**
61  * Creates a new line strips object.
62  */
64 
65  /**
66  * Destructs a line strips object.
67  */
68  ~LineStrips() override;
69 };
70 
71 }
72 
73 }
74 
75 #endif // META_OCEAN_RENDERING_LINE_STRIPS_H
This class is the base for all rendering line strips.
Definition: LineStrips.h:35
LineStrips()
Creates a new line strips object.
virtual Scalar lineWidth() const
Returns the width (thickness ) in pixels at which all lines will be rendered.
ObjectType type() const override
Returns the type of this object.
~LineStrips() override
Destructs a line strips object.
virtual void setLineWidth(const Scalar width)
Sets the width (thickness) in pixels at which all lines will be rendered.
ObjectType
Definition of different object type.
Definition: Object.h:63
This class implements a smart rendering object reference.
Definition: rendering/ObjectRef.h:34
This class is the base class for all primitive with strip organization.
Definition: StripPrimitive.h:35
float Scalar
Definition of a scalar type.
Definition: Math.h:128
SmartObjectRef< LineStrips > LineStripsRef
Definition of a smart object reference holding a line strips node.
Definition: LineStrips.h:21
The namespace covering the entire Ocean framework.
Definition: Accessor.h:15