13template <
typename _Scalar>
36 cost_data(stage_model.cost_->createData()),
38 const std::size_t nc = stage_model.numConstraints();
40 for (std::size_t j = 0; j < nc; j++) {
41 const auto &func = stage_model.constraints_[j].func;
50 const char msg[] =
"StageData integrity check failed.";
53 fmt::format(
"{} (cost_data cannot be nullptr)", msg));
56 fmt::format(
"{} (dynamics_data cannot be nullptr)", msg));
68#ifdef ALIGATOR_ENABLE_TEMPLATE_INSTANTIATION
69#include "aligator/core/stage-data.txx"
Defines the constraint object and constraint stack manager for this library.
#define ALIGATOR_RUNTIME_ERROR(msg)
Mixin which makes a class/class hierarchy cloneable.
Data struct for stage models StageModelTpl.
shared_ptr< DynamicsData > dynamics_data
std::vector< shared_ptr< StageFunctionData > > constraint_data
Data structs for the functions involved in the constraints.
virtual ~StageDataTpl()=default
StageDataTpl(const StageModel &stage_model)
Constructor.
ALIGATOR_DYNAMIC_TYPEDEFS(Scalar)
virtual void checkData()
Check data integrity.
shared_ptr< CostDataAbstract > cost_data
Data for the running costs.
virtual StageDataTpl * clone_impl() const override