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_