Developer Documentation
Centre for Vision, Speech & Signal Processing
USER IN NAMESPACE AMMA TREE ROOT AMMA SEARCH AMMA HOME
 

  PUBLIC
VLNonLinearPlan::VLNonLinearPlan(VLNLPlannerBodyC &)
VLNonLinearPlan::VLNonLinearPlan(const VLNonLinearPlan &)
VLNonLinearPlan::~VLNonLinearPlan(void)
VLNonLinearPlan::Init(const VLMinTermC &,const VLMinTermC &)
VLNonLinearPlan::InsStep(const VLStepC &,const VLMinTermC &)
VLNonLinearPlan::InsStep(const VLStepC &)
VLNonLinearPlan::InsCausalLink(StepNodeT,StepNodeT,VLMinTermC &)
VLNonLinearPlan::InsOrderLink(StepNodeT,StepNodeT)
VLNonLinearPlan::IsComplete(void) const
VLNonLinearPlan::GetLinear(void) const
VLNonLinearPlan::Dump(void) const
VLNonLinearPlan::Score(void) const
VLNonLinearPlan::StartNode(void) const
VLNonLinearPlan::GoalNode(void) const
VLNonLinearPlan::Planner(void)
VLNonLinearPlan::PreConds(void)
VLNonLinearPlan::PreConds(void) const
VLNonLinearPlan::PostConds(void)
VLNonLinearPlan::PostConds(void) const
VLNonLinearPlan::PlanID(void) const
VLNonLinearPlan::NodeObjH(BGraphTypesC::NodeHandleT)
VLNonLinearPlan::IsValid(const StepNodeT &) const
VLNonLinearPlan::IsValid(void) const
VLNonLinearPlan::IsUsefullNewStep(const VLStepC &,const StepNodeT &) const
VLNonLinearPlan::DoDBCheck(void)
VLNonLinearPlan::PostOpenCond(StepNodeT &,const VLMinTermC &)
VLNonLinearPlan::PostThreat(StepNodeT &,CausalLinkT)
VLNonLinearPlan::TopOfAgenda(void)
VLNonLinearPlan::GetTopOfAgenda(void)
VLNonLinearPlan::GetSteps(void) const
VLNonLinearPlan::Steps(void) const
BodyRefCounterVC::Copy(void) const
BodyRefCounterVC::operator==(const BodyRefCounterVC &) const
BodyRefCounterVC::operator!=(const BodyRefCounterVC &) const
BodyRefCounterVC::Save(ostream &) const
BodyRefCounterC::AddReference(void)
BodyRefCounterC::RemoveReference(void)
BodyRefCounterC::SetConst(void) const
BodyRefCounterC::SetConst(void)
BodyRefCounterC::IsConst(void) const
BodyRefCounterC::IsNotConst(void) const
BodyRefCounterC::ToBeDeleted(void) const
BodyRefCounterC::ToBeDeletedRemoveIgnoreNoRemove(void)
BodyRefCounterC::ToBeDeletedRemove(void)
BodyRefCounterC::BodyMightBeDeleted(void) const
BodyRefCounterC::IsCountZero(void) const
BodyRefCounterC::BRCPtrCanDeleteObject(void) const
BodyRefCounterC::Count(void) const
BodyRefCounterC::operator=(const BodyRefCounterC &)
BodyRefCounterC::IsValidObject(void) const
BodyRefCounterC::UserBitTest(IntT) const
BodyRefCounterC::UserBitSet(IntT,BooleanT)
BodyRefCounterC::UserBitZero(IntT)
BodyRefCounterC::ReportBRCError(char *)
BodyRefCounterC::Hash(void) const
BodyRefCounterC::SetUndeletable(void)
BodyRefCounterC::ReportInvalidObject(char *) const
RefCounterBaseC::Label(void) const
VLNonLinearPlan
 
The body of a non-linear plan.
 
include "amma/Logic2/NonLinearPlan.hh"
User Level:Default
Library:VLPlanNL
Example:exIndex.cc
Section:Logic.Planning
In Scope:std

Parent Classes:

Variables:
IntT planID;
Only really used to help in debuging.
indIndex of types of intererest.

PlanT plan;
Graph of states.
indIndex of types of intererest.
Links -> CausalLinkInfT. Nodes -> Steps in plan.

VLBindLst bnds;
List of variable binds in the plan.
indIndex of types of intererest.

BHashIntC negBnds;
List of Negated binds.
indIndex of types of intererest.

VLBNPListIndexC preConds;
Used to establish threats.
indIndex of types of intererest.

VLBNPListIndexC postConds;
Used to help establish causal links.
indIndex of types of intererest.

VLNLPAgenda agenda;
Agenda of open conditions.
indIndex of types of intererest.

int steps;
Count of steps in the plan.
indIndex of types of intererest.

VLNLPlannerBodyC & planner;
Planner building this plan.
indIndex of types of intererest.

Methods:
VLNonLinearPlan(VLNLPlannerBodyC & APlanner)
Constructor, Empty plan.
indIndex of types of intererest.

VLNonLinearPlan(const VLNonLinearPlan & oth)
indIndex of types of intererest.

~VLNonLinearPlan()
Destructor.
indIndex of types of intererest.

BooleanT Init(const VLMinTermC & Start,const VLMinTermC & Goal)
Initalise plan.
indIndex of types of intererest.

StepNodeT InsStep(const VLStepC & Step,const VLMinTermC & Goal)
Insert a step into the plan
indIndex of types of intererest.

StepNodeT InsStep(const VLStepC & Step)
Insert a step into the plan.
indIndex of types of intererest.

CausalLinkT InsCausalLink(StepNodeT From,StepNodeT To,VLMinTermC & Cond)
Insert a causal link into the plan. Used to resolve open goals.
indIndex of types of intererest.

OrderLinkT InsOrderLink(StepNodeT From,StepNodeT To)
Insert an order link into the plan. Used to resolve threats.
indIndex of types of intererest.

BooleanT IsComplete(void) const
Is plan complete.
indIndex of types of intererest.

VLPlanLinearStepC GetLinear(void) const
Get a linear version of the plan.
indIndex of types of intererest.

void Dump(void) const
Dump current plan to stdout.
indIndex of types of intererest.

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

const StepNodeT & StartNode() const
Const access to start node.
indIndex of types of intererest.

const StepNodeT & GoalNode() const
Const access to goal node.
indIndex of types of intererest.

VLNLPlannerBodyC & Planner()
Get planner.
indIndex of types of intererest.

VLBNPListIndexC<StepNodeT> & PreConds()
Access PreConditions.
indIndex of types of intererest.

const VLBNPListIndexC<StepNodeT> & PreConds() const
Access PreConditions.
indIndex of types of intererest.

VLBNPListIndexC<StepNodeT> & PostConds()
Access PostConditions.
indIndex of types of intererest.

const VLBNPListIndexC<StepNodeT> & PostConds() const
Access PostConditions.
indIndex of types of intererest.

IntT PlanID() const
Get a unique ID for the plan.
indIndex of types of intererest.

StepNodeT NodeObjH(BGraphTypesC::NodeHandleT H)
Convert a node handle to a ptr.
indIndex of types of intererest.

BooleanT IsValid(const StepNodeT & Oth) const
Check the handle is valid. (For debuging. )
indIndex of types of intererest.

BooleanT IsValid() const
Check plan is valid.
indIndex of types of intererest.

BooleanT IsUsefullNewStep(const VLStepC & mt,const StepNodeT & sn) const
Test if is usefull to add postcondition to this plan.
indIndex of types of intererest.
Use to filter out the addition of useless steps.

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


void DoDBCheck()
Debuging checks.
indIndex of types of intererest.

BooleanT PostOpenCond(StepNodeT & AStep,const VLMinTermC & OpenCond)
Insert an open condition into the agenda.
indIndex of types of intererest.

BooleanT PostThreat(StepNodeT & AStep,CausalLinkT ALink)
Insert an threat into the agenda.
indIndex of types of intererest.

VLNLPAgendaItemC TopOfAgenda()
Look at current agenda item.
indIndex of types of intererest.

VLNLPAgendaItemC GetTopOfAgenda()
Return current agenda item and remove it.
indIndex of types of intererest.

IntT GetSteps() const
Get the number of steps in the current plan.
indIndex of types of intererest.

IntT Steps() const
Get the number of steps in the current plan.
indIndex of types of intererest.

#include "amma/BRefCntV.hh"
BodyRefCounterVC & Copy() const
Creat a copy of this object.

BooleanT operator==(const BodyRefCounterVC & oth) const
Compair identitys.

BooleanT operator!=(const BodyRefCounterVC & oth) const
Compair identitys.

BooleanT Save(ostream & out) const
Save to ostream.

#include "amma/BRefCnt.hh"
void AddReference()
Another reference to the object has been created.

void RemoveReference()
One reference to the object was deleted.
Locking scheme -------------- The object is possible to lock (to make constant). The scheme assumes that the object is created, it can be locked, after that it can only be destroyed. The locked object cannot be unlocked. This locking scheme is very useful during debugging, using assert() function, when it is necassary to check that object is treated as constant and the constancy is not violated by any casting or passing through the copy constructor of shared objects.

void SetConst(void) const
This locks the object.
Often objects you wish to lock are already const.

void SetConst(void)
This locks the object.

BooleanT IsConst(void) const
Returns TRUE if the object is locked, ie. it is assumed to be constant.

BooleanT IsNotConst(void) const
Returns TRUE if the object is unlocked.
ie. there is no special information if the object is constant or not. Counter state information -------------------------

BooleanT ToBeDeleted() const
Returns TRUE if there is only one reference to the object and the whole object or its reference counting part can be deleted.

BooleanT ToBeDeletedRemoveIgnoreNoRemove()
Decrement refrence by 1 return true if this leaves no refrences to the object.

BooleanT ToBeDeletedRemove()
Decrement refrence by 1 return true if this leaves no refrences to the object. This also checks the NoRemove flag.

BooleanT BodyMightBeDeleted() const
Returns TRUE if the reference counted part of the object can be deleted, ie. flag NOREMOVE is false .

BooleanT IsCountZero() const
Are there any refrences left ?

BooleanT BRCPtrCanDeleteObject() const
Used by BRRCPtrC to establish if an object has ZERO refrences and can be deleted.

IntT Count() const
Returns the current state of the counter, ie. how many references to this object exist.

const BodyRefCounterC & operator=(const BodyRefCounterC & b)
It has not meaning to assign object 'b' to this object because it would destroy a history of the object which is counted. So this is a dummy function.

BooleanT IsValidObject() const
Test if object is valid.
When amma check is disabled this always returns true.

BooleanT UserBitTest(IntT x) const
Test user flag.

void UserBitSet(IntT x,BooleanT setit = TRUE)
Test user flag.

void UserBitZero(IntT x)
Set bit to zero.

void ReportBRCError(char * Msg)
Report error, used in BRCPtrC.

UIntT Hash() const
Hash on address of object.

void SetUndeletable()
Make object undeletable.
Usefull to prevent recursive deleting in graph structures. Only hackers need this function.

void ReportInvalidObject(char * Msg = 0) const
Tell user about validation failure.

#include "amma/RefCBase.hh"
LabelT Label() const
Returns the label of this reference counter.
The member function is useful mainly to recognize objects during debugging. The value of the label is uniquely defined pointer.


Programmer:Charles Galambos, Documentation by CxxDoc: Tue Mar 20 10:49:27 2001