30 #ifndef _XPP_STATES_ENDEFFECTORS_H_ 31 #define _XPP_STATES_ENDEFFECTORS_H_ 75 void SetAll(
const T& value);
135 val.
at(ee) =
at(ee).GetByIndex(deriv);
192 std::fill(
ee_.begin(),
ee_.end(), value);
224 std::vector<EndeffectorID>
227 std::vector<EndeffectorID> vec;
228 for (
int i=0; i<
ee_.size(); ++i)
240 result.
at(i) =
ee_.at(i) - rhs.
at(i);
251 result.
at(i) =
ee_.at(i)/scalar;
256 template <
typename T>
257 std::ostream& operator<<(std::ostream& stream, Endeffectors<T> endeffectors)
260 stream << endeffectors.at(ee) <<
", ";
270 if (
ee_.at(ee) != other.
at(ee))
void SetAll(const T &value)
Sets each endeffector to the same value.
T & at(EndeffectorID ee)
Read/write access to the endeffector stored at index ee.
bool operator!=(const Endeffectors &other) const
Endeffectors< Vector3d > Get(MotionDerivative deriv) const
Extract only either the pos, vel or acc from all endeffectors.
void SetCount(int n_ee)
Sets the number of endeffectors.
virtual ~Endeffectors()=default
std::deque< Vector3d > Container
const EndeffectorsT operator-(const EndeffectorsT &rhs) const
const EndeffectorsT operator/(double scalar) const
Bundles the position, velocity and acceleration of all endeffectors. as well as appending a Endeffect...
Data structure to assign values to each endeffector.
std::vector< EndeffectorID > GetEEsOrdered() const