Ocean
GIAttributeSet.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_GI_ATTRIBUTE_SET_H
9 #define META_OCEAN_RENDERING_GI_ATTRIBUTE_SET_H
10 
15 
17 
21 
22 namespace Ocean
23 {
24 
25 namespace Rendering
26 {
27 
28 namespace GlobalIllumination
29 {
30 
31 /**
32  * This class implements a Global Illumination attribute set object.
33  * @ingroup renderinggi
34  */
35 class OCEAN_RENDERING_GI_EXPORT GIAttributeSet :
36  virtual public GIObject,
37  virtual public AttributeSet
38 {
39  friend class GIFactory;
40 
41  public:
42 
43  /**
44  * Adds a new attribute to this attribute set.
45  * @see AttributeSet::addAttribute().
46  */
47  void addAttribute(const AttributeRef& attribute) override;
48 
49  /**
50  * Removes a registered attribute from this attribute ses.
51  * @see AttributeSet::removeAttribute().
52  */
53  void removeAttribute(const AttributeRef& attribute) override;
54 
55  protected:
56 
57  /**
58  * Creates a new Global Illumination attribute set object.
59  */
61 
62  /**
63  * Destructs a Global Illumination attribute set object.
64  */
65  ~GIAttributeSet() override;
66 };
67 
68 }
69 
70 }
71 
72 }
73 
74 #endif // META_OCEAN_RENDERING_GLES_ATTRIBUTE_SET_H
This class is the base class for all attribute set objects.
Definition: AttributeSet.h:43
This class implements a Global Illumination attribute set object.
Definition: GIAttributeSet.h:38
void removeAttribute(const AttributeRef &attribute) override
Removes a registered attribute from this attribute ses.
void addAttribute(const AttributeRef &attribute) override
Adds a new attribute to this attribute set.
GIAttributeSet()
Creates a new Global Illumination attribute set object.
~GIAttributeSet() override
Destructs a Global Illumination attribute set object.
This class implements a class factory for all Global Illumination objects.
Definition: GIFactory.h:30
This class is the base class for all Global Illumination objects.
Definition: GIObject.h:29
This class implements a smart rendering object reference.
Definition: rendering/ObjectRef.h:34
The namespace covering the entire Ocean framework.
Definition: Accessor.h:15