mirror of https://github.com/CGAL/cgal
remove default constructor
This commit is contained in:
parent
1f78b9590c
commit
e27a6b2b51
|
|
@ -38,14 +38,14 @@ int main(int argc, char *argv[])
|
|||
}
|
||||
std::cerr << "#triangles " << mesh.size_of_facets() << std::endl;
|
||||
|
||||
// algorithm instance
|
||||
L21_approx approx(mesh,
|
||||
get(boost::vertex_point, const_cast<Polyhedron &>(mesh)));
|
||||
|
||||
// set metric error and fitting functors
|
||||
// error metric and fitting functors
|
||||
L21_metric error_metric(mesh,
|
||||
get(boost::vertex_point, const_cast<Polyhedron &>(mesh)));
|
||||
approx.set_metric(error_metric);
|
||||
|
||||
// algorithm instance
|
||||
L21_approx approx(mesh,
|
||||
get(boost::vertex_point, const_cast<Polyhedron &>(mesh)),
|
||||
error_metric);
|
||||
|
||||
int method = std::atoi(argv[2]);
|
||||
if (method < 0 || method > 2)
|
||||
|
|
|
|||
|
|
@ -39,14 +39,14 @@ int main(int argc, char *argv[])
|
|||
}
|
||||
std::cerr << "#triangles " << mesh.size_of_facets() << std::endl;
|
||||
|
||||
// algorithm instance
|
||||
L21_apporx approx(mesh,
|
||||
get(boost::vertex_point, const_cast<Polyhedron &>(mesh)));
|
||||
|
||||
// set metric error and fitting functors
|
||||
// error metric and fitting functors
|
||||
L21_metric error_metric(mesh,
|
||||
get(boost::vertex_point, const_cast<Polyhedron &>(mesh)));
|
||||
approx.set_metric(error_metric);
|
||||
|
||||
// algorithm instance
|
||||
L21_apporx approx(mesh,
|
||||
get(boost::vertex_point, const_cast<Polyhedron &>(mesh)),
|
||||
error_metric);
|
||||
|
||||
int method = std::atoi(argv[2]);
|
||||
if (method < 0 || method > 2)
|
||||
|
|
|
|||
|
|
@ -24,14 +24,14 @@ int main()
|
|||
return EXIT_FAILURE;
|
||||
}
|
||||
|
||||
// creates VSA algorithm instance
|
||||
Mesh_approximation approx(input,
|
||||
// error metric and fitting function
|
||||
L21_metric error_metric(input,
|
||||
get(boost::vertex_point, const_cast<Polyhedron &>(input)));
|
||||
|
||||
// sets error and fitting functors
|
||||
L21_metric metric(input,
|
||||
get(boost::vertex_point, const_cast<Polyhedron &>(input)));
|
||||
approx.set_metric(metric);
|
||||
// creates VSA algorithm instance
|
||||
Mesh_approximation approx(input,
|
||||
get(boost::vertex_point, const_cast<Polyhedron &>(input)),
|
||||
error_metric);
|
||||
|
||||
// seeds 100 random proxies
|
||||
approx.initialize_seeds(CGAL::VSA::Random, 100);
|
||||
|
|
|
|||
|
|
@ -91,13 +91,13 @@ int main()
|
|||
Face_area_map area_pmap(face_areas);
|
||||
Face_center_map center_pmap(face_centers);
|
||||
|
||||
// error metric and fitting function
|
||||
Compact_metric_point_proxy error_metric(center_pmap, area_pmap);
|
||||
|
||||
// creates compact metric approximation algorithm instance
|
||||
Approximation approx(input,
|
||||
get(boost::vertex_point, const_cast<Polyhedron &>(input)));
|
||||
|
||||
// constructs and set metric
|
||||
Compact_metric_point_proxy metric(center_pmap, area_pmap);
|
||||
approx.set_metric(metric);
|
||||
get(boost::vertex_point, const_cast<Polyhedron &>(input)),
|
||||
error_metric);
|
||||
|
||||
// approximates via 200 proxies and 30 iterations
|
||||
approx.initialize_seeds(CGAL::VSA::Hierarchical, 200);
|
||||
|
|
|
|||
|
|
@ -278,31 +278,17 @@ public:
|
|||
/// \name Construction
|
||||
/// @{
|
||||
/*!
|
||||
* @brief %Default empty constructor.
|
||||
*/
|
||||
Variational_shape_approximation() :
|
||||
m_ptm(NULL),
|
||||
m_metric(NULL),
|
||||
m_average_edge_length(0.0) {
|
||||
|
||||
Geom_traits traits;
|
||||
vector_functor = traits.construct_vector_3_object();
|
||||
point_functor = traits.construct_point_3_object();
|
||||
scale_functor = traits.construct_scaled_vector_3_object();
|
||||
sum_functor = traits.construct_sum_of_vectors_3_object();
|
||||
scalar_product_functor = traits.compute_scalar_product_3_object();
|
||||
translate_point_functor = traits.construct_translated_point_3_object();
|
||||
}
|
||||
|
||||
/*!
|
||||
* @brief Initializes and prepares for the approximation.
|
||||
* @param tm `CGAL TriangleMesh` on which approximation operates.
|
||||
* @brief Initializes internal data for the approximation.
|
||||
* @param tm `CGAL TriangleMesh` on which approximation operates
|
||||
* @param vpoint_map vertex point map of the mesh
|
||||
* @param error_metric an `ErrorMetricProxy` object
|
||||
*/
|
||||
Variational_shape_approximation(const TriangleMesh &tm, const VertexPointMap &vpoint_map) :
|
||||
Variational_shape_approximation(const TriangleMesh &tm,
|
||||
const VertexPointMap &vpoint_map,
|
||||
const Error_metric &error_metric) :
|
||||
m_ptm(&tm),
|
||||
m_vpoint_map(vpoint_map),
|
||||
m_metric(NULL),
|
||||
m_metric(&error_metric),
|
||||
m_average_edge_length(0.0) {
|
||||
|
||||
Geom_traits traits;
|
||||
|
|
|
|||
|
|
@ -128,9 +128,8 @@ bool approximate_mesh(const TriangleMesh &tm, const NamedParameters &np)
|
|||
<< "\n#v " << num_vertices(tm) << std::endl;
|
||||
}
|
||||
|
||||
L21_approx approx(tm, point_pmap);
|
||||
L21_metric metric(tm, point_pmap);
|
||||
approx.set_metric(metric);
|
||||
L21_approx approx(tm, point_pmap, metric);
|
||||
|
||||
// hierarchical seeding by default
|
||||
CGAL::VSA::Seeding_method method = choose_param(
|
||||
|
|
|
|||
|
|
@ -44,11 +44,11 @@ int main()
|
|||
|
||||
// create L2_approx L2 metric approximation algorithm instance
|
||||
std::cout << "setup algorithm instance" << std::endl;
|
||||
L2_approx approx(mesh,
|
||||
get(boost::vertex_point, const_cast<Polyhedron &>(mesh)));
|
||||
L2_metric_plane_proxy error_metric(mesh,
|
||||
get(boost::vertex_point, const_cast<Polyhedron &>(mesh)));
|
||||
approx.set_metric(error_metric);
|
||||
L2_approx approx(mesh,
|
||||
get(boost::vertex_point, const_cast<Polyhedron &>(mesh)),
|
||||
error_metric);
|
||||
|
||||
// random seeding and run
|
||||
std::cout << "random seeding and run" << std::endl;
|
||||
|
|
|
|||
|
|
@ -27,12 +27,11 @@ bool test_shape(const char *file_name, const std::size_t target_num_proxies)
|
|||
|
||||
std::cout << "Testing \"" << file_name << '\"' << std::endl;
|
||||
// algorithm instance
|
||||
L21_approx approx(mesh,
|
||||
get(boost::vertex_point, const_cast<Polyhedron &>(mesh)));
|
||||
|
||||
L21_metric error_metric(mesh,
|
||||
get(boost::vertex_point, const_cast<Polyhedron &>(mesh)));
|
||||
approx.set_metric(error_metric);
|
||||
L21_approx approx(mesh,
|
||||
get(boost::vertex_point, const_cast<Polyhedron &>(mesh)),
|
||||
error_metric);
|
||||
|
||||
// approximation, seeding from error, drop to the target error incrementally
|
||||
// should reach targeted number of proxies gradually
|
||||
|
|
|
|||
|
|
@ -43,12 +43,11 @@ int main()
|
|||
}
|
||||
|
||||
// algorithm instance
|
||||
L21_approx approx(mesh,
|
||||
get(boost::vertex_point, const_cast<Polyhedron &>(mesh)));
|
||||
|
||||
L21_metric error_metric(mesh,
|
||||
get(boost::vertex_point, const_cast<Polyhedron &>(mesh)));
|
||||
approx.set_metric(error_metric);
|
||||
L21_approx approx(mesh,
|
||||
get(boost::vertex_point, const_cast<Polyhedron &>(mesh)),
|
||||
error_metric);
|
||||
|
||||
approx.initialize_seeds(CGAL::VSA::Random, 100);
|
||||
std::vector<FT> error;
|
||||
|
|
|
|||
|
|
@ -27,12 +27,11 @@ bool test_manifold(const char *file_name, const FT drop = FT(1e-8))
|
|||
|
||||
std::cout << "Testing \"" << file_name << '\"' << std::endl;
|
||||
// algorithm instance
|
||||
L21_approx approx(mesh,
|
||||
get(boost::vertex_point, const_cast<Polyhedron &>(mesh)));
|
||||
|
||||
L21_metric error_metric(mesh,
|
||||
get(boost::vertex_point, const_cast<Polyhedron &>(mesh)));
|
||||
approx.set_metric(error_metric);
|
||||
L21_approx approx(mesh,
|
||||
get(boost::vertex_point, const_cast<Polyhedron &>(mesh)),
|
||||
error_metric);
|
||||
|
||||
// approximation, seeding from error, drop to the target error incrementally
|
||||
const std::size_t num_iterations = 20;
|
||||
|
|
|
|||
|
|
@ -92,11 +92,11 @@ int main()
|
|||
|
||||
// create compact metric approximation algorithm instance
|
||||
std::cout << "create compact vas instance" << std::endl;
|
||||
Compact_approx approx(mesh,
|
||||
get(boost::vertex_point, const_cast<Polyhedron &>(mesh)));
|
||||
|
||||
Compact_metric_point_proxy error_metric(center_pmap, area_pmap);
|
||||
approx.set_metric(error_metric);
|
||||
|
||||
Compact_approx approx(mesh,
|
||||
get(boost::vertex_point, const_cast<Polyhedron &>(mesh)),
|
||||
error_metric);
|
||||
|
||||
std::cout << "random seeding and run" << std::endl;
|
||||
approx.initialize_seeds(CGAL::VSA::Random, 20);
|
||||
|
|
|
|||
|
|
@ -62,8 +62,8 @@ int main()
|
|||
L21_metric error_metric(mesh,
|
||||
get(boost::vertex_point, const_cast<Polyhedron &>(mesh)));
|
||||
L21_approx approx(mesh,
|
||||
get(boost::vertex_point, const_cast<Polyhedron &>(mesh)));
|
||||
approx.set_metric(error_metric);
|
||||
get(boost::vertex_point, const_cast<Polyhedron &>(mesh)),
|
||||
error_metric);
|
||||
|
||||
std::cout << "Random seeding by number." << std::endl;
|
||||
std::srand(static_cast<unsigned int>(std::time(0)));
|
||||
|
|
|
|||
Loading…
Reference in New Issue