00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef GEOM_COMPOSITE2_OP_HH
00020 #define GEOM_COMPOSITE2_OP_HH
00021
00022 #include "constants.hh"
00023 #include "vec2.hh"
00024 #include "composite2.hh"
00025
00026 namespace geom {
00027
00028
00029 Real DLLEXPORT_OST_GEOM Angle(const Line2& l1, const Line2& l2);
00030 Vec2 DLLEXPORT_OST_GEOM IntersectionPoint(const Line2& l1, const Line2& l2);
00031
00032 Real DLLEXPORT_OST_GEOM Distance(const Line2& l, const Vec2& v);
00033
00034 bool DLLEXPORT_OST_GEOM IsOnLine(const Line2& l, const Vec2& v, Real ephilon=EPSILON);
00035 bool DLLEXPORT_OST_GEOM operator==(const Line2& l1, const Line2& l2);
00036 bool DLLEXPORT_OST_GEOM Equal(const Line2& l1, const Line2& l2,Real ephilon=EPSILON);
00037 bool DLLEXPORT_OST_GEOM EqualPosition(const Line2& l1, const Line2& l2,Real ephilon=EPSILON);
00038
00039 bool DLLEXPORT_OST_GEOM AreParallel(const Line2& l1, const Line2& l2,Real ephilon=EPSILON);
00040
00041 DLLEXPORT_OST_GEOM bool IsInPolygon(const Polygon2& p, const Vec2& v);
00042 DLLEXPORT_OST_GEOM Polygon2 SimplifyPolygon(const Polygon2& p);
00043 DLLEXPORT_OST_GEOM bool IsInRectangle(const Rectangle2& r, const Vec2& v);
00044 DLLEXPORT_OST_GEOM bool IsInCircle(const Circle2& c, const Vec2& v);
00045
00046 }
00047
00048
00049 #endif