SAGA API
v9.6
|
Go to the source code of this file.
Functions | |
bool | _SG_Polygon_Clip (ClipperLib::ClipType ClipType, CSG_Shape *pPolygon, CSG_Shape *pClip, CSG_Shape *pResult) |
bool | SG_Shape_Get_Intersection (CSG_Shape *pPolygon, CSG_Shape_Polygon *pClip, CSG_Shape *pResult) |
bool | SG_Shape_Get_Difference (CSG_Shape *pPolygon, CSG_Shape_Polygon *pClip, CSG_Shape *pResult) |
bool | SG_Shape_Get_ExclusiveOr (CSG_Shape *pPolygon, CSG_Shape_Polygon *pClip, CSG_Shape *pResult) |
bool | SG_Shape_Get_Union (CSG_Shape *pPolygon, CSG_Shape_Polygon *pClip, CSG_Shape *pResult) |
bool | SG_Shape_Get_Dissolve (CSG_Shape *pPolygon, CSG_Shape *pResult) |
bool | SG_Shape_Get_Offset (CSG_Shape *pPolygon, double dSize, double dArc, CSG_Shape *pResult) |
const char * | SG_Clipper_Get_Version (void) |
bool _SG_Polygon_Clip | ( | ClipperLib::ClipType | ClipType, |
CSG_Shape * | pPolygon, | ||
CSG_Shape * | pClip, | ||
CSG_Shape * | pResult | ||
) |
Definition at line 257 of file shapes_polygons.cpp.
References CSG_Shape::Get_Extent(), CSG_Shape::Get_Type(), SHAPE_TYPE_Line, and CSG_Rect::Union().
Referenced by SG_Shape_Get_Difference(), SG_Shape_Get_ExclusiveOr(), SG_Shape_Get_Intersection(), and SG_Shape_Get_Union().
const char* SG_Clipper_Get_Version | ( | void | ) |
Definition at line 470 of file shapes_polygons.cpp.
bool SG_Shape_Get_Difference | ( | CSG_Shape * | pPolygon, |
CSG_Shape_Polygon * | pClip, | ||
CSG_Shape * | pResult | ||
) |
Definition at line 330 of file shapes_polygons.cpp.
References _SG_Polygon_Clip(), CSG_Shape::Assign(), INTERSECTION_Contained, INTERSECTION_Contains, INTERSECTION_Identical, INTERSECTION_None, INTERSECTION_Overlaps, and CSG_Shape::Intersects().
Assuming supplied shape object is of type polygon and has several parts, it is important that the point order of outer rings (i.e. not lakes) is clockwise, that of lakes counter-clockwise to be processed correctly by the Clipper dissolve function. This is in accordance with the simple features definition but in contrast to ESRI's Shapefile format.
Definition at line 414 of file shapes_polygons.cpp.
References CSG_Shape::Get_Extent().
bool SG_Shape_Get_ExclusiveOr | ( | CSG_Shape * | pPolygon, |
CSG_Shape_Polygon * | pClip, | ||
CSG_Shape * | pResult | ||
) |
Definition at line 349 of file shapes_polygons.cpp.
References _SG_Polygon_Clip(), CSG_Shape::Add_Point(), CSG_Shape::Assign(), CSG_Shape::Get_Part_Count(), CSG_Shape_Points::Get_Point(), CSG_Shape_Points::Get_Point_Count(), INTERSECTION_Contained, INTERSECTION_Contains, INTERSECTION_Identical, INTERSECTION_None, INTERSECTION_Overlaps, and CSG_Shape::Intersects().
bool SG_Shape_Get_Intersection | ( | CSG_Shape * | pPolygon, |
CSG_Shape_Polygon * | pClip, | ||
CSG_Shape * | pResult | ||
) |
Definition at line 307 of file shapes_polygons.cpp.
References _SG_Polygon_Clip(), CSG_Shape::Assign(), INTERSECTION_Contained, INTERSECTION_Contains, INTERSECTION_Identical, INTERSECTION_None, INTERSECTION_Overlaps, and CSG_Shape::Intersects().
Definition at line 435 of file shapes_polygons.cpp.
References CSG_Shape::Get_Extent(), CSG_Shape::Get_Type(), CSG_Rect::Inflate(), and SHAPE_TYPE_Polygon.
bool SG_Shape_Get_Union | ( | CSG_Shape * | pPolygon, |
CSG_Shape_Polygon * | pClip, | ||
CSG_Shape * | pResult | ||
) |
Definition at line 379 of file shapes_polygons.cpp.
References _SG_Polygon_Clip(), CSG_Shape::Add_Point(), CSG_Shape::Assign(), CSG_Shape::Get_Part_Count(), CSG_Shape_Points::Get_Point(), CSG_Shape_Points::Get_Point_Count(), INTERSECTION_Contained, INTERSECTION_Contains, INTERSECTION_Identical, INTERSECTION_None, INTERSECTION_Overlaps, and CSG_Shape::Intersects().