Ocean
|
This class implements a x3d billboard node. More...
#include <Billboard.h>
Public Member Functions | |
Billboard (const SDXEnvironment *environment) | |
Creates a new x3d billboard node. | |
![]() | |
bool | setField (const std::string &fieldName, const Field &field) override |
Sets or changes a specified field of this node. | |
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. | |
std::string | originalFieldName (const std::string &fieldName) const override |
Tries to translate an alias field name to the original field name. | |
![]() | |
DescriptionType | descriptionType () const override |
Returns the scene description type of this node. | |
const Rendering::EngineRef & | engine () const |
Returns the rendering engine used by this node. | |
const std::string & | library () const |
Returns the name of the scene description library defining this node. | |
const std::string & | filename () const |
Returns the name of the file defining this node. | |
SceneId | sceneId () const |
Returns the unique id of the scene defining this node originally. | |
virtual const Rendering::ObjectRef & | renderingObject () const |
Returns the associated rendering object. | |
void | setName (const std::string &name) override |
Sets the name of this node. | |
virtual bool | setAnyField (const std::string &fieldName, const Field &field) |
Sets or changes a specified standard or dynamic field of this node. | |
NodeRefs | parentNodes () const |
Returns all parent nodes of this node. | |
SDXNodeSet | ancestorNodes () const |
Returns all ancestor nodes of this node. | |
virtual void | initialize (const Rendering::SceneRef &scene, const Timestamp timestamp, const bool reinitialize=false) |
Event function to inform the node that it has been initialized and can apply all internal values to corresponding rendering objects. | |
![]() | |
NodeId | id () const |
Returns the unique node id of this node. | |
const std::string & | name () const |
Returns the name of this node. | |
const std::string & | type () const |
Returns the type of this node. | |
const Field & | field (const std::string &fieldName) const |
Returns the field base of a specified (standard) field. | |
Field & | field (const std::string &fieldName) |
Returns the field base of a specified (standard) field. | |
virtual const Field & | anyField (const std::string &fieldName) const |
Returns the field base of a specified standard or dynamic field. | |
virtual Field & | anyField (const std::string &fieldName) |
Returns the field base of a specified standard or dynamic field. | |
template<typename T > | |
const T & | field (const std::string &fieldName) const |
Returns a specified (standard) field. | |
template<typename T > | |
T & | field (const std::string &fieldName) |
Returns a specified (standard) field. | |
template<typename T > | |
const T & | anyField (const std::string &fieldName) const |
Returns a specified standard or dynamic field. | |
template<typename T > | |
T & | anyField (const std::string &fieldName) |
Returns a specified standard or dynamic field. | |
FieldAccessType | fieldAccessType (const std::string &fieldName) const |
Returns the access type of a specified field. | |
bool | hasField (const std::string &fieldName) const |
Returns whether this node has a special (standard) field. | |
virtual bool | hasAnyField (const std::string &fieldName) const |
Returns whether this node has a special standard or dynamic field. | |
Field::Type | fieldType (const std::string &fieldName) const |
Returns the type of a special field. | |
unsigned int | fieldDimension (const std::string &fieldName) const |
Return the dimension of a special field. | |
virtual bool | isDynamic () const |
Returns whether this node can hold dynamic generated field. | |
Protected Member Functions | |
NodeSpecification | specifyNode () |
Specifies the node type and the fields of this node. | |
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 corresponding rendering objects. | |
void | onFieldChanged (const std::string &fieldName) override |
Event function to inform the node about a changed field. | |
size_t | objectAddress () const override |
Returns the address of the most derived object. | |
![]() | |
X3DGroupingNode (const SDXEnvironment *environment) | |
Creates an abstract x3d grouping node. | |
~X3DGroupingNode () override | |
Destructs a grouping node. | |
void | registerFields (NodeSpecification &specification) |
Registers the fields of this node. | |
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 corresponding rendering objects. | |
bool | onFieldChanging (const std::string &fieldName, const Field &field) override |
Explicit changing event function for node fields. | |
![]() | |
X3DChildNode (const SDXEnvironment *environment) | |
Creates a new x3d child node. | |
![]() | |
X3DNode (const SDXEnvironment *environment) | |
Creates a new abstract x3d node. | |
void | registerFields (NodeSpecification &specification) |
Registers the fields of this node. | |
void | forwardThatFieldHasBeenChanged (const std::string &fieldName, const Field &field) |
Informs connected nodes that a field of this node has been changed. | |
![]() | |
SDXNode (const SDXEnvironment *environment) | |
Creates a new node object. | |
~SDXNode () override | |
Destructs a node object. | |
void | registerParentNode (const NodeId parentId) |
Registers a new parent node for this (child) node. | |
void | unregisterParentNode (const NodeId parentId) |
Unregisters a parent node for this (child) node. | |
void | registerThisNodeAsParent (const SDXNodeRef &child) |
Registers this node at a child as parent node. | |
void | unregisterThisNodeAsParent (const SDXNodeRef &child) |
Unregisters this node from a child as parent. | |
![]() | |
Node () | |
Creates a new node. | |
Node (const Node &node)=delete | |
Disabled copy constructor. | |
virtual | ~Node () |
Destructs a node. | |
void | registerField (NodeSpecification &specification, const std::string &fieldName, const Field &field, const FieldAccessType accessType=ACCESS_GET_SET) |
Registers a new field to a specified node type. | |
Node & | operator= (const Node &node)=delete |
Disabled copy operator. | |
![]() | |
X3DBoundedObject (const SDXEnvironment *environment) | |
Creates a new x3d bounded object. | |
void | registerFields (NodeSpecification &specification) |
Registers the fields of this node. | |
Protected Attributes | |
SingleVector3 | axisOfRotation_ |
AxisOfRotation field. | |
![]() | |
MultiNode | addChildren_ |
AddChild field. | |
MultiNode | removeChildren_ |
RemoveChildren field. | |
MultiNode | children_ |
Children field. | |
![]() | |
SingleNode | metadata_ |
Metadata field. | |
FieldConnectionMap | fieldConnections_ |
Map holding all field connections. | |
![]() | |
const SDXEnvironment * | environment_ = nullptr |
Object specifying the environment of this node. | |
NodeIdMap | parents_ |
Map holding all parent nodes. | |
Rendering::ObjectRef | renderingObject_ |
Corresponding rendering object. | |
bool | initialized_ = false |
State determining whether the node has been initialized already. | |
Lock | lock_ |
Node lock. | |
![]() | |
NodeId | nodeId_ |
Unique node id. | |
std::string | name_ |
Node name. | |
NodeSpecification * | specification_ = nullptr |
Pointer to the node specification, guaranteed to exist as long as the node exist. | |
![]() | |
SingleVector3 | bboxCenter_ |
BBoxCenter node. | |
SingleVector3 | bboxSize_ |
BBoxSize node. | |
Additional Inherited Members | |
![]() | |
typedef std::unordered_map< NodeId, unsigned int > | NodeIdMap |
Definition of a map mapping node ids to reference counters. | |
![]() | |
enum | FieldAccessType { ACCESS_NONE = 0 , ACCESS_GET = 1 , ACCESS_SET = 2 , ACCESS_GET_SET = ACCESS_GET | ACCESS_SET , ACCESS_EXPLICIT_NOTIFICATION = 4 } |
Definition of different field access types. More... | |
![]() | |
typedef std::pair< NodeId, std::string > | ReceiverPair |
Definition of a node and field pair. | |
typedef std::multimap< std::string, ReceiverPair > | FieldConnectionMap |
Definition of a map mapping field names to field receiver pairs. | |
![]() | |
typedef std::map< std::string, Field * > | FieldMap |
Definition of a map mapping field names to fields. | |
![]() | |
static Lock & | nodeIdCounterLock () |
Returns the lock for the node id counter. | |
![]() | |
static NodeId | nodeIdCounter_ |
Unique node id counter. | |
This class implements a x3d billboard node.
|
explicit |
Creates a new x3d billboard node.
environment | Node environment |
|
overrideprotectedvirtual |
Returns the address of the most derived object.
Reimplemented from Ocean::SceneDescription::Node.
|
overrideprotectedvirtual |
Event function to inform the node about a changed field.
Reimplemented from Ocean::SceneDescription::SDXNode.
|
overrideprotectedvirtual |
Event function to inform the node that it has been initialized and can apply all internal values to corresponding rendering objects.
Reimplemented from Ocean::SceneDescription::SDXNode.
|
protected |
Specifies the node type and the fields of this node.
|
protected |
AxisOfRotation field.