PL_SimplexSubdivision Class Reference

#include <planners/obsolete/PL_SimplexSubdivision.h>

Inherits PL_LinearCollision, and PL_OpenGL.

Inheritance diagram for PL_SimplexSubdivision:

Inheritance graph
[legend]
Collaboration diagram for PL_SimplexSubdivision:

Collaboration graph
[legend]
List of all members.

Public Types

enum  CollisionType { CT_FREE, CT_COLLISION, CT_MIXED, CT_UNKNOWN }

Public Member Functions

 PL_SimplexSubdivision ()
virtual ~PL_SimplexSubdivision ()
virtual bool DrawExplicit () const
virtual bool Plan ()
double Volume (const int i) const

Protected Types

typedef std::set< int, ComparisonFunctionINTSET

Protected Member Functions

void AddEdge (const int node0, const int node1)
int AddNode (const Configuration &min, const Configuration &max)
void AddSuspiciousNode (const int nodeNum)
void AddToOpenList (const int nodeNum)
CollisionType CollisionCheck (const int n0, const int n1)
void DeleteEdge (const int node0, const int node1)
void DeleteNode (const int nodeNum)
void ConnectStartAndGoal ()
bool IsAdjacent (int node0, int node1)
bool SearchForGoal ()
void SubdivideLargestNode ()
void SubdivideNode (int nodeNum)

Protected Attributes

std::vector< Nodem_Nodes
int m_NodeStart
int m_NodeGoal
std::set< int > m_OpenList
std::set< int > m_ClosedList
ComparisonFunction m_Compare
INTSET m_SuspiciousNodesAndVolumes

Classes

struct  ComparisonFunction
struct  Node

Detailed Description

Definition at line 34 of file PL_SimplexSubdivision.h.


Member Typedef Documentation

typedef std::set< int, ComparisonFunction > PL_SimplexSubdivision::INTSET [protected]
 

Definition at line 165 of file PL_SimplexSubdivision.h.


Member Enumeration Documentation

enum PL_SimplexSubdivision::CollisionType
 

Enumerator:
CT_FREE 
CT_COLLISION 
CT_MIXED 
CT_UNKNOWN 

Definition at line 42 of file PL_SimplexSubdivision.h.


Constructor & Destructor Documentation

PL_SimplexSubdivision::PL_SimplexSubdivision  ) 
 

Definition at line 31 of file PL_SimplexSubdivision.cpp.

PL_SimplexSubdivision::~PL_SimplexSubdivision  )  [virtual]
 

Definition at line 46 of file PL_SimplexSubdivision.cpp.


Member Function Documentation

void PL_SimplexSubdivision::AddEdge const int  node0,
const int  node1
[protected]
 

Definition at line 56 of file PL_SimplexSubdivision.cpp.

References PL_SimplexSubdivision::Node::AddNeighbor(), IsAdjacent(), and m_Nodes.

Here is the call graph for this function:

int PL_SimplexSubdivision::AddNode const Configuration min,
const Configuration max
[protected]
 

Definition at line 75 of file PL_SimplexSubdivision.cpp.

References PL_SimplexSubdivision::Node::m_Alive, PL_SimplexSubdivision::Node::m_DistanceFromStart, PL_SimplexSubdivision::Node::m_LocationOfCollision, PL_SimplexSubdivision::Node::m_Max, PL_SimplexSubdivision::Node::m_Min, PL_SimplexSubdivision::Node::m_NodesAdjacent, and VectorN::push_back().

Here is the call graph for this function:

void PL_SimplexSubdivision::AddSuspiciousNode const int  nodeNum  )  [protected]
 

Definition at line 99 of file PL_SimplexSubdivision.cpp.

References m_SuspiciousNodesAndVolumes.

void PL_SimplexSubdivision::AddToOpenList const int  nodeNum  )  [protected]
 

Definition at line 111 of file PL_SimplexSubdivision.cpp.

References m_OpenList.

PL_SimplexSubdivision::CollisionType PL_SimplexSubdivision::CollisionCheck const int  n0,
const int  n1
[protected]
 

Definition at line 132 of file PL_SimplexSubdivision.cpp.

References m_Nodes, and PL_SimplexSubdivision::Node::m_NodesAdjacent.

void PL_SimplexSubdivision::ConnectStartAndGoal  )  [protected]
 

Definition at line 227 of file PL_SimplexSubdivision.cpp.

References PL_HasCollisionDetector::collisionDetector, PlannerBase::GetGoalConfig(), PlannerBase::GetStartConfig(), CD_Linear::IsInterferingLinear(), m_NodeGoal, m_Nodes, m_NodeStart, and SubdivideNode().

Here is the call graph for this function:

void PL_SimplexSubdivision::DeleteEdge const int  node0,
const int  node1
[protected]
 

Definition at line 268 of file PL_SimplexSubdivision.cpp.

References m_Nodes, and PL_SimplexSubdivision::Node::RemoveNeighbor().

Referenced by DeleteNode().

Here is the call graph for this function:

void PL_SimplexSubdivision::DeleteNode const int  nodeNum  )  [protected]
 

Definition at line 281 of file PL_SimplexSubdivision.cpp.

References DeleteEdge(), PL_SimplexSubdivision::Node::m_Alive, m_Nodes, and PL_SimplexSubdivision::Node::m_NodesAdjacent.

Here is the call graph for this function:

bool PL_SimplexSubdivision::DrawExplicit  )  const [virtual]
 

Reimplemented from PL_OpenGL.

Definition at line 304 of file PL_SimplexSubdivision.cpp.

References Configuration::DOF(), PlannerBase::GetGoalConfig(), Semaphore::Lock(), and m_Nodes.

Here is the call graph for this function:

bool PL_SimplexSubdivision::IsAdjacent int  node0,
int  node1
[protected]
 

Definition at line 436 of file PL_SimplexSubdivision.cpp.

References Configuration::DOF(), PL_SimplexSubdivision::Node::m_Max, PL_SimplexSubdivision::Node::m_Min, and m_Nodes.

Referenced by AddEdge().

Here is the call graph for this function:

bool PL_SimplexSubdivision::Plan  )  [virtual]
 

Implements PlannerBase.

Definition at line 480 of file PL_SimplexSubdivision.cpp.

References PL_HasCollisionDetector::collisionDetector, Configuration::DOF(), PlannerBase::GetStartConfig(), CD_BasicStyle::JointMax(), CD_BasicStyle::JointMin(), m_Nodes, and PlannerBase::StartTimer().

Here is the call graph for this function:

bool PL_SimplexSubdivision::SearchForGoal  )  [protected]
 

Definition at line 593 of file PL_SimplexSubdivision.cpp.

References PL_SimplexSubdivision::Node::m_DistanceFromStart, m_Nodes, PL_SimplexSubdivision::Node::m_NodesAdjacent, and m_OpenList.

void PL_SimplexSubdivision::SubdivideLargestNode  )  [protected]
 

Definition at line 680 of file PL_SimplexSubdivision.cpp.

References m_SuspiciousNodesAndVolumes, SubdivideNode(), and Volume().

Here is the call graph for this function:

void PL_SimplexSubdivision::SubdivideNode int  nodeNum  )  [protected]
 

Definition at line 700 of file PL_SimplexSubdivision.cpp.

References VectorN::Length(), PL_SimplexSubdivision::Node::m_Max, PL_SimplexSubdivision::Node::m_Min, and m_Nodes.

Referenced by ConnectStartAndGoal(), and SubdivideLargestNode().

Here is the call graph for this function:

double PL_SimplexSubdivision::Volume const int  i  )  const
 

Definition at line 791 of file PL_SimplexSubdivision.cpp.

References m_Nodes.

Referenced by SubdivideLargestNode().


Member Data Documentation

std::set< int > PL_SimplexSubdivision::m_ClosedList [protected]
 

Definition at line 155 of file PL_SimplexSubdivision.h.

ComparisonFunction PL_SimplexSubdivision::m_Compare [protected]
 

Definition at line 164 of file PL_SimplexSubdivision.h.

int PL_SimplexSubdivision::m_NodeGoal [protected]
 

Definition at line 152 of file PL_SimplexSubdivision.h.

Referenced by ConnectStartAndGoal().

std::vector< Node > PL_SimplexSubdivision::m_Nodes [protected]
 

Definition at line 148 of file PL_SimplexSubdivision.h.

Referenced by AddEdge(), CollisionCheck(), ConnectStartAndGoal(), DeleteEdge(), DeleteNode(), DrawExplicit(), IsAdjacent(), Plan(), SearchForGoal(), SubdivideNode(), and Volume().

int PL_SimplexSubdivision::m_NodeStart [protected]
 

Definition at line 151 of file PL_SimplexSubdivision.h.

Referenced by ConnectStartAndGoal().

std::set< int > PL_SimplexSubdivision::m_OpenList [protected]
 

Definition at line 154 of file PL_SimplexSubdivision.h.

Referenced by AddToOpenList(), and SearchForGoal().

INTSET PL_SimplexSubdivision::m_SuspiciousNodesAndVolumes [protected]
 

Definition at line 166 of file PL_SimplexSubdivision.h.

Referenced by AddSuspiciousNode(), and SubdivideLargestNode().


The documentation for this class was generated from the following files:
Generated on Sat Apr 1 22:02:48 2006 for Motion Planning Kernel by  doxygen 1.4.6-NO