|
|
#ifndef POSE_H #define POSE_H #include <string> #include "SelfTestingObject.h" #include "Vector.h" #include "Angle.h" namespace Nobel { class PoseRep; /** Sijainti+suunta. Luokka, joka ilmaisee (robotin) sijainnin sekä * suunnan. */ class Pose : public SelfTestingObject { public: /** Hae sijainti. * @return sijainti */ Vector getPosition() const; /** Hae suunta. * @return suunta */ Angle getAngle() const; /** Invariantin tarkistus. * @return invariantin paikkaansapitävyys */ virtual bool invariant() const; /** Hae sijainti ja suunta tekstimuodossa. * @return location: X, Y orientation: alpha */ virtual std::string asString() const; /** Aseta sijainti. * @param p uusi sijainti * @return viite muutettuuun oliooon */ Pose& setPosition(const Vector& p); /** Aseta suunta. * @param a uusi suunta * @return viite muutettuun olioon */ Pose& setAngle(const Angle& a); /** Aseta sijainti ja suunta. * @param p uusi sijainti * @param a uusi suunta * @return viite muutettuun olioon */ Pose& setPose(const Vector& p, const Angle& a); /** Konstruktori. * @param p sijainti * @param a suunta */ Pose(const Vector& p, const Angle& a); /** Kopiokonstruktori. * @param p kopioitava */ Pose(const Pose& p); /** Vaihto-operaatio. * @param p vaihdettava */ virtual void swap(Pose& p); /** Sijoitusoperaattori. * @param p sijoitettava * @return viite sijoituksen kohteeseen */ Pose& operator=(const Pose& p); /** Destruktori. */ virtual ~Pose(); private: /** Osoitin sisäiseen esitykseen. */ PoseRep* rep; }; } #endif
Generated by: hoppq@ilenkone on Thu Mar 1 15:43:18 2001, using kdoc 2.0a50. |