Commit Graph

62 Commits

Author SHA1 Message Date
iyaz fc14a32566 Removed previous version of rims,
For simplifying code, Cgal vector + Eigen matrix arithmetics are changes to Eigen Vector + Matrix, now at least code is more readable & short,
Completed the new version of rims (include energy function),
Clean the code (parts which corresponds to Eq.s are commented in this way)
Previous version assumes ros vertices are sorted according to their ids, now it is not an issue (order of vertices in ros std::vector can be any).
2013-03-13 22:43:04 +02:00
iyaz 708162cf79 Put rims iterator into namespace 2013-03-13 01:40:57 +02:00
iyaz e11568810b Change weight computation of rims
(also compute opp edges)
2013-03-12 01:10:02 +02:00
iyaz bae5971dd1 Added a new spokes and rims version 2013-03-12 00:44:00 +02:00
iyaz e638fe19ae In SVD calculation, removed unnecessary search of minimum eigenvalue, since they are sorted already 2013-03-11 15:08:22 +02:00
iyaz 71c652538f Merge branch 'Surface_modeling-new_package-GF' of ssh://scm.cgal.org/var/git/cgal into Surface_modeling-new_package-GF 2013-03-11 12:10:47 +02:00
iyaz ca54dfe303 Code & documentation improvement 2013-03-11 12:08:57 +02:00
Sébastien Loriot 571ea185b4 fix compilation error and warnings 2013-03-09 09:49:03 +01:00
iyaz 4ccc5b8690 Remove forgotten debug related code 2013-03-09 03:22:02 +02:00
iyaz c206dcd6fb Removed forgotten debug related code 2013-03-09 03:19:29 +02:00
iyaz de332821bc Added a new function assign
A few documentation improvements
-- Need to write test cases for each function soon
2013-03-09 03:13:52 +02:00
Sébastien Loriot c8deb29d63 fix copmilation issue in the demo and remove a initialization order warning 2013-03-08 11:41:38 +01:00
iyaz 5986e4c351 Added a simple function move(handles, target positions) 2013-03-07 19:21:45 +02:00
iyaz bb19e3d809 Introduced spoke-rim iterator to eliminate code duplication
Documentation improved
Energy function for rims added
2013-03-07 00:36:27 +02:00
iyaz b75edcad9c A minor naming change 2013-02-28 19:21:06 +02:00
iyaz 60e5fac453 Removing zero initialization requirement on index maps,
Now index maps can be read write maps (whether initialized with some value or not does not matter)
2013-02-28 19:05:21 +02:00
iyaz 19cd8e2104 Documenetation changes 2013-02-28 14:59:56 +02:00
Sébastien Loriot 60cf501f98 add missing typename 2013-02-28 12:32:36 +01:00
iyaz fcd8d1f3c4 API related improvements, doxygen style commenting (will be improved) 2013-02-28 02:01:12 +02:00
iyaz 6f15306ce4 Simple precondition for checking whether 'preprocess' is called before deformation is added 2013-02-27 01:19:02 +02:00
iyaz 949d0ca112 Spokes and rims implementation is added,
A clamped version of cotangent weight and uniform weight are added.
2013-02-27 00:52:28 +02:00
iyaz b725285b29 Added rims part again (previous version had a bug, corrected it).
On weights, added cotangent weight implementation which is invariant under edge orientation (a->b vs b->a returns the same weight which is expected), (previous version was returning slightly different weights), and some more improvements (added an alternative (most prob faster) implementation for tan(Q/2))
2013-02-23 04:20:03 +02:00
iyaz 9a5b5f22d5 Separating weight calculation. Added a new weight (with small modifications) called from [Mullen08]. 2013-02-21 18:14:12 +02:00
Sébastien Loriot ab27458311 add documentation canvas for surface modeling 2013-02-20 08:44:32 +01:00
Sébastien Loriot f52883dd55 boost property_map put and get functions don't need to be in boost namespace
if the global functions are in a namespace, the property map needs to
be in the same namespace
2013-02-18 17:11:34 +01:00
Ilker O. Yaz 5a815504a3 Removing spokes_and_rims related code. 2013-02-18 17:17:45 +02:00
Ilker O. Yaz 618720782b Changing implementation to work with asymmetric weights,
Solving asymmetric result problem.
2013-02-18 15:26:19 +02:00
Ilker O. Yaz 9b73580829 Added implementation for spokes and rims.
More work on ROI friendly implementation.
2013-02-14 00:39:20 +02:00
Ilker O. Yaz fa35e8506b Making implementation ROI friendly,
Adding a custom pmap which can be useful for deforming large polys with small ROIs,
-------
Main change is now internal storage size only depends on ROI.
We pass on all vertices/edges for once in constructor to initialize index pmaps.
This part should be removed since it iterates over all vertices, we can achieve that by a requiring that supplied vertex_index_map, and edge_index_map should be filled by 0.
So the question is how can it be different than looping over all vertices ?
The user might provide a custom pmap, such as Polyhedron_vertex_zero_default_index_map, (added in demo Property_maps_for_edit_plugin.h) which use an internal map and returns 0 for not found keys (so no actual initialization takes place).
2013-02-13 18:00:55 +02:00
Andreas Fabri 1c1ade6579 put parenthesis around max for VC++ 2013-02-11 19:36:45 +01:00
Sébastien Loriot 600fed1a54 initialize a std::size_t to max() instead of -1
follow up of b641753c0c
2013-02-11 10:42:27 +01:00
Sébastien Loriot 0fd82df3a9 do not write twice the coefficient 2013-02-11 10:26:10 +01:00
Sébastien Loriot 2d456057f6 accomodate changes due to merging from next 2012-03-26 15:22:16 +00:00
Sébastien Loriot b641753c0c change int to std::size_t 2012-03-26 10:56:26 +00:00
Sébastien Loriot d52b803ef3 dos2unix 2012-03-26 10:55:12 +00:00
Andreas Fabri ac17a0175d Rename in the API of Deform_mesh; Removal of the k-neighborhhod function 2011-09-15 14:39:00 +00:00
Andreas Fabri 1624c25ad0 Add a rotational deformation; Cleanup of propertymaps; Pass polyhedrin as reference and not as pointer 2011-09-15 14:03:07 +00:00
Andreas Fabri 41707d2265 Conditionally add code for rotational deformations 2011-09-15 13:23:40 +00:00
Andreas Fabri a8c7965d79 Bugfix in unused code 2011-09-09 08:24:02 +00:00
Andreas Fabri 8982e98bb5 The matrix is not necessarily symmetric 2011-09-06 16:40:35 +00:00
Andreas Fabri d5110f746a Pull variable out of a loop, and avoid construction of intermediate Vector 2011-09-05 13:51:51 +00:00
Andreas Fabri f0acf7daad -1.0 * becomes - 2011-09-05 09:43:09 +00:00
Andreas Fabri ba1b84482e Avoid a copy of the polyhedron 2011-09-05 09:41:04 +00:00
Sébastien Loriot 26c2a15055 warning signed vs unsigned int 2011-09-02 14:16:41 +00:00
Sébastien Loriot 26e04f1bac unqualified called to get and put (use Koening lookup) 2011-09-02 14:09:30 +00:00
Andreas Fabri a484a1c132 Remove dead code 2011-08-31 10:06:31 +00:00
Andreas Fabri 50acd0120b Use Matrix3::setIdentity() 2011-08-31 09:19:05 +00:00
Andreas Fabri 5467cfd6be Use Matrix3D::setZero() ; Eliminate dead code 2011-08-31 08:36:22 +00:00
Andreas Fabri 05fda9254a Remove dead code 2011-08-30 16:36:06 +00:00
Andreas Fabri b67843d628 Add const& 2011-08-30 16:05:44 +00:00