Commit Graph

191 Commits

Author SHA1 Message Date
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
Andreas Fabri e2e3f9e6dc Compute mean_value for opposite edge directly to avoid another call to cot_weight 2011-08-30 15:24:56 +00:00
Andreas Fabri 67f94d83fe Add const and/or const& 2011-08-30 15:18:19 +00:00
Andreas Fabri 20be1c6ddc Add license header 2011-08-30 15:02:28 +00:00
Andreas Fabri 95d0a14bcf rename class Deform_mesh_BGL to Deform_mesh 2011-08-30 14:56:54 +00:00
Andreas Fabri c817936c75 rename Deform_mesh_BGL.h to Deform_mesh.h 2011-08-30 14:55:58 +00:00
Andreas Fabri 19031f1b51 remove outdated file 2011-08-30 14:55:11 +00:00
Yin Xu 04a9df6249 a new header file, using BGL template 2011-06-09 07:45:45 +00:00
Yin Xu c31e927c17 template of solver 2011-06-08 09:01:13 +00:00
Yin Xu 92cf920bd2 using s2t to access target mesh from source mesh. The source mesh is always vertex_const_handle, while target mesh useing vertex_handle. 2011-06-01 06:31:02 +00:00
Yin Xu af573b76a5 write an access function from source to target mesh 2011-05-27 14:22:29 +00:00
Yin Xu 53c7d0b3d2 another cleanup:
Another cleanup is to only #include what you need in this file.

For example fstream is not needed here.

   Removed all the unrelated header files. 

Avoid using statements.

 Removed "using namespace *** ".

Note that you make a copy of the  polyhedron,
that is you deform the copy not the original.
Not sure that this is your intention.

Yes this is my intention.  

Also intialize the data member in the initialization section
of the constructor

Do you mean add the initialization of roi,  hld and dsplc into constructor function?

I have no idea if #pragma once compiles with g++.

Replaced it by #ifndef....
2011-05-27 13:23:00 +00:00
Yin Xu 38ba9fe2cb change the indentation to 2 spaces for a tab;
merge Deform_mesh.cpp with Deform_mesh.h, moving Deform_mesh.h to include/CGAL directory;
using CGAL::Timer for timing;
2011-05-27 12:00:24 +00:00