PL_Sandros Class Reference

#include <planners/sandros/PL_Sandros.h>

Inherits PL_GraphBase.

Inheritance diagram for PL_Sandros:

Inheritance graph
[legend]
Collaboration diagram for PL_Sandros:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 PL_Sandros ()
virtual ~PL_Sandros ()
virtual bool Plan ()
virtual bool Save (const char *filename) const
virtual bool Load (const char *filename)
virtual bool DrawExplicit () const
virtual void SetStartConfig (const Configuration &config)
virtual void SetGoalConfig (const Configuration &config)
virtual void SetCollisionDetector (CD_BasicStyle *collisionDetector)
virtual void ClearGraph ()
int GetRefinedNode (int i)
void SetValue (int m_Grid, int m_Neighbor, int m_Tolerance)

Protected Member Functions

void ConstructGraph ()
bool SearchForSequence (node_list &L)
double DistanceSandros (const node &n1, const node &n2)
void InitailizeGraph ()
void DealwithSequence (const node_list &L)
edge FindEdgeBetweenTwoNodes (const node &n1, const node &n2)
void SaveSandrosPath (const node_list &L)
node GenerateNewNode (int res, const node n1)
bool IsInterferingSan (const Configuration &n1, const node &n2, Configuration &p)
bool IsNeighber (const node &n3, const node &n2)
node GenerateNewNodeGrid (int res, const node n1, int no)
node FindNextNodeToRefined ()
bool IsNeighberSan (const Configuration &c1, const node &n2)

Protected Attributes

SuccessResultType plan_success
BOOL m_bNoOtherSequence
BOOL m_bResolutionLimit
node_pq< int > * m_quenQ
node_map< node > m_nodePs
queue< node > * m_quenQ1
node_map< node > m_nodePt
node_map< int > m_refine_level
node_map< bool > m_nodeInPsIsland
node_map< Configurationm_nodeInUPs
node_map< NodeInUVorPsPtm_nodeUVPsPt
edge_map< bool > m_bEdgeHiden
edge_array< double > m_c
int Tolerance
int seedofa
int dof
int current_res
double ThreshHold
double stride
int nextNo
Configuration NodeRefinedc
node NodeRefined

Detailed Description

Definition at line 39 of file PL_Sandros.h.


Constructor & Destructor Documentation

PL_Sandros::PL_Sandros  ) 
 

Definition at line 393 of file PL_Sandros.cpp.

References ClearGraph(), current_res, FAIL, m_bResolutionLimit, nextNo, NodeRefined, plan_success, seedofa, stride, ThreshHold, and Tolerance.

Here is the call graph for this function:

PL_Sandros::~PL_Sandros  )  [virtual]
 

Definition at line 50 of file PL_Sandros.cpp.


Member Function Documentation

void PL_Sandros::ClearGraph  )  [virtual]
 

Reimplemented from PL_GraphBase.

Definition at line 561 of file PL_Sandros.cpp.

References PL_GraphBase::ClearGraph().

Referenced by PL_Sandros(), and SetStartConfig().

Here is the call graph for this function:

void PL_Sandros::ConstructGraph  )  [protected]
 

Definition at line 636 of file PL_Sandros.cpp.

References current_res, dof, FindNextNodeToRefined(), for_allnodes_inPs, PL_GraphBase::G, m_bEdgeHiden, m_bResolutionLimit, m_nodeInPsIsland, m_nodeInUPs, m_nodePs, m_nodeUVPsPt, m_quenQ, m_refine_level, NodeInPs, NodeRefined, NodeRefinedc, stride, ThreshHold, and Tolerance.

Referenced by Plan().

Here is the call graph for this function:

void PL_Sandros::DealwithSequence const node_list &  L  )  [protected]
 

Definition at line 503 of file PL_Sandros.cpp.

References FindEdgeBetweenTwoNodes(), PL_GraphBase::G, PL_GraphBase::goalNode, PL_GraphBase::IsInterfering(), IsInterferingSan(), m_bEdgeHiden, m_nodeInUPs, m_nodePs, m_nodeUVPsPt, m_quenQ, m_refine_level, NodeInPs, PASS, and plan_success.

Referenced by Plan().

Here is the call graph for this function:

double PL_Sandros::DistanceSandros const node &  n1,
const node &  n2
[protected]
 

Definition at line 908 of file PL_Sandros.cpp.

References dof, and PL_GraphBase::G.

bool PL_Sandros::DrawExplicit  )  const [virtual]
 

Reimplemented from PL_GraphBase.

Definition at line 567 of file PL_Sandros.cpp.

References Semaphore::Lock(), and Semaphore::Unlock().

Here is the call graph for this function:

edge PL_Sandros::FindEdgeBetweenTwoNodes const node &  n1,
const node &  n2
[protected]
 

Definition at line 491 of file PL_Sandros.cpp.

References PL_GraphBase::G.

Referenced by DealwithSequence().

node PL_Sandros::FindNextNodeToRefined  )  [protected]
 

Definition at line 601 of file PL_Sandros.cpp.

References m_quenQ.

Referenced by ConstructGraph().

node PL_Sandros::GenerateNewNode int  res,
const node  n1
[protected]
 

Definition at line 254 of file PL_Sandros.cpp.

References PL_HasCollisionDetector::collisionDetector, dof, PL_GraphBase::G, CD_BasicStyle::JointMax(), CD_BasicStyle::JointMin(), and VectorN::SetLength().

Here is the call graph for this function:

node PL_Sandros::GenerateNewNodeGrid int  res,
const node  n1,
int  no
[protected]
 

Definition at line 210 of file PL_Sandros.cpp.

References CD_BasicStyle::ActivateFrames(), PL_HasCollisionDetector::collisionDetector, CD_BasicStyle::DeactivateFrames(), dof, PL_GraphBase::G, PL_GraphBase::IsInterfering(), CD_BasicStyle::JointMax(), CD_BasicStyle::JointMin(), nextNo, seedofa, VectorN::SetLength(), and stride.

Here is the call graph for this function:

int PL_Sandros::GetRefinedNode int  i  ) 
 

Definition at line 55 of file PL_Sandros.cpp.

References dof, NodeRefined, and NodeRefinedc.

void PL_Sandros::InitailizeGraph  )  [protected]
 

Definition at line 287 of file PL_Sandros.cpp.

References dof, and VectorN::SetLength().

Referenced by Plan().

Here is the call graph for this function:

bool PL_Sandros::IsInterferingSan const Configuration n1,
const node &  n2,
Configuration p
[protected]
 

Definition at line 894 of file PL_Sandros.cpp.

References dof, and PL_GraphBase::G.

Referenced by DealwithSequence().

bool PL_Sandros::IsNeighber const node &  n3,
const node &  n2
[protected]
 

Definition at line 842 of file PL_Sandros.cpp.

References dof, and PL_GraphBase::G.

bool PL_Sandros::IsNeighberSan const Configuration c1,
const node &  n2
[protected]
 

Definition at line 868 of file PL_Sandros.cpp.

References dof, and PL_GraphBase::G.

bool PL_Sandros::Load const char *  filename  )  [virtual]
 

Reimplemented from PL_GraphBase.

Definition at line 359 of file PL_Sandros.cpp.

References Semaphore::Lock(), and Semaphore::Unlock().

Here is the call graph for this function:

bool PL_Sandros::Plan  )  [virtual]
 

Reimplemented from PL_GraphBase.

Definition at line 74 of file PL_Sandros.cpp.

References PL_HasCollisionDetector::collisionDetector, ConstructGraph(), DealwithSequence(), CD_BasicStyle::DOF(), dof, FAIL, PL_GraphBase::goalNode, PL_GraphBase::graphPath, PlannerBase::guid, InitailizeGraph(), Semaphore::Lock(), m_bNoOtherSequence, m_bResolutionLimit, PASS, plan_success, SaveSandrosPath(), SearchForSequence(), PL_GraphBase::startNode, PlannerBase::StartTimer(), PL_GraphBase::TranslatePath(), and Semaphore::Unlock().

Here is the call graph for this function:

bool PL_Sandros::Save const char *  filename  )  const [virtual]
 

Reimplemented from PL_GraphBase.

Definition at line 336 of file PL_Sandros.cpp.

void PL_Sandros::SaveSandrosPath const node_list &  L  )  [protected]
 

Definition at line 172 of file PL_Sandros.cpp.

References PA_Points::AppendPoint(), PA_Points::AppendPointToBeginning(), PA_Points::Clear(), PL_GraphBase::G, PL_GraphBase::goalNode, PL_GraphBase::IsInterfering(), m_nodeInUPs, m_nodePs, m_nodeUVPsPt, NodeInPt, PL_Boolean_Output::path, and PL_GraphBase::startNode.

Referenced by Plan().

Here is the call graph for this function:

bool PL_Sandros::SearchForSequence node_list &  L  )  [protected]
 

Definition at line 933 of file PL_Sandros.cpp.

References dof, for_allnodes_inPsNoIsland, PL_GraphBase::G, PL_GraphBase::goalNode, m_c, m_nodeUVPsPt, and NodeInPs.

Referenced by Plan().

void PL_Sandros::SetCollisionDetector CD_BasicStyle collisionDetector  )  [virtual]
 

Reimplemented from PL_GraphBase.

Definition at line 486 of file PL_Sandros.cpp.

References PL_HasCollisionDetector::collisionDetector, and PL_GraphBase::SetCollisionDetector().

Referenced by ServerBase::RefreshPlanner().

Here is the call graph for this function:

void PL_Sandros::SetGoalConfig const Configuration config  )  [virtual]
 

Reimplemented from PL_GraphBase.

Definition at line 458 of file PL_Sandros.cpp.

References FAIL, PL_GraphBase::G, PlannerBase::GetGoalConfig(), PL_GraphBase::goalNode, PL_GraphBase::IsInterfering(), plan_success, and PL_GraphBase::SetGoalConfig().

Here is the call graph for this function:

void PL_Sandros::SetStartConfig const Configuration config  )  [virtual]
 

Reimplemented from PL_GraphBase.

Definition at line 409 of file PL_Sandros.cpp.

References ClearGraph(), FAIL, PL_GraphBase::G, PlannerBase::GetGoalConfig(), PlannerBase::GetStartConfig(), PL_GraphBase::goalNode, PL_GraphBase::IsInterfering(), plan_success, PL_GraphBase::SetGoalConfig(), PL_GraphBase::SetStartConfig(), and PL_GraphBase::startNode.

Here is the call graph for this function:

void PL_Sandros::SetValue int  m_Grid,
int  m_Neighbor,
int  m_Tolerance
 

Definition at line 281 of file PL_Sandros.cpp.

References stride, ThreshHold, and Tolerance.


Member Data Documentation

int PL_Sandros::current_res [protected]
 

Definition at line 101 of file PL_Sandros.h.

Referenced by ConstructGraph(), and PL_Sandros().

int PL_Sandros::dof [protected]
 

Definition at line 100 of file PL_Sandros.h.

Referenced by ConstructGraph(), DistanceSandros(), GenerateNewNode(), GenerateNewNodeGrid(), GetRefinedNode(), InitailizeGraph(), IsInterferingSan(), IsNeighber(), IsNeighberSan(), Plan(), and SearchForSequence().

edge_map<bool> PL_Sandros::m_bEdgeHiden [protected]
 

Definition at line 93 of file PL_Sandros.h.

Referenced by ConstructGraph(), and DealwithSequence().

BOOL PL_Sandros::m_bNoOtherSequence [protected]
 

Definition at line 76 of file PL_Sandros.h.

Referenced by Plan().

BOOL PL_Sandros::m_bResolutionLimit [protected]
 

Definition at line 77 of file PL_Sandros.h.

Referenced by ConstructGraph(), PL_Sandros(), and Plan().

edge_array<double> PL_Sandros::m_c [protected]
 

Definition at line 95 of file PL_Sandros.h.

Referenced by SearchForSequence().

node_map<bool> PL_Sandros::m_nodeInPsIsland [protected]
 

Definition at line 88 of file PL_Sandros.h.

Referenced by ConstructGraph().

node_map<Configuration> PL_Sandros::m_nodeInUPs [protected]
 

Definition at line 90 of file PL_Sandros.h.

Referenced by ConstructGraph(), DealwithSequence(), and SaveSandrosPath().

node_map<node> PL_Sandros::m_nodePs [protected]
 

Definition at line 83 of file PL_Sandros.h.

Referenced by ConstructGraph(), DealwithSequence(), and SaveSandrosPath().

node_map<node> PL_Sandros::m_nodePt [protected]
 

Definition at line 86 of file PL_Sandros.h.

node_map<NodeInUVorPsPt> PL_Sandros::m_nodeUVPsPt [protected]
 

Definition at line 92 of file PL_Sandros.h.

Referenced by ConstructGraph(), DealwithSequence(), SaveSandrosPath(), and SearchForSequence().

node_pq<int>* PL_Sandros::m_quenQ [protected]
 

Definition at line 80 of file PL_Sandros.h.

Referenced by ConstructGraph(), DealwithSequence(), and FindNextNodeToRefined().

queue<node>* PL_Sandros::m_quenQ1 [protected]
 

Definition at line 84 of file PL_Sandros.h.

node_map<int> PL_Sandros::m_refine_level [protected]
 

Definition at line 87 of file PL_Sandros.h.

Referenced by ConstructGraph(), and DealwithSequence().

int PL_Sandros::nextNo [protected]
 

Definition at line 104 of file PL_Sandros.h.

Referenced by GenerateNewNodeGrid(), and PL_Sandros().

node PL_Sandros::NodeRefined [protected]
 

Definition at line 106 of file PL_Sandros.h.

Referenced by ConstructGraph(), GetRefinedNode(), and PL_Sandros().

Configuration PL_Sandros::NodeRefinedc [protected]
 

Definition at line 105 of file PL_Sandros.h.

Referenced by ConstructGraph(), and GetRefinedNode().

SuccessResultType PL_Sandros::plan_success [protected]
 

Definition at line 75 of file PL_Sandros.h.

Referenced by DealwithSequence(), PL_Sandros(), Plan(), SetGoalConfig(), and SetStartConfig().

int PL_Sandros::seedofa [protected]
 

Definition at line 99 of file PL_Sandros.h.

Referenced by GenerateNewNodeGrid(), and PL_Sandros().

double PL_Sandros::stride [protected]
 

Definition at line 103 of file PL_Sandros.h.

Referenced by ConstructGraph(), GenerateNewNodeGrid(), PL_Sandros(), and SetValue().

double PL_Sandros::ThreshHold [protected]
 

Definition at line 102 of file PL_Sandros.h.

Referenced by ConstructGraph(), PL_Sandros(), and SetValue().

int PL_Sandros::Tolerance [protected]
 

Definition at line 98 of file PL_Sandros.h.

Referenced by ConstructGraph(), PL_Sandros(), and SetValue().


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