#include <iso_space_object.h>
Inherited by iso::space::SpaceShape.
Inheritance diagram for iso::space::SpaceObject:
Public Member Functions | |
SpaceObject (unsigned int pDim) | |
class name create space object | |
SpaceObject (const math::Vector< real > &pPosition) | |
create space object | |
SpaceObject (SpaceObject &pSpaceObject) | |
copy constructor | |
virtual | ~SpaceObject () |
destructor | |
unsigned int | id () const |
return space object id | |
unsigned int | dim () const |
return space object dimension | |
math::Vector< real > & | position () |
return space object position | |
const math::Vector< real > & | position () const |
return space object position | |
virtual void | setPosition (const math::Vector< real > &pPosition) |
set space object position | |
virtual void | changePosition (const math::Vector< real > &pPosition) |
change space object position | |
bool | checkNeighborGroup (const base::String &pSpaceName) const |
check whether space object has neighor group for particular space | |
void | addNeighborGroup (NeighborGroup *pNeighborGroup) |
add new neighbor group | |
void | removeNeighborGroup (NeighborGroup *pNeighborGroup) |
remove neighbor group | |
bool | visible (const base::String &pSpaceName) const |
check whether this object is visible in a particular space or not | |
void | setVisible (bool pVisible) |
set object visibility in all spaces | |
void | setVisible (const base::String &pSpaceName, bool pVisible) |
set object visibility in a particular space | |
Neighbors & | neighbors () |
return neighbors | |
unsigned int | neighborGroupIndex (const base::String &pSpaceName) |
return neighbor group index | |
NeighborGroup & | neighborGroup (unsigned int pIndex) |
return neighbor group based on index | |
NeighborGroup & | neighborGroup (const base::String &pSpaceName) |
return neighbor group | |
Space & | neighborSpace (const base::String &pSpaceName) |
return neighbor space | |
bool | canHaveNeighbors (const base::String &pSpaceName) const |
check whether this object can have neighbors in a particular space | |
unsigned int | maxNeighborCount (const base::String &pSpaceName) const |
return number maximum of neighbors | |
unsigned int | neighborCount (const base::String &pSpaceName) const |
return number of neighbors | |
real | neighborRadius (const base::String &pSpaceName) const |
return neighbor radius | |
bool | replaceNeighborMode (const base::String &pSpaceName) const |
virtual SpaceObject * | neighbor (const base::String &pSpaceName, unsigned int pIndex) |
return neighboring object | |
SpaceNeighborRelation * | neighborRelation (const base::String &pSpaceName, unsigned int pIndex) |
return neighbor relation | |
bool | neighborListFull (const base::String &pSpaceName) const |
returns true if no more neighbors can be added to neighbor list | |
bool | addNeighbor (const base::String &pSpaceName, SpaceObject *pNeighborObject) |
add neighbor object to neighbor list | |
bool | addNeighbor (const base::String &pSpaceName, SpaceObject *pNeighborObject, real pDistance, const math::Vector< real > &pDirection) |
add neighbor object to neighbor list | |
void | removeNeighbors () |
remove all neighbors in all spaces | |
void | removeNeighbors (const base::String &pSpaceName) |
remove all neighbors in particular space | |
virtual base::String | info (int pPropagationLevel=0) const |
obtain textual space object information | |
Static Public Attributes | |
static const base::String | sClassName |
Protected Member Functions | |
SpaceObject () | |
space object count default constructor | |
Protected Attributes | |
unsigned int | mId |
unsigned int | mDim |
unique id | |
math::Vector< real > | mPosition |
dimension | |
Neighbors * | mNeighbors |
position | |
Static Protected Attributes | |
static unsigned int | sObjectCount |
Friends | |
class | SpaceProxyObject |
std::ostream & | operator<< (std::ostream &pOstream, const SpaceObject &pSpaceObject) |
retrieve textual space object info |
in n-dimensional space
class representing an object in n-dimensional space.
the class can possess neigboring space objects that are organized as neighbor relations in neighbor groups.
Created by Daniel Bisig on 3/23/07.
SpaceObject::SpaceObject | ( | unsigned int | pDim | ) |
class name create space object
pDim | dimension of parameter (> 0) |
SpaceObject::SpaceObject | ( | const math::Vector< real > & | pPosition | ) |
create space object
pPosition | position of object |
SpaceObject::SpaceObject | ( | SpaceObject & | pSpaceObject | ) |
copy constructor
pSpaceObject | space object to copy |
SpaceObject::~SpaceObject | ( | ) | [virtual] |
destructor
SpaceObject::SpaceObject | ( | ) | [protected] |
space object count default constructor
unsigned int SpaceObject::id | ( | ) | const |
return space object id
unsigned int SpaceObject::dim | ( | ) | const |
return space object dimension
math::Vector< space::real > & SpaceObject::position | ( | ) |
return space object position
const math::Vector< space::real > & SpaceObject::position | ( | ) | const |
return space object position
void SpaceObject::setPosition | ( | const math::Vector< real > & | pPosition | ) | [virtual] |
set space object position
pPosition | space object position |
Reimplemented in iso::space::SpaceShape.
void SpaceObject::changePosition | ( | const math::Vector< real > & | pPosition | ) | [virtual] |
change space object position
pPosition | space object position offset |
Reimplemented in iso::space::SpaceShape.
bool SpaceObject::checkNeighborGroup | ( | const base::String & | pSpaceName | ) | const |
check whether space object has neighor group for particular space
pSpaceName | space name |
void SpaceObject::addNeighborGroup | ( | NeighborGroup * | pNeighborGroup | ) |
add new neighbor group
pNeighborGroup | new neighbor group |
void SpaceObject::removeNeighborGroup | ( | NeighborGroup * | pNeighborGroup | ) |
remove neighbor group
pNeighborGroup | neighbor group to remove |
bool SpaceObject::visible | ( | const base::String & | pSpaceName | ) | const |
check whether this object is visible in a particular space or not
pSpaceName | name of space |
void SpaceObject::setVisible | ( | bool | pVisible | ) |
set object visibility in all spaces
pVisible | object visibility |
void SpaceObject::setVisible | ( | const base::String & | pSpaceName, | |
bool | pVisible | |||
) |
set object visibility in a particular space
pSpaceName | name of space | |
pVisible | object visibility |
Neighbors & SpaceObject::neighbors | ( | ) |
return neighbors
unsigned int SpaceObject::neighborGroupIndex | ( | const base::String & | pSpaceName | ) |
return neighbor group index
pSpaceName | space name |
NeighborGroup & SpaceObject::neighborGroup | ( | unsigned int | pIndex | ) |
return neighbor group based on index
pIndex | neighbor group index |
NeighborGroup & SpaceObject::neighborGroup | ( | const base::String & | pSpaceName | ) |
return neighbor group
pSpaceName | space name |
Space & SpaceObject::neighborSpace | ( | const base::String & | pSpaceName | ) |
return neighbor space
pSpaceName | space name |
bool SpaceObject::canHaveNeighbors | ( | const base::String & | pSpaceName | ) | const |
check whether this object can have neighbors in a particular space
pSpaceName | space name |
unsigned int SpaceObject::maxNeighborCount | ( | const base::String & | pSpaceName | ) | const |
return number maximum of neighbors
pSpaceName | space name |
unsigned int SpaceObject::neighborCount | ( | const base::String & | pSpaceName | ) | const |
return number of neighbors
pSpaceName | space name |
space::real SpaceObject::neighborRadius | ( | const base::String & | pSpaceName | ) | const |
return neighbor radius
pSpaceName | space name |
bool SpaceObject::replaceNeighborMode | ( | const base::String & | pSpaceName | ) | const |
SpaceObject * SpaceObject::neighbor | ( | const base::String & | pSpaceName, | |
unsigned int | pIndex | |||
) | [virtual] |
return neighboring object
pSpaceName | space name | |
pIndex | neighboring object index |
SpaceNeighborRelation * SpaceObject::neighborRelation | ( | const base::String & | pSpaceName, | |
unsigned int | pIndex | |||
) |
return neighbor relation
pSpaceName | space name | |
pIndex | neighbor index |
bool SpaceObject::neighborListFull | ( | const base::String & | pSpaceName | ) | const |
returns true if no more neighbors can be added to neighbor list
pSpaceName | space name |
bool SpaceObject::addNeighbor | ( | const base::String & | pSpaceName, | |
SpaceObject * | pNeighborObject | |||
) |
add neighbor object to neighbor list
pSpaceName | space name | |
pNeighborObject | neighbor object |
bool SpaceObject::addNeighbor | ( | const base::String & | pSpaceName, | |
SpaceObject * | pNeighborObject, | |||
real | pDistance, | |||
const math::Vector< real > & | pDirection | |||
) |
add neighbor object to neighbor list
pSpaceName | space name | |
pNeighborObject | neighbor object | |
pDistance | distance | |
pDirection | direction |
void SpaceObject::removeNeighbors | ( | ) |
remove all neighbors in all spaces
void SpaceObject::removeNeighbors | ( | const base::String & | pSpaceName | ) |
remove all neighbors in particular space
pSpaceName | space name |
base::String SpaceObject::info | ( | int | pPropagationLevel = 0 |
) | const [virtual] |
obtain textual space object information
pPropagationLevel | how far the propagation method proceeds through composite classes (-1: unlimited, 0: no proceeding, >0: limited proceeding) |
Reimplemented in iso::space::SpaceShape.
friend class SpaceProxyObject [friend] |
std::ostream& operator<< | ( | std::ostream & | pOstream, | |
const SpaceObject & | pSpaceObject | |||
) | [friend] |
retrieve textual space object info
pOstream | output text stream | |
pSpaceObject | space object |
const base::String SpaceObject::sClassName [static] |
unsigned int SpaceObject::sObjectCount [static, protected] |
unsigned int iso::space::SpaceObject::mId [protected] |
unsigned int iso::space::SpaceObject::mDim [protected] |
unique id
math::Vector<real> iso::space::SpaceObject::mPosition [protected] |
dimension
Neighbors* iso::space::SpaceObject::mNeighbors [protected] |
position