// Do actually clipping work
bool FGClipper::clip_all(const point2d& min, const point2d& max) {
gpc_polygon accum, result_diff, result_union, tmp;
- polylist_iterator current, last;
+ gpcpoly_iterator current, last;
FG_LOG( FG_CLIPPER, FG_INFO, "Running master clipper" );
gpc_polygon_clip(GPC_UNION, &accum, &tmp, &result_union);
}
- polys_out.polys[i].push_back(&result_diff);
+ polys_clipped.polys[i].push_back(&result_diff);
accum = result_union;
}
}
// clip to accum against original base tile
gpc_polygon_clip(GPC_DIFF, &polys_in.safety_base, &accum,
- &polys_out.safety_base);
+ &polys_clipped.safety_base);
// tmp output accum
FILE *ofp= fopen("accum", "w");
// tmp output safety_base
ofp= fopen("safety_base", "w");
- gpc_write_polygon(ofp, &polys_out.safety_base);
+ gpc_write_polygon(ofp, &polys_clipped.safety_base);
return true;
}
// $Log$
+// Revision 1.3 1999/03/17 23:48:58 curt
+// minor renaming and a bit of rearranging.
+//
// Revision 1.2 1999/03/13 23:51:33 curt
// Renamed main.cxx to testclipper.cxx
// Converted clipper routines to a class FGClipper.
#include STL_STRING
#include <vector>
-typedef vector < gpc_polygon * > polylist;
-typedef polylist::iterator polylist_iterator;
+FG_USING_STD(string);
+FG_USING_STD(vector);
+
+
+typedef vector < gpc_polygon * > gpcpoly_container;
+typedef gpcpoly_container::iterator gpcpoly_iterator;
+
#define FG_MAX_AREAS 20
#define EXTRA_SAFETY_CLIP
#define FG_MAX_VERTICES 100000
+
class point2d {
public:
double x, y;
};
-class FGPolyList {
+class FGgpcPolyList {
public:
- polylist polys[FG_MAX_AREAS];
+ gpcpoly_container polys[FG_MAX_AREAS];
gpc_polygon safety_base;
};
gpc_vertex_list v_list;
// static gpc_polygon poly;
- FGPolyList polys_in, polys_out;
+ FGgpcPolyList polys_in, polys_clipped;
public:
// Do actually clipping work
bool clip_all(const point2d& min, const point2d& max);
+
+ // return output poly list
+ inline FGgpcPolyList get_polys_clipped() const { return polys_clipped; }
};
// $Log$
+// Revision 1.3 1999/03/17 23:48:59 curt
+// minor renaming and a bit of rearranging.
+//
// Revision 1.2 1999/03/13 23:51:34 curt
// Renamed main.cxx to testclipper.cxx
// Converted clipper routines to a class FGClipper.