Lingjie Zhu
c203a3a38f
move file VSA_approximation.h to Variational_shape_approximation.h
2018-11-30 15:30:51 +08:00
Lingjie Zhu
fe2bdbd5c9
fix clashed names with PMP named parameters
...
move named parameters from CGAL::internal_np to CGAL::Surface_mesh_approximation::internal_np
2018-11-30 15:30:51 +08:00
Lingjie Zhu
350c15a18a
named parameter 'vsa' prefix to 'sma'
2018-11-30 15:30:51 +08:00
Lingjie Zhu
6560bab1ee
fix unused parameter warning
2018-11-30 15:30:51 +08:00
Lingjie Zhu
5065974185
fix missing typename
2018-11-30 15:30:51 +08:00
Lingjie Zhu
5bf415fb31
fix ErrorMetricProxy
...
member function with face_descriptor and TriangleMesh parameter
FacetIterator to FaceRange template parameter
2018-11-30 15:30:51 +08:00
Lingjie Zhu
da78cb080c
fix ErrorMetricProxy concept
2018-11-30 15:30:51 +08:00
Lingjie Zhu
82d4501d92
remove area weighing l21 proxy
2018-11-30 15:30:51 +08:00
Lingjie Zhu
6f928384e8
add all_default named parameter
2018-11-30 15:30:51 +08:00
Lingjie Zhu
6ce0fe2ab5
tweak meshing named parameters
...
mesh_chord_error -> subdivision_ratio
is_relative_to_chord -> relative_to_chord
2018-11-30 15:30:51 +08:00
Lingjie Zhu
1f93c8558c
update doc
2018-11-30 15:30:51 +08:00
Lingjie Zhu
ee3c15e0fe
optional extract mesh
2018-11-30 15:30:51 +08:00
Lingjie Zhu
74a8e9cfd5
add level of verbose
2018-11-30 15:30:51 +08:00
Lingjie Zhu
97372be65f
l21 metric plane proxy to l21 metric vector proxy
2018-11-30 15:30:51 +08:00
Lingjie Zhu
73608d2510
extract_mesh with named parameters
2018-11-30 15:30:51 +08:00
Lingjie Zhu
f679888c7e
fix compilation error
2018-11-30 15:30:51 +08:00
Pierre Alliez
b9be820b74
some TODOs
2018-11-30 15:30:51 +08:00
Pierre Alliez
8ca8794bda
simpler named params.
2018-11-30 15:30:51 +08:00
Pierre Alliez
c50bb0593a
named params
2018-11-30 15:30:51 +08:00
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