Ocean
Loading...
Searching...
No Matches
IndexedLineSet.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_INDEXED_LINE_SET_H
9#define META_OCEAN_SCENEDESCRIPTION_SDX_X3D_INDEXED_LINE_SET_H
10
13
15
16namespace Ocean
17{
18
19namespace SceneDescription
20{
21
22namespace SDX
23{
24
25namespace X3D
26{
27
28/**
29 * This class implements a x3d indexed line set node.
30 * @ingroup scenedescriptionsdxx3d
31 */
32class OCEAN_SCENEDESCRIPTION_SDX_X3D_EXPORT IndexedLineSet : virtual public X3DGeometryNode
33{
34 public:
35
36 /**
37 * Creates a new x3d indexed face set node.
38 * @param environment Node environment
39 */
40 IndexedLineSet(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 * Explicit changing event function for node fields.
64 * @see X3DNode::onFieldChanging().
65 */
66 bool onFieldChanging(const std::string& fieldName, const Field& field) override;
67
68 /**
69 * Applies all recent changes to the rendering engine object.
70 */
71 void apply();
72
73 /**
74 * Returns the address of the most derived object.
75 * @see Node::objectAddress().
76 */
77 size_t objectAddress() const override;
78
79 protected:
80
81 /// Set_colorIndex field.
83
84 /// Set_coordIndex field.
86
87 /// Attrib field.
89
90 /// Color field.
92
93 /// Coord field.
95
96 /// FogCoord field.
98
99 /// ColorIndex field.
101
102 /// ColorPerVertex field.
104
105 /// CoordIndex field.
107
108 /// Rendering vertex set
110};
111
112}
113
114}
115
116}
117
118}
119
120#endif // META_OCEAN_SCENEDESCRIPTION_SDX_X3D_INDEXED_LINE_SET_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 a x3d indexed line set node.
Definition IndexedLineSet.h:33
MultiInt setColorIndex_
Set_colorIndex field.
Definition IndexedLineSet.h:82
SingleNode fogCoord_
FogCoord field.
Definition IndexedLineSet.h:97
SingleBool colorPerVertex_
ColorPerVertex field.
Definition IndexedLineSet.h:103
SingleNode coord_
Coord field.
Definition IndexedLineSet.h:94
size_t objectAddress() const override
Returns the address of the most derived object.
MultiInt coordIndex_
CoordIndex field.
Definition IndexedLineSet.h:106
void apply()
Applies all recent changes to the rendering engine object.
MultiInt setCoordIndex_
Set_coordIndex field.
Definition IndexedLineSet.h:85
NodeSpecification specifyNode()
Specifies the node type and the fields of this node.
Rendering::VertexSetRef vertexSet_
Rendering vertex set.
Definition IndexedLineSet.h:109
MultiInt colorIndex_
ColorIndex field.
Definition IndexedLineSet.h:100
void onFieldChanged(const std::string &fieldName) override
Event function to inform the node about a changed field.
SingleNode color_
Color field.
Definition IndexedLineSet.h:91
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...
IndexedLineSet(const SDXEnvironment *environment)
Creates a new x3d indexed face set node.
bool onFieldChanging(const std::string &fieldName, const Field &field) override
Explicit changing event function for node fields.
MultiNode attrib_
Attrib field.
Definition IndexedLineSet.h:88
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