rename seeding method enumeration

This commit is contained in:
Lingjie Zhu 2017-08-28 21:00:42 +08:00
parent 27da4147c7
commit b4eead5e7b
10 changed files with 30 additions and 30 deletions

View File

@ -61,7 +61,7 @@ int main(int argc, char *argv[])
std::cerr << "start initialization" << std::endl;
t.start();
l21_vsa.seeding_by_error(
static_cast<L21VSA::Initialization>(init), tol, iterations);
static_cast<L21VSA::Method>(init), tol, iterations);
t.stop();
std::cerr << "initialization time " << t.time() << " sec." << std::endl;
std::cerr << "#proxies " << l21_vsa.get_proxies_size() << std::endl;

View File

@ -65,7 +65,7 @@ int main(int argc, char *argv[])
t0.reset();
t0.start();
l21_vsa.seeding_by_number(
static_cast<L21VSA::Initialization>(init), num_proxies);
static_cast<L21VSA::Method>(init), num_proxies);
t0.stop();
std::cerr << "initialization time " << t0.time() << " sec." << std::endl;

View File

@ -35,7 +35,7 @@ int main()
l21_approx.set_metric(metric, proxy_fitting);
// initialize proxies randomly on the mesh
l21_approx.seeding_by_number(L21VSA::RandomInit, 100);
l21_approx.seeding_by_number(L21VSA::Random, 100);
// run the iteration to minimize the error
for (std::size_t i = 0; i < 30; ++i)

View File

@ -108,7 +108,7 @@ int main()
compact_approx.set_metric(metric, proxy_fitting);
// using 200 proxies to approximate the shape
compact_approx.seeding_by_number(CompactVSA::HierarchicalInit, 200);
compact_approx.seeding_by_number(CompactVSA::Hierarchical, 200);
for (std::size_t i = 0; i < 30; ++i)
compact_approx.run_one_step();

View File

@ -47,29 +47,29 @@ class VSA_approximation {
// public typedefs
public:
// Default typdefs
/// GeomTraits typdef
/// Geometric trait type
typedef typename CGAL::Default::Get<
GeomTraits_,
typename Kernel_traits<
typename boost::property_traits<VertexPointMap>::value_type
>::Kernel >::type GeomTraits;
/// ErrorMetric typdef
/// ErrorMetric type
typedef typename CGAL::Default::Get<ErrorMetric_,
CGAL::L21Metric<TriangleMesh, VertexPointMap, GeomTraits> >::type ErrorMetric;
/// ProxyFitting typdef
/// ProxyFitting type
typedef typename CGAL::Default::Get<ProxyFitting_,
CGAL::L21ProxyFitting<TriangleMesh, VertexPointMap, GeomTraits> >::type ProxyFitting;
/// Proxy typdef
/// Proxy type
typedef typename ErrorMetric::Proxy Proxy;
/// Seeding method enumeration
enum Initialization {
/// Random initialization
RandomInit,
/// Incremental initialization
IncrementalInit,
/// Hierarchical initialization
HierarchicalInit
enum Method {
/// Random seeding
Random,
/// Incremental seeding
Incremental,
/// Hierarchical seeding
Hierarchical
};
// private typedefs and data member
@ -318,15 +318,15 @@ public:
* @return number of proxies initialized
*/
std::size_t seeding_by_number(
const Initialization method,
const Method method,
const std::size_t num_seed,
const std::size_t num_iterations = 5) {
switch (method) {
case RandomInit:
case Random:
return seed_random(num_seed);
case IncrementalInit:
case Incremental:
return seed_incremental(num_seed, num_iterations);
case HierarchicalInit:
case Hierarchical:
return seed_hierarchical(num_seed, num_iterations);
default:
return 0;
@ -341,15 +341,15 @@ public:
* @return number of proxies initialized
*/
std::size_t seeding_by_error(
const Initialization method,
const Method method,
const FT target_drop,
const std::size_t num_iterations = 5) {
switch (method) {
case RandomInit:
case Random:
return seed_error_random(target_drop, num_iterations);
case IncrementalInit:
case Incremental:
return seed_error_incremental(target_drop, num_iterations);
case HierarchicalInit:
case Hierarchical:
return seed_error_hierarchical(target_drop, num_iterations);
default:
return 0;

View File

@ -94,7 +94,7 @@ bool vsa_mesh_approximation(const TriangleMesh &tm_in,
int init = choose_param(get_param(np, internal_np::init_method), 0);
vsa_l21.seeding_by_number(
static_cast<typename VSAL21::Initialization>(init), num_proxies, 5);
static_cast<typename VSAL21::Method>(init), num_proxies, 5);
for (std::size_t i = 0; i < num_iterations; ++i)
vsa_l21.run_one_step();

View File

@ -53,7 +53,7 @@ int main()
// random init and run
std::cout << "random init and run" << std::endl;
l2_approx.seeding_by_number(L2VSA::RandomInit, 10);
l2_approx.seeding_by_number(L2VSA::Random, 10);
for (std::size_t i = 0; i < 10; ++i)
l2_approx.run_one_step();
if (l2_approx.get_proxies_size() != 10)
@ -124,7 +124,7 @@ int main()
l2_approx.rebuild();
if (l2_approx.get_proxies_size() != 0)
return EXIT_FAILURE;
l2_approx.seeding_by_error(L2VSA::HierarchicalInit, drop, iterations);
l2_approx.seeding_by_error(L2VSA::Hierarchical, drop, iterations);
for (std::size_t i = 0; i < 10; ++i)
l2_approx.run_one_step();
std::cout << "#proxies " << l2_approx.get_proxies_size() << std::endl;
@ -133,7 +133,7 @@ int main()
l2_approx.rebuild();
if (l2_approx.get_proxies_size() != 0)
return EXIT_FAILURE;
l2_approx.seeding_by_error(L2VSA::IncrementalInit, drop, iterations);
l2_approx.seeding_by_error(L2VSA::Incremental, drop, iterations);
for (std::size_t i = 0; i < 10; ++i)
l2_approx.run_one_step();
std::cout << "#proxies " << l2_approx.get_proxies_size() << std::endl;

View File

@ -39,7 +39,7 @@ bool test_shape(const char *file_name, const std::size_t target_num_proxies)
const FT drop(1e-8);
const std::size_t num_iterations = 20;
const std::size_t inner_iterations = 10;
vsa_l21.seeding_by_error(L21VSA::IncrementalInit, drop, inner_iterations);
vsa_l21.seeding_by_error(L21VSA::Incremental, drop, inner_iterations);
for (std::size_t i = 0; i < num_iterations; ++i)
vsa_l21.run_one_step();
if (vsa_l21.get_proxies_size() != target_num_proxies) {

View File

@ -51,7 +51,7 @@ int main()
L21ProxyFitting l21_fitting(mesh);
vsa_l21.set_metric(l21_metric, l21_fitting);
vsa_l21.seeding_by_number(L21VSA::RandomInit, 100);
vsa_l21.seeding_by_number(L21VSA::Random, 100);
std::vector<FT> error;
for (std::size_t i = 0; i < 30; ++i)
error.push_back(vsa_l21.run_one_step());

View File

@ -99,7 +99,7 @@ int main()
compact_approx.set_metric(metric, proxy_fitting);
std::cout << "random init and run" << std::endl;
compact_approx.seeding_by_number(CompactVSA::RandomInit, 20);
compact_approx.seeding_by_number(CompactVSA::Random, 20);
for (std::size_t i = 0; i < 20; ++i)
compact_approx.run_one_step();
if (compact_approx.get_proxies_size() != 20)