Class BFMT::BiDirMotion
Defined in File BFMT.h
Nested Relationships
This class is a nested type of Class BFMT.
Class Documentation
-
class BiDirMotion
Representation of a bidirectional motion.
Public Types
-
enum SetType
The FMT* planner begins with all nodes included in set Unvisited “Waiting for optimal connection”. As nodes are connected to the tree, they are transferred into set Open “Horizon of explored tree.” Once a node in Open is no longer close enough to the frontier to connect to any more nodes in Unvisited, it is removed from Open. These three SetTypes are flags indicating which set the node belongs to; Open, Unvisited, or Closed (neither)
Values:
-
enumerator SET_CLOSED
-
enumerator SET_OPEN
-
enumerator SET_UNVISITED
-
enumerator SET_CLOSED
-
using BiDirMotionPtrs = std::vector<BiDirMotion*>
Public Functions
-
inline BiDirMotion(TreeType *tree)
-
inline BiDirMotion(const base::SpaceInformationPtr &si, TreeType *tree)
Constructor that allocates memory for the state.
-
inline base::Cost getCost() const
Set the state associated with the motion.
-
inline base::Cost getOtherCost() const
Get cost of this motion in the inactive tree.
-
inline void setCost(base::Cost cost)
Set the cost of the motion.
-
inline void setParent(BiDirMotion *parent)
Set the parent of the motion.
-
inline BiDirMotion *getParent() const
Get the parent of the motion.
-
inline void setChildren(BiDirMotionPtrs children)
Set the children of the motion.
-
inline BiDirMotionPtrs getChildren() const
Get the children of the motion.
-
inline void setCurrentSet(SetType set)
Set the current set of the motion.
-
inline SetType getCurrentSet() const
Fet the current set of the motion.
-
inline SetType getOtherSet() const
Get set of this motion in the inactive tree.
-
inline void setTreeType(TreeType *treePtr)
Set tree identifier for this motion.
-
inline TreeType getTreeType() const
Get tree identifier for this motion.
-
inline void setState(base::State *state)
Set the state associated with the motion.
-
inline base::State *getState() const
Get the state associated with the motion.
-
inline bool alreadyCC(BiDirMotion *m)
Returns true if the connection to m has been already tested and failed because of a collision.
-
inline void addCC(BiDirMotion *m)
Caches a failed collision check to m.
-
inline void setHeuristicCost(const base::Cost h)
Set the cost to go heuristic cost.
-
inline base::Cost getHeuristicCost() const
Get the cost to go heuristic cost.
Public Members
-
base::State *state_
The state contained by the motion.
-
BiDirMotion *parent_[2]
The parent motion in the exploration tree
-
BiDirMotionPtrs children_[2]
The set of motions descending from the current motion
-
SetType currentSet_[2]
Current set in which the motion is included.
-
TreeType *tree_
Tree identifier
-
base::Cost cost_[2]
The cost of this motion
-
base::Cost hcost_[2]
The minimum cost to go of this motion (heuristically computed)
-
std::set<BiDirMotion*> collChecksDone_
Contains the connections attempted FROM this node.
-
enum SetType