Commit Graph

191 Commits

Author SHA1 Message Date
Sébastien Loriot 5ec0ea279b rename insert_control 2013-09-12 12:27:05 +02:00
Sébastien Loriot 2792baf37d grouping public types 2013-09-12 12:26:51 +02:00
Sébastien Loriot c77346a6e8 ref man: rephrasing 2013-09-12 12:17:12 +02:00
Sébastien Loriot 2f968c2c0a move constructor out of preprocesing group 2013-09-12 12:17:10 +02:00
Sébastien Loriot 8a207b42f7 use traits instead of helper for consistency 2013-09-12 12:17:09 +02:00
Sébastien Loriot e48b358b6a rename iterator 2013-09-12 12:17:01 +02:00
Sébastien Loriot 34d731af69 remove non const iterator on roi vertices 2013-09-12 12:10:36 +02:00
Sébastien Loriot d09165d05d ref man fixes 2013-09-10 16:37:13 +02:00
iyaz 1ba401ffff handle -> control (header, examples, tests, and demo) 2013-08-11 18:45:28 +03:00
iyaz 2c4ece7e57 remove handle_group (header, examples, tests, and demo) 2013-08-11 17:29:27 +03:00
Sébastien Loriot c843d165c9 update refman 2013-08-08 19:07:24 +02:00
Sébastien Loriot 0aecc320f4 rename polyhedron to halfedge graph 2013-08-08 18:28:15 +02:00
iyaz bf54a0d057 do not initialize index maps 2013-06-28 20:06:21 +03:00
Sébastien Loriot abae9100f0 enhance the conditional build of the edit plugin 2013-06-27 10:35:20 +02:00
iyaz 4f12b1a549 weight calculation should use vertex-point-property map
- Remove unused Cotangent weight calculation
- Small improvements on cotangent weight calculation
2013-06-25 14:27:38 +03:00
iyaz c69a046429 Move adapter functions from Deform_mesh.h to the files which use Deform_mesh.h
Fix test code which is broken (by the change of not using Deform_mesh::Vector)
2013-06-24 21:45:23 +03:00
iyaz 06c65f7e64 Forgotten translate added (after the change 'Do not rely on Polyhedron::Traits::Vector') 2013-06-24 12:49:32 +03:00
Sébastien Loriot 1fad739801 use the point type from the property_map 2013-06-24 10:24:13 +02:00
iyaz 491fc493b0 Add uniform scale related experimental code,
It can be activated by CGAL_DEFORM_MESH_USE_EXPERIMENTAL_SCALE
and for just scale (but not rotate): CGAL_DEFORM_MESH_JUST_EXPERIMENTAL_SCALE
2013-06-17 15:41:19 +03:00
iyaz 8693dd7062 Remove private is_roi is_handle functions 2013-06-14 15:13:32 +03:00
iyaz 76a334ef06 Merge branch 'Surface_modeling-new_package-GF' of ssh://scm.cgal.org/var/git/cgal into Surface_modeling-new_package-GF 2013-06-04 15:23:02 +03:00
iyaz 3cdf31edc6 Do not rely on Polyhedron::Traits::Vector
Also removed experimental code from Deform_mesh.h (important parts already moved / adapted to Closest rotation traits classes)
2013-06-04 15:20:44 +03:00
Sébastien Loriot 66ef73ad9c property map functions should not be in boost namespace but if the pmap is 2013-06-04 07:22:36 +02:00
iyaz ff9a95b4f9 Taking optional parameter vertex point pmap for Deform_mesh
'rendering big meshes' problem is solved by using vertex arrays
2013-06-03 21:28:14 +03:00
iyaz 7100197889 doc update 2013-05-29 20:09:13 +03:00
iyaz d20c7eb96c remove useless parameter 2013-05-29 19:36:10 +03:00
Sébastien Loriot fda7403f03 add missing include 2013-05-21 17:55:40 +02:00
iyaz 9676d7353b Update performance test case (to use polar_decomposition)
Make polar default closest rotation computer
2013-05-21 16:28:23 +03:00
Sébastien Loriot 3dc05ba66d add missing license headers 2013-05-14 16:59:56 +02:00
iyaz 08fdd1bb10 Make Deformation_Eigen_polar_closest_rotation_traits_3 default solver 2013-05-14 14:17:16 +03:00
iyaz 95e36740ce Remove unused includes 2013-05-07 16:06:50 +03:00
iyaz 37e3be88b7 Change concept DeformationClosestRotationTraits_3 the closest rotation -> a close rotation (also give an example that even returning an identity matrix will work and produce naive laplacian deformation results etc) 2013-05-07 14:09:10 +03:00
iyaz c7771b196b Change SVD traits, the thing is we are just using SVD to compute closest rotation to a matrix M.
So I think requiring an interface to support SVD traits is a limitation on user, we should directly ask for 'closest rotation' instead of U V etc.
(Also trait class is fairly simple in this way)
2013-04-21 23:54:55 +03:00
Sébastien Loriot 7ecfe2a1c0 update concept name 2013-04-12 17:07:43 +02:00
iyaz 785aea21c6 A new model of SVDHelper_3 is added in order to test SVD in http://pages.cs.wisc.edu/~sifakis/project_pages/svd.html
To activate new model define USE_FAST_SVD_EXPERIMENTAL in/before Deform_mesh.h
As far as I test, it is ~3x faster than EigenSVD, and you notice speed-up in demo easily (since it makes whole deformation ~2x fast)
-- not sure about possible compilation problems
2013-04-10 19:31:45 +03:00
iyaz 664a4e9aa7 Transfer Eigen_SVD_helper_3.h to include/CGAL 2013-04-10 17:57:24 +03:00
iyaz 5de0a8b598 Including default parameters for linear solver and SVD solver.
Related changes in demo, and test case.
Also removed Property_maps_for_edit_plugin.h which was somewhat useless.
-- Going to update examples, once API becomes more certain.
2013-04-10 16:56:17 +03:00
iyaz 45f170b9a6 change in SVDHelper concept (and model):
separate smallest singular value index calculation from 'compute'
2013-04-10 00:44:54 +03:00
iyaz 4805f2bfc4 New concept introduced for SVD computations: SVDHelper_3 and model of it Eigen_SVD_helper_3
For now I places Eigen_SVD_helper_3 under internal directory of Surface_modeling
2013-04-09 22:23:06 +03:00
Sébastien Loriot 18f2bd74c5 update copyright date and author list 2013-04-09 10:43:08 +02:00
Andreas Fabri 2dc9e77e2b typos,wording,LaTeX 2013-04-09 10:06:22 +02:00
iyaz 52fbbdf049 Mixim upper case, fixed 2013-04-07 17:10:11 +03:00
iyaz 596f93f85a Small refinements on ref-man. 2013-04-07 17:08:08 +03:00
iyaz 60286aa952 Reference manual refinements 2013-04-04 18:18:52 +03:00
iyaz c7547ce8ee fix member initialization order 2013-04-04 00:44:32 +03:00
iyaz ba0a0f52e9 tag -> TAG in documentation 2013-04-04 00:41:45 +03:00
Sébastien Loriot ce6ed9b51f fix initialization order of member objects 2013-04-03 14:31:42 +02:00
iyaz 4bca660454 Separating preprocess into two sub-preprocess: region_of_solution and factorization
Main reason is that some parts only need one of them to be ready to work, but we were preprocessing both two subs.
2013-04-03 14:48:33 +03:00
iyaz b3d624e3f5 Fixing warnings 2013-04-03 14:04:52 +03:00
Sébastien Loriot c102838776 enhance the description of translate, rotate and deform 2013-04-03 11:18:19 +02:00
Sébastien Loriot cc356eb368 hide default weight calculator 2013-04-03 09:39:13 +02:00
Sébastien Loriot cb031439f1 shorten template parameter names to prettify the documentation 2013-04-03 09:21:27 +02:00
Sébastien Loriot f0423d555f fix order initialization warnings 2013-04-03 09:03:46 +02:00
Sébastien Loriot 52de2d5d08 change override to overwrite 2013-04-03 08:51:26 +02:00
Sébastien Loriot 1cd2687e41 add missing typename 2013-04-03 08:27:59 +02:00
iyaz 671b0c4bcb return last result in preprocess 2013-04-03 02:06:54 +03:00
iyaz 11b69e0104 Introducing override function. 2013-04-03 02:01:41 +03:00
iyaz abafa5efc1 Adding last_preprocess_successful
(deliberately created a new bool and not used need_preprocess because it will not be clear)
2013-04-02 22:55:05 +03:00
iyaz c631f0a9f2 Documentation improvement (rotate & translate) and renaming (deformation_type) 2013-04-02 17:49:44 +03:00
iyaz db1ac5c975 Changes according to API discussion 2 2013-04-02 15:38:06 +03:00
iyaz acfc6bb9f8 a typo fixed 2013-04-02 13:18:41 +03:00
Sébastien Loriot 338c019dcd make a pass on the reference manual 2013-04-02 11:45:31 +02:00
iyaz 3393f262a2 returning std::pair instead of boost::tuple 2013-04-01 13:30:58 +03:00
iyaz 411a1f21e5 Fixing spelling errors in comments 2013-04-01 02:22:23 +03:00
iyaz 22087f0770 make priv member comments doxygen style 2013-04-01 02:04:58 +03:00
iyaz 2e02eb5afd Fixing names of template parameters and their typedefs 2013-03-31 16:23:57 +03:00
iyaz e58d84f0c4 Remove storing all original positions 2013-03-30 18:51:45 +02:00
iyaz 800ec349fb Fixin iterator names and comments 2013-03-29 19:35:24 +02:00
iyaz 093038bc8b Ref manual refinements 2013-03-29 03:56:24 +02:00
iyaz 2e1b6601aa Mostly documentation/code improvements. 2013-03-28 03:32:36 +02:00
iyaz 2166d7d6ce API changes,
now edge weights are computed for all edges in constructor,
original positions of vertices are saved in constructor,
Documentation is coming tomorrow
2013-03-27 02:28:23 +02:00
iyaz 87676dbbbe Reintroduce roi vector 2013-03-22 02:27:37 +02:00
iyaz 971dba606f Added functions returning iterators for handles and handle groups 2013-03-20 23:01:17 +02:00
iyaz 189106307c Make deformation type (spokes_rims or original) template parameter,
a few refinements on documentation
2013-03-20 13:46:05 +02:00
iyaz e77910c423 Making preprocess call optional (it is called if there is any need to)
Make the copy constructor private
2013-03-19 16:18:30 +02:00
Sébastien Loriot 3e02fc24b9 add example file and document parameters 2013-03-18 18:11:46 +01:00
iyaz 32830d90cc WeightCalculator is now just a part of preprocess function 2013-03-18 16:30:35 +02:00
iyaz a290b93c31 Change SurfaceModelingWeightCalculator concept 2013-03-18 13:35:44 +02:00
iyaz 927cbc2c6e Documentation refinements,
Unused functions are removed
2013-03-18 02:09:13 +02:00
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