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