Ocean
scenedescription/sdx/x3d/Billboard.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_SCENEDESCRIPTION_SDX_X3D_BILLBOARD_H
9 #define META_OCEAN_SCENEDESCRIPTION_SDX_X3D_BILLBOARD_H
10 
13 
14 namespace Ocean
15 {
16 
17 namespace SceneDescription
18 {
19 
20 namespace SDX
21 {
22 
23 namespace X3D
24 {
25 
26 /**
27  * This class implements a x3d billboard node.
28  * @ingroup scenedescriptionsdxx3d
29  */
30 class OCEAN_SCENEDESCRIPTION_SDX_X3D_EXPORT Billboard : virtual public X3DGroupingNode
31 {
32  public:
33 
34  /**
35  * Creates a new x3d billboard node.
36  * @param environment Node environment
37  */
38  explicit Billboard(const SDXEnvironment* environment);
39 
40  protected:
41 
42  /**
43  * Specifies the node type and the fields of this node.
44  * @return Unique node specification of this node
45  */
47 
48  /**
49  * Event function to inform the node that it has been initialized and can apply all internal values to corresponding rendering objects.
50  * @see SDXNode::onInitialize().
51  */
52  void onInitialize(const Rendering::SceneRef& scene, const Timestamp timestamp) override;
53 
54  /**
55  * Event function to inform the node about a changed field.
56  * @see SDXNode::onFieldChanged().
57  */
58  void onFieldChanged(const std::string& fieldName) override;
59 
60  /**
61  * Returns the address of the most derived object.
62  * @see Node::objectAddress().
63  */
64  size_t objectAddress() const override;
65 
66  protected:
67 
68  /// AxisOfRotation field.
70 };
71 
72 }
73 
74 }
75 
76 }
77 
78 }
79 
80 #endif // META_OCEAN_SCENEDESCRIPTION_SDX_X3D_BILLBOARD_H
This class implements a node specification object.
Definition: scenedescription/Node.h:77
This class implements a x3d billboard node.
Definition: scenedescription/sdx/x3d/Billboard.h:31
void onFieldChanged(const std::string &fieldName) override
Event function to inform the node about a changed field.
void onInitialize(const Rendering::SceneRef &scene, const Timestamp timestamp) override
Event function to inform the node that it has been initialized and can apply all internal values to c...
NodeSpecification specifyNode()
Specifies the node type and the fields of this node.
Billboard(const SDXEnvironment *environment)
Creates a new x3d billboard node.
SingleVector3 axisOfRotation_
AxisOfRotation field.
Definition: scenedescription/sdx/x3d/Billboard.h:69
size_t objectAddress() const override
Returns the address of the most derived object.
This class implements an abstract x3d grouping node.
Definition: X3DGroupingNode.h:34
This class implements a node environment container.
Definition: SDXNode.h:62
This class implements a timestamp.
Definition: Timestamp.h:36
The namespace covering the entire Ocean framework.
Definition: Accessor.h:15