11 template <
typename Scalar>
12 CostModelAbstractTpl<Scalar>::CostModelAbstractTpl(boost::shared_ptr<StateMultibody> state,
13 boost::shared_ptr<ActivationModelAbstract> activation,
14 const std::size_t& nu)
15 : state_(state), activation_(activation), nu_(nu), unone_(VectorXs::Zero(nu)) {}
17 template <
typename Scalar>
18 CostModelAbstractTpl<Scalar>::CostModelAbstractTpl(boost::shared_ptr<StateMultibody> state,
19 boost::shared_ptr<ActivationModelAbstract> activation)
20 : state_(state), activation_(activation), nu_(state->get_nv()), unone_(VectorXs::Zero(state->get_nv())) {}
22 template <
typename Scalar>
23 CostModelAbstractTpl<Scalar>::CostModelAbstractTpl(boost::shared_ptr<StateMultibody> state,
const std::size_t& nr,
24 const std::size_t& nu)
25 : state_(state), activation_(boost::make_shared<ActivationModelQuad>(nr)), nu_(nu), unone_(VectorXs::Zero(nu)) {}
27 template <
typename Scalar>
28 CostModelAbstractTpl<Scalar>::CostModelAbstractTpl(boost::shared_ptr<StateMultibody> state,
const std::size_t& nr)
30 activation_(boost::make_shared<ActivationModelQuad>(nr)),
32 unone_(VectorXs::Zero(state->get_nv())) {}
34 template <
typename Scalar>
35 CostModelAbstractTpl<Scalar>::~CostModelAbstractTpl() {}
37 template <
typename Scalar>
38 void CostModelAbstractTpl<Scalar>::calc(
const boost::shared_ptr<CostDataAbstract>& data,
39 const Eigen::Ref<const VectorXs>& x) {
40 calc(data, x, unone_);
43 template <
typename Scalar>
44 void CostModelAbstractTpl<Scalar>::calcDiff(
const boost::shared_ptr<CostDataAbstract>& data,
45 const Eigen::Ref<const VectorXs>& x) {
46 calcDiff(data, x, unone_);
49 template <
typename Scalar>
50 boost::shared_ptr<CostDataAbstractTpl<Scalar> > CostModelAbstractTpl<Scalar>::createData(
51 DataCollectorAbstract*
const data) {
52 return boost::make_shared<CostDataAbstract>(
this, data);
55 template <
typename Scalar>
56 const boost::shared_ptr<StateMultibodyTpl<Scalar> >& CostModelAbstractTpl<Scalar>::get_state()
const {
60 template <
typename Scalar>
61 const boost::shared_ptr<ActivationModelAbstractTpl<Scalar> >& CostModelAbstractTpl<Scalar>::get_activation()
const {
65 template <
typename Scalar>
66 const std::size_t& CostModelAbstractTpl<Scalar>::get_nu()
const {
70 template <
typename Scalar>
72 void CostModelAbstractTpl<Scalar>::set_reference(T ref) {
73 set_referenceImpl(
typeid(ref), &ref);
76 template <
typename Scalar>
77 void CostModelAbstractTpl<Scalar>::set_referenceImpl(
const std::type_info&,
const void*) {
78 throw_pretty(
"It has not been implemented the set_referenceImpl() function");
81 template <
typename Scalar>
83 void CostModelAbstractTpl<Scalar>::get_reference(T& ref) {
84 get_referenceImpl(
typeid(ref), &ref);
87 template <
typename Scalar>
88 void CostModelAbstractTpl<Scalar>::get_referenceImpl(
const std::type_info&,
void*) {
89 throw_pretty(
"It has not been implemented the set_referenceImpl() function");
Definition: action-base.hxx:11