25 #ifndef SRC_OPTIMAL_CONTROL_INCLUDE_CORBO_OPTIMAL_CONTROL_STRUCTURED_OCP_DISCRETIZATION_GRIDS_MULTIPLE_SHOOTING_GRID_H_ 26 #define SRC_OPTIMAL_CONTROL_INCLUDE_CORBO_OPTIMAL_CONTROL_STRUCTURED_OCP_DISCRETIZATION_GRIDS_MULTIPLE_SHOOTING_GRID_H_ 37 using Ptr = std::shared_ptr<MultipleShootingGrid>;
38 using UPtr = std::unique_ptr<MultipleShootingGrid>;
49 #ifdef MESSAGE_SUPPORT 50 void fromMessage(
const messages::MultipleShootingGrid& message, std::stringstream* issues);
51 void toMessage(messages::MultipleShootingGrid& message)
const;
53 void fromMessage(
const messages::DiscretizationGrid& message, std::stringstream* issues)
override 55 fromMessage(message.multiple_shooting_grid(), issues);
57 void toMessage(messages::DiscretizationGrid& message)
const override { toMessage(*message.mutable_multiple_shooting_grid()); }
64 std::vector<BaseEdge::Ptr>& edges);
73 #endif // SRC_OPTIMAL_CONTROL_INCLUDE_CORBO_OPTIMAL_CONTROL_STRUCTURED_OCP_DISCRETIZATION_GRIDS_MULTIPLE_SHOOTING_GRID_H_
static Factory< DiscretizationGridInterface > & getFactory()
Get access to the associated factory.
std::unique_ptr< DiscretizationGridInterface > UPtr
#define FACTORY_REGISTER_DISCRETIZATION_GRID(type)
Vertex implementation for scalar values.
void createEdges(NlpFunctions &nlp_fun, OptimizationEdgeSet &edges, SystemDynamicsInterface::Ptr dynamics) override
virtual ~MultipleShootingGrid()=default
MultipleShootingGrid()=default
static Factory & instance()
< Retrieve static instance of the factory
bool isDtFixedIntended() const override
DiscretizationGridInterface::Ptr getInstance() const override
Return a newly created shared instance of the implemented class.
std::shared_ptr< DiscretizationGridInterface > Ptr
Vertex implementation that stores an Eigen::VectorXd (dynamic dimension)
void getStageFunctionEdgesIntermediateControlDtMultipleShooting(int k, VectorVertex &uk, ScalarVertex &dt, VectorVertex &u_prev, ScalarVertex &dt_prev, const StageFunction &stage_fun, std::vector< BaseEdge::Ptr > &edges)
std::shared_ptr< SystemDynamicsInterface > Ptr