Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

# Representations/Cognition/LandmarkState.h

Go to the documentation of this file.

    00001 /**
    00002  * @file LandmarkState.h
    00003  *
    00004  * Declaration of class LandmarkState
    00005  */
    00006
    00007 #ifndef __LandmarkState_h_
    00008 #define __LandmarkState_h_
    00009
    00010
    00011 #include "Tools/Streams/InOut.h"
    00012 #include "Tools/FieldDimensions.h"
    00013 #include "Representations/Perception/LandmarksPercept.h"
    00014
    00015 /**
    00016  * A class describing a landmark
    00017  */
    00018 class LandmarkState
    00019 {
    00020
    00021 public:
    00022
    00023   // exact 3d position of the landmark
    00024   Vector3<double> position;
    00025   // the weight of a landmark. this is used to decide which landmark is used for the gaze
    00026   // of the HeadControl
    00027
    00028   enum type
    00029         {Beacon,
    00030         Goal,
    00031         Line,
    00032         Edge};
    00033
    00034   int beaconColor;
    00035
    00036
    00037   bool visible;
    00038   long timeWhenLastSeen;
    00039   double typeWeight;
    00040
    00041
    00042   LandmarkState() { }
    00043
    00044   LandmarkState(Vector3<double> pposition,int bbeaconColor,double wweight);
    00045
    00046 };
    00047
    00048 /**
    00049  * Streaming operator that reads a LandmarkState from a stream.
    00050  * @param stream The stream from which is read.
    00051  * @param landmarkState The LandmarkState object.
    00052  * @return The stream.
    00053  */
    00054
    00055 In& operator>>(In& stream,LandmarkState& landmarkState);
    00056
    00057 /**
    00058  * Streaming operator that writes a LandmarkState to a stream.
    00059  * @param stream The stream to write on.
    00060  * @param landmarkState The LandmarkState object.
    00061  * @return The stream.
    00062  */
    00063 Out& operator<<(Out& stream, const LandmarkState& landmarkState);
    00064
    00065
    00066 #endif //__LandmarkState_h_