diff options
author | Don Bright <hugh.m.bright@gmail.com> | 2012-02-14 01:22:11 (GMT) |
---|---|---|
committer | Don Bright <hugh.m.bright@gmail.com> | 2012-02-14 01:22:11 (GMT) |
commit | fe06b3b03405df81c267cd2bd22e4df8c40f1689 (patch) | |
tree | e0f3df4798dad47c76b11e36ec3730c6f2227e16 /src/PolySetCGALEvaluator.cc | |
parent | 319364b59790140b607a0f2af6d6b7e1ab068f51 (diff) |
fix crash.
Diffstat (limited to 'src/PolySetCGALEvaluator.cc')
-rw-r--r-- | src/PolySetCGALEvaluator.cc | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/src/PolySetCGALEvaluator.cc b/src/PolySetCGALEvaluator.cc index f256ef8..2e56f36 100644 --- a/src/PolySetCGALEvaluator.cc +++ b/src/PolySetCGALEvaluator.cc @@ -41,16 +41,14 @@ public: void visit( CGAL_Nef_polyhedron3::SFace_const_handle ) {} void visit( CGAL_Nef_polyhedron3::Halffacet_const_handle hfacet ) { // This method is fed each 'facet' of the Nef_polyhedron3 that's been intersected - // with the flat x-y plane. I.e. it's fed a bunch of flat polygons. - // - // So, we assume that all z coordinates are 0. + // with the flat x-y plane. I.e. it's fed a bunch of flat 3d polygons with z==0 at all vertexes. // // Now. CGAL_Nef_poly3d objects have two 'half facets'. // On a flat square in 3d space, there are 2 half-facets, one pointing 'up' and one 'down'. // Now, we only want the vertexes--- so we only don't need both 'up' and 'down' facets. // What do we do? Just skip the 'down' facets! // - // By the way, 'up' facets list vertexs in CounterClockwise Order, and 'down' facets list vertexs + // By the way, 'up' facets list vertexes in CounterClockwise Order, and 'down' facets list vertexes // in Clockwise order. (or is it the other way round?). CGAL::Direction_3<CGAL_Kernel3> up(0,0,1); @@ -156,6 +154,7 @@ PolySet *PolySetCGALEvaluator::evaluatePolySet(const ProjectionNode &node) // in the XY plane, causing the resulting 2D polygon to be self-intersection // and cause a crash in CGALEvaluator::PolyReducer. The right solution is to // filter these polygons here. kintel 20120203. + /* Grid2d<int> conversion_grid(GRID_COARSE); for (size_t i = 0; i < ps3->polygons.size(); i++) { for (size_t j = 0; j < ps3->polygons[i].size(); j++) { @@ -177,8 +176,7 @@ PolySet *PolySetCGALEvaluator::evaluatePolySet(const ProjectionNode &node) } next_ps3_polygon_cut_mode:; } - delete ps3; - + */ } // In projection mode all the triangles are projected manually into the XY plane else |