User Documentation
RAVL, Recognition And Vision Library
DEVELOP HOME PAGE CLASS LIST CONTENTS
Ravl - Logic - Planning - NonLinearPlanBodyC
 

  PUBLIC
NonLinearPlanBodyC::NonLinearPlanBodyC(const MinTermC &,const MinTermC &,const CallFunc2C> &)
NonLinearPlanBodyC::~NonLinearPlanBodyC(void)
NonLinearPlanBodyC::Init(const MinTermC &,const MinTermC &)
NonLinearPlanBodyC::InsStep(const NLPStepC &,const MinTermC &)
NonLinearPlanBodyC::InsStep(const NLPStepC &)
NonLinearPlanBodyC::InsCausalLink(NLPStepNodeT,NLPStepNodeT,MinTermC &)
NonLinearPlanBodyC::InsOrderLink(NLPStepNodeT,NLPStepNodeT)
NonLinearPlanBodyC::IsComplete(void) const
NonLinearPlanBodyC::GetLinear(void) const
NonLinearPlanBodyC::Dump(void) const
NonLinearPlanBodyC::Score(void) const
NonLinearPlanBodyC::StartNode(void) const
NonLinearPlanBodyC::GoalNode(void) const
NonLinearPlanBodyC::PreConds(void)
NonLinearPlanBodyC::PreConds(void) const
NonLinearPlanBodyC::PostConds(void)
NonLinearPlanBodyC::PostConds(void) const
NonLinearPlanBodyC::PlanID(void) const
NonLinearPlanBodyC::NodeObjH(BGraphTypesC::NodeHandleT)
NonLinearPlanBodyC::IsValid(const NLPStepNodeT &) const
NonLinearPlanBodyC::IsValid(void) const
NonLinearPlanBodyC::IsUsefullNewStep(const NLPStepC &,const NLPStepNodeT &) const
NonLinearPlanBodyC::ListSteps(const MinTermC &,const MinTermC &)
NonLinearPlanBodyC::DoDBCheck(void)
RCBodyVC::Save(ostream &) const
RCBodyVC::Save(BinOStreamC &) const
RCBodyVC::Copy(void) const
RCBodyVC::DeepCopy(UIntT) const
RCBodyC::References(void) const
RCBodyC::Copy(void) const
RCBodyC::DeepCopy(UIntT) const
RCBodyC::IncRefCounter(void)
RCBodyC::DecRefCounter(void)

   NonLinearPlanBodyC   
 
The body of a non-linear plan.
 
include "Ravl/Logic/NonLinearPlan.hh"
Created:12/12/1996 
User Level:Develop
Library:RavlLogicNLP
Example:exNonlinearPlanner.cc
In Scope:RavlLogicN

Parent Classes: Variables:
Methods:
NonLinearPlanBodyC(const MinTermC & initCond,const MinTermC & goalCond,const CallFunc2C<MinTermC,MinTermC,DListC<NLPStepC>> & step)
Constructor,

~NonLinearPlanBodyC()
Destructor.

bool Init(const MinTermC & Start,const MinTermC & Goal)
Initalise plan.

NLPStepNodeT InsStep(const NLPStepC & Step,const MinTermC & Goal)
Insert a step into the plan

NLPStepNodeT InsStep(const NLPStepC & Step)
Insert a step into the plan.

NLPCausalLinkT InsCausalLink(NLPStepNodeT from,NLPStepNodeT to,MinTermC & Cond)
Insert a causal link into the plan. Used to resolve open goals.

NLPOrderLinkT InsOrderLink(NLPStepNodeT from,NLPStepNodeT to)
Insert an order link into the plan. Used to resolve threats.

bool IsComplete(void) const
Is plan complete.

DListC<NLPStepC> GetLinear(void) const
Get a linear version of the plan.

void Dump(void) const
Dump current plan to stdout.

IntT Score(void) const
Give the plan a score for A* search.

const NLPStepNodeT & StartNode() const
Const access to start node.

const NLPStepNodeT & GoalNode() const
Const access to goal node.

BMinTermListIndexC<NLPStepNodeT> & PreConds()
Access PreConditions.

const BMinTermListIndexC<NLPStepNodeT> & PreConds() const
Access PreConditions.

BMinTermListIndexC<NLPStepNodeT> & PostConds()
Access PostConditions.

const BMinTermListIndexC<NLPStepNodeT> & PostConds() const
Access PostConditions.

IntT PlanID() const
Get a unique ID for the plan.

NLPStepNodeT NodeObjH(BGraphTypesC::NodeHandleT H)
Convert a node handle to a ptr.

bool IsValid(const NLPStepNodeT & Oth) const
Check the handle is valid. (For debuging. )

bool IsValid() const
Check plan is valid.

bool IsUsefullNewStep(const NLPStepC & mt,const NLPStepNodeT & sn) const
Test if is usefull to add postcondition to this plan.
Use to filter out the addition of useless steps.

sn is the step which has the open goal that caused mt to be considered


DListC<NLPStepC> ListSteps(const MinTermC & goalCond,const MinTermC & fullCond)
List steps with the given postcondition.
GoalCond :- Condition that must be meet by Step, FullCond :- 'Wish list' of conditions that also will be needed. Heuristic ordering of steps, place the most likly to be usefull first.

void DoDBCheck()
Debuging checks.

#include "Ravl/RCHandleV.hh"
bool Save(ostream & out) const
Save to stream 'out'.

bool Save(BinOStreamC & out) const
Save to binary stream 'out'.

RCBodyVC & Copy() const
Make copy of body.
This should be provided in derived classes. this funtion will issue an assertion failure if called.

RCBodyC & DeepCopy(UIntT levels = ((UIntT))) const
Make a deep copy of body.
This should be provided in derived classes. this funtion will issue an assertion failure if called.

#include "Ravl/RefCounter.hh"
UIntT References() const
Access count of handles open to this object.

RCBodyC & Copy() const
Make copy of body.
This should be provided in derived classes. this funtion will issue an assertion failure if called.

RCBodyC & DeepCopy(UIntT levels = ((UIntT))) const
Make a deep copy of body.
This should be provided in derived classes. this funtion will issue an assertion failure if called.

void IncRefCounter()
Increment reference counter.

bool DecRefCounter()
Decrement reference counter.


Maintainer:Charles Galambos, Created: 12/12/1996, Documentation by CxxDoc: Tue Aug 13 09:59:02 2002