diff --git a/Mesh_3/include/CGAL/Mesh_3/Has_features.h b/Mesh_3/include/CGAL/Mesh_3/Has_features.h index 72423b89fdc..31322e90f58 100644 --- a/Mesh_3/include/CGAL/Mesh_3/Has_features.h +++ b/Mesh_3/include/CGAL/Mesh_3/Has_features.h @@ -29,9 +29,9 @@ #include namespace CGAL { - -namespace internal { namespace Mesh_3 { +namespace internal { + // A type has_Has_features to check if type 'Has_features' is a nested // type of any class BOOST_MPL_HAS_XXX_TRAIT_DEF(Has_features) @@ -47,8 +47,9 @@ namespace Mesh_3 { struct Has_features : public CGAL::Tag_false // when Mesh_domain does not have the nested type Has_features {}; -} // end namespace internal::Mesh_3 + } // end namespace internal +} // end namespace Mesh_3 } // end namespace CGAL #endif // CGAL_MESH_3_HAS_FEATURES_H diff --git a/Mesh_3/include/CGAL/Mesh_3/initialize_triangulation_from_labeled_image.h b/Mesh_3/include/CGAL/Mesh_3/initialize_triangulation_from_labeled_image.h index 8954a9f6ad3..4ad47fde92c 100644 --- a/Mesh_3/include/CGAL/Mesh_3/initialize_triangulation_from_labeled_image.h +++ b/Mesh_3/include/CGAL/Mesh_3/initialize_triangulation_from_labeled_image.h @@ -67,7 +67,7 @@ void init_tr_from_labeled_image_call_init_features(C3T3& c3t3, const MeshCriteria& criteria, CGAL::Tag_true) { - CGAL::internal::Mesh_3::init_c3t3_with_features(c3t3, + CGAL::Mesh_3::internal::init_c3t3_with_features(c3t3, domain, criteria); std::cout << c3t3.triangulation().number_of_vertices() @@ -110,7 +110,7 @@ void initialize_triangulation_from_labeled_image(C3T3& c3t3, if(protect_features) { init_tr_from_labeled_image_call_init_features (c3t3, domain, criteria, - CGAL::internal::Mesh_3::Has_features()); + CGAL::Mesh_3::internal::Has_features()); } const double max_v = (std::max)((std::max)(image.vx(), @@ -250,7 +250,7 @@ void initialize_triangulation_from_labeled_image(C3T3& c3t3, { std::cout << " not enough points: triangulation.dimension() == " << c3t3.triangulation().dimension() << std::endl; - CGAL::internal::Mesh_3::init_c3t3(c3t3, domain, criteria, 20); + CGAL::Mesh_3::internal::init_c3t3(c3t3, domain, criteria, 20); std::cout << " -> " << tr.number_of_vertices() << " initial points." << std::endl; } } diff --git a/Mesh_3/include/CGAL/Mesh_3/polylines_to_protect.h b/Mesh_3/include/CGAL/Mesh_3/polylines_to_protect.h index f7b76857999..fc904bcc478 100644 --- a/Mesh_3/include/CGAL/Mesh_3/polylines_to_protect.h +++ b/Mesh_3/include/CGAL/Mesh_3/polylines_to_protect.h @@ -198,7 +198,7 @@ polylines_to_protect(const CGAL::Image_3& cgal_image, const int image_dims[3] = { xdim, ydim, zdim }; Graph graph; - internal::Mesh_3::Graph_manipulations g_manip(graph); + Mesh_3::internal::Graph_manipulations g_manip(graph); std::size_t case4 = 0, // 4 colors @@ -571,7 +571,7 @@ polylines_to_protect(std::vector >& polylines, typedef typename std::iterator_traits::value_type Polyline; Graph graph; - internal::Mesh_3::Graph_manipulations g_manip(graph); + Mesh_3::internal::Graph_manipulations g_manip(graph); for (PolylineInputIterator poly_it = existing_polylines_begin; poly_it != existing_polylines_end; ++poly_it) diff --git a/Mesh_3/include/CGAL/Mesh_3/utilities.h b/Mesh_3/include/CGAL/Mesh_3/utilities.h index 7b95f621c3d..c0e827d7057 100644 --- a/Mesh_3/include/CGAL/Mesh_3/utilities.h +++ b/Mesh_3/include/CGAL/Mesh_3/utilities.h @@ -33,7 +33,6 @@ #include namespace CGAL { - namespace Mesh_3 { namespace internal { @@ -125,8 +124,6 @@ public: } // end namespace internal } // end namespace Mesh_3 - - } //namespace CGAL #endif // CGAL_MESH_3_UTILITIES_H diff --git a/Mesh_3/include/CGAL/Mesh_domain_with_polyline_features_3.h b/Mesh_3/include/CGAL/Mesh_domain_with_polyline_features_3.h index 5bb495239c3..27fc326fc2d 100644 --- a/Mesh_3/include/CGAL/Mesh_domain_with_polyline_features_3.h +++ b/Mesh_3/include/CGAL/Mesh_domain_with_polyline_features_3.h @@ -50,8 +50,8 @@ namespace CGAL { /// @cond DEVELOPERS -namespace internal { namespace Mesh_3 { +namespace internal { template class Polyline @@ -509,8 +509,8 @@ struct Display_incidences_to_curves_aux { const Container&) const; }; -} // end of namespace CGAL::internal::Mesh_3 } // end of namespace CGAL::internal +} // end of namespace CGAL::Mesh_3 /// @endcond /*! @@ -843,13 +843,13 @@ private: private: typedef std::map Corners; - typedef internal::Mesh_3::Polyline Polyline; + typedef Mesh_3::internal::Polyline Polyline; typedef std::map Edges; typedef std::map Edges_incidences; typedef std::map > Corners_tmp_incidences; typedef std::map Corners_incidences; - typedef internal::Mesh_3::Mesh_domain_segment_of_curve_primitive< + typedef Mesh_3::internal::Mesh_domain_segment_of_curve_primitive< Gt, typename Edges::const_iterator> Curves_primitives; @@ -1271,8 +1271,8 @@ get_corner_incident_curves(Corner_index id, /// @endcond /// @cond DEVELOPERS -namespace internal { namespace Mesh_3 { +namespace internal { template // here 'curve_id_is_streamable' is true @@ -1337,7 +1337,8 @@ operator()(std::ostream& os, Point p, typename MDwPF_::Curve_index id, << " surface patch(es).\n"; } -}} // end namespaces internal::Mesh_3:: and internal:: +} // end namespace internal +} // end namespace Mesh_3 /// @endcond /// @cond DEVELOPERS @@ -1350,7 +1351,7 @@ display_corner_incidences(std::ostream& os, Point_3 p, Corner_index id) typedef is_streamable i_s_spi; typedef is_streamable i_s_csi; - using namespace internal::Mesh_3; + using namespace Mesh_3::internal; typedef Display_incidences_to_curves_aux D_i_t_c; typedef Display_incidences_to_patches_aux D_i_t_p; D_i_t_c()(os, p, id, corners_tmp_incidences_[id]); diff --git a/Mesh_3/include/CGAL/Mesh_edge_criteria_3.h b/Mesh_3/include/CGAL/Mesh_edge_criteria_3.h index 461bee39995..e10c69f12e0 100644 --- a/Mesh_3/include/CGAL/Mesh_edge_criteria_3.h +++ b/Mesh_3/include/CGAL/Mesh_edge_criteria_3.h @@ -32,9 +32,8 @@ #include namespace CGAL { - -namespace internal { namespace Mesh_3 { +namespace internal { // Those two classes are designed to handle dynamic initialization of // Sizing_field type (using named parameters of make_mesh_3 for example) @@ -91,9 +90,10 @@ namespace Mesh_3 { private: Sizing_field s_; }; - -}} // end namespace internal::Mesh_3 - + +} // end namespace internal +} // end namespace Mesh_3 + template < typename Tr > class Mesh_edge_criteria_3 { @@ -107,7 +107,7 @@ public: /// Constructors Mesh_edge_criteria_3(const FT& value) - : p_size_(new internal::Mesh_3::Sizing_field_container< + : p_size_(new Mesh_3::internal::Sizing_field_container< Mesh_constant_domain_field_3 >(value)) {} @@ -124,7 +124,7 @@ public: CGAL_static_assertion((boost::is_same::value)); - p_size_ = new internal::Mesh_3::Sizing_field_container(size); + p_size_ = new Mesh_3::internal::Sizing_field_container(size); } Mesh_edge_criteria_3(const Self& rhs) @@ -141,7 +141,7 @@ public: { return (*p_size_)(p,dim,index); } private: - typedef internal::Mesh_3::Sizing_field_interface + typedef Mesh_3::internal::Sizing_field_interface Sizing_field_interface; // A pointer to Sizing_field_interface to handle dynamic wrapping of diff --git a/Mesh_3/include/CGAL/Mesh_vertex_base_3.h b/Mesh_3/include/CGAL/Mesh_vertex_base_3.h index c3ee8219589..38ccb42877f 100644 --- a/Mesh_3/include/CGAL/Mesh_vertex_base_3.h +++ b/Mesh_3/include/CGAL/Mesh_vertex_base_3.h @@ -281,7 +281,7 @@ operator>>(std::istream &is, Mesh_vertex_base_3& v) CGAL_assertion(v.in_dimension() >= -1); CGAL_assertion(v.in_dimension() < 4); typename Vertex::Index index = - internal::Mesh_3::Read_mesh_domain_index()(v.in_dimension(), is); + Mesh_3::internal::Read_mesh_domain_index()(v.in_dimension(), is); v.set_index(index); return is; } @@ -302,7 +302,7 @@ operator<<(std::ostream &os, const Mesh_vertex_base_3& v) } else { CGAL::write(os, v.in_dimension()); } - internal::Mesh_3::Write_mesh_domain_index()(os, + Mesh_3::internal::Write_mesh_domain_index()(os, v.in_dimension(), v.index()); return os; diff --git a/Mesh_3/include/CGAL/Polyhedral_complex_mesh_domain_3.h b/Mesh_3/include/CGAL/Polyhedral_complex_mesh_domain_3.h index bbc75e5d332..82e2aeeec68 100644 --- a/Mesh_3/include/CGAL/Polyhedral_complex_mesh_domain_3.h +++ b/Mesh_3/include/CGAL/Polyhedral_complex_mesh_domain_3.h @@ -57,8 +57,8 @@ namespace CGAL { /// @cond DEVELOPERS -namespace internal { namespace Mesh_3 { +namespace internal { template void dump_graph_edges(std::ostream& out, const Graph& g) @@ -202,8 +202,8 @@ struct Extract_polyline_with_context_visitor }; -} // end CGAL::internal::Mesh_3 -} // end CGAL::internal +} // end namespace internal +} // end namespace Mesh_3 /// @endcond @@ -889,7 +889,7 @@ detect_features(FT angle_in_degree, BOOST_FOREACH(Polyhedron_type& p, poly) { initialize_ts(p); - using internal::Mesh_3::Get_face_index_pmap; + using Mesh_3::internal::Get_face_index_pmap; Get_face_index_pmap get_face_index_pmap(p); #ifdef CGAL_MESH_3_VERBOSE std::size_t poly_id = &p-&poly[0]; @@ -911,7 +911,7 @@ detect_features(FT angle_in_degree, .vertex_incident_patches_map(vip_map) .vertex_feature_degree_map(vertex_feature_degree_map)); - internal::Mesh_3::Is_featured_edge is_featured_edge(p); + Mesh_3::internal::Is_featured_edge is_featured_edge(p); add_featured_edges_to_graph(p, is_featured_edge, g_copy, p2vmap); } @@ -1034,12 +1034,12 @@ add_features_from_split_graph_into_polylines(Featured_edges_copy_graph& g_copy) { std::vector polylines; - internal::Mesh_3::Extract_polyline_with_context_visitor< + Mesh_3::internal::Extract_polyline_with_context_visitor< Polyhedral_complex_mesh_domain_3, Polyline_with_context, Featured_edges_copy_graph > visitor(g_copy, polylines); - internal::Mesh_3::Angle_tester angle_tester; + Mesh_3::internal::Angle_tester angle_tester; split_graph_into_polylines(g_copy, visitor, angle_tester); this->add_features_with_context(polylines.begin(), @@ -1120,7 +1120,7 @@ add_featured_edges_to_graph(const Polyhedron_type& p, #if CGAL_MESH_3_PROTECTION_DEBUG > 1 {// DEBUG - internal::Mesh_3::dump_graph_edges("edges-graph.polylines.txt", g_copy); + Mesh_3::internal::dump_graph_edges("edges-graph.polylines.txt", g_copy); } #endif } diff --git a/Mesh_3/include/CGAL/Polyhedral_mesh_domain_3.h b/Mesh_3/include/CGAL/Polyhedral_mesh_domain_3.h index 8e90cb7fa87..b95f27cd997 100644 --- a/Mesh_3/include/CGAL/Polyhedral_mesh_domain_3.h +++ b/Mesh_3/include/CGAL/Polyhedral_mesh_domain_3.h @@ -127,11 +127,10 @@ struct IGT_generator }; } // end namespace details - } // end namespace Mesh_3 - -namespace internal { namespace Mesh_3 { +namespace Mesh_3 { +namespace internal { template struct Angle_tester @@ -184,8 +183,8 @@ struct Extract_polyline_with_context_visitor }; -} // end CGAL::internal::Mesh_3 -} // end CGAL::internal +} // end namespace internal +} // end namespace Mesh_3 /** * @class Polyhedral_mesh_domain_with_features_3 @@ -463,7 +462,7 @@ detect_features(FT angle_in_degree, std::vector& poly) typedef typename boost::property_map >::type VIPMap; typedef typename boost::property_map::type EIFMap; - using internal::Mesh_3::Get_face_index_pmap; + using Mesh_3::internal::Get_face_index_pmap; Get_face_index_pmap get_face_index_pmap(p); PIDMap pid_map = get(face_patch_id_t(), p); @@ -478,7 +477,7 @@ detect_features(FT angle_in_degree, std::vector& poly) .face_index_map(get_face_index_pmap(p)) .vertex_incident_patches_map(vip_map)); - internal::Mesh_3::Is_featured_edge is_featured_edge(p); + Mesh_3::internal::Is_featured_edge is_featured_edge(p); add_featured_edges_to_graph(p, is_featured_edge, g_copy, p2vmap); } @@ -508,12 +507,12 @@ add_features_from_split_graph_into_polylines(Featured_edges_copy_graph& g_copy) { std::vector polylines; - internal::Mesh_3::Extract_polyline_with_context_visitor< + Mesh_3::internal::Extract_polyline_with_context_visitor< Polyhedral_mesh_domain_with_features_3, Polyline_with_context, Featured_edges_copy_graph > visitor(g_copy, polylines); - internal::Mesh_3::Angle_tester angle_tester; + Mesh_3::internal::Angle_tester angle_tester; split_graph_into_polylines(g_copy, visitor, angle_tester); this->add_features_with_context(polylines.begin(), diff --git a/Mesh_3/include/CGAL/internal/Mesh_3/Graph_manipulations.h b/Mesh_3/include/CGAL/internal/Mesh_3/Graph_manipulations.h index 0e4dcf3b2e1..ea8c6e4a91e 100644 --- a/Mesh_3/include/CGAL/internal/Mesh_3/Graph_manipulations.h +++ b/Mesh_3/include/CGAL/internal/Mesh_3/Graph_manipulations.h @@ -33,8 +33,8 @@ #include namespace CGAL { -namespace internal { namespace Mesh_3 { +namespace internal { template struct Graph_manipulations @@ -116,8 +116,8 @@ struct Graph_manipulations } }; // struct template Graph_manipulations -} // namespace Mesh_3 } // namespace internal +} // namespace Mesh_3 } // namespace CGAL #endif //CGAL_INTERNAL_MESH_3_INTERNAL_GRAPH_MANIPULATIONS diff --git a/Mesh_3/include/CGAL/internal/Mesh_3/check_weights.h b/Mesh_3/include/CGAL/internal/Mesh_3/check_weights.h index 8aa8b602ec0..b9b0ad67dec 100644 --- a/Mesh_3/include/CGAL/internal/Mesh_3/check_weights.h +++ b/Mesh_3/include/CGAL/internal/Mesh_3/check_weights.h @@ -35,8 +35,8 @@ #include namespace CGAL { -namespace internal { namespace Mesh_3 { +namespace internal { template @@ -68,9 +68,9 @@ bool has_non_protecting_weights(const Triangulation& tr, } -}//end namespace Mesh_3 -}//end namespace internal -}//end namespace CGAL +} // end namespace internal +} // end namespace Mesh_3 +} // end namespace CGAL #endif //CGAL_INTERNAL_MESH_3_CHECK_WEIGHTS_H diff --git a/Mesh_3/include/CGAL/internal/Mesh_3/get_index.h b/Mesh_3/include/CGAL/internal/Mesh_3/get_index.h index db9b6cf8e05..5290ebf429e 100644 --- a/Mesh_3/include/CGAL/internal/Mesh_3/get_index.h +++ b/Mesh_3/include/CGAL/internal/Mesh_3/get_index.h @@ -35,10 +35,10 @@ #include namespace CGAL { -namespace internal { namespace Mesh_3 { - - +namespace internal { + + template const T& get_index(const Boost_variant& x, typename boost::disable_if >::type * = 0) @@ -167,8 +167,8 @@ struct Write_mesh_domain_index { -} -} -} +} // end namespace internal +} // end namespace Mesh_3 +} // end namespace CGAL #endif diff --git a/Mesh_3/include/CGAL/lloyd_optimize_mesh_3.h b/Mesh_3/include/CGAL/lloyd_optimize_mesh_3.h index 0c059121831..187c4058571 100644 --- a/Mesh_3/include/CGAL/lloyd_optimize_mesh_3.h +++ b/Mesh_3/include/CGAL/lloyd_optimize_mesh_3.h @@ -76,7 +76,7 @@ lloyd_optimize_mesh_3_impl(C3T3& c3t3, , const bool do_freeze) { CGAL_precondition( - !internal::Mesh_3::has_non_protecting_weights(c3t3.triangulation(), domain)); + !Mesh_3::internal::has_non_protecting_weights(c3t3.triangulation(), domain)); typedef typename C3T3::Triangulation Tr; diff --git a/Mesh_3/include/CGAL/make_mesh_3.h b/Mesh_3/include/CGAL/make_mesh_3.h index 1699fcd63e6..f792ef2718e 100644 --- a/Mesh_3/include/CGAL/make_mesh_3.h +++ b/Mesh_3/include/CGAL/make_mesh_3.h @@ -110,7 +110,7 @@ namespace parameters { { typedef typename internal::Domain_features_generator< MeshDomain, - CGAL::internal::Mesh_3::has_Has_features::value > Generator; + CGAL::Mesh_3::internal::has_Has_features::value > Generator; return Generator()(); } @@ -134,8 +134,8 @@ CGAL_PRAGMA_DIAG_POP // ----------------------------------- // Initialize c3t3 stuff // ----------------------------------- -namespace internal { namespace Mesh_3 { +namespace internal { template < typename C3T3, typename MeshDomain, typename MeshCriteria > void @@ -315,7 +315,8 @@ struct C3t3_initializer < C3T3, MD, MC, true, CGAL::Tag_false > } }; -}} // end namespace internal::Mesh_3 +} // end namespace internal +} // end namespace Mesh_3 // ----------------------------------- @@ -456,11 +457,11 @@ void make_mesh_3_impl(C3T3& c3t3, #endif // Initialize c3t3 - internal::Mesh_3::C3t3_initializer< + Mesh_3::internal::C3t3_initializer< C3T3, MeshDomain, MeshCriteria, - internal::Mesh_3::has_Has_features::value > () (c3t3, + Mesh_3::internal::has_Has_features::value > () (c3t3, domain, criteria, with_features, diff --git a/Mesh_3/include/CGAL/odt_optimize_mesh_3.h b/Mesh_3/include/CGAL/odt_optimize_mesh_3.h index 76a3d14bb8e..d19d6492588 100644 --- a/Mesh_3/include/CGAL/odt_optimize_mesh_3.h +++ b/Mesh_3/include/CGAL/odt_optimize_mesh_3.h @@ -76,7 +76,7 @@ odt_optimize_mesh_3_impl(C3T3& c3t3, const bool do_freeze ) { CGAL_precondition( - !internal::Mesh_3::has_non_protecting_weights(c3t3.triangulation(), domain)); + !Mesh_3::internal::has_non_protecting_weights(c3t3.triangulation(), domain)); typedef typename C3T3::Triangulation Tr; diff --git a/Mesh_3/include/CGAL/perturb_mesh_3.h b/Mesh_3/include/CGAL/perturb_mesh_3.h index 5190ecf56bf..64795d7e920 100644 --- a/Mesh_3/include/CGAL/perturb_mesh_3.h +++ b/Mesh_3/include/CGAL/perturb_mesh_3.h @@ -107,7 +107,7 @@ perturb_mesh_3_impl(C3T3& c3t3, const PPerturbationVector& perturbation_vector) { CGAL_precondition( - !internal::Mesh_3::has_non_protecting_weights(c3t3.triangulation(), domain)); + !Mesh_3::internal::has_non_protecting_weights(c3t3.triangulation(), domain)); typedef MeshDomain Md; typedef SliverCriterion Sc; diff --git a/Mesh_3/test/Mesh_3/test_meshing_polyhedral_complex.cpp b/Mesh_3/test/Mesh_3/test_meshing_polyhedral_complex.cpp index b4946e6c08a..d058ba21bbe 100644 --- a/Mesh_3/test/Mesh_3/test_meshing_polyhedral_complex.cpp +++ b/Mesh_3/test/Mesh_3/test_meshing_polyhedral_complex.cpp @@ -101,7 +101,7 @@ struct Polyhedral_complex_tester : public Tester // Mesh generation C3t3 c3t3; - CGAL::internal::Mesh_3::init_c3t3_with_features(c3t3, domain, criteria, + CGAL::Mesh_3::internal::init_c3t3_with_features(c3t3, domain, criteria, true /*nonlinear_growth_of_balls*/); domain.add_vertices_to_c3t3_on_patch_without_feature_edges(c3t3); diff --git a/Mesh_3/test/Mesh_3/test_meshing_polylines_only.cpp b/Mesh_3/test/Mesh_3/test_meshing_polylines_only.cpp index e3cbc677b06..d2b056095f1 100644 --- a/Mesh_3/test/Mesh_3/test_meshing_polylines_only.cpp +++ b/Mesh_3/test/Mesh_3/test_meshing_polylines_only.cpp @@ -82,15 +82,12 @@ int main(int argc, char** argv) // Mesh criteria Mesh_criteria criteria(edge_size = 0.1); typedef Mesh_criteria::Edge_criteria Edge_criteria; - typedef CGAL::internal::Mesh_3::Edge_criteria_sizing_field_wrapper Sizing_field; - CGAL::Mesh_3::Protect_edges_sizing_field - protect_edges(c3t3, domain, Sizing_field(criteria.edge_criteria_object()), - 0.01); + typedef CGAL::Mesh_3::internal::Edge_criteria_sizing_field_wrapper Sizing_field; + CGAL::Mesh_3::Protect_edges_sizing_field + protect_edges(c3t3, domain, Sizing_field(criteria.edge_criteria_object()), 0.01); protect_edges(true); - // CGAL::internal::Mesh_3::init_c3t3_with_features(c3t3, domain, criteria); + // CGAL::Mesh_3::internal::init_c3t3_with_features(c3t3, domain, criteria); // Output std::ofstream medit_file("out-mesh-polylines.mesh"); diff --git a/Periodic_3_mesh_3/include/CGAL/make_periodic_3_mesh_3.h b/Periodic_3_mesh_3/include/CGAL/make_periodic_3_mesh_3.h index 0872dc50632..0bacffb7f51 100644 --- a/Periodic_3_mesh_3/include/CGAL/make_periodic_3_mesh_3.h +++ b/Periodic_3_mesh_3/include/CGAL/make_periodic_3_mesh_3.h @@ -37,9 +37,8 @@ #include namespace CGAL { - -namespace internal { namespace Periodic_3_mesh_3 { +namespace internal { template void give_dummy_points_artificial_index(C3T3& c3t3) @@ -56,21 +55,36 @@ void give_dummy_points_artificial_index(C3T3& c3t3) } } +template +void init_c3t3_with_features(C3T3& c3t3, + const MeshDomain& domain, + const MeshCriteria& criteria, + bool nonlinear = false) +{ + typedef typename MeshCriteria::Edge_criteria Edge_criteria; + typedef Mesh_3::internal::Edge_criteria_sizing_field_wrapper Sizing_field; + + CGAL::Periodic_3_mesh_3::Protect_edges_sizing_field + protect_edges(c3t3, domain, Sizing_field(criteria.edge_criteria_object())); + protect_edges.set_nonlinear_growth_of_balls(nonlinear); + + protect_edges(true); +} + // C3t3_initializer: initialize c3t3 template < typename C3T3, typename MeshDomain, typename MeshCriteria, bool MeshDomainHasHasFeatures, typename HasFeatures = int> -class C3t3_initializer - : public CGAL::internal::Mesh_3::C3t3_initializer< +struct C3t3_initializer_base + : public CGAL::Mesh_3::internal::C3t3_initializer< C3T3, MeshDomain, MeshCriteria, MeshDomainHasHasFeatures, HasFeatures> { - typedef CGAL::internal::Mesh_3::C3t3_initializer< + typedef CGAL::Mesh_3::internal::C3t3_initializer< C3T3, MeshDomain, MeshCriteria, MeshDomainHasHasFeatures, HasFeatures> Base; -public: void operator()(C3T3& c3t3, const MeshDomain& domain, const MeshCriteria& criteria, @@ -80,7 +94,6 @@ public: { c3t3.triangulation().set_domain(domain.periodic_bounding_box()); c3t3.triangulation().insert_dummy_points(); - give_dummy_points_artificial_index(c3t3); // Call the basic initialization from c3t3, which handles features and @@ -92,6 +105,7 @@ public: } // namespace Periodic_3_mesh_3 } // namespace internal +} // namespace Periodic_3_mesh_3 // ----------------------------------- // make_periodic_3_mesh_3 stuff @@ -225,9 +239,9 @@ void make_periodic_3_mesh_3_impl(C3T3& c3t3, manifold_options = parameters::internal::Manifold_options()) { // Initialize c3t3 - internal::Periodic_3_mesh_3::C3t3_initializer< + Periodic_3_mesh_3::internal::C3t3_initializer< C3T3, MeshDomain, MeshCriteria, - internal::Mesh_3::has_Has_features::value>()(c3t3, + Mesh_3::internal::has_Has_features::value>()(c3t3, domain, criteria, with_features,