25 #ifndef SRC_OPTIMAL_CONTROL_INCLUDE_CORBO_OPTIMAL_CONTROL_STRUCTURED_OCP_EDGES_MISC_EDGES_H_ 26 #define SRC_OPTIMAL_CONTROL_INCLUDE_CORBO_OPTIMAL_CONTROL_STRUCTURED_OCP_EDGES_MISC_EDGES_H_ 43 using Ptr = std::shared_ptr<TwoScalarEqualEdge>;
44 using UPtr = std::unique_ptr<TwoScalarEqualEdge>;
51 bool isLinear()
const override {
return true; }
62 values.coeffRef(0) = s2->
value() - s1->
value();
71 #endif // SRC_OPTIMAL_CONTROL_INCLUDE_CORBO_OPTIMAL_CONTROL_STRUCTURED_OCP_EDGES_MISC_EDGES_H_ bool isLinear() const override
Return true if the edge is linear (and hence its Hessian is always zero)
std::shared_ptr< TwoScalarEqualEdge > Ptr
TwoScalarEqualEdge(ScalarVertex &s1, ScalarVertex &s2)
#define EIGEN_MAKE_ALIGNED_OPERATOR_NEW
Vertex implementation for scalar values.
std::unique_ptr< TwoScalarEqualEdge > UPtr
void computeValues(Eigen::Ref< Eigen::VectorXd > values) override
Compute function values.
int getDimension() const override
Get dimension of the edge (dimension of the cost-function/constraint value vector) ...
bool isLeastSquaresForm() const override
Defines if the edge is formulated as Least-Squares form.
const double & value() const
Get underlying value.
A matrix or vector expression mapping an existing expression.
Templated base edge class that stores an arbitary number of value.
const VertexContainer _vertices
Vertex container.