8 #ifndef META_OCEAN_SCENEDESCRIPTION_SDX_X3D_X3D_NODE_H
9 #define META_OCEAN_SCENEDESCRIPTION_SDX_X3D_X3D_NODE_H
24 namespace SceneDescription
67 bool setField(
const std::string& fieldName,
const Field& field)
override;
76 bool addConnection(
const std::string& outputField,
const NodeId inputNode,
const std::string& inputField);
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 node.
Definition: X3DNode.h:48
std::pair< NodeId, std::string > ReceiverPair
Definition of a node and field pair.
Definition: X3DNode.h:54
std::string originalFieldName(const std::string &fieldName) const override
Tries to translate an alias field name to the original field name.
void registerFields(NodeSpecification &specification)
Registers the fields of this node.
SingleNode metadata_
Metadata field.
Definition: X3DNode.h:120
void forwardThatFieldHasBeenChanged(const std::string &fieldName, const Field &field)
Informs connected nodes that a field of this node has been changed.
bool addConnection(const std::string &outputField, const NodeId inputNode, const std::string &inputField)
Adds a field connection for a specified field starting at this node.
virtual bool onFieldChanging(const std::string &fieldName, const Field &field)
Explicit changing event function for node fields.
bool setField(const std::string &fieldName, const Field &field) override
Sets or changes a specified field of this node.
std::multimap< std::string, ReceiverPair > FieldConnectionMap
Definition of a map mapping field names to field receiver pairs.
Definition: X3DNode.h:59
FieldConnectionMap fieldConnections_
Map holding all field connections.
Definition: X3DNode.h:123
X3DNode(const SDXEnvironment *environment)
Creates a new abstract x3d node.
This class implements a node environment container.
Definition: SDXNode.h:62
This class implements the base class for all SDX scene description nodes.
Definition: SDXNode.h:50
This template class implements a smart object reference which is a specialization of an ObjectRef obj...
Definition: SmartObjectRef.h:90
SmartObjectRef< X3DNode, Node > X3DNodeRef
Definition of a smart object reference for abstract X3D nodes.
Definition: X3DNode.h:34
size_t NodeId
Definition of a object id.
Definition: SceneDescription.h:41
The namespace covering the entire Ocean framework.
Definition: Accessor.h:15