8 #ifndef META_OCEAN_RENDERING_GROUP_H
9 #define META_OCEAN_RENDERING_GROUP_H
39 class OCEAN_RENDERING_EXPORT
Group :
virtual public Node
46 typedef std::vector<NodeRef>
Nodes;
This is the base class for all rendering groups.
Definition: rendering/Group.h:40
std::set< LightSourceRef > LightSet
Definition of a set holding light objects.
Definition: rendering/Group.h:51
Nodes groupNodes
Child nodes connected to this group.
Definition: rendering/Group.h:118
~Group() override
Destructs a group object.
virtual void clear()
Removes all child nodes connected to this group.
Group()
Creates a new group object.
LightSet groupLights
Set holding all lights lighting object in this group.
Definition: rendering/Group.h:121
virtual void registerLight(const LightSourceRef &light)
Registers a light lighting all childs of this group node.
virtual void unregisterLight(const LightSourceRef &light)
Unregisters a light.
std::vector< NodeRef > Nodes
Definition of a vector holding node objects.
Definition: rendering/Group.h:46
virtual void addChild(const NodeRef &node)
Adds a new child node to this group.
virtual NodeRef child(const unsigned int index) const
Returns a specific child node defined by it's index.
virtual void removeChild(const NodeRef &node)
Removes a child node connected to this group.
virtual unsigned int numberChildren() const
Returns the number of child nodes connected to this group.
ObjectType type() const override
Returns the type of this object.
This is the base class for all rendering nodes.
Definition: rendering/Node.h:47
ObjectType
Definition of different object type.
Definition: Object.h:63
SmartObjectRef< Group > GroupRef
Definition of a smart object reference holding a group.
Definition: rendering/Group.h:26
The namespace covering the entire Ocean framework.
Definition: Accessor.h:15