Source: ./Nobel/Pose.h


Annotated List
Files
Globals
Hierarchy
Index
#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.