Overview | Modules | Class Hierarchy | Classes | Members

# tlp::GlComposite Class Reference

`#include <GlComposite.h>`

Inherits tlp::GlSimpleEntity.

Inherited by tlp::GlAxis, tlp::GlConvexHull, tlp::GlGraphComposite, and tlp::GlProgressBar.

Inheritance diagram for tlp::GlComposite:

[legend]
Collaboration diagram for tlp::GlComposite:

[legend]
List of all members.

## Detailed Description

GlSimpleEntity used to agregate other GlEntity.

GlSimpleEntity used to agregate other GlEntity This class provide basic function to manage other entity

## Public Member Functions

- GlComposite (bool deleteComponentsInDestructor=true)
- ~GlComposite ()
- virtual void addLayerParent (GlLayer *layer)
- virtual void removeLayerParent (GlLayer *layer)
- void reset (bool deleteElems)
- void addGlEntity (GlSimpleEntity *entity, const std::string &key)
- void deleteGlEntity (const std::string &key, bool informTheEntity=true)
- void deleteGlEntity (GlSimpleEntity *entity, bool informTheEntity=true)
- std::string findKey (GlSimpleEntity *entity)
- GlSimpleEntity * findGlEntity (const std::string &key)
- std::map< std::string, GlSimpleEntity * > * getDisplays ()
- void notifyModified (GlSimpleEntity *entity)
- virtual void draw (float, Camera *)
- virtual void setStencil (int stencil)
- virtual void acceptVisitor (GlSceneVisitor *visitor)
- void setDeleteComponentsInDestructor (bool deleteComponentsInDestructor)
- virtual void translate (const Coord &mouvement)
- virtual void getXML (xmlNodePtr rootNode)
- virtual void setWithXML (xmlNodePtr rootNode)

## Protected Attributes

- std::map< std::string, GlSimpleEntity * > elements
- std::list< GlSimpleEntity * > _sortedElements
- std::vector< GlLayer * > layerParents
- bool deleteComponentsInDestructor

## Constructor & Destructor Documentation

tlp::GlComposite::GlComposite | ( | bool | deleteComponentsInDestructor = `true` | ) |

tlp::GlComposite::~GlComposite | ( |  | ) |

## Member Function Documentation

virtual void tlp::GlComposite::acceptVisitor | ( | GlSceneVisitor * | visitor | ) | `[inline, virtual]`

| Function used to visit composite's children Reimplemented from tlp::GlSimpleEntity. Reimplemented in tlp::GlConvexHull, and tlp::GlGraphComposite.

void tlp::GlComposite::addGlEntity | ( | GlSimpleEntity * | entity,
|  | const std::string & | key
| ) |

| Add new entity with name : key. The composite does not takes the entity's ownership, i.e. it is not its responsibility to delete it.

virtual void tlp::GlComposite::addLayerParent | ( | GlLayer * | layer | ) | `[virtual]`

| Add a layer parent to this entity Reimplemented from tlp::GlSimpleEntity.

void tlp::GlComposite::deleteGlEntity | ( | GlSimpleEntity * | entity,
|  | bool | informTheEntity = `true`
| ) |

| Detele given entity

void tlp::GlComposite::deleteGlEntity | ( | const std::string & | key,
|  | bool | informTheEntity = `true`
| ) |

| Delete entity with name : key

virtual void tlp::GlComposite::draw | ( | float | ,
|  | Camera * |
| ) | `[inline, virtual]`

Attention:
  This function do nothing, GlComposite is a GlSimpleEntity so draw function must be define

Implements tlp::GlSimpleEntity.

Reimplemented in tlp::GlConvexHull.

GlSimpleEntity* tlp::GlComposite::findGlEntity | ( | const std::string & | key | ) |

| Find entity with name : key

std::string tlp::GlComposite::findKey | ( | GlSimpleEntity * | entity | ) |

| Find name of given entity

std::map<std::string, GlSimpleEntity*>* tlp::GlComposite::getDisplays | ( |  | ) | `[inline]`

| Return map of entities in composite

virtual void tlp::GlComposite::getXML | ( | xmlNodePtr | rootNode | ) | `[virtual]`

| Function to export data in XML Implements tlp::GlSimpleEntity. Reimplemented in tlp::GlConvexHull, and tlp::GlGraphComposite.

void tlp::GlComposite::notifyModified | ( | GlSimpleEntity * | entity | ) |

| Call when a child of the composite is modified

virtual void tlp::GlComposite::removeLayerParent | ( | GlLayer * | layer | ) | `[virtual]`

| Remove a layer parent to this entity Reimplemented from tlp::GlSimpleEntity.

void tlp::GlComposite::reset | ( | bool | deleteElems | ) |

| Clear the composite, if deleteElems is true, composite's entities are delete

void tlp::GlComposite::setDeleteComponentsInDestructor | ( | bool | deleteComponentsInDestructor | ) | `[inline]`

| Set if at the destruction of composite, components well be deleted

virtual void tlp::GlComposite::setStencil | ( | int | stencil | ) | `[inline, virtual]`

| Set stencil number for all composite's children Reimplemented from tlp::GlSimpleEntity.

virtual void tlp::GlComposite::setWithXML | ( | xmlNodePtr | rootNode | ) | `[virtual]`

| Function to set data with XML Implements tlp::GlSimpleEntity. Reimplemented in tlp::GlConvexHull, and tlp::GlGraphComposite.

virtual void tlp::GlComposite::translate | ( | const Coord & | mouvement | ) | `[virtual]`

| translate the composite with children Reimplemented from tlp::GlSimpleEntity. Reimplemented in tlp::GlAxis, tlp::GlConvexHull, and tlp::GlNominativeAxis.

## Member Data Documentation

std::list<GlSimpleEntity *> tlp::GlComposite::_sortedElements `[protected]`

bool tlp::GlComposite::deleteComponentsInDestructor `[protected]`

std::map<std::string, GlSimpleEntity*> tlp::GlComposite::elements `[protected]`

std::vector<GlLayer *> tlp::GlComposite::layerParents `[protected]`

Tulip Software by LaBRI Visualization Team 2001 - 2010