Home Previous Up Next Index

armarx::CSpaceBase

Overview

[ "cpp:virtual" ] class CSpaceBase

@brief Describes a planning cspace. This cspace contains everything specific for a planning task: - The cspace's bounds for all dimensions. (The cspace has bounds.size() dimensions) - A function to check whether a configuration is a collision. All functions accepting a configuration assume one value for each dimension is passed! - If less values than the cspace's dimensionality are passed the behavior may be undefined. - If more values than the cspace's dimensionality are passed the additional values are ignored.

Derived Classes and Interfaces

CSpaceAdaptorBase
SimoxCSpaceBase

Used By

CSpaceAdaptorBase::getOriginalCSpace
CSpaceAdaptorBase::originalCSpace
CSpaceAndPaths::cspace
clone
MotionPlanningTaskBase::getCSpace
MotionPlanningTaskWithDefaultMembersBase::cspace
addirrtstar::ManagerNodeBase::cspace
addirrtstar::WorkerNodeBase::cspace
pathcol::TaskBase::cspace
rrtconnect::WorkerNodeBase::cspace

Operation Index

isCollisionFree
@param configuration The values to check for collision.
isValidConfiguration
@brief Returns whether the configuration is valid.
clone
@brief Makes a deep copy.
initCollisionTest
@brief Initializes implementation specific local structures used for collision testing.
getDimensionsBounds
@return The bounds of this cspace's dimensions.
getDimensionality
@return The number of this cspace's dimensions.

Operations

bool isCollisionFree(VectorXf config)

Parameters

configuration
The values to check for collision. Call initCollisionTest prior to calls to this function.

Return Value

Whether the configuration is collision free.

bool isValidConfiguration(VectorXf configuration)

@brief Returns whether the configuration is valid.

Parameters

config
The configuration to check.

Return Value

Whether for all dimensions d_i following evaluates to true: d_i.periodical || configi <= d.low && configi >= d.high

CSpaceBase clone()

@brief Makes a deep copy. It should be possible to call this function without locking, while the cspace is used to check collisions.

Return Value

Returns the deep copy.

void initCollisionTest()

@brief Initializes implementation specific local structures used for collision testing. Has to be called before any call to isCollisionFree.

FloatRangeSeq getDimensionsBounds()

Return Value

The bounds of this cspace's dimensions.

long getDimensionality()

Return Value

The number of this cspace's dimensions.


Home Previous Up Next Index