1#ifndef ROBOTOC_CONTACT_DYNAMICS_DATA_HXX_
2#define ROBOTOC_CONTACT_DYNAMICS_DATA_HXX_
10 assert(
dimf + dimv_ <= IDC_full_.size());
12 dimvf_ = dimv_ + dimf_;
53 return has_floating_base_;
58 return dCda_full_.topLeftCorner(dimf_, dimv_);
62inline const Eigen::Block<const Eigen::MatrixXd>
64 return dCda_full_.topLeftCorner(dimf_, dimv_);
69 return dIDCdqv_full_.topLeftCorner(dimvf_, 2*dimv_);
73inline const Eigen::Block<const Eigen::MatrixXd>
75 return dIDCdqv_full_.topLeftCorner(dimvf_, 2*dimv_);
80 return dIDCdqv_full_.topLeftCorner(dimv_, dimv_);
84inline const Eigen::Block<const Eigen::MatrixXd>
86 return dIDCdqv_full_.topLeftCorner(dimv_, dimv_);
91 return dIDCdqv_full_.block(0, dimv_, dimv_, dimv_);
95inline const Eigen::Block<const Eigen::MatrixXd>
97 return dIDCdqv_full_.block(0, dimv_, dimv_, dimv_);
102 return dIDCdqv_full_.block(dimv_, 0, dimf_, dimv_);
106inline const Eigen::Block<const Eigen::MatrixXd>
108 return dIDCdqv_full_.block(dimv_, 0, dimf_, dimv_);
113 return dIDCdqv_full_.block(dimv_, dimv_, dimf_, dimv_);
117inline const Eigen::Block<const Eigen::MatrixXd>
119 return dIDCdqv_full_.block(dimv_, dimv_, dimf_, dimv_);
124 return MJtJinv_full_.topLeftCorner(dimvf_, dimvf_);
128inline const Eigen::Block<const Eigen::MatrixXd>
130 return MJtJinv_full_.topLeftCorner(dimvf_, dimvf_);
135 return MJtJinv_dIDCdqv_full_.topLeftCorner(dimvf_, 2*dimv_);
139inline const Eigen::Block<const Eigen::MatrixXd>
141 return MJtJinv_dIDCdqv_full_.topLeftCorner(dimvf_, 2*dimv_);
146 return Qafqv_full_.topLeftCorner(dimvf_, 2*dimv_);
150inline const Eigen::Block<const Eigen::MatrixXd>
152 return Qafqv_full_.topLeftCorner(dimvf_, 2*dimv_);
157 return Qafu_full_full_.topLeftCorner(dimvf_, dimv_);
161inline const Eigen::Block<const Eigen::MatrixXd>
163 return Qafu_full_full_.topLeftCorner(dimvf_, dimv_);
168 return Qafu_full_full_.topLeftCorner(dimvf_, dim_passive_);
172inline const Eigen::Block<const Eigen::MatrixXd>
174 return Qafu_full_full_.topLeftCorner(dimvf_, dim_passive_);
179 return Qafu_full_full_.block(0, dim_passive_, dimvf_, dimu_);
183inline const Eigen::Block<const Eigen::MatrixXd>
185 return Qafu_full_full_.block(0, dim_passive_, dimvf_, dimu_);
190 return IDC_full_.head(dimvf_);
194inline const Eigen::VectorBlock<const Eigen::VectorXd>
196 return IDC_full_.head(dimvf_);
201 return IDC_full_.head(dimv_);
205inline const Eigen::VectorBlock<const Eigen::VectorXd>
207 return IDC_full_.head(dimv_);
212 return IDC_full_.head(dim_passive_);
216inline const Eigen::VectorBlock<const Eigen::VectorXd>
218 return IDC_full_.head(dim_passive_);
223 return IDC_full_.segment(dim_passive_, dimu_);
227inline const Eigen::VectorBlock<const Eigen::VectorXd>
229 return IDC_full_.segment(dim_passive_, dimu_);
234 return IDC_full_.segment(dimv_, dimf_);
238inline const Eigen::VectorBlock<const Eigen::VectorXd>
240 return IDC_full_.segment(dimv_, dimf_);
245 return MJtJinv_IDC_full_.head(dimvf_);
249inline const Eigen::VectorBlock<const Eigen::VectorXd>
251 return MJtJinv_IDC_full_.head(dimvf_);
256 return Phia_full_.topLeftCorner(dims_, dimv_);
261 return Phia_full_.topLeftCorner(dims_, dimv_);
266 return laf_full_.head(dimvf_);
270inline const Eigen::VectorBlock<const Eigen::VectorXd>
272 return laf_full_.head(dimvf_);
277 return laf_full_.head(dimv_);
281inline const Eigen::VectorBlock<const Eigen::VectorXd>
283 return laf_full_.head(dimv_);
288 return laf_full_.segment(dimv_, dimf_);
292inline const Eigen::VectorBlock<const Eigen::VectorXd>
294 return laf_full_.segment(dimv_, dimf_);
299 return haf_full_.head(dimvf_);
303inline const Eigen::VectorBlock<const Eigen::VectorXd>
305 return haf_full_.head(dimvf_);
310 return haf_full_.head(dimv_);
314inline const Eigen::VectorBlock<const Eigen::VectorXd>
316 return haf_full_.head(dimv_);
321 return haf_full_.segment(dimv_, dimf_);
325inline const Eigen::VectorBlock<const Eigen::VectorXd>
327 return haf_full_.segment(dimv_, dimf_);
Definition: constraint_component_base.hpp:17