#include <iso_space.h>
Collaboration diagram for iso::space::Space:
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 | ||||
SpaceAlg * | spaceAlg () | |||
return space alg | ||||
bool | checkObject (SpaceObject *pSpaceObject) const | |||
check if space contains space object | ||||
SpaceProxyObject * | object (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
| ||||
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 | |||
SpaceAlg * | mSpaceAlg | |||
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 |
Created by Daniel Bisig on 3/29/07. Copyright 2006 Daniel Bisig All rights reserved.
Space::Space | ( | const base::String & | pName, | |
SpaceAlg * | pSpaceAlg | |||
) |
create space
pName | space name | |
pSpaceAlg | space alorithm |
Space::~Space | ( | ) |
destructor
const base::String & Space::name | ( | ) | const |
return space name
unsigned int Space::dim | ( | ) | const |
return space dimension
const math::Vector< space::real > & Space::minPos | ( | ) | const |
return space minimum position
const math::Vector< space::real > & Space::maxPos | ( | ) | const |
return space maximum position
SpaceAlg * Space::spaceAlg | ( | ) |
return space alg
bool Space::checkObject | ( | SpaceObject * | pSpaceObject | ) | const |
check if space contains space object
pSpaceObject | space object |
SpaceProxyObject * Space::object | ( | SpaceObject * | pSpaceObject | ) | throw (SpaceException) |
return space proxy object for space object
pSpaceObject | space object |
SpaceException | fails if no space proxy object is found |
QVector< SpaceProxyObject * > & Space::objects | ( | ) |
return space all space objects
void Space::addObject | ( | SpaceObject * | pObject, | |
bool | pVisible, | |||
NeighborGroupAlg * | pNeighborGroupAlg = NULL | |||
) | throw (SpaceException) [virtual] |
add space object to space
pObject | space object | |
pVisible | visibility in neighbor space | |
pNeighborGroupAlg | neighbor group algorithm |
SpaceException | if object dimension of space object and space don't match |
void Space::setObject | ( | SpaceObject * | pObject, | |
bool | pVisible, | |||
NeighborGroupAlg * | pNeighborGroupAlg = NULL | |||
) | throw (SpaceException) [virtual] |
update space object
pObject | space object | |
pVisible | visibility in neighbor space | |
pNeighborGroupAlg | neighbor group algorithm |
SpaceException | object not stored in space |
void Space::removeObject | ( | SpaceObject * | pObject | ) | throw (SpaceException) [virtual] |
remove single space object handle object
pObject | single space object handle to remove |
SpaceException | fails if object is not stored in this space |
void Space::update | ( | ) | throw (SpaceException) |
base::String Space::info | ( | int | pPropagationLevel = 0 |
) | const |
print space information
pPropagationLevel | how far the propagation method proceeds through composite classes (-1: unlimited, 0: no proceeding, >0: limited proceeding) |
void Space::updateObjects | ( | ) | throw (SpaceException) [protected] |
std::ostream& operator<< | ( | std::ostream & | pOstream, | |
const Space & | pSpace | |||
) | [friend] |
retrieve textual space info
pOstream | output text stream | |
pSpace | space |
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