Main Page   Modules   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

OSCAR::PCAWorkCell Class Reference
[ObstacleAvoidance]

PCAWorkCell uses a WorkCell to compute and store the obstacle avoidance information (see DistanceResults). More...

#include <PCAWorkCell.hpp>

Inheritance diagram for OSCAR::PCAWorkCell:

Inheritance graph
[legend]
List of all members.

Public Methods

 PCAWorkCell (WorkCell &workCell, Node *manipulator=0, const std::set< const ModelingObject * > &ignoreSet=std::set< const ModelingObject * >())
 PCAWorkCell (const PCAWorkCell &crit)
PCAWorkCell & operator= (const PCAWorkCell &crit)
virtual ~PCAWorkCell ()
bool SetIgnoreSet (std::set< const ModelingObject * > &ignoreSet)
const std::set< const ModelingObject * > & GetIgnoreSet () const
const DistanceResultsRepositoryGetInfoRepository () const

Protected Methods

bool populatePrimLists ()
bool populateArmList (Node *node)
bool populateEnviList (Node *node)
bool update (RepositoryList &repoList)
bool calculateCriteria (const Primitive *p0, const Primitive *p1, DistanceResults &results)

Protected Attributes

Nodearm
DistanceResultsRepositoryinfo
WorkCellworkCell
DistanceCalculator calc
std::set< const ModelingObject * > ignore
std::list< Primitive * > armPrimitives
std::list< Primitive * > enviPrimitives

Detailed Description

An abstract intermediate derived from PerformanceCriteria. Non-abstract es can use the functionality of PCAWorkCell by public (or public virtual for multiple) inheritance and defining the protected pure virtual method computeCriteria(RepositoryList& repoList), defined as abstract in PerformanceCriteria.. Derived es update the necessary repositories by calling the protected method update().

Author:
Ethan Swint


Constructor & Destructor Documentation

OSCAR::PCAWorkCell::PCAWorkCell WorkCell   workCell,
Node   manipulator = 0,
const std::set< const ModelingObject * > &    ignoreSet = std::set< const ModelingObject * >()
 

Constructor for PCAWorkCell This constructor creates an object PCAWorkCell that contains the computational ability to compute distance-based criteria.

Parameters:
WorkCell A pointer to the WorkCell object that performs minimum distance computations.
armIndex Index of the arm in the work cell

OSCAR::PCAWorkCell::PCAWorkCell const PCAWorkCell &    crit
 

Copy Constructor for PCAWorkCell Creates a PCAWorkCell object whose defaults are set via the constructor argument. Note: the pointer to the WorkCell repository is also copied so it now points to the same repository unless a different RepositoryList is specified in computeCriteria. The WorkCellPtr is also copied so changes to it will now affect both criteria.

Parameters:
crit A PCAWorkCell object that is used to create the new object

virtual OSCAR::PCAWorkCell::~PCAWorkCell   [virtual]
 

Destructor for PCAWorkCell.


Member Function Documentation

bool OSCAR::PCAWorkCell::calculateCriteria const Primitive   p0,
const Primitive   p1,
DistanceResults   results
[protected]
 

const std::set<const ModelingObject*>& OSCAR::PCAWorkCell::GetIgnoreSet   const
 

Returns the ignore set currently being used to calculate critiera (what primitives/nodes will be ignored).

Returns:
set<const ModelingObject*> The current ignore set.

const DistanceResultsRepository* OSCAR::PCAWorkCell::GetInfoRepository   const [inline]
 

PCAWorkCell& OSCAR::PCAWorkCell::operator= const PCAWorkCell &    crit
 

Copy operator for PCAWorkCell Use this to copy one PCAWorkCell object into another. Note: the pointer to the WorkCell repository is also copied so it now points to the same repository unless a different RepositoryList is specified in computeCriteria. The WorkCellPtr is also copied so changes to it will now affect both criteria.

Returns:
A reference to itself
Parameters:
crit A PCAWorkCell object that is copied into the calling object.

bool OSCAR::PCAWorkCell::populateArmList Node   node [protected]
 

bool OSCAR::PCAWorkCell::populateEnviList Node   node [protected]
 

bool OSCAR::PCAWorkCell::populatePrimLists   [protected]
 

bool OSCAR::PCAWorkCell::SetIgnoreSet std::set< const ModelingObject * > &    ignoreSet
 

Updates the ignore set used for calculating criteria. Will automatically call the UpdateModel upon completion.

Parameters:
set<const ModelingObject*> ignoreSet The new ignore set to be used.
Returns:
True upon completion

bool OSCAR::PCAWorkCell::update RepositoryList   repoList [protected]
 

Performs minimum distance calculations for joint option in repoList.

Parameters:
repoList RepositoryList object which contains the joint vector to calculate the witness points. repoList is only used if the ObAvInfoRepository has not been initialized.

Reimplemented in OSCAR::PCADistToEEWrench, OSCAR::PCADistToEEWrenchD1, OSCAR::PCADistToForce, OSCAR::PCADistToForceD1, OSCAR::PCADistToTorque, and OSCAR::PCADistToTorqueD1.


Member Data Documentation

Node* OSCAR::PCAWorkCell::arm [protected]
 

std::list<Primitive*> OSCAR::PCAWorkCell::armPrimitives [protected]
 

DistanceCalculator OSCAR::PCAWorkCell::calc [protected]
 

std::list<Primitive*> OSCAR::PCAWorkCell::enviPrimitives [protected]
 

std::set<const ModelingObject*> OSCAR::PCAWorkCell::ignore [protected]
 

DistanceResultsRepository* OSCAR::PCAWorkCell::info [protected]
 

WorkCell* OSCAR::PCAWorkCell::workCell [protected]
 


The documentation for this class was generated from the following file:
RRG Homepage OSCAR Overview OSCAR Tutorials Simulations