8#ifndef META_OCEAN_RENDERING_GROUP_H
9#define META_OCEAN_RENDERING_GROUP_H
39class 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
This class implements a smart rendering object reference.
Definition rendering/ObjectRef.h:34
SmartObjectRef< Group > GroupRef
Definition of a smart object reference holding a group.
Definition rendering/Group.h:33
The namespace covering the entire Ocean framework.
Definition Accessor.h:15