GEE_IdContainer Class Reference

This class is used to track the ids that are members of the child classes. More...

#include <gee_id.h>

Inheritance diagram for GEE_IdContainer:

Inheritance graph
[legend]
List of all members.

Public Types

Public Member Functions

Static Public Member Functions

Protected Attributes


Detailed Description

This class is used to track the ids that are members of the child classes.

This enables us to automatically access all the ids that a particular object has. This feature is needed when we do the id-remapping during file loading.

The ids must be relative to an object (normal class members, not behind a pointer etc).

The id-information is stored internally as a list (actually std::set) of integers. The integers provide offset values that indicate how far an id is located from this-pointer. This may look hazardous, but it should be a stable approach.

Author:
Tommi Ilmonen


Member Typedef Documentation

typedef std::set<int> GEE_IdContainer::id_distances
 

typedef std::set<GEE_id_t> GEE_IdContainer::id_container
 

typedef id_distances::iterator GEE_IdContainer::id_iterator
 

typedef std::map<GEE_id_t, GEE_id_t> GEE_IdContainer::id_remap
 


Constructor & Destructor Documentation

GEE_IdContainer::GEE_IdContainer  ) 
 

GEE_IdContainer::GEE_IdContainer const GEE_IdContainer  ) 
 

GEE_IdContainer::~GEE_IdContainer  )  [virtual]
 


Member Function Documentation

id_iterator GEE_IdContainer::idBegin  )  [inline]
 

id_iterator GEE_IdContainer::idEnd  )  [inline]
 

GEE_id_t GEE_IdContainer::getIdMember id_iterator  it  ) 
 

This method returns an id that the iterator points to.

void GEE_IdContainer::addIdMember GEE_id_t  ) 
 

Adds an id member to be tracked.

std::set< GEE_id_t > * GEE_IdContainer::getExtraIds  )  [virtual]
 

Returns all "extra" ids that a child may have.

These ids are typically something that are dynamically allocated in the child object. Thus they cannot be tracked with the normal method.

The returned structure should not be allocated for this purpose (it shouldbe an ordinary class member that is returned.

The default implementation returns true.

Reimplemented in GEE_CopyGeometry, GEE_Group, GEE_GroupGeos, GEE_IdSelect, GEE_MoveAroundPath, GEE_PathMultiply, and GEE_ScaleAroundPaths.

bool GEE_IdContainer::remapIdMembers id_remap remap  )  [virtual]
 

This method changes the normal ids based on the remapping information.

The default implementation remaps the ids that are tracked with direct offset pointer method.

void GEE_IdContainer::addIdsToRemap id_remap  )  [virtual]
 

GEE_id_t GEE_IdContainer::allocateId  )  [static]
 

GEE_id_t GEE_IdContainer::id  )  const [inline]
 

void GEE_IdContainer::setId GEE_id_t  id  )  [inline]
 

void GEE_IdContainer::autoId  )  [inline]
 

Sets the ID with allocateId().

GEE_id_t GEE_IdContainer::layer  )  const [inline]
 

void GEE_IdContainer::setLayer GEE_id_t  layer  )  [inline]
 

bool GEE_IdContainer::writeIds GEE_Io ,
id_container
[static]
 

bool GEE_IdContainer::readIds GEE_Io ,
id_container
[static]
 


Member Data Documentation

GEE_id_t GEE_IdContainer::m_id [protected]
 

GEE_id_t GEE_IdContainer::m_layer [protected]
 


The documentation for this class was generated from the following files:
Generated on Mon Mar 12 21:09:07 2007 for VEE - The Visual Effects Engine by  doxygen 1.4.6