| 
Classes | 
| struct | IndexInfo | 
|  | Holds information about the node the optimization index represents.  More... 
 | 
| 
Public Types | 
| enum | Side { Start = 0, 
End
 } | 
| 
Public Member Functions | 
| void | AddFinalBound (Dx deriv, const std::vector< int > &dimensions, const VectorXd &val) | 
|  | Restricts the last node in the spline. 
 | 
| void | AddObserver (ObserverPtr const spline) | 
|  | Adds a dependent observer that gets notified when the nodes change. 
 | 
| void | AddStartBound (Dx deriv, const std::vector< int > &dimensions, const VectorXd &val) | 
|  | Restricts the first node in the spline. 
 | 
| const std::vector< Node > | GetBoundaryNodes (int poly_id) const | 
| virtual VecBound | GetBounds () const override | 
| int | GetDim () const | 
| virtual std::vector< IndexInfo > | GetNodeInfoAtOptIndex (int idx) const =0 | 
|  | The node information that the optimization index represents. 
 | 
| const std::vector< Node > | GetNodes () const | 
| int | GetPolynomialCount () const | 
| VectorXd | GetValues () const override | 
| int | Index (const IndexInfo &node_info) const | 
|  | The index at which a specific node variable is stored. 
 | 
| int | Index (int node_id, Dx deriv, int node_dim) const | 
| void | InitializeNodesTowardsGoal (const VectorXd &initial_pos, const VectorXd &final_pos, double t_total) | 
|  | Sets nodes pos/vel equally spaced from initial to final position. 
 | 
| void | SetVariables (const VectorXd &x) override | 
|  | Sets the node position and velocity optimization variables. 
 | 
| 
Static Public Member Functions | 
| static int | GetNodeId (int poly_id, Side side) | 
|  | The node ID that belongs to a specific side of a specific polynomial. 
 | 
| 
Protected Member Functions | 
| void | InitMembers (int n_nodes, int n_variables) | 
|  | initializes the member variables. 
 | 
|  | Nodes (int n_dim, const std::string &variable_name) | 
| virtual | ~Nodes () | 
| 
Protected Attributes | 
| VecBound | bounds_ | 
|  | the bounds on the node values. 
 | 
| 
Private Member Functions | 
| void | AddBound (const IndexInfo &node_info, double value) | 
|  | Restricts a specific optimization variables. 
 | 
| void | AddBounds (int node_id, Dx deriv, const std::vector< int > &dim, const VectorXd &values) | 
|  | Bounds a specific node variables. 
 | 
| void | UpdateObservers () const | 
|  | Notifies the subscribed observers that the node values changes. 
 | 
| 
Private Attributes | 
| int | n_dim_ | 
| std::vector< Node > | nodes_ | 
| std::vector< ObserverPtr > | observers_ | 
Position and velocity of nodes used to generate a Hermite spline. 
Instead of setting the polynomial coefficients directly, a third-order polynomial is also fully defined by the value and first-derivative of the start and end of the polynomial as well as the duration. This way of specifying a polynomial is called "Hermite". These are the node values of position and velocity.
- See also:
- class CubicHermitePolynomial 
Definition at line 52 of file nodes.h.