Ocean
PointSet.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_POINT_SET_H
9 #define META_OCEAN_SCENEDESCRIPTION_SDX_X3D_POINT_SET_H
10 
13 
15 
16 namespace Ocean
17 {
18 
19 namespace SceneDescription
20 {
21 
22 namespace SDX
23 {
24 
25 namespace X3D
26 {
27 
28 /**
29  * This class implements a x3d point set node.
30  * @ingroup scenedescriptionsdxx3d
31  */
32 class OCEAN_SCENEDESCRIPTION_SDX_X3D_EXPORT PointSet : virtual public X3DGeometryNode
33 {
34  public:
35 
36  /**
37  * Creates a new x3d point set node.
38  * @param environment Node environment
39  */
40  explicit PointSet(const SDXEnvironment* environment);
41 
42  protected:
43 
44  /**
45  * Specifies the node type and the fields of this node.
46  * @return Unique node specification of this node
47  */
49 
50  /**
51  * Event function to inform the node that it has been initialized and can apply all internal values to corresponding rendering objects.
52  * @see SDXNode::onInitialize().
53  */
54  void onInitialize(const Rendering::SceneRef& scene, const Timestamp timestamp) override;
55 
56  /**
57  * Event function to inform the node about a changed field.
58  * @see SDXNode::onFieldChanged().
59  */
60  void onFieldChanged(const std::string& fieldName) override;
61 
62  /**
63  * Applies all recent changes to the rendering engine object.
64  */
65  void apply();
66 
67  /**
68  * Returns the address of the most derived object.
69  * @see Node::objectAddress().
70  */
71  size_t objectAddress() const override;
72 
73  protected:
74 
75  /// Attrib field.
77 
78  /// Color field.
80 
81  /// Coord field.
83 
84  /// FogCoord field.
86 
87  /// Rendering vertex set
89 };
90 
91 }
92 
93 }
94 
95 }
96 
97 }
98 
99 #endif // META_OCEAN_SCENEDESCRIPTION_SDX_X3D_POINT_SET_H
This class implements a node specification object.
Definition: scenedescription/Node.h:77
This class implements a x3d point set node.
Definition: PointSet.h:33
SingleNode coord_
Coord field.
Definition: PointSet.h:82
PointSet(const SDXEnvironment *environment)
Creates a new x3d point set node.
Rendering::VertexSetRef renderingVertexSet_
Rendering vertex set.
Definition: PointSet.h:88
NodeSpecification specifyNode()
Specifies the node type and the fields of this node.
SingleNode color_
Color field.
Definition: PointSet.h:79
size_t objectAddress() const override
Returns the address of the most derived object.
void onFieldChanged(const std::string &fieldName) override
Event function to inform the node about a changed field.
MultiNode attrib_
Attrib field.
Definition: PointSet.h:76
void apply()
Applies all recent changes to the rendering engine object.
SingleNode fogCoord_
FogCoord field.
Definition: PointSet.h:85
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...
This class implements an abstract x3d geometry node.
Definition: X3DGeometryNode.h:31
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