#ifndef CSPRIMPOLYHEDRON_P_H #define CSPRIMPOLYHEDRON_P_H #include #include #include #include #include #if CGAL_VERSION_NR >= CGAL_VERSION_NUMBER(4,6,0) #include #else #include #include #endif typedef CGAL::Simple_cartesian Kernel; typedef CGAL::Polyhedron_3 Polyhedron; typedef Polyhedron::HalfedgeDS HalfedgeDS; class Polyhedron_Builder : public CGAL::Modifier_base { public: Polyhedron_Builder(CSPrimPolyhedron* polyhedron) {m_polyhedron=polyhedron;} void operator()(HalfedgeDS &hds); protected: CSPrimPolyhedron* m_polyhedron; }; typedef Kernel::Point_3 Point; #if CGAL_VERSION_NR >= CGAL_VERSION_NUMBER(4,6,0) typedef CGAL::AABB_face_graph_triangle_primitive Primitive; #else typedef CGAL::AABB_polyhedron_triangle_primitive Primitive; #endif typedef CGAL::AABB_traits Traits; typedef CGAL::Simple_cartesian::Ray_3 Ray; typedef Kernel::Segment_3 Segment; struct CSPrimPolyhedronPrivate { Polyhedron m_Polyhedron; Point m_RandPt; CGAL::AABB_tree *m_PolyhedronTree; }; #endif // CSPRIMPOLYHEDRON_P_H