00001 #ifndef SIGEL_ROBOT_SIG_GEOMETRYITERATOR_H
00002 #define SIGEL_ROBOT_SIG_GEOMETRYITERATOR_H
00003
00004 namespace SIGEL_Robot { class SIG_GeometryIterator; }
00005
00006 #include "SIGEL_Robot/SIG_Geometry.h"
00007 #include "SIGEL_Robot/SIG_Polygon.h"
00008
00009 namespace SIGEL_Robot {
00021 class SIG_GeometryIterator {
00022 private:
00023 SIG_Geometry const *iterating;
00024 int iteration;
00025
00026 public:
00033 SIG_GeometryIterator (SIG_Geometry const *over);
00037 ~SIG_GeometryIterator (void);
00038
00042 bool valid (void) const;
00046 operator bool (void) const { return valid (); }
00050 SIG_Polygon const & current (void) const;
00054 void next (void);
00058 inline SIG_Polygon const & iterate (void)
00059 { SIG_Polygon const & a = current (); next (); return a; }
00060 };
00061 }
00062
00063
00064
00065
00066
00067
00068
00069
00070
00071
00072
00073
00074
00075
00076
00077
00078
00079
00080
00081
00082
00083
00084
00085
00086
00087
00088
00089
00090 #endif