A three dimensional node class that is at the heart of the algorithm. More...
#include <node3d.h>
Public Member Functions | |
| Node3D () | |
| The default constructor for 3D array initialization.  | |
| Node3D (float x, float y, float t, float g, float h, const Node3D *pred, int prim=0) | |
| Constructor for a node with the given arguments.  | |
| float | getX () const | 
| get the x position  | |
| float | getY () const | 
| get the y position  | |
| float | getT () const | 
| get the heading theta  | |
| float | getG () const | 
| get the cost-so-far (real value)  | |
| float | getH () const | 
| get the cost-to-come (heuristic value)  | |
| float | getC () const | 
| get the total estimated cost  | |
| int | getIdx () const | 
| get the index of the node in the 3D array  | |
| int | getPrim () const | 
| get the number associated with the motion primitive of the node  | |
| bool | isOpen () const | 
| determine whether the node is open  | |
| bool | isClosed () const | 
| determine whether the node is closed  | |
| const Node3D * | getPred () const | 
| determine whether the node is open  | |
| void | setX (const float &x) | 
| set the x position  | |
| void | setY (const float &y) | 
| set the y position  | |
| void | setT (const float &t) | 
| set the heading theta  | |
| void | setG (const float &g) | 
| set the cost-so-far (real value)  | |
| void | setH (const float &h) | 
| set the cost-to-come (heuristic value)  | |
| int | setIdx (int width, int height) | 
| set and get the index of the node in the 3D grid  | |
| void | setPrim (const int &prim) | 
| set the primitive  | |
| void | open () | 
| open the node  | |
| void | close () | 
| close the node  | |
| void | setPred (const Node3D *pred) | 
| set a pointer to the predecessor of the node  | |
| void | updateG () | 
| Updates the cost-so-far for the node x' coming from its predecessor. It also discovers the node.  | |
| bool | operator== (const Node3D &rhs) const | 
| Custom operator to compare nodes. Nodes are equal if their x and y position as well as heading is similar.  | |
| bool | isInRange (const Node3D &goal) const | 
| Determines whether it is appropriate to find a analytical solution.  | |
| bool | isOnGrid (const int width, const int height) const | 
| Validity check to test, whether the node is in the 3D array.  | |
| Node3D * | createSuccessor (const int i) | 
| Creates a successor in the continous space.  | |
Static Public Attributes | |
| static const int | dir = 3 | 
| Number of possible directions.  | |
| static const float | dx [] = { 0.7068582, 0.705224, 0.705224} | 
| Possible movements in the x direction.  | |
| static const float | dy [] = { 0, -0.0415893, 0.0415893} | 
| Possible movements in the y direction.  | |
| static const float | dt [] = { 0, 0.1178097, -0.1178097} | 
| Possible movements regarding heading theta.  | |
Private Attributes | |
| float | x | 
| the x position  | |
| float | y | 
| the y position  | |
| float | t | 
| the heading theta  | |
| float | g | 
| the cost-so-far  | |
| float | h | 
| the cost-to-go  | |
| int | idx | 
| the index of the node in the 3D array  | |
| bool | o | 
| the open value  | |
| bool | c | 
| the closed value  | |
| int | prim | 
| the motion primitive of the node  | |
| const Node3D * | pred | 
| the predecessor pointer  | |
A three dimensional node class that is at the heart of the algorithm.
Each node has a unique configuration (x, y, theta) in the configuration space C.
 1.8.6