Ocean
Loading...
Searching...
No Matches
X3DGroupingNode.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_X3D_GROUPING_NODE_H
9#define META_OCEAN_SCENEDESCRIPTION_SDX_X3D_X3D_GROUPING_NODE_H
10
14
15namespace Ocean
16{
17
18namespace SceneDescription
19{
20
21namespace SDX
22{
23
24namespace X3D
25{
26
27/**
28 * This class implements an abstract x3d grouping node.
29 * @ingroup scenedescriptionsdxx3d
30 */
31class OCEAN_SCENEDESCRIPTION_SDX_X3D_EXPORT X3DGroupingNode :
32 virtual public X3DChildNode,
33 virtual public X3DBoundedObject
34{
35 protected:
36
37 /**
38 * Creates an abstract x3d grouping node.
39 * @param environment Node environment
40 */
41 explicit X3DGroupingNode(const SDXEnvironment* environment);
42
43 /**
44 * Destructs a grouping node.
45 */
46 ~X3DGroupingNode() override;
47
48 /**
49 * Registers the fields of this node.
50 * @param specification Node specification receiving the field informations
51 */
52 void registerFields(NodeSpecification& specification);
53
54 /**
55 * Event function to inform the node that it has been initialized and can apply all internal values to corresponding rendering objects.
56 * @see SDXNode::onInitialize().
57 */
58 void onInitialize(const Rendering::SceneRef& scene, const Timestamp timestamp) override;
59
60 /**
61 * Explicit changing event function for node fields.
62 * @see X3DNode::onFieldChanging().
63 */
64 bool onFieldChanging(const std::string& fieldName, const Field& field) override;
65
66 protected:
67
68 /// AddChild field.
70
71 /// RemoveChildren field.
73
74 /// Children field.
76};
77
78}
79
80}
81
82}
83
84}
85
86#endif // META_OCEAN_SCENEDESCRIPTION_SDX_X3D_X3D_GROUPING_NODE_H
This class is the base class for all scene description fields.
Definition Field.h:36
This class implements a node specification object.
Definition scenedescription/Node.h:77
This class implements an abstract x3d bounded object.
Definition X3DBoundedObject.h:33
This class implements an abstract x3d child node.
Definition X3DChildNode.h:31
This class implements an abstract x3d grouping node.
Definition X3DGroupingNode.h:34
MultiNode removeChildren_
RemoveChildren field.
Definition X3DGroupingNode.h:72
~X3DGroupingNode() override
Destructs a grouping node.
MultiNode addChildren_
AddChild field.
Definition X3DGroupingNode.h:69
MultiNode children_
Children field.
Definition X3DGroupingNode.h:75
bool onFieldChanging(const std::string &fieldName, const Field &field) override
Explicit changing event function for node fields.
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...
void registerFields(NodeSpecification &specification)
Registers the fields of this node.
X3DGroupingNode(const SDXEnvironment *environment)
Creates an abstract x3d grouping node.
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