Go to the documentation of this file.
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_
40 class TwoScalarEqualEdge :
public Edge<ScalarVertex, ScalarVertex>
43 using Ptr = std::shared_ptr<TwoScalarEqualEdge>;
44 using UPtr = std::unique_ptr<TwoScalarEqualEdge>;
46 explicit TwoScalarEqualEdge(ScalarVertex& s1, ScalarVertex& s2) :
Edge<ScalarVertex, ScalarVertex>(s1, s2) {}
51 bool isLinear()
const override {
return true; }
59 const ScalarVertex* s1 =
static_cast<const ScalarVertex*
>(
_vertices[0]);
60 const ScalarVertex* s2 =
static_cast<const ScalarVertex*
>(
_vertices[1]);
62 values.coeffRef(0) = s2->value() - s1->value();
71 #endif // SRC_OPTIMAL_CONTROL_INCLUDE_CORBO_OPTIMAL_CONTROL_STRUCTURED_OCP_EDGES_MISC_EDGES_H_
int getDimension() const override
Get dimension of the edge (dimension of the cost-function/constraint value vector)
void computeValues(Eigen::Ref< Eigen::VectorXd > values) override
Compute function values.
bool isLinear() const override
Return true if the edge is linear (and hence its Hessian is always zero)
#define EIGEN_MAKE_ALIGNED_OPERATOR_NEW
bool isLeastSquaresForm() const override
Defines if the edge is formulated as Least-Squares form.
A matrix or vector expression mapping an existing expression.
std::unique_ptr< TwoScalarEqualEdge > UPtr
std::shared_ptr< TwoScalarEqualEdge > Ptr
TwoScalarEqualEdge(ScalarVertex &s1, ScalarVertex &s2)
const VertexContainer _vertices
Vertex container.
control_box_rst
Author(s): Christoph Rösmann
autogenerated on Wed Mar 2 2022 00:05:58