38 for (
auto part :
parts) {
45 parts.push_back(part);
51 unsigned int sumdim = 0;
52 for (
auto part :
parts) {
53 sumdim += part->getStateDim();
61 unsigned int sumdim = 0;
62 for (
auto part :
parts) {
63 sumdim += part->getVelocityDim();
71 for (
auto part :
parts) {
72 part->computeObservation(state, velocity, currentAction, dt);
73 state += part->getStateDim();
74 velocity += part->getVelocityDim();
79 double* minState,
double* maxState,
80 double* maxVelocity)
const 83 for (
auto part :
parts) {
84 part->getLimits(minState, maxState, maxVelocity);
85 minState += part->getStateDim();
86 maxState += part->getStateDim();
87 maxVelocity += part->getVelocityDim();
94 std::vector<std::string> out;
97 for (
auto part :
parts) {
98 auto pnames = part->getStateNames();
100 std::move(pnames.begin(), pnames.end(), std::inserter(out, out.end()));
108 std::vector<std::string> out;
111 for (
auto part :
parts) {
112 auto pnames = part->getVelocityNames();
114 std::move(pnames.begin(), pnames.end(), std::inserter(out, out.end()));
122 for (
auto part :
parts) {
virtual std::vector< ObservationModel * > getNested() const
virtual void computeObservation(double *state, double *velocity, const MatNd *currentAction, double dt) const
virtual std::vector< std::string > getStateNames() const
std::vector< ObservationModel * > parts
void addPart(ObservationModel *part)
virtual void getLimits(double *minState, double *maxState, double *maxVelocity) const
virtual unsigned int getStateDim() const
virtual unsigned int getVelocityDim() const
virtual std::vector< std::string > getVelocityNames() const