27 #include <tulip/GlSimpleEntity.h>
28 #include <tulip/tulipconf.h>
48 GlComposite(
bool deleteComponentsInDestructor=
true);
60 void reset(
bool deleteElems);
72 void deleteGlEntity(
const std::string &key,
bool informTheEntity=
true);
78 void deleteGlEntity(
GlSimpleEntity *entity,
bool informTheEntity=
true);
90 const std::map<std::string, GlSimpleEntity*> &
102 this->stencil=stencil;
104 for(std::list<GlSimpleEntity*>::iterator it=_sortedElements.begin(); it!=_sortedElements.end(); ++it) {
105 (*it)->setStencil(stencil);
113 this->deleteComponentsInDestructor=deleteComponentsInDestructor;
119 virtual void translate(
const Coord &mouvement);
124 virtual void getXML(std::string &outString);
129 virtual void setWithXML(
const std::string &inString,
unsigned int ¤tPosition);
136 virtual void acceptVisitor(GlSceneVisitor *visitor) {
138 for(std::list<GlSimpleEntity*>::iterator it=_sortedElements.begin(); it!=_sortedElements.end(); ++it) {
139 if((*it)->isVisible()) {
145 for(std::map<std::string, GlSimpleEntity*>::iterator itE=elements.begin(); itE!=elements.end(); ++itE) {
146 if((*itE).second==(*it)) {
147 tlp::warning() <<
"Invalid bounding box for entity : " << (*itE).first << std::endl;
155 (*it)->acceptVisitor(visitor);
163 virtual void addLayerParent(GlLayer *layer);
168 virtual void removeLayerParent(GlLayer *layer);
173 void notifyModified(GlSimpleEntity *entity);
178 virtual void draw(
float,Camera *) {}
184 std::map<std::string, GlSimpleEntity*> elements;
185 std::list<GlSimpleEntity *> _sortedElements;
186 std::vector<GlLayer *> layerParents;
187 bool deleteComponentsInDestructor;
bool isValid() const
Checks whether the bounding box's lowest point is less than it's highest point. "Less Than" means axi...
Base class for all Tulip OpenGL entities.
virtual BoundingBox getBoundingBox()
Return the entity boundingbox.
void setDeleteComponentsInDestructor(bool deleteComponentsInDestructor)
Set if at the destruction of composite, components well be deleted.
GlSimpleEntity used to agregate other GlEntity.
virtual void setStencil(int stencil)
Set stencil number for all composite's children.
const std::map< std::string, GlSimpleEntity * > & getGlEntities() const
Return map of entities in composite.