Commit Graph

383 Commits

Author SHA1 Message Date
Pierre Alliez 64261f0acd shorter named parameters (code to update in accordance!)
namespace VSA for error metrics

file and classes renamed for error metrics (should be named xx_metric_yy_proxy)
2018-11-30 15:30:51 +08:00
Pierre Alliez 1048255d6d massaging reference manual 2018-11-30 15:30:51 +08:00
Lingjie Zhu 33913d6664 add_proxy_furthest -> add_to_furthest_proxies
maybe better name
2018-11-30 15:30:08 +08:00
Lingjie Zhu f5b27f3411 indexed triangle switch to CGAL::cpp11::array<std::size_t, 3> 2018-11-30 15:30:08 +08:00
Lingjie Zhu 11bcd9fa1e metric reference with groups 2018-11-30 15:30:08 +08:00
Lingjie Zhu 4bbda56a37 reference manual with groups 2018-11-30 15:30:08 +08:00
Lingjie Zhu 555c9ed342 ApproximationTraits to ErrorMetric 2018-11-30 15:30:08 +08:00
Lingjie Zhu 66f6c52a7b remove VSA_metrics.h 2018-11-30 15:30:08 +08:00
Lingjie Zhu 247ce2f858 switch demo/example/test/benchmark to Approximation traits 2018-11-30 15:30:08 +08:00
Lingjie Zhu b2d75c5879 add Approximation traits class 2018-11-30 15:30:08 +08:00
Lingjie Zhu f276cac096 remove Polyhedron output mesh
vsa_mesh_approximation + vsa_mesh_segmentation -> mesh_approximation
2018-11-30 15:30:08 +08:00
Lingjie Zhu 745f87e172 remove VSA namespace
CGAL::VSA::Metrics -> CGAL::Metrics
CGAL::VSA::parameters -> CGAL::Surface_mesh_approximation::parameters
2018-11-30 15:30:08 +08:00
Lingjie Zhu e94ee29de2 remove VSA namespace
CGAL::VSA::Mesh_approximation -> CGAL::VSA_approximation
2018-11-30 15:30:08 +08:00
Lingjie Zhu 2d9c6a1161 tm_in -> tm, FaceGraph -> FaceListGraph, remove hashable 2018-11-30 15:30:08 +08:00
Lingjie Zhu 74f5357120 remove free function VSA:: namespace 2018-11-30 15:30:08 +08:00
Lingjie Zhu a34d2e651c fix error rounding up
code and document
2018-11-30 15:30:08 +08:00
Lingjie Zhu 9db2720d6f fix reference manual 2018-11-30 15:30:08 +08:00
Lingjie Zhu b66c35aa83 remove get_ in member functions 2018-11-30 15:30:08 +08:00
Lingjie Zhu b593ef4622 fix proxy error update
should subtract error fitted to the original proxy not the new one
fix demo run m_iso_approx
2018-11-30 15:30:08 +08:00
Lingjie Zhu ae08e9a152 fix unused parameter warning 2018-11-30 15:30:08 +08:00
Lingjie Zhu b3a891e220 update demo cmake scripts
cmake version required update
optional verbose
get rid of include xx.cpp
fix duplicate optimize_anchor_location parameter and function name
2018-11-30 15:30:08 +08:00
Pierre Alliez bb0f671fa2 rename optimization option 2018-11-30 15:30:08 +08:00
Lingjie Zhu 522df74309 remove redundant fit function 2018-11-30 15:30:08 +08:00
Lingjie Zhu 9c0de51b79 optional tbb concurrency 2018-11-30 15:29:18 +08:00
Lingjie Zhu 8ea905adcd add TBB parallelism in fit
Can't find tbb on Windows10 with TBB from 44_20150728 to 2018_20171205.
Seems like FindTBB module is outdated.
cgal-discuss.949826.n4.nabble.com/how-to-enable-TBB-td4659985.html
2018-11-30 15:29:18 +08:00
Lingjie Zhu b17ca72645 fix split
modify proxy map before add_one_proxy_at
2018-11-30 15:28:00 +08:00
Lingjie Zhu e4f08cb18e remove preconditions
facet proxy map and proxy error are always valid
2018-11-30 15:28:00 +08:00
Lingjie Zhu d1bf782a2e fit_proxy_from_facet update error and proxy map
this maitain the proxy map and proxy error always valid
even if the number of iteration is 0
connected component fitted from patch
need error/vector degeneracy handeling
2018-11-30 15:28:00 +08:00
Lingjie Zhu 4750ea9328 add_one_proxy_at 2018-11-30 15:28:00 +08:00
Lingjie Zhu d7f7369416 random pick non-seed facets
without proxies clear which invalidates existing proxy map
2018-11-30 15:28:00 +08:00
Lingjie Zhu a693b2d928 compute_fitting_error -> compute_total_error
proxy error has already been computed in fit_proxy_from_patch
2018-11-30 15:28:00 +08:00
Lingjie Zhu f951b81e62 fit proxy from patch & seed facet 2018-11-30 15:28:00 +08:00
Lingjie Zhu 27d4485393 proxy_wrapper constructor with error 2018-11-30 15:28:00 +08:00
Lingjie Zhu fc6788b9b4 use Vector and CGAL::ORIGIN to compute anchor location 2018-11-30 15:28:00 +08:00
Lingjie Zhu e69d136e13 add optional anchor location optimization 2018-11-30 15:28:00 +08:00
Lingjie Zhu ba2ef67904 check forced teleportation 2018-11-30 15:28:00 +08:00
Lingjie Zhu f81c885a69 approximate on geometry with disconnected component
random shuffle on non seed facets
2018-11-30 15:24:16 +08:00
Lingjie Zhu 888ebfd4ea add connected component detection 2018-11-30 15:24:16 +08:00
Lingjie Zhu c07b7daf3a fix naming
fit_error -> m_perror_metric
proxy_fitting -> m_pproxy_fitting
2018-11-30 15:24:16 +08:00
Lingjie Zhu 59e314ce21 fix naming
m_borders -> m_bcycles
2018-11-30 15:24:16 +08:00
Lingjie Zhu 4fc49c26c7 fix naming
Chord_vector -> Boundary_chord
Border -> Boundary_cycle
2018-11-30 15:24:16 +08:00
Lingjie Zhu 97fdfd2965 prefix data member with m_ 2018-11-30 15:24:16 +08:00
Lingjie Zhu 48086ed3f0 fix naming and spacing 2018-11-30 15:24:16 +08:00
Lingjie Zhu e7945764a5 fix manifold test
forgot to compute average_edge_length when algorithm
instance is constructed from (tm, vpmap)
2018-11-30 15:24:16 +08:00
Lingjie Zhu 66458af0bd consistent naming and spacing 2018-11-30 15:24:16 +08:00
Lingjie Zhu f1a5f76f00 fix dynamic_property_map compiling issue 2018-11-30 15:24:16 +08:00
Pierre Alliez 958477c466 ref manual 2018-11-30 15:24:16 +08:00
Andreas Fabri 0cb55dfd8d Use dynamic_property_map 2018-11-30 15:24:16 +08:00
Lingjie Zhu 22661170f8 remove unnecessary get_ helper functions 2018-11-30 15:24:16 +08:00
Lingjie Zhu 05bcc6b0c6 rebase: fix named parameter compile error
error c2953: class template has already been defined
after rebase: property_map_selector/get_property_map/get_const_property_map
has already been defined in CGAL/boost/graph/named_function_params.h
2018-11-30 15:24:16 +08:00
Lingjie Zhu a3c5432ad0 doc: add workflow figure
rename relaxation.png to iterations.png
clarify relaxation in seeding
fix typos
2018-11-30 15:24:16 +08:00
Lingjie Zhu 52da6dbb12 subdivision with relative/absolute error options 2018-11-30 15:24:16 +08:00
Lingjie Zhu 30351b0bbb doc: update named parameters 2018-11-30 15:24:16 +08:00
Lingjie Zhu 2540672e3d doc: update operations 2018-11-30 15:24:16 +08:00
Lingjie Zhu 2d939eb2be fix fit
partition always writes to global facet proxy map
fit takes input proxies and write back, maybe not the global proxies(in split)
2018-11-30 15:24:16 +08:00
Lingjie Zhu 5734237ced split in confined area 2018-11-30 15:24:16 +08:00
Lingjie Zhu ca22427e42 partition and fitting tagged area
use tag to stop the partition flooding
partition/fitting range of proxies
2018-11-30 15:24:16 +08:00
Lingjie Zhu 58f5a58eb5 add proxy wrapper with index
mantain the index when addding/refitting/merging/teleporting
2018-11-30 15:24:16 +08:00
Lingjie Zhu 7d06955b2b make partition and fitting private
because they are always used together --> run(nb_iterations)
2018-11-30 15:24:16 +08:00
Lingjie Zhu 1a94e743ad vertex anchor map int -> std::size_t
anchor map value type int to std::size_t
general invalid tag
2018-11-30 15:24:16 +08:00
Lingjie Zhu e4ad5e4490 add number of proxies curve
add nb_proxies - error curve
curve description
error debug output
2018-11-30 15:24:16 +08:00
Lingjie Zhu 255e107942 remove init from named parameters 2018-11-30 15:24:16 +08:00
Lingjie Zhu 9c9cfc8f53 pulic compute_fitting_error 2018-11-30 15:24:16 +08:00
Lingjie Zhu af6a8a5df2 replace init with seeding 2018-11-30 15:24:16 +08:00
Lingjie Zhu b11b32e35e remove init_by_ interfaces 2018-11-30 15:24:16 +08:00
Lingjie Zhu fb794ec591 add reasonable default number of iterations 2018-11-30 15:24:16 +08:00
Lingjie Zhu fa81af898f named parameter
iterations -> nb_of_iterations
inner_iterations -> nb_of_relaxations
2018-11-30 15:24:16 +08:00
Pierre Alliez ed053b5f2c Minor improvement on comments. 2018-11-30 15:24:16 +08:00
Lingjie Zhu 8a1c9f9323 add vsa_mesh_segmentation with explicit segment map output 2018-11-30 15:24:16 +08:00
Lingjie Zhu 35f3cc6052 minor fixes 2018-11-30 15:24:16 +08:00
Lingjie Zhu 37b8d0fb0e patch 2018-11-30 15:24:16 +08:00
Lingjie Zhu 12f93c4beb better init 2018-11-30 15:24:16 +08:00
Lingjie Zhu 1880c3b517 better init
init_random with iterations
strict control of max_nb_proxies
2018-11-30 15:24:16 +08:00
Pierre Alliez a74afd3d2c minor changes in doc
adding TOFIX comments
2018-11-30 15:24:16 +08:00
Pierre Alliez e1f984c3bf named param anchor_vertex -> vertices 2018-11-30 15:24:16 +08:00
Lingjie Zhu 43dbe443aa delegate init_by_ to unified init 2018-11-30 15:24:16 +08:00
Lingjie Zhu eb0725afa1 use unified init in free function API 2018-11-30 15:24:16 +08:00
Lingjie Zhu b815906e14 unified init with two stop criteria
either/both/neither max_nb_proxies and/or min_error_drop specified
parameter check
implicit max number of proxies allowed num_faces/3
2018-11-30 15:24:16 +08:00
Andreas Fabri 82f429ee30 Replace std::map by boost::unordered_map to speed up. We can even do better with Dynamic_property_map 2018-11-30 15:24:16 +08:00
Lingjie Zhu 408bd0c1bd add private utility functions
surface facets shuffling
init from first facet
2018-11-30 15:24:16 +08:00
Lingjie Zhu 54a8a88e5d class API init
with max_nb_proxies and min_error_drop
better init_random
TODO: needs general init when both specified
2018-11-30 15:24:16 +08:00
Lingjie Zhu 7b6e1d2020 named parameter: both stop criteria can apply 2018-11-30 15:24:16 +08:00
Lingjie Zhu e09a512f36 named parameter
init_by_number/refine_until_proxies -> max_nb_proxies
init_by_error -> min_error_drop
2018-11-30 15:24:16 +08:00
Lingjie Zhu 2e6818e08c named parameter chord_subdivide to mesh_chord_error 2018-11-30 15:24:16 +08:00
Lingjie Zhu e42a120c8c add get_proxy_region 2018-11-30 15:24:16 +08:00
Lingjie Zhu 4e81f58d84 fix demo
cgal class naming convention
coherent if/for block style
new API
2018-11-30 15:24:16 +08:00
Lingjie Zhu 8f578ebd54 fix demo and test
to the new class/free function interface
scoped class/function/enum name
CGAL class naming convention
2018-11-30 15:24:16 +08:00
Lingjie Zhu 618891c53c fix scoped metric and class naming 2018-11-30 15:24:16 +08:00
Lingjie Zhu 9e4a7a98e2 fix class interface
scoped seeding enum
scoped class name
run_one_step to run
indexed triangle triplet representation
named parameter output_mesh() expects polyhedron pointer
2018-11-30 15:24:16 +08:00
Lingjie Zhu c8f38f2766 add separate mesh segmentation API 2018-11-30 15:24:16 +08:00
Lingjie Zhu e97786a4ea clarify examples of free function interface 2018-11-30 15:24:16 +08:00
Lingjie Zhu 362d61da87 ignore non-manifold in output polyhedron 2018-11-30 15:24:16 +08:00
Lingjie Zhu 950a0f3ca7 rename meshing to extract_mesh 2018-11-30 15:24:16 +08:00
Pierre Alliez a11d1b5bf1 VSA example: simpler naming 2018-11-30 15:24:16 +08:00
Lingjie Zhu 4bcb44f1d9 fix headers, c++11 scoped enum and cgal return 2018-11-30 15:24:16 +08:00
Lingjie Zhu 60ebaf8348 fix typos and headers 2018-11-30 15:24:16 +08:00
Pierre Alliez 915adc5060 VSA
horse mesh deleted
uniformize capitalization of file names
2018-11-30 15:24:16 +08:00
Lingjie Zhu dca5d62a26 replace in-class method enum with out-of-class enum 2018-11-30 15:24:16 +08:00
Lingjie Zhu 30340e9b74 update doc 2018-11-30 15:24:16 +08:00
Lingjie Zhu f7ddca3b07 free function API init with explicit method 2018-11-30 15:24:16 +08:00
Lingjie Zhu 7cbf80b02b rename initialization from seeding_by_x to init_by_x 2018-11-30 15:24:16 +08:00
Lingjie Zhu 523f2035a1 add run_to_converge with average interval 2018-11-30 15:24:16 +08:00
Lingjie Zhu f28ee88b70 add num_iterations parameter to teleportation 2018-11-30 15:24:16 +08:00
Lingjie Zhu 7f3e3818fd teleport by replacing instead of 'push and merge' 2018-11-30 15:24:16 +08:00
Lingjie Zhu 8ddf98ff93 change indexed triangle type to unsigned 2018-11-30 15:24:16 +08:00
Lingjie Zhu a4ef69a631 add package license 2018-11-30 15:24:16 +08:00
Lingjie Zhu f64968de0c fix warnings 2018-11-30 15:24:16 +08:00
Lingjie Zhu cbacf07fe6 improve named parameters 2018-11-30 15:24:16 +08:00
Lingjie Zhu 5db214812d uniform get functions 2018-11-30 15:24:16 +08:00
Lingjie Zhu 9270e88bb9 demo set metric and rebuild 2018-11-30 15:24:16 +08:00
Lingjie Zhu b1673ae350 add with area weighing template parameter to l21 metric 2018-11-30 15:24:16 +08:00
Lingjie Zhu 62bf713a35 demo with proxy debug 2018-11-30 15:24:16 +08:00
Lingjie Zhu 1dabf87cfe fix add proxy furthest 2018-11-30 15:24:16 +08:00
Lingjie Zhu 1c2da84e8c fix add proxies with zero error diffusion 2018-11-30 15:24:16 +08:00
Lingjie Zhu 3fd408f437 typo 2018-11-30 15:24:16 +08:00
Lingjie Zhu 9fd77a904f fix compute fitting error 2018-11-30 15:24:16 +08:00
Lingjie Zhu b4eead5e7b rename seeding method enumeration 2018-11-30 15:24:16 +08:00
Lingjie Zhu 27da4147c7 explicit proxy adding API 2018-11-30 15:24:16 +08:00
Lingjie Zhu c0313150c8 rename seeding by error 2018-11-30 15:24:16 +08:00
Lingjie Zhu bcb59d7db4 rearrange seeding by number 2018-11-30 15:24:16 +08:00
Lingjie Zhu e4428e2dd7 cleanup seeding by target error drop 2018-11-30 15:24:16 +08:00
Lingjie Zhu 8e1cd3a2df change enumeration swith to explicit seeding API 2018-11-30 15:24:16 +08:00
Lingjie Zhu bd3dcc8ebc simplify self-defined metric 2018-11-30 15:24:16 +08:00
Lingjie Zhu 8a923bcc8b rename facet proxy index map 2018-11-30 15:24:16 +08:00
Lingjie Zhu 2f6e3be1d8 remove Proxy template parameter in main class 2018-11-30 15:24:16 +08:00
Lingjie Zhu d7bb0e1a68 remove seed requirement from Proxy concept 2018-11-30 15:24:16 +08:00
Lingjie Zhu 1247d7dd86 add ProxyWrapper with seed and error, bundled ProxyPlane 2018-11-30 15:24:16 +08:00
Lingjie Zhu ce2db9860a fix demo meshing crash caused by duplicate insertion 2018-11-30 15:24:16 +08:00
Lingjie Zhu 2765827c5f add default and VertexPointMap type parameter 2018-11-30 15:24:16 +08:00
Lingjie Zhu e17de031de rename file and debug verbose 2018-11-30 15:24:16 +08:00
Lingjie Zhu 2f15e2fc13 fix named parameters doc 2018-11-30 15:24:16 +08:00
Lingjie Zhu a8b86837fb update doc 2018-11-30 15:24:16 +08:00
Lingjie Zhu 0c493de7fb fix MSVS warning 2018-11-30 15:24:16 +08:00
Lingjie Zhu f1644829da fix subdivide chord parameter 2018-11-30 15:24:16 +08:00
Lingjie Zhu dd46cf820f fix initializer list order warning 2018-11-30 15:24:16 +08:00
Lingjie Zhu b749a57a40 fix teleport 2018-11-30 15:24:16 +08:00
Lingjie Zhu 77a7ba0b94 fix missing header 2018-11-30 15:24:16 +08:00
Lingjie Zhu 5348557e74 fix merge return 2018-11-30 15:24:16 +08:00
Lingjie Zhu cbcac2c8d8 fix split test 2018-11-30 15:24:16 +08:00
Lingjie Zhu 47fdf5e3e3 ouput polyhedron mesh 2018-11-30 15:24:16 +08:00
Lingjie Zhu 8665e5d830 rename file 2018-11-30 15:24:16 +08:00
Lingjie Zhu 480a254889 fix free function to new metrics 2018-11-30 15:24:16 +08:00
Lingjie Zhu 24bf94f576 add VertexPointMap parameter to built in metrics 2018-11-30 15:24:16 +08:00
Lingjie Zhu 45fae1b300 reduce build-in metric template parameters 2018-11-30 15:24:16 +08:00
Lingjie Zhu 9cef351b45 partition candidate with constructor 2018-11-30 15:24:16 +08:00
Lingjie Zhu 6556f504a2 move plane fitting into main class 2018-11-30 15:24:16 +08:00
Lingjie Zhu aef32f37a4 fix compile issues 2018-11-30 15:24:16 +08:00
Lingjie Zhu 85a026f0a7 fix init_proxies_error proxies clear 2018-11-30 15:24:16 +08:00
Lingjie Zhu bdd2d19626 make find best merge public 2018-11-30 15:24:16 +08:00
Lingjie Zhu faf86f642e add get proxy size function 2018-11-30 15:24:16 +08:00