iso::space::Space Class Reference

space More...

#include <iso_space.h>

Collaboration diagram for iso::space::Space:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 Space (const base::String &pName, SpaceAlg *pSpaceAlg)
 create space
 ~Space ()
 destructor
const base::String & name () const
 return space name
unsigned int dim () const
 return space dimension
const math::Vector< real > & minPos () const
 return space minimum position
const math::Vector< real > & maxPos () const
 return space maximum position
SpaceAlgspaceAlg ()
 return space alg
bool checkObject (SpaceObject *pSpaceObject) const
 check if space contains space object
SpaceProxyObjectobject (SpaceObject *pSpaceObject) throw (SpaceException)
 return space proxy object for space object
QVector< SpaceProxyObject * > & objects ()
 return space all space objects
virtual void addObject (SpaceObject *pObject, bool pVisible, NeighborGroupAlg *pNeighborGroupAlg=NULL) throw (SpaceException)
 add space object to space
virtual void setObject (SpaceObject *pObject, bool pVisible, NeighborGroupAlg *pNeighborGroupAlg=NULL) throw (SpaceException)
 update space object
virtual void removeObject (SpaceObject *pObject) throw (SpaceException)
 remove single space object handle object
void update () throw (SpaceException)
 update space
Exceptions:
SpaceException failed to update space

base::String info (int pPropagationLevel=0) const
 print space information

Static Public Attributes

static const base::String sClassName

Protected Member Functions

void updateObjects () throw (SpaceException)

Protected Attributes

base::String mName
SpaceAlgmSpaceAlg
 name of space
QVector< SpaceProxyObject * > mObjects
 space algorithm
QVector< SpaceProxyObject * > mVisibleObjects
 all space proxy objects in this space
QVector< SpaceProxyObject * > mNeighborObjects
 visible space proxy objects
QMutex mLock
 space proxy objects that can possess neighbors

Friends

std::ostream & operator<< (std::ostream &pOstream, const Space &pSpace)
 retrieve textual space info

Detailed Description

space

Created by Daniel Bisig on 3/29/07. Copyright 2006 Daniel Bisig All rights reserved.


Constructor & Destructor Documentation

Space::Space ( const base::String &  pName,
SpaceAlg pSpaceAlg 
)

create space

Parameters:
pName space name
pSpaceAlg space alorithm

Space::~Space (  ) 

destructor


Member Function Documentation

const base::String & Space::name (  )  const

return space name

Returns:
space name

unsigned int Space::dim (  )  const

return space dimension

Returns:
space dimension

const math::Vector< space::real > & Space::minPos (  )  const

return space minimum position

Returns:
space minimum position

const math::Vector< space::real > & Space::maxPos (  )  const

return space maximum position

Returns:
space maximum position

SpaceAlg * Space::spaceAlg (  ) 

return space alg

Returns:
spaceAlg

bool Space::checkObject ( SpaceObject pSpaceObject  )  const

check if space contains space object

Parameters:
pSpaceObject space object
Returns:
true if space contains space object, false otherwise

SpaceProxyObject * Space::object ( SpaceObject pSpaceObject  )  throw (SpaceException)

return space proxy object for space object

Parameters:
pSpaceObject space object
Returns:
space proxy object
Exceptions:
SpaceException fails if no space proxy object is found

QVector< SpaceProxyObject * > & Space::objects (  ) 

return space all space objects

Returns:
all space objects

void Space::addObject ( SpaceObject pObject,
bool  pVisible,
NeighborGroupAlg pNeighborGroupAlg = NULL 
) throw (SpaceException) [virtual]

add space object to space

Parameters:
pObject space object
pVisible visibility in neighbor space
pNeighborGroupAlg neighbor group algorithm
Exceptions:
SpaceException if object dimension of space object and space don't match
automatically creates or updates the space objects's neighborGroup for this space

void Space::setObject ( SpaceObject pObject,
bool  pVisible,
NeighborGroupAlg pNeighborGroupAlg = NULL 
) throw (SpaceException) [virtual]

update space object

Parameters:
pObject space object
pVisible visibility in neighbor space
pNeighborGroupAlg neighbor group algorithm
Exceptions:
SpaceException object not stored in space
automatically creates or updates the space objects's neighborGroup for this space

void Space::removeObject ( SpaceObject pObject  )  throw (SpaceException) [virtual]

remove single space object handle object

Parameters:
pObject single space object handle to remove
Exceptions:
SpaceException fails if object is not stored in this space

void Space::update (  )  throw (SpaceException)

update space

Exceptions:
SpaceException failed to update space

base::String Space::info ( int  pPropagationLevel = 0  )  const

print space information

Parameters:
pPropagationLevel how far the propagation method proceeds through composite classes (-1: unlimited, 0: no proceeding, >0: limited proceeding)

void Space::updateObjects (  )  throw (SpaceException) [protected]


Friends And Related Function Documentation

std::ostream& operator<< ( std::ostream &  pOstream,
const Space pSpace 
) [friend]

retrieve textual space info

Parameters:
pOstream output text stream
pSpace space


Member Data Documentation

const base::String Space::sClassName [static]

base::String iso::space::Space::mName [protected]

SpaceAlg* iso::space::Space::mSpaceAlg [protected]

name of space

QVector<SpaceProxyObject*> iso::space::Space::mObjects [protected]

space algorithm

QVector< SpaceProxyObject* > iso::space::Space::mVisibleObjects [protected]

all space proxy objects in this space

QVector< SpaceProxyObject* > iso::space::Space::mNeighborObjects [protected]

visible space proxy objects

QMutex iso::space::Space::mLock [protected]

space proxy objects that can possess neighbors


The documentation for this class was generated from the following files:
Generated on Fri Feb 25 14:08:15 2011 for iso_space by  doxygen 1.5.1