Ocean
Loading...
Searching...
No Matches
Attribute.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_ATTRIBUTE_H
9#define META_OCEAN_RENDERING_ATTRIBUTE_H
10
14
15namespace Ocean
16{
17
18namespace Rendering
19{
20
21// Forward declaration
22class Attribute;
23
24/**
25 * Definition of a smart object reference holding an attribute.
26 * @see SmartObjectRef, Attribute.
27 * @ingroup rendering
28 */
30
31/**
32 * This class is the base class for all rendering attribute objects.
33 * Attribute objects determine the appearance of geometry nodes like e.g. a material attribute.<br>
34 * It's possible to combine several different attributes to an attribute set and assign that set to a geometry.<br>
35 * @see AttributeSet, BlendAttribute, Material, PrimitiveAttribute, Textures.
36 * @ingroup rendering
37 */
38class OCEAN_RENDERING_EXPORT Attribute : virtual public Object
39{
40 public:
41
42 /**
43 * Returns the type of this object.
44 * @see Object::type().
45 */
46 ObjectType type() const override;
47
48 protected:
49
50 /**
51 * Creates a new attribute object.
52 */
54
55 /**
56 * Destructs an attribute object.
57 */
58 ~Attribute() override;
59};
60
61}
62
63}
64
65#endif // META_OCEAN_RENDERING_ATTRIBUTE_H
This class is the base class for all rendering attribute objects.
Definition Attribute.h:39
~Attribute() override
Destructs an attribute object.
Attribute()
Creates a new attribute object.
ObjectType type() const override
Returns the type of this object.
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 implements a smart rendering object reference.
Definition rendering/ObjectRef.h:34
SmartObjectRef< Attribute > AttributeRef
Definition of a smart object reference holding an attribute.
Definition Attribute.h:29
The namespace covering the entire Ocean framework.
Definition Accessor.h:15