Marco Callieri
d32b8eb287
added a function for calculating the barycenter of a pointcloud mesh (with uniform weight, or using vertex quality as vertex weight).
2016-01-04 13:53:15 +00:00
Paolo Cignoni
eb6db70c6b
heavy restructuring now start to really work
2015-12-31 11:47:13 +00:00
Paolo Cignoni
399e4b204d
added a require per face mark
2015-12-31 11:46:51 +00:00
Paolo Cignoni
a6ba20c338
First version of the Curve On Manifold managment class.
2015-12-29 07:22:13 +00:00
Paolo Cignoni
37716e73e5
removed a useless typedef (clang warning)
2015-12-29 07:19:41 +00:00
Paolo Cignoni
132334f878
Significant refactoring of the update selection class. Added many comments. Added to almost all reasonable functions the possibility of preserving/updating the current selection status.
2015-12-29 07:19:02 +00:00
Nico Pietroni
ff69fec423
added inclusion of "vcg/complex/allocate.h" and other minor changes
2015-12-24 10:57:33 +00:00
Nico Pietroni
8bc9d1a195
templated ComputePerFaceQualityDistribution on mesh scalar type
2015-12-24 10:53:18 +00:00
Nico Pietroni
04095c6f19
Added CrossFieldToAngles and AnglesToCrossField functions
2015-12-24 10:52:33 +00:00
Paolo Cignoni
e878336450
Renamed VertexTMark into EmptyMark to reflect its nature (do nothing) and be easier to be used in other context (e.g. as a dummy marker functor for edges)
2015-12-03 22:59:13 +00:00
Paolo Cignoni
1cd0321916
Renamed VertexTMark into EmptyMark to reflect its nature (do nothing) and be easier to be used in other context (e.g. as a dummy marker functor for edges)
2015-12-03 22:58:23 +00:00
Paolo Cignoni
13b1a8f1d9
Renamed VertexTMark into EmptyMark to reflect its nature (do nothing) and be easier to be used in other context (e.g. as a dummy marker functor for edges)
2015-12-03 22:58:08 +00:00
Paolo Cignoni
d628c95688
harmless clang warnings
2015-11-26 22:02:43 +00:00
Paolo Cignoni
bc683209eb
Working version of volumetric voronoi/poisson sampler
2015-11-26 12:16:36 +00:00
Paolo Cignoni
31289ce372
cleaning harmless clang warning
2015-11-26 12:16:05 +00:00
Paolo Cignoni
fc04c15046
Renamed the anonymous Build() functions to something more meaningful
2015-11-26 12:15:09 +00:00
Nico Pietroni
c0bc236482
added PerEdgeQualityRamp function
2015-11-23 23:40:47 +00:00
Nico Pietroni
2b367da917
added ComputePerEdgeQualityMinMax
2015-11-23 23:39:32 +00:00
Luigi Malomo
35ed4897f6
uniform edge resampling: added option to force inter-sample distance to be less than the radius
2015-11-06 17:32:29 +00:00
Paolo Cignoni
757039f2b8
Made the midpoint refine operator order independent
2015-11-06 09:44:40 +00:00
Luigi Malomo
f7365a3c10
added VertexSetS function
2015-11-05 23:36:09 +00:00
Luigi Malomo
62b7955f22
fixed uniform resampling of edge mesh
2015-11-05 23:35:44 +00:00
Luigi Malomo
1480d19996
commented debug printfs
2015-11-04 17:18:42 +00:00
Marco Callieri
a214eb3b66
added option to add "gutter" space around planar parametrization (default is no gutter)
2015-11-04 12:32:35 +00:00
Paolo Cignoni
e4d83262fe
Corrected a number of int -> size_t warning
2015-10-29 22:56:11 +00:00
Marco Callieri
497a42dffe
added "only on selection" to PerVertexAddNoise and PerVertexPerlinNoise functions
2015-10-29 14:26:16 +00:00
Marco Callieri
6715e4f658
- added a "only on selection" option to VertexUniform and AllVertex sampling functions
...
- added a "isD" check to VertexUniform sampling function
to be tested
2015-10-29 13:44:25 +00:00
Paolo Cignoni
4efdccf204
Added PerFace Normal sampling
2015-10-28 12:52:25 +00:00
Paolo Cignoni
d015efca10
corrected small bug (!visited instead of visited)
2015-10-26 10:06:17 +00:00
Gianpaolo Palma
ec8dde9326
Bug fixed: the algorithm sets the visited flags for all the vertices added to the convex hull.
2015-10-26 09:12:09 +00:00
Paolo Cignoni
d15745b128
Corrected missing template and typename keyword and added function to just select the points
2015-10-25 23:24:23 +00:00
Paolo Cignoni
12c1495bb0
Added function for computing the visibility of a point cloud and corrected a few bugs (abs instead of fabs, and missing vertex index for the vertices of the first tetrahedron)
2015-10-23 23:00:12 +00:00
Luigi Malomo
ac6d5cc362
fixed wrong function call
2015-10-22 10:45:18 +00:00
Gianpaolo Palma
6cf0410a6f
Bug fixed in the definition of the PerVertexAttribute "indexInput"
2015-10-21 15:57:54 +00:00
Paolo Cignoni
9a48f16579
Added a number of 'template' and 'typename' keyword to comply clang...
2015-10-21 12:01:48 +00:00
Paolo Cignoni
3f1b4519b5
Moved Hausdorff sampler from meshlab to vcglib
2015-10-20 22:32:16 +00:00
Gianpaolo Palma
c3abaf8036
Add features: to store for each vertex of the convex hull the vertex index of the original mesh
2015-10-20 11:13:11 +00:00
Gianpaolo Palma
ea23077621
Add methods to detect and remove the outliers from a point cloud
2015-10-19 07:31:09 +00:00
Gianpaolo Palma
e04ee78f74
Add file to compute the convex hull of a mesh using the QuickHull algorithm
2015-10-19 07:18:10 +00:00
Paolo Cignoni
874346d211
Removed unused typenames (with latest generation of compilers it become a warning as unused variables)
2015-09-24 16:41:34 +00:00
Nico Pietroni
e612b0b2f8
modified PerVertexDijsktraCompute to return parent and source for each node
2015-09-14 12:05:44 +00:00
Nico Pietroni
bb5288bcc0
templated SimpleVoxelWithNormal class to ScalarType
2015-09-14 12:03:47 +00:00
Nico Pietroni
0371a3c5be
templated Point3 to scalar at line 355
2015-09-14 12:03:19 +00:00
Nico Pietroni
b0e9f8abef
used principal direction components on face for cross field instead of optional component
2015-09-14 12:02:50 +00:00
Nico Pietroni
05516b1e04
corrected GradientToCross added InitDirFromWEdgeUV function
2015-09-14 12:01:24 +00:00
Nico Pietroni
cb9e276b1b
added CopyWedgeVertUV
2015-09-14 12:00:33 +00:00
giorgiomarcias
3323ae51af
Computing per vertex normals from current face normals works also with polygonal faces now.
2015-09-13 15:37:13 +00:00
Paolo Cignoni
f0c3d52849
removed old style usage of hash map and substituted with c+11 sytle unordered set and map.
2015-09-13 06:21:17 +00:00
Paolo Cignoni
ad95129d02
removed old style usage of hash map and substituted with c+11 sytle unordered set and map.
2015-09-13 06:18:26 +00:00
Paolo Cignoni
b4bdd7b832
better comments
2015-09-11 05:56:59 +00:00
Paolo Cignoni
59ffba5af3
corrected bug on normal transformation (Thanks to Marco to spotting it out...)
2015-09-10 15:08:52 +00:00
granzuglia
5dcc3d257f
- added missing include
2015-07-30 11:49:14 +00:00
Paolo Cignoni
bc9c61a92e
Added ClearFaceFace method to avoid messed topology status
2015-07-14 10:44:23 +00:00
Paolo Cignoni
06040acbb0
Corrected small bug in compacting arrays after a torus creation. Also faces must be compacted...
2015-07-12 10:44:55 +00:00
granzuglia
1dc8a067ac
- removed compiler time errors
2015-07-06 02:38:32 +00:00
Gianpaolo Palma
a6521a217f
Bug fixed in FaceFaceFromTexCoord when the mesh has more faces mapped on the same tex coordinate
2015-07-03 14:51:40 +00:00
Gianpaolo Palma
e5fbdd9e22
Added a new function (SelectFoldedFaceFromOneRingFaces) to selected the folded faces (also non self-intersected faces) using an angle threshold.
2015-07-03 12:21:54 +00:00
Nico Pietroni
5e4380ffbd
added CopyVertUVWedge function
2015-06-21 01:51:28 +00:00
Nico Pietroni
470e156a19
added function AdjustDirectionsOnTangentspace ando some minor changes
2015-06-14 23:16:02 +00:00
Nico Pietroni
4283c2f651
some bug resolved on separatrix tracing
2015-06-02 11:54:39 +00:00
Nico Pietroni
b952d96711
Added support for tracing separatrix from singularities
2015-05-24 14:52:50 +00:00
Nico Pietroni
d58ac7ca03
templated parameter on VertexConstant function
2015-05-12 09:05:52 +00:00
Nico Pietroni
843c852523
correct template scalar type use in FaceSaturate function
2015-04-12 06:13:35 +00:00
Nico Pietroni
d68f4271bc
chenged SetFaceCrossVectorFromVert to take in consideration also magnitudo
2015-04-12 06:12:13 +00:00
Paolo Cignoni
f2d3ff160c
Added a RequirePerVertexMark to the init function of the collapse framework.
2015-03-24 17:57:40 +00:00
Paolo Cignoni
571c59c180
Removed the old stupid limitation of FF requirement for creating a sphere
2015-03-24 17:42:32 +00:00
Luigi Malomo
4d74a93851
minor changes
2015-03-18 19:48:03 +00:00
Luigi Malomo
8fe9f931c1
Fixed typo.
2015-03-16 14:31:48 +00:00
Luigi Malomo
20429b9801
Fixed wrong check for FF adj.
2015-03-16 14:06:09 +00:00
giorgiomarcias
d2b0ac56c7
Fixed a small bug causing not preservation of border vertex coordinates in some cases during polychord collapse.
2015-01-08 22:49:15 +00:00
giorgiomarcias
75534804cf
Using only the laplacian weight lapWeight for the matrix and 1 - lapWeight for the barycentric constraints in the implicit smoother (removed the unusefull face weight).
2015-01-07 21:22:34 +00:00
giorgiomarcias
c3bfe8f269
Added the possibility of passing the weights to set in the matrix of the implicit smoother.
2014-12-23 19:47:14 +00:00
giorgiomarcias
aafb13219e
Changed a wrong (fortunately not used) enum value.
2014-12-19 11:32:18 +00:00
giorgiomarcias
b179459e62
Fixed a weird bug that caused wrong check on self-intersections and polychord's adjacency.
2014-12-18 17:07:08 +00:00
Luigi Malomo
c722cedeaa
Fixed bug in VertexBorderFromFaceBorder function.
2014-12-10 00:55:37 +00:00
Nico Pietroni
f7a602625f
minor change to merge vertex coherently (keep the same global ordering of the vertices)
2014-12-08 15:13:32 +00:00
Nico Pietroni
9c85a56214
changed IsSingularByCross..
...
added OrientDirectionFaceCoherently
2014-12-08 15:12:29 +00:00
Paolo Cignoni
cca512c266
Added parameters to control the cylinder refinement to the BuildCylinderVertexShell functions
2014-12-05 03:25:52 +00:00
Paolo Cignoni
90e07822e5
Added BarycentricRelaxVoronoiSamples and QuadricRelaxVoronoiSamples
2014-12-04 16:04:20 +00:00
giorgiomarcias
8f04d22bb6
Added a per-face barycentric constraints weight. Removed some annoying warnings.
2014-11-30 19:32:17 +00:00
giorgiomarcias
6ecf866467
Removed some annoying warnings.
2014-11-30 19:31:35 +00:00
giorgiomarcias
ad7f96a642
Removed several unusefull asserts on polychord splitting.
2014-11-24 08:23:23 +00:00
giorgiomarcias
6e0fe4fb49
Changed the SplitPolychord method: now it handles any polychord, especially self-intersecting ones.
2014-11-15 17:55:46 +00:00
Paolo Cignoni
8959e68790
Small change still related to the normal -> trianglenormal renaming
2014-11-14 23:01:21 +00:00
Paolo Cignoni
1d79254dbc
Added PerVertexArea and PerFaceArea to collect vectors of areas from a mesh
2014-11-13 22:50:39 +00:00
Nico Pietroni
137e34a44f
first release version
2014-11-12 15:37:21 +00:00
Nico Pietroni
b4150e3e5c
2014-11-12 15:22:09 +00:00
Nico Pietroni
5f4726ca08
2014-11-12 15:21:27 +00:00
Paolo Cignoni
9d89004760
Updated to reflect the Normal() -> TriangleNormal() change
...
Updated to reflect the changes to the UpdateFlags (new function names ::VertexBorderFromFaceAdj ::VertexBorderFromFaceBorder)
2014-11-12 00:14:23 +00:00
Paolo Cignoni
4b0e72293f
Added ComputeValence function
2014-11-12 00:13:05 +00:00
Paolo Cignoni
6f4d33519b
Updated to reflect the changes to the UpdateFlags:
...
new function names ::VertexBorderFromFaceAdj ::VertexBorderFromFaceBorder
2014-11-12 00:12:32 +00:00
Paolo Cignoni
d6e5ff4512
Updated to reflect the changes to the UpdateFlags:
...
new function names ::VertexBorderFromFaceAdj ::VertexBorderFromFaceBorder
2014-11-12 00:12:10 +00:00
Paolo Cignoni
18d91de047
Updated to reflect the Normal() -> TriangleNormal() change
...
And added function to compute normals per polygonal faces
2014-11-12 00:09:58 +00:00
Paolo Cignoni
884795203c
Added VertexBorderFromFaceAdj function (needed for managing polymesh that do not have per face border bit)
2014-11-12 00:08:59 +00:00
giorgiomarcias
1f369bbf09
Added the option for selecting polychord loops only.
2014-11-07 15:38:00 +00:00
Nico Pietroni
8c93868ca7
major modification to works with constraints
2014-11-07 12:02:24 +00:00
Nico Pietroni
06bc9ba660
generalized to polygonal faces
2014-11-07 11:42:10 +00:00
Nico Pietroni
d93bfe908f
changed reference to vertex function in order to compile with polygonal faces
2014-11-07 11:41:41 +00:00
Paolo Cignoni
177cf43069
Added two other meshAssert tests (quads and tris)
2014-11-06 15:10:00 +00:00
giorgiomarcias
e1027dedb5
Added method to find all polychords on a mesh (returns the list of Pos's, one for each polychord start edge).
2014-11-06 11:04:19 +00:00
Nico Pietroni
66bd26ed70
minor warning corrected
2014-11-05 19:25:57 +00:00
Nico Pietroni
505fa04c73
Changed per vertex nomal computation to works with polygons
2014-11-05 19:24:46 +00:00
Nico Pietroni
f115db004c
major changes in UpdateSingularByCross, used the additional parameter to set if a vertex is singular or not
2014-11-05 19:23:42 +00:00
Paolo Cignoni
e29b6f4a46
More refactoring of implicit smooting class
2014-11-05 17:23:13 +00:00
Paolo Cignoni
eb2b5e7fa5
refactoring to remove quality
2014-11-05 16:22:06 +00:00
Paolo Cignoni
d03a5a97d2
First version of the implicit smoother
2014-11-05 15:48:34 +00:00
Paolo Cignoni
db53a1ff06
Cleaned up harmonic.h (added standard header, needed meshassert)
2014-11-03 15:00:06 +00:00
Paolo Cignoni
e1a327e556
added a missing include callback.h
2014-11-03 14:59:07 +00:00
Paolo Cignoni
b328a5f94a
Added the new mechanism for run time checking of mesh adequacy to a given algorithm.
...
While the many RequireXXX functions allow to check the static correctness of a mesh and
have a O(1) complexity, in many cases we need to run more complex checks to be sure that
the subsequent algorithm can run without issues.
Typical cases are the fact that there are no unreferenced vertices (NoUnreferencedVertex)
or a given adjacency is correctly initialized (and not only statically present as a type component).
2014-11-03 14:50:37 +00:00
Paolo Cignoni
df6865a6de
Changed many explicit exception throwing for missing components into the shorthand RequireXXXX
2014-11-03 14:38:05 +00:00
Paolo Cignoni
5565647e82
Added two functions VertexFromAttributeHandle and FaceFromAttributeHandle to map a pervertex/perface scalar handle into the quality
2014-11-03 14:36:58 +00:00
Paolo Cignoni
b278f29129
Changed many explicit exception throwing for missing components into the shorthand RequireXXXX
2014-11-03 14:34:35 +00:00
Paolo Cignoni
6830b4aea4
Changed many explicit exception throwing for missing components into the shorthand RequireXXXX
2014-11-03 14:33:45 +00:00
giorgiomarcias
af0f42fedf
"public"-ized some previously "private" static method which are useful also outside. Added a "PC_OTHER" result code for user-defined purposes.
2014-10-17 08:54:34 +00:00
ganovelli
46031c54ca
added GetClosestEdgeBase from space/index/index2/closest_2d.h which is going to be removed
2014-10-09 12:53:40 +00:00
granzuglia
9f647f2460
- added missing cast causing compiler error
2014-09-25 17:11:45 +00:00
Paolo Cignoni
03fb236a82
Improved EdgeMeshUniform to sample also closed loops of edges correctly
2014-09-19 17:07:02 +00:00
Luigi Malomo
70154e50bb
face border computation from FF adjacency fixed for polygon meshes
2014-09-19 10:57:05 +00:00
granzuglia
42e1ae0cfb
- fixed a compatibility problem with MeshLab single precision version
2014-09-17 14:13:45 +00:00
Nico Pietroni
e9ba519fa4
small change to do not insert and cycle to find polygons of size 0
2014-09-14 01:02:42 +00:00
Nico Pietroni
0a91defac8
templated the function VertexClamp wrt input scalar type
2014-09-11 20:42:30 +00:00
Paolo Cignoni
053b649ed2
Added perturbation to the voronoi seed relaxing
2014-09-07 21:36:30 +00:00
Paolo Cignoni
d8293c0c05
Updated RestrictedVoronoiRelaxing to use area weighted sum of nearest vertexes to compute barycenter
2014-08-30 07:50:22 +00:00
Nico Pietroni
6d042e5200
added FaceFauxBorder function
2014-08-29 15:10:06 +00:00
Paolo Cignoni
0e15b05070
Added more control on the initialization of the random generator in the poisson sampling
2014-08-29 13:21:27 +00:00
Nico Pietroni
feff81dd01
solved minor error with templated scalar type
2014-08-28 09:46:49 +00:00
Nico Pietroni
ae18d9b445
added VectorFromCoord function
2014-08-28 09:46:16 +00:00
Paolo Cignoni
0337582896
Added managment of fixed vertices in the restricted voronoi relaxing
2014-08-28 09:28:39 +00:00
Paolo Cignoni
636cf7bf8a
Added possibility of specifying approximation tolerance in the posson disk sampling by number
2014-08-28 09:28:14 +00:00
Paolo Cignoni
c08ca27367
harmless warning
2014-08-28 01:56:28 +00:00
Paolo Cignoni
fdf0b5b2ec
minor aestetical changes and added edge size checking to the IsSizeConsistent function
2014-08-28 01:55:43 +00:00
Paolo Cignoni
875a7d1aac
Added RestrictedVoronoiRelaxing mode to the voronoi framework
2014-08-28 01:54:32 +00:00
Paolo Cignoni
b452c7a305
Changed the wrapper for poisson disk sampling to use the exact pruning option if radius is not specified.
...
Corrected bug in the exact pruning that failed to return radius in some cases
2014-08-28 01:53:58 +00:00
Paolo Cignoni
60ca2f2d72
Updated 4pcs to float/double independnece
2014-08-26 08:45:04 +00:00
Paolo Cignoni
967f61b2be
Added EdgeMeshUniform method that generate samples over the edges of a polyline in a uniform way.
2014-08-26 01:43:04 +00:00
Paolo Cignoni
c6e5015090
Added SplitSelectedVertexOnEdgeMesh that split an edge mesh along the selected vertices. Useful to decompose an edgemesh into simple manifold polylines.
2014-08-26 01:42:09 +00:00
Paolo Cignoni
a9202ed7db
Added method BuildFromNonFaux to build an edgemesh composed by the "non faux edges".
2014-08-26 01:40:46 +00:00
Paolo Cignoni
9682fcd27d
Added to the UpdateFlags::FaceFauxSignedCrease the option to mark as non faux also the boundary edges.
2014-08-26 01:39:18 +00:00
Paolo Cignoni
331021191e
cleaned up the field smoohter (includes, headers etc)
2014-08-23 01:37:18 +00:00
Paolo Cignoni
855280fc08
better comments
2014-08-23 01:36:16 +00:00
Paolo Cignoni
6ba1493e3e
Small changes for float/double independence
2014-08-23 01:35:52 +00:00
Paolo Cignoni
9b519cb2b8
Added ValidCell check to manage invalid cell in the trivial_walker.
...
Corrected compiling error due to the derivation from a templated base class (a few "this->" required)
2014-08-23 01:35:15 +00:00
Paolo Cignoni
305ac24a23
Refactored Geodesic a bit to allow float/double independency
2014-08-23 01:33:53 +00:00
Paolo Cignoni
e032901b7f
updated voronoi processing stuff to manage float/double and to use the new kdtree
2014-08-23 01:32:50 +00:00
Paolo Cignoni
7285fadd53
updated the ball pivoting alg to the new kdtree
2014-08-23 01:31:16 +00:00
granzuglia
5e099ffd51
- SimpleVolume is now derived from BasicGrid<VOX_TYPE::Scalar> (change has been validated by Fabio Ganovelli)
2014-08-21 16:18:04 +00:00
Paolo Cignoni
211274ab04
Small change to the init of the simple volume class to include the correct initialization of the actual space occuped by the volume
2014-08-13 06:48:20 +00:00
Luigi Malomo
bb49f1c657
fixed types in OrientedDisk function
2014-08-09 17:10:19 +00:00
granzuglia
b5bfb0e438
complex/base.h:
...
- removed Visual Studio warnings
2014-08-09 10:01:15 +00:00
Paolo Cignoni
ce65164b58
harmless header clean up
2014-08-09 00:22:21 +00:00
Paolo Cignoni
7db065556a
Adapted the trivial walker of marching cube to float/double independence
2014-08-09 00:21:07 +00:00
Paolo Cignoni
03c2648af1
Strongly refactored in order to guarantee better independence between the resampled mesh an the original one
2014-08-09 00:19:48 +00:00
Paolo Cignoni
5fab3cefd1
Added namespaces, copyright and a bit of cleaning...
2014-08-09 00:15:52 +00:00
Paolo Cignoni
f456e8aca3
throw exception -> RequireXXXX refactoring
2014-08-09 00:14:42 +00:00
Paolo Cignoni
352d386a53
Just a few other size_t vs int clarifications
2014-08-09 00:02:52 +00:00
Paolo Cignoni
d89f934e3e
Removed unused local variable. (harmless gcc warning)
2014-08-08 22:06:12 +00:00
Luigi Malomo
2e5ac741a8
added closest face function which returns also barycentric coordinates and the interpolated normal for the closest point.
...
fixed Inside class for checking if a point is inside a mesh
minor fixes
2014-07-26 14:44:59 +00:00
Nico Pietroni
2a389bd83d
commented assert line 198 that works only for quadrilateral meshes
2014-07-26 08:41:21 +00:00
Paolo Cignoni
7b226f290c
corrected a few overloading error in the execute flipping members
2014-07-13 06:23:46 +00:00
Paolo Cignoni
8f35e48f43
harmless clang warning (size_t vs int)
2014-07-12 21:29:24 +00:00
Paolo Cignoni
280a9e606b
Updates pointcloud normal and smooth to the thread safe changes to the kdtree.
2014-07-12 05:50:32 +00:00
Nico Pietroni
bc45cfeef4
corrected 1 compilation issue with mesh passed as const
2014-07-05 14:20:00 +00:00
Nico Pietroni
c74af00fdf
minor modification
2014-07-04 13:29:24 +00:00
Paolo Cignoni
a743e93a70
Reasonable but harmless clang warning cleanup
2014-07-03 21:28:40 +00:00
Nico Pietroni
6b106d97fb
first release version
2014-07-03 15:52:26 +00:00
Nico Pietroni
44f41b7c4c
first release version
2014-07-03 15:52:05 +00:00
Nico Pietroni
8b0db14e84
reformatted and erased some commented code
2014-07-03 15:39:36 +00:00
Paolo Cignoni
2c0fa9a323
Improved float/double consistency removing some wrong Point3f and substitued with MeshType::CoordType
2014-07-01 10:13:18 +00:00
Paolo Cignoni
15d9307584
Improved float/double consistency removing some wrong Point3f and substitued with MeshType::CoordType
2014-07-01 10:12:49 +00:00
Paolo Cignoni
c1d6d4e9bd
Improved float/double consistency removing some wrong Point3f and substitued with MeshType::CoordType.
...
Removed also the use of an additional mesh type called spheremesh to create sphere (the method require ff adj).
2014-07-01 10:11:23 +00:00
Paolo Cignoni
073e07a309
Reasonable but harmless clang warning cleanup
2014-07-01 10:07:36 +00:00
Paolo Cignoni
26e8652a24
Improved float/double consistency removing some wrong Point3f and substitued with MeshType::CoordType
2014-07-01 06:20:23 +00:00
Nico Pietroni
9a5b7bdbd3
generalized ComputePerFaceQualityMinMax to use template parameters
2014-06-30 15:47:58 +00:00
Nico Pietroni
af8ce3b7e2
corrected 1 bug in ImportFromPolyMesh
2014-06-30 15:47:23 +00:00
Paolo Cignoni
811ac9b940
Add managment of polygonal to tri conversion even for the case of two polygonal meshes...
2014-06-27 15:16:02 +00:00
Paolo Cignoni
87e2599d27
Added a missing ImportData in the polygon to tri converstion function in order to allow the copy of most of the data from the polygonal face to the splitted one.
2014-06-24 08:50:32 +00:00
Paolo Cignoni
babd813674
Improved float/double consistency removing some wrong Point3f and substitued with MeshType::CoordType
2014-06-24 08:49:09 +00:00
Paolo Cignoni
934e5d9e3e
Improved float/double consistency removing some wrong Point3f and substitued with MeshType::CoordType
2014-06-24 08:48:27 +00:00
Paolo Cignoni
eb642099f1
Corrected another typeclash in the curvature types (a CurVecType definition was missing in the emptycore component)
2014-06-24 08:41:41 +00:00
Nico Pietroni
c918b9097c
correct 1 bug in VertexBorderCorner function
2014-06-22 12:28:56 +00:00
Nico Pietroni
bcd4124282
minor compilation issues
2014-06-22 12:28:21 +00:00
Paolo Cignoni
5349e55fed
Improved float/double consistency removing some wrong Point3f and substitued with MeshType::CoordType
2014-06-19 15:01:54 +00:00
Paolo Cignoni
bc980f70cc
Improved float/double consistency removing some wrong Point3f and substitued with MeshType::CoordType
2014-06-19 11:45:00 +00:00
Paolo Cignoni
e29b18045c
Improved float/double consistency removing some wrong Point3f and substitued with MeshType::CoordType
2014-06-19 10:26:13 +00:00
Paolo Cignoni
3bc58b7018
Improved float/double consistency removing some wrong Point3f and substitued with MeshType::CoordType
...
and removed a small bug (in the initialization the first ball sphere could fail for approx errors)
2014-06-19 10:25:50 +00:00
Paolo Cignoni
59779347ab
Improved float/double consistency removing some wrong Point3f and substitued with MeshType::CoordType
2014-06-19 10:24:27 +00:00
Paolo Cignoni
c30978903d
Improved float/double consistency removing some wrong Point3f and substitued with MeshType::CoordType
2014-06-19 10:23:58 +00:00
Paolo Cignoni
4fbbfe4f86
Small changes in the long long way to making meshlab and the vcglib really float/double independent
2014-06-18 17:30:02 +00:00
Paolo Cignoni
c5efcad9a2
Small changes in the long long way to making meshlab and the vcglib really float/double independent
2014-06-18 17:29:08 +00:00
Paolo Cignoni
0970bd18ca
Small changes in the long long way to making meshlab and the vcglib really float/double independent
...
TexCoordScalarType can be different from the mesh scalar type
2014-06-18 10:52:24 +00:00
Paolo Cignoni
3808c3dbd4
Small changes in the long long way to making meshlab and the vcglib really float/double independent
2014-06-18 10:39:43 +00:00
Paolo Cignoni
225af65457
Small changes in the long long way to making meshlab and the vcglib really float/double independent
2014-06-18 10:38:52 +00:00
Paolo Cignoni
4c30ba4672
Small changes in the long long way to making meshlab and the vcglib really float/double independent
2014-06-18 10:38:15 +00:00
Paolo Cignoni
b6c540f554
Small changes in the long long way to making meshlab and the vcglib really float/double independent
2014-06-18 10:37:48 +00:00
Paolo Cignoni
3edd987ef2
corrected small bug in the BuildVolumeSampling member of the voronoi volumetric sampling
2014-06-17 15:01:18 +00:00
Paolo Cignoni
a90b2a79ef
Wrong type cast
2014-06-17 14:48:39 +00:00
Paolo Cignoni
b389e3a314
removed a few point3f and changed into coordTypes
2014-06-17 13:42:10 +00:00
Paolo Cignoni
a2ba22e4fb
Added BuildPrismFaceShell to convert a mesh into a set of extruded prisms (one for each face...)
2014-06-17 13:20:42 +00:00
Paolo Cignoni
28d838ca49
Corrected a small bug in the poisson sampling exact number helper.
2014-05-23 15:05:16 +00:00
Paolo Cignoni
2916ad7207
Refactored CountEdges into CountEdgeNum (now it also reports non manifold edges)
2014-05-23 15:03:15 +00:00
Paolo Cignoni
b17fa09b37
Significant refactoring of the 4pcs class (uniform naming, clearer init etc)
2014-05-23 12:38:20 +00:00
Paolo Cignoni
34fb35c6c7
Again refactored and commented the ExtractPolygon
2014-05-21 13:35:54 +00:00
Paolo Cignoni
7c93452e94
Just refactored a bit the simple volume class used for example in the marching cube
2014-05-21 11:49:29 +00:00
Nico Pietroni
773e2bdb1e
corrected minor warnings
2014-05-21 02:01:06 +00:00
Paolo Cignoni
8ba0e6d6aa
Added method PerBitPolygonFaceNormalized for computing normals for polygonal meshes kept with fauxbit.
...
Added a few Require just for safety
2014-05-20 22:30:59 +00:00
Paolo Cignoni
44741d7f36
Added a few requirement of polygonal and triangular meshes to clarify usage
2014-05-20 22:29:25 +00:00
Paolo Cignoni
d2131fd436
Corrected small bug in the ExtractPolygon function that collect all the tri of a polygonal face
2014-05-20 20:48:04 +00:00
giorgiomarcias
1803989930
Added two methods for computing normals of polygonal meshes.
2014-05-20 15:55:58 +00:00
Paolo Cignoni
2b3bb02be0
harmless gcc warning
2014-05-16 08:43:00 +00:00
Paolo Cignoni
48f9487eaa
First draft version of the volumetric version of voronoi sampling
2014-05-15 16:49:38 +00:00
Paolo Cignoni
3b7753ef20
Many Changes to point sampling:
...
- Heavy refactoring (typename changes, declaration etc) for clarity and shortness
- add a reset() method to the sampler interface
- changed the way used to get a weight in the sampling process now the variance is used to map the 'metric' along 1 and <variance>; Made it uniform in poisson and montecarlo sampling.
- changed the way in which the weight is used/passed: now with attribute!
- added exact number poisson disk pruning.
- stats are always computed (no performance impact clearer code)
2014-05-15 10:35:08 +00:00
Paolo Cignoni
53dbae6626
Added the automatic fixing of the constrained vertices after the constrained relaxation.
2014-05-13 15:34:26 +00:00
Paolo Cignoni
5b4357f9bb
Refactored the ComputeFaceEdgeLengthDistribution function. Now it collects info about the edges also complying fauxedges and polygonal meshes.
2014-05-13 10:55:53 +00:00
Paolo Cignoni
5c7949d261
Corrected a bug in the faux edge creation for box/cube
2014-05-13 10:51:11 +00:00
Paolo Cignoni
4a449c8669
Added Spherical Cap primitive and functions to convert a mesh into a set of cylinders and balls to get a solid wireframe representation.
2014-05-13 09:54:48 +00:00
Paolo Cignoni
4e4775ac60
refactored for shortness and efficiency the heavily used FillEdgeVector that collect all the edges of a mesh
2014-05-13 09:52:17 +00:00
Paolo Cignoni
b79c323a77
Added relaxOnlyConstrainedFlag to the voronoi processing relax procedure that allow to relax only the vertexes that are constrainted (onto their domain) ignoring all the other samples (except the fixed one). It allows to get more even distributions on the constrains.
2014-05-09 21:50:28 +00:00
Paolo Cignoni
329057ea96
Corrected position of the vertexes on the border of the voronoi diagram (middle of edge and not middle of face!)
2014-05-07 14:41:44 +00:00
Paolo Cignoni
fc22d7d3a6
Added normal reorientation of the mesh (each reglon of was randomly oriented)
2014-05-07 14:28:14 +00:00
Paolo Cignoni
07ab76d93e
removed unused variables
2014-05-07 09:22:53 +00:00
Paolo Cignoni
7b18a903ec
removed a forgotten debug printf
2014-05-07 07:50:02 +00:00
Paolo Cignoni
3963786487
Complete rewrote of the function that convert a mesh with a set of seeds and geodesic distances computed from them into a voronoi diagram mesh. Now works also in strange cases (like almost degenerate regions)
2014-05-06 23:13:22 +00:00
Paolo Cignoni
9de6cde470
Improved polygonal support. Refactored convert tri to poly. Added support for face color and face quality
2014-05-05 23:23:19 +00:00
Nico Pietroni
f72e9a1481
corrected one bug to make the refine predicate do not refine when the edge is perfectly aligned with the distance function (and both or just one value is zero)
2014-05-04 23:33:31 +00:00
Nico Pietroni
e57b89945f
corrected some warnings relative to unreferenced variables
2014-05-04 23:32:33 +00:00
giorgiomarcias
8f72b462eb
Corrected a silly bug causing the polychord collapse process a strange behaviour (also some crash) when compiled with c++11. Changed also recursive types (forward declarations) avoiding pointers (by using vectors - rather than lists - and indices).
2014-05-04 18:53:31 +00:00
Nico Pietroni
b01f2c111e
changed some method to work with polygons
2014-04-24 16:08:33 +00:00
giorgiomarcias
cf1a476116
Corrected a bug arising when splitting a polychord with at least a 2-valence vertex (causing the polychord to blend and touch itself - wrong adjacency were computed before).
2014-04-22 10:26:15 +00:00
Paolo Cignoni
30a7ecf743
4pcs: Small optimization (preallocation of vector instead of pushback)
2014-04-18 13:39:52 +00:00
Paolo Cignoni
b01b731b75
Removed useless member variables, Exposed normal tolerance, added random seed control for safe testing. Added early rejection testing in IsTransfCongruent (40% speedup).
2014-04-18 08:33:25 +00:00
Paolo Cignoni
e532407ddc
Added the possibility to control the random generator seeding in the poisson pruning wrappers
2014-04-18 08:27:38 +00:00
Paolo Cignoni
245931d93d
Still refactoring. Now substituted montecarlo with poisson disk sampling
2014-04-18 06:04:18 +00:00
Paolo Cignoni
e353355f12
corrected a small syntax error introduced in the last commit
2014-04-17 13:53:55 +00:00
Paolo Cignoni
6e4edddcf5
Corrected a small syntax error in the last commit of point_sampling
2014-04-17 10:11:43 +00:00
Paolo Cignoni
d5e181b445
Heavily refactored 4PCS.
...
Some of the things done:
- better random generator
- small optimization (removed O(n) update bb
- exposed parameters
- renamed for uniformity variables.
2014-04-17 09:53:33 +00:00
Paolo Cignoni
4be7b59a80
Added TrivialPointerSampler to sample a mesh returning pointers to the chosen vertexes.
...
Added another poisson pruning wrapper to make even easier to choose a subset of vertexes from a mesh with good distribution.
2014-04-17 09:51:48 +00:00
Paolo Cignoni
309d1e3289
added a missing RequirePerFaceMark in the Marker Class
2014-04-17 08:51:53 +00:00
Paolo Cignoni
612fd0d226
Derived the volume class from the basicGrid class to have all the helpers for transforming coords from voxel space to the original space
2014-04-17 08:15:18 +00:00
ganovelli
5a4b97a559
cleaning am some tuning
2014-04-16 10:29:05 +00:00
Nico Pietroni
7bb5f1d041
resolved 1 bug in QualityEdgePredicate
2014-04-07 06:27:56 +00:00
Nico Pietroni
274a391b1a
resolved some compilation issues
2014-04-07 06:27:28 +00:00
Paolo Cignoni
a3ad95f64e
Better management of placement of delaunay midpoint vertices when generating the delaunay triangulation and some constrained vertices are involved.
2014-03-27 16:48:32 +00:00
Paolo Cignoni
c3f7b86500
Some changes to the voronoi processing class. Now it performs Loyyd relaxation on constrained elements only keeping into account the constrained set. In other words sample on the boundary are relaxed only keeping into account of he other boundary vertexes This will result in much better distributions of samples on the boundaries.
...
Improved also boundary management in the refinement/spring relaxing.
Added a parameter for controlling the preprocessing refinment
2014-03-18 11:27:46 +00:00
Paolo Cignoni
185c0f7152
Converted to the use of the internal Index function to get the index of an element
2014-03-18 11:24:25 +00:00
giorgiomarcias
7a9b33fcc5
Corrected a bug which could happen because of memory not released.
2014-03-14 14:56:17 +00:00
giorgiomarcias
833cc12e38
Added a (useful) static method to split a given polychord into a number n>1 of polychords.
2014-03-11 15:06:07 +00:00
Nico Pietroni
4e4d5edeb7
some minor modification to give the possibility to specify the interpolation function for refinemenent
2014-03-07 16:32:06 +00:00
Nico Pietroni
9e2643a90d
corrected one bug during collapses.. have to check link conditions
2014-03-07 10:35:36 +00:00
Nico Pietroni
a6966b7ba0
first release version
2014-03-06 16:54:42 +00:00
Luigi Malomo
62ad64fdac
fixed bugs in the harmonic field computing algorithm
2014-03-05 13:14:48 +00:00