Paolo Cignoni
d124cae6fb
added a missing include
2008-11-07 15:37:46 +00:00
Paolo Cignoni
2e7c97e90e
Corrected the update cycle in the AddFace. Thanks to Michele Vannoni for pointing out this bug!
2008-11-07 15:36:19 +00:00
Paolo Cignoni
df84db769c
Rewrote the function for the selection and counting of non manifold vertices. Now it does not require VF topology, just FF.
2008-11-07 10:12:39 +00:00
Paolo Cignoni
336de84d19
Added an unbiased montecarlo and a revised (still to be improved) stratified sampling
2008-11-01 07:22:29 +00:00
Paolo Cignoni
49c72bc54e
Disambiguated some grid utility names (IPtoTP into IPfToPf and IPiToPf) in order to avoid ambiguities (due to automatic cast?)
2008-10-30 09:01:03 +00:00
Paolo Cignoni
e587581275
add transposeInPlace and duplicate V(int)
2008-10-29 11:17:11 +00:00
Paolo Cignoni
c1551eddfd
make Point derive Eigen's Matrix and some cleanning
2008-10-28 11:47:37 +00:00
ganovelli
949637c795
added private copy constructor and assignment operator to prevent people from doing those things
...
added empty constructors to attribute handles
2008-10-28 11:00:30 +00:00
Paolo Cignoni
7befff7bec
make point2 derived Eigen's Matrix, and a set of minimal fixes to make meshlab compile
...
with both old and new version. The fixes include:
- dot product: vec0 * vec1 => vec0.dot(vec1) (I added .dot() to the old Point classes too)
- Transpose: Transpose is an Eigen type, so we cannot keep it if Eigen is used. Therefore
I added a .tranpose() to old matrix classes, and modified most of the Transpose() to transpose()
both in vcg and meshlab. In fact, transpose() are free with Eigen, it simply returns a transpose
expression without copies. On the other be carefull: m = m.transpose() won't work as expected,
here me must evaluate to a temporary: m = m.transpose().eval(); However, this operation in very
rarely needed: you transpose at the same sime you set m, or you use m.transpose() directly.
- the last issue is Normalize which both modifies *this and return a ref to it. This behavior
don't make sense anymore when using expression template, e.g., in (a+b).Normalize(), the type
of a+b if not a Point (or whatever Vector types), it an expression of the addition of 2 points,
so we cannot modify the value of *this, since there is no value. Therefore I've already changed
all those .Normalize() of expressions to the Eigen's version .normalized().
- Finally I've changed the Zero to SetZero in the old Point classes too.
2008-10-28 00:59:46 +00:00
Paolo Cignoni
ab200fc950
Port to eigen2: state of the mess:
...
* curently nothing change if you don't define VCG_USE_EIGEN
* make Matrix*, Point3 and Point4 derive Eigen::Matrix (still ugly)
* now catching all the dot products to replace them by .dot()
note that most of meshlab already compile
2008-10-27 19:35:17 +00:00
ganovelli
69ebba04b9
Created.
...
PolygonSupport provides the functions to import a trimesh from a polygonal mesh and viceversa.
2008-10-27 16:54:32 +00:00
Paolo Cignoni
4db69febbe
big replacement .Zero => .SetZero, and start of Eigen's compatibilities (currently disabled by default)
2008-10-27 14:48:14 +00:00
Paolo Cignoni
64fcbc961a
compilation fix for 64bits systems
2008-10-24 12:41:50 +00:00
ganovelli
4783ac9a62
added an assertion
2008-10-24 10:26:28 +00:00
Paolo Cignoni
c5ec73d0f7
Added IntersectionRayMesh overload function who return hit point, baricentric's coordinates and a pointer of intersected face.
2008-10-14 14:31:35 +00:00
Paolo Cignoni
9b0875d19e
added a missing std::
2008-10-14 14:28:33 +00:00
Paolo Cignoni
6f1e8d0641
Added UpdateColor::VertexFromFace and UpdateColor::FaceFromVertex
2008-10-14 13:41:37 +00:00
ganovelli
dddce06a72
use of NextFE (of the jumping_pos) instead of NextE
2008-10-14 09:47:16 +00:00
Paolo Cignoni
ae6f7fee0f
Added FaceQualityGray() and changed (for sake of symmetry) FaceQuality() to FaceQualityRamp()
2008-10-14 06:37:36 +00:00
Paolo Cignoni
de8504ba3e
Added ComputePerFaceQualityMinMax()
2008-10-14 06:36:25 +00:00
ganovelli
d7920e1cc4
Added principal curvatures direction computation with by means of normal cycles:
...
Restricted delaunay triangulations and normal cycle
Cohen-Steiner, David and Morvan, Jean-Marie SCG '03
2008-10-13 14:55:05 +00:00
ganovelli
56857ecdb7
some cleanup of the Taubin tensor estimator (still not working properly)
2008-10-10 14:58:33 +00:00
Paolo Cignoni
78501226de
Removed a few warnings and added a template keyword in the call of a templated function member.
2008-10-09 13:50:45 +00:00
Paolo Cignoni
413001c79b
The fr parameter is now declared as const in local function ImportFace
2008-10-08 14:44:56 +00:00
ganovelli
0d4b3fbed0
[Polygon modification]
...
Added components to the face to handle generic polygons.
(compiled with .net and gcc)
This commit includes the following files:
vcg/complex/trimesh/base.h
Added deallocation of polygon data in the destructor
vcg/complex/trimesh/allocate.h
generalization from 3 to VN() vertices
vcg/complex/trimesh/update/topology.h
generalization from 3 to VN() vertices
vcg/complex/trimesh/update/flags.h
generalization from 3 to VN() vertices
vcg/simplex/face/pos.h
generalization from 3 to VN() vertices
vcg/simplex/faceplus/base.h
Added the method VN() to query the number of vertices
of the polygon (deafult 3) and methods Prev and Next
vcg/simplex/faceplus/component.h
added Alloc and Dealloc calls along the hierarchies
2008-10-08 09:10:53 +00:00
Paolo Cignoni
b58cabc1b6
better comment at the begininning explaing a bit the Refine templated mechanism.
2008-10-07 07:02:01 +00:00
ganovelli
a0cdf71abf
found a bug in PrincipaDirections, clean up of the function and better comments (thanks E.Puppo)
2008-10-02 14:25:54 +00:00
Paolo Cignoni
4f2be6a4ba
a forgotten trimesh -> tri (See previous commits of Fabio Ganovelli)
2008-09-30 12:38:34 +00:00
ganovelli
e16d065e93
[Namespaces changes]
...
vert->vertex
clean up of some namespaces to comply the following naming:
Complexes (3 letters namespaces):
order 0 (point cloud ) :vrt
order 1 (edge meshes) :edg
order 2 (triangle meshes) :tri
order 3 (triangle meshes) :tet
Simplexes (extended namespaces):
order 0 (vertex) :vertex
order 1 (edge) :edge
order 2 (triangle) :triangle (temporarily it remains "face")
order 3 (tetrahedron) :tetrahedron
2008-09-30 11:41:58 +00:00
ganovelli
7f399c7515
[Namespaces changes]
...
vert->vertex
trimesh->tri
clean up of some namespaces to comply the following naming:
Complexes (3 letters namespaces):
order 0 (point cloud ) :vrt
order 1 (edge meshes) :edg
order 2 (triangle meshes) :tri
order 3 (triangle meshes) :tet
Simplexes (extended namespaces):
order 0 (vertex) :vertex
order 1 (edge) :edge
order 2 (triangle) :triangle (temporarily it remains "face")
order 3 (tetrahedron) :tetrahedron
2008-09-30 11:38:05 +00:00
ganovelli
3831d9716f
[Namespaces changes]
...
vert->vrt
clean up of some namespaces to comply the following naming:
Complexes (3 letters namespaces):
order 0 (point cloud ) :vrt
order 1 (edge meshes) :edg
order 2 (triangle meshes) :tri
order 3 (triangle meshes) :tet
Simplexes (extended namespaces):
order 0 (vertex) :vertex
order 1 (edge) :edge
order 2 (triangle) :triangle (temporarily it remains "face")
order 3 (tetrahedron) :tetrahedron
2008-09-30 10:59:29 +00:00
ganovelli
b96b375d64
[Namespaces changes]
...
vert->vrt
clean up of some namespaces to comply the following naming:
Complexes (3 letters namespaces):
order 0 (point cloud ) :vrt
order 1 (edge meshes) :edg
order 2 (triangle meshes) :tri
order 3 (triangle meshes) :tet
Simplexes (extended namespaces):
order 0 (vertex) :vertex
order 1 (edge) :edge
order 2 (triangle) :triangle (temporarily it remains "face")
order 3 (tetrahedron) :tetrahedron
2008-09-30 10:57:42 +00:00
ganovelli
beb57b487c
[Namespaces changes]
...
vert->vrt
clean up of some namespaces to comply the following naming:
Complexes (3 letters namespaces):
order 0 (point cloud ) :vrt
order 1 (edge meshes) :edg
order 2 (triangle meshes) :tri
order 3 (triangle meshes) :tet
Simplexes (extended namespaces):
order 0 (vertex) :vertex
order 1 (edge) :edge
order 2 (triangle) :triangle (temporarily it remains "face")
order 3 (tetrahedron) :tetrahedron
2008-09-30 10:57:09 +00:00
ganovelli
abd367ac3f
[Namespaces changes]
...
vert->vrt
clean up of some namespaces to comply the following naming:
Complexes (3 letters namespaces):
order 0 (point cloud ) :vrt
order 1 (edge meshes) :edg
order 2 (triangle meshes) :tri
order 3 (triangle meshes) :tet
Simplexes (extended namespaces):
order 0 (vertex) :vertex
order 1 (edge) :edge
order 2 (triangle) :triangle (temporarily it remains "face")
order 3 (tetrahedron) :tetrahedron
2008-09-30 10:56:35 +00:00
ganovelli
e5d28ed8b5
[Namespaces changes]
...
trimesh->tri
clean up of some namespaces to comply the following naming:
Complexes (3 letters namespaces):
order 0 (point cloud ) :vrt
order 1 (edge meshes) :edg
order 2 (triangle meshes) :tri
order 3 (triangle meshes) :tet
Simplexes (extended namespaces):
order 0 (vertex) :vertex
order 1 (edge) :edge
order 2 (triangle) :triangle (temporarily it remains "face")
order 3 (tetrahedron) :tetrahedron
2008-09-30 10:55:18 +00:00
ganovelli
ece2df9202
[Namespaces changes]
...
trimesh->tri
clean up of some namespaces to comply the following naming:
Complexes (3 letters namespaces):
order 0 (point cloud ) :vrt
order 1 (edge meshes) :edg
order 2 (triangle meshes) :tri
order 3 (triangle meshes) :tet
Simplexes (extended namespaces):
order 0 (vertex) :vertex
order 1 (edge) :edge
order 2 (triangle) :triangle (temporarily it remains "face")
order 3 (tetrahedron) :tetrahedron
2008-09-30 10:53:28 +00:00
ganovelli
682865bf25
[Namespaces changes]
...
trimesh->tri
clean up of some namespaces to comply the following naming:
Complexes (3 letters namespaces):
order 0 (point cloud ) :vrt
order 1 (edge meshes) :edg
order 2 (triangle meshes) :tri
order 3 (triangle meshes) :tet
Simplexes (extended namespaces):
order 0 (vertex) :vertex
order 1 (edge) :edge
order 2 (triangle) :triangle (temporarily it remains "face")
order 3 (tetrahedron) :tetrahedron
2008-09-30 10:52:37 +00:00
ganovelli
ac3321980c
[Namespaces changes]
...
vert->vertex
trimesh->tri
clean up of some namespaces to comply the following naming:
Complexes (3 letters namespaces):
order 0 (point cloud ) :vrt
order 1 (edge meshes) :edg
order 2 (triangle meshes) :tri
order 3 (triangle meshes) :tet
Simplexes (extended namespaces):
order 0 (vertex) :vertex
order 1 (edge) :edge
order 2 (triangle) :triangle (temporarily it remains "face")
order 3 (tetrahedron) :tetrahedron
2008-09-30 10:52:09 +00:00
ganovelli
13c853509e
[Namespaces changes]
...
trimesh->tri
clean up of some namespaces to comply the following naming:
Complexes (3 letters namespaces):
order 0 (point cloud ) :vrt
order 1 (edge meshes) :edg
order 2 (triangle meshes) :tri
order 3 (triangle meshes) :tet
Simplexes (extended namespaces):
order 0 (vertex) :vertex
order 1 (edge) :edge
order 2 (triangle) :triangle (temporarily it remains "face")
order 3 (tetrahedron) :tetrahedron
2008-09-30 10:51:38 +00:00
ganovelli
7e579b7895
[Namespaces changes]
...
edge->edg
clean up of some namespaces to comply the following naming:
Complexes (3 letters namespaces):
order 0 (point cloud ) :vrt
order 1 (edge meshes) :edg
order 2 (triangle meshes) :tri
order 3 (triangle meshes) :tet
Simplexes (extended namespaces):
order 0 (vertex) :vertex
order 1 (edge) :edge
order 2 (triangle) :triangle (temporarily it remains "face")
order 3 (tetrahedron) :tetrahedron
2008-09-30 10:50:43 +00:00
ganovelli
9143a0d389
[Namespaces changes]
...
edge->edg
trimesh->tri
clean up of some namespaces to comply the following naming:
Complexes (3 letters namespaces):
order 0 (point cloud ) :vrt
order 1 (edge meshes) :edg
order 2 (triangle meshes) :tri
order 3 (triangle meshes) :tet
Simplexes (extended namespaces):
order 0 (vertex) :vertex
order 1 (edge) :edge
order 2 (triangle) :triangle (temporarily it remains "face")
order 3 (tetrahedron) :tetrahedron
2008-09-30 10:49:09 +00:00
ganovelli
cec96ba260
addded template parameter to comply the new definition of functor and
...
[Namespaces changes]
vert->vertex
clean up of some namespaces to comply the following naming:
Complexes (3 letters namespaces):
order 0 (point cloud ) :vrt
order 1 (edge meshes) :edg
order 2 (triangle meshes) :tri
order 3 (triangle meshes) :tet
Simplexes (extended namespaces):
order 0 (vertex) :vertex
order 1 (edge) :edge
order 2 (triangle) :triangle (temporarily it remains "face")
order 3 (tetrahedron) :tetrahedron
2008-09-30 10:48:41 +00:00
ganovelli
970c388277
[Namespaces changes]
...
edge->edg
clean up of some namespaces to comply the following naming:
Complexes (3 letters namespaces):
order 0 (point cloud ) :vrt
order 1 (edge meshes) :edg
order 2 (triangle meshes) :tri
order 3 (triangle meshes) :tet
Simplexes (extended namespaces):
order 0 (vertex) :vertex
order 1 (edge) :edge
order 2 (triangle) :triangle (temporarily it remains "face")
order 3 (tetrahedron) :tetrahedron
2008-09-30 10:47:09 +00:00
ganovelli
e15127934c
[Namespaces changes]
...
edge->edg
clean up of some namespaces to comply the following naming:
Complexes (3 letters namespaces):
order 0 (point cloud ) :vrt
order 1 (edge meshes) :edg
order 2 (triangle meshes) :tri
order 3 (triangle meshes) :tet
Simplexes (extended namespaces):
order 0 (vertex) :vertex
order 1 (edge) :edge
order 2 (triangle) :triangle (temporarily it remains "face")
order 3 (tetrahedron) :tetrahedron
2008-09-30 10:46:18 +00:00
ganovelli
8fd3eecf80
added version on IntersectionBallMesh that take a grid. It's a draft, to be refactored. And
...
[Namespaces changes]
edge->edg
clean up of some namespaces to comply the following naming:
Complexes (3 letters namespaces):
order 0 (point cloud ) :vrt
order 1 (edge meshes) :edg
order 2 (triangle meshes) :tri
order 3 (triangle meshes) :tet
Simplexes (4 letters namespaces):
order 0 (vertex) :vert
order 1 (edge) :edge
order 2 (triangle) :triangle
order 3 (tetrahedron) :tetrahedron
2008-09-30 10:18:24 +00:00
Paolo Cignoni
8143b27315
added missing include callback.h
2008-09-29 10:12:38 +00:00
Paolo Cignoni
f3bddee157
gcc compiling issues (again using template keyword to disambiguate templated functions in templated classes)
2008-09-25 16:10:47 +00:00
ganovelli
a097ef4df9
automatic rough alignment by using 4pcs (4-points congruent sets for Robust pairwise surface registration, Mitra et al. SIGGREAPH 08). First working draft
2008-09-24 16:17:33 +00:00
ganovelli
68d900ec7e
changes to compile previous commit with gcc
2008-09-24 09:15:38 +00:00
ganovelli
f7da79d507
Add template parameter to PointDistanceFunctor
2008-09-24 08:56:06 +00:00
ganovelli
d52199f64c
DistanceFunctor templated on the type of the query
...
Added GetClosestVertexNormal which uses Vertex Position and Normal (see PointNormalDistanceFunctor)
2008-09-24 08:37:42 +00:00
Paolo Cignoni
7473170272
Improved robustness of FF adj from texture coords adjacency.
...
Now faces with degenerated tex coords are more correctly managed.
2008-09-15 10:08:41 +00:00
ganovelli
4971b69b13
corrected wrong constant in Covariance (thanks F.Ponchio)
...
and minor calculation simplifications
2008-09-10 16:18:32 +00:00
Federico Ponchio
696941893d
Translated some italian comments... many more to translate.
2008-08-25 12:33:06 +00:00
Paolo Cignoni
201313a5de
Changed the name of the pointer to edge Ep into the more standard VEp (like vertex plus and the other vertex to simplex adjacencies VFp and VTp)
2008-08-20 20:35:29 +00:00
ganovelli
a00da7b3f3
minor type changes to compile with gcc
...
removed debug include to export_ply.h
2008-08-19 11:09:52 +00:00
ganovelli
1185e2ab96
minor type changes to compile with gcc
2008-08-19 11:03:39 +00:00
ganovelli
6bda668af8
missing include added
2008-08-19 10:22:31 +00:00
ganovelli
3c69c98cd8
some clean up PrincipalDirections (not working well)
...
added PrincipalDirectionsPCA
added VertexCurvature that takes a mesh (the name has to be changed)
2008-08-19 10:15:32 +00:00
ganovelli
4e81e65145
added Covariance to to compute the covariance of a generic mesh (without the use of divergence theorem)
2008-08-19 09:43:24 +00:00
ganovelli
1ac5c66e78
added IntersectionBallMesh
...
added some to the functions
2008-08-19 09:40:52 +00:00
ganovelli
4ac273db73
corrected bug in the number of added vertices
2008-08-19 09:09:44 +00:00
ganovelli
7a03d966d3
corrected small bug in FaceSimilar
2008-08-14 14:19:29 +00:00
Paolo Cignoni
19b903e34b
added a basic Function computing the intersection between a trimesh and a plane that does not require a spatial search structure (useful if you want to make a small number of slices)
2008-08-14 10:04:01 +00:00
Paolo Cignoni
eb307140bb
Renamed (and refactored to use Stat::MinMax function) method for ramp-coloring a mesh according to its Quality from UpdateColor::VertexQuality to UpdateColor::VertexQualityRamp.
...
Added UpdateColor::VertexQualityGray.
2008-08-12 08:02:53 +00:00
ganovelli
8ad902095a
removed ImportVertex for ImportLocal
2008-08-07 16:20:01 +00:00
ganovelli
085e19d121
ImportVertex removed (use ImportLocal), ImportFace cleaned up
...
Bug in version of Append for selected faces removed
2008-08-07 16:19:31 +00:00
ganovelli
cbb547cdf0
uncommented GetInSphereFace (compiled with gcc 4.2.3 and .net 2005)
2008-08-04 15:27:58 +00:00
ganovelli
86816cc60f
added few missing template type
2008-08-04 11:03:48 +00:00
ganovelli
1a9220ce98
behaviour change: AddFaces and AddVertices return the vert.end() and face.end() if called with n==0.
...
Added AddVertices with local pointers to VertexPointer to update
2008-07-29 13:20:44 +00:00
Paolo Cignoni
33dd499605
Added FaceColorLaplacian function to smooth color among faces
2008-07-28 08:20:22 +00:00
Paolo Cignoni
d89a3da4ea
commented
2008-07-24 09:53:18 +00:00
Paolo Cignoni
a880db7489
modified white balance filter to use a custom color to correct white.
2008-07-23 15:29:14 +00:00
Paolo Cignoni
f614f1b5ac
append should append the texture names too and update the texture index accordingly
2008-07-20 21:20:49 +00:00
Paolo Cignoni
8f44e94747
Added missing includes
2008-07-20 14:34:26 +00:00
Paolo Cignoni
19bb932a8f
Fixed a bug on white balance. now it works fine.
2008-07-18 13:07:10 +00:00
Paolo Cignoni
4842e38c94
Added White balance filter.
...
Terminology of the desaturation filter has been changed to match the gimp's one.
2008-07-17 21:46:48 +00:00
Paolo Cignoni
f5afb40d66
added a desaturation method based on Luminance, and relative functions.
2008-07-17 20:11:13 +00:00
Paolo Cignoni
e19635f285
Modified EQ filter to allows working on RGB channels, separated channels, and lightness. It works correctly, but the processing seems to be a different one respect to Gimp (almost when working on RGB). Memory usage can be decreased...
2008-07-17 14:51:20 +00:00
Paolo Cignoni
ed2a6ce2f8
Added Desaturation filter and relative functions.
...
An ENUM for Desaturation methods has been added too.
Added EQ filter and relative functions. It works just on lighness right now. Comments still to be written. work in progress.
2008-07-17 10:07:19 +00:00
Paolo Cignoni
5082a0cb03
Corrected a very small bug in the finalize of the quadric simplification, (RW flags were not correctly restored at the end of the simplification)
2008-07-17 06:52:56 +00:00
Paolo Cignoni
b9263267ec
Added color levels filter. Some bug fixed.
2008-07-15 22:29:38 +00:00
Paolo Cignoni
38323a3c48
disambiguated a pow() call
2008-07-15 10:40:10 +00:00
Paolo Cignoni
437d258a22
Added (from an idea of Fabio Ganovelli) the possibility of adding face-quality driving quadrics. For each face, three quadric perpendicular to the face plane and passing through the edges are added (just like for borders, but with a much lower weight). In case of very planar surface these quadrics try to keep the original shapes of triangles, preferring small edge collapse. Without this in planar zones collapse order could be random.
2008-07-15 07:15:18 +00:00
Paolo Cignoni
2472215e8d
added VertexCoordPlanarLaplacian that moves only the vertices that does not change the orientation of the incident faces. Very useful for creating good meshing of CAD models.
2008-07-15 07:10:31 +00:00
Paolo Cignoni
7053bdabf0
removed harmless warnings
2008-07-15 06:57:25 +00:00
Paolo Cignoni
4efd5c21f5
fixed gamma correction
2008-07-11 10:17:09 +00:00
Paolo Cignoni
c0f5310cde
Added functions to perform gamma correction.
...
Parameters type changed all to float instead of int,
to achieve a better precision in computations.
2008-07-10 22:11:56 +00:00
Paolo Cignoni
b626643efb
Re-factored the Heap-Simplex ratio parameter. Now it is something that should be asked to the localmodification class.
2008-07-10 09:44:09 +00:00
Paolo Cignoni
6be78dcf70
Added color processing functions.
...
Some changes still to be performed.
2008-07-09 22:25:31 +00:00
Paolo Cignoni
9debed15de
Added Brighting function that increase/decrease the brightnes of the vertex colors
2008-07-09 15:19:06 +00:00
Paolo Cignoni
c3735f3e5d
Added a small hack for the case of non-simmertric collapses where the average number of heap elements is almost the double of the symmetric case and therefore you should avoid too frequent heap garbage collections.
2008-07-09 10:48:19 +00:00
Paolo Cignoni
1407af2537
removed harmless warnings
2008-07-09 10:31:55 +00:00
Nico Pietroni
72ce36f55c
converted functions into static
2008-07-08 14:49:08 +00:00
Paolo Cignoni
9c314b7f2f
Added support for callback in Laplacian and Taubin;
...
improved comments and removed a bug from the Taubin smoothing
2008-07-05 05:49:57 +00:00
Paolo Cignoni
a8becdc8f1
refactored laplacian smoothing and added taubin smoothing
2008-07-04 00:32:48 +00:00
Paolo Cignoni
a6f9f33a62
removed references to the meshlab code (qdebug and leaked mesh types)
2008-07-03 21:39:37 +00:00
Nico Pietroni
b3c2645005
changed line 215 for compilation problems in case of class extension (just semantic)
2008-07-03 10:21:17 +00:00
Nico Pietroni
1a2be8bdfa
changed line 268 for compilation problems in case of class extension (just semantic)
2008-07-03 10:20:12 +00:00
Paolo Cignoni
bafcd1768e
remove harmless warnings
2008-07-02 13:26:25 +00:00
Paolo Cignoni
711c985689
update to the new single template BasicGrid
2008-07-01 12:37:27 +00:00
Paolo Cignoni
8314b1759a
Heavily restructured (an almost complete rewrite) of the class that convert a mesh to a distance field and run marching cubes on it.
2008-07-01 09:37:31 +00:00
Paolo Cignoni
4e6ff1e97a
removed harmless warnings
2008-07-01 09:34:43 +00:00
Federico Ponchio
a4a0d6acf3
last_seed++ shodl have been ++last_seed
2008-06-30 08:46:06 +00:00
Paolo Cignoni
3c81fe2f0e
Removed a m.cm leaked from meshlab here.
...
Thanks to Alain Boyer for the kind bug submission!
2008-06-29 22:56:08 +00:00
Paolo Cignoni
700b8cd26e
Removed annoying unsigned vs signed warnings.
...
Thanks to Alain Boyer for the kind bug submission!
2008-06-29 22:44:44 +00:00
Paolo Cignoni
7da7c0128e
Added the WedgeTexRemoveNull function. Currently texture coords are kept for ALL the triangles of a mesh. The texture id is stored with each face.
...
if a given face should not have tex coord it has the default -1 value for texture ID. This function will add an new fake texture, add that to the list of textures and change all the -1 id to that value.
2008-06-29 07:47:35 +00:00
Paolo Cignoni
674096eb00
added MultiFaceRandom to random color polygonal faces and improved vertexcolor border (now mixed vertexes have a different color)
2008-06-26 08:39:28 +00:00
ganovelli
db1c99cdf9
added PerMeshAttribute
2008-06-23 14:18:13 +00:00
Paolo Cignoni
86c880176d
Completed texture sampling method. now you can generate all the texels of a mesh with a uv mapping.
2008-06-20 23:33:24 +00:00
Paolo Cignoni
79786de3cc
Almost completed the Sampling Classes now all the classical methods are in. Added a TrivialSampler class to better illustrate the interface of the sampler object.
2008-06-20 15:11:30 +00:00
Paolo Cignoni
53ac17e6bb
Corrected bug in the Laplacian on multiple iteration (missing re-init of temporary data)
...
Completed the scale dependent laplacian
2008-06-17 23:05:25 +00:00
Paolo Cignoni
2ff77479af
added function to compute the FaceProjection flags used in point-face distance
2008-06-13 05:44:35 +00:00
Massimiliano Corsini
1059b3d24d
add missing include
2008-06-05 14:12:40 +00:00
Paolo Cignoni
a29f21fa59
added vertexweighted sampling
2008-06-04 13:29:04 +00:00
Paolo Cignoni
9b324d2f50
added missing license info
2008-05-29 20:54:34 +00:00
Paolo Cignoni
ca47599bd5
Added weighted area sampling
2008-05-29 06:17:09 +00:00
granzuglia
2d281abc5d
fixed doxygen comments according to the new vcg's doxygen comments style (please look at doxygen-comments-style.txt in the vcgrootfolder/docs)
2008-05-28 13:28:52 +00:00
granzuglia
f0373b8ebb
fixed doxygen comments according to the new vcg's doxygen comments style (please look at doxygen-comments-style.txt in the vcgrootfolder/docs)
2008-05-28 13:28:09 +00:00
Paolo Cignoni
9657491e07
First Version of the sampling class (useful for generating point set and metro oriented samplings)
2008-05-27 21:38:37 +00:00
Paolo Cignoni
5bc8b01870
Restrutctured a bit the FaceFace computing function in order to allow other function to compute the set of edges (needed in the new point_sampling.h)
2008-05-27 21:37:32 +00:00
Paolo Cignoni
cd7d4b5053
Added ComputeMeshArea
2008-05-27 21:35:26 +00:00
Paolo Cignoni
25dd36a704
updated to the new temporary data structure
2008-05-16 17:44:31 +00:00
Paolo Cignoni
634b5c4f63
updated to the new temporary data structure and heavily restructured in a big class with uniform naming
2008-05-16 17:44:06 +00:00
Paolo Cignoni
cf7f2af2a9
missing typename
2008-05-16 10:57:41 +00:00
ganovelli
1f929ed8f4
added Trimesh destructor to purge unremoved PerVertex[PerFace]Attribute
2008-05-16 10:07:36 +00:00
Paolo Cignoni
92b267eaa8
added VertexFromQualityRange selection
2008-05-16 04:22:52 +00:00
ganovelli
666040bcf5
PerVertexAttribute and PerFaceAttribute added to Trimesh
2008-05-15 16:32:27 +00:00
ganovelli
3f765b9a39
Point3f->Coordtype
2008-05-14 10:03:29 +00:00
Paolo Cignoni
01f190a697
renamed vertex quality smoothing
...
added face normal smoothing FF (and added a VF to the previous face normal smoothing)
2008-05-08 23:50:44 +00:00
Paolo Cignoni
6dcc5e8a92
added normalizevertex
2008-05-08 23:48:00 +00:00
Paolo Cignoni
89d09cb1b4
Fix a bug in TopoEdgeFlip::UpdateHeap (walking a around a border vertex).
2008-05-06 12:05:55 +00:00
Paolo Cignoni
629e129152
removed useless code (two functions were repeated)
2008-05-02 11:35:45 +00:00
Paolo Cignoni
4114e0e60a
Added color smoothing, scale dependent laplacian changed a SD_old into SD fujumori, improved comments.
2008-05-02 09:43:25 +00:00
Paolo Cignoni
d6aeeb1f35
first draft
2008-04-30 13:23:47 +00:00
Paolo Cignoni
7f3c44851e
added a missing std::
2008-04-24 05:04:25 +00:00
Paolo Cignoni
2a69681d28
added facegrid method to build just the faces
2008-04-24 04:44:48 +00:00
Paolo Cignoni
35daaec635
VertexCurvature method added.
2008-04-23 16:37:15 +00:00
Paolo Cignoni
c918066b8e
Old and useless comments erased.
2008-04-23 16:34:56 +00:00
Paolo Cignoni
6cceb94d59
normalize normals of current faces instead of using new normals
2008-04-19 05:15:44 +00:00
Paolo Cignoni
1f6ba5e9d5
added PerVertexFromCurrentFaceNormal
...
AreaNormalizeFace NormalizeFace
and shortened PerVertexNormalizedPerFaceNormalized
2008-04-18 17:52:08 +00:00
Paolo Cignoni
aea7147a64
added facenormal smoothing
2008-04-18 17:48:29 +00:00
Paolo Cignoni
820bfdd65e
fast return for compacting functions if no compacting is needed
2008-04-18 17:45:23 +00:00
Paolo Cignoni
108af1cd44
Static method Insert added, to avoid some code repetition.
2008-04-17 18:11:47 +00:00
Paolo Cignoni
f93ee8b17d
Improvement in the delaunay test in TriEdgeFlip::ComputePriority.
2008-04-17 15:02:03 +00:00
Paolo Cignoni
f2e6bfa8eb
added HasPerVertexTexCoord ( mesh )
2008-04-15 10:34:07 +00:00
Paolo Cignoni
aa91e279c3
Added code to avoid swap of tex coords after flip.
2008-04-11 15:01:47 +00:00
Paolo Cignoni
81d6e1df96
Edge index of a pos is now E() and no more I()
2008-04-11 13:25:15 +00:00
Paolo Cignoni
4b43ac4de8
First working Version
2008-04-11 10:14:43 +00:00
Paolo Cignoni
fc917d5080
moved Index function from append to the allocate
2008-04-10 09:18:57 +00:00
Paolo Cignoni
a68e2a247e
New version of PlanarEdgeFlip::UpdateHeap method
2008-04-08 14:06:31 +00:00
Paolo Cignoni
f240adbf08
Fixed bug in PlanarEdgeFlip::UpdateHeap method.
2008-04-08 13:53:15 +00:00
Paolo Cignoni
c5a92fd4c0
added missing std::
2008-04-08 09:51:15 +00:00
Paolo Cignoni
a8e1f18844
Added TopoEdgeFlip class. Some refactoring.
2008-04-07 13:48:35 +00:00
Paolo Cignoni
598cb77fb6
Changed the edge split predicate, now it takes a pos instead of two pnts
...
Added quality interpolation
2008-04-07 12:58:48 +00:00
Paolo Cignoni
65933201d7
Added texture topology computation
2008-04-07 08:20:26 +00:00
Paolo Cignoni
8b7d16f29d
added methods for computing various kind of curvatures indicator from the HK values
2008-04-04 13:13:55 +00:00
Paolo Cignoni
9799717a58
minor changes to the topology correctness checks
2008-04-04 10:27:34 +00:00
Paolo Cignoni
46096f6b64
Cleaned up names, now Kg() gives back Gaussian Curvature (k1*k2), while Kh() gives back Mean Curvature 1/2(k1+k2)
2008-04-04 10:26:12 +00:00
Paolo Cignoni
9a31f6318d
template the reorder functions on the vector types (for ocf)
2008-04-03 22:47:10 +00:00
Paolo Cignoni
9f5f1f9fd3
Added templated parameter in PlanarEdgeFlip to set quality function for triangles.
2008-04-02 19:32:26 +00:00
Paolo Cignoni
82976a2001
f->P(i) instead of f->V(i)->P()
2008-03-29 12:05:59 +00:00
Paolo Cignoni
dfa921ff88
Refactoring in the code written to retrieve four vertexes around the edge to flip
2008-03-26 15:01:44 +00:00
ganovelli
929c3d3276
fixed bugs sign of principal direction and mean curvature value
2008-03-25 11:00:56 +00:00
Paolo Cignoni
3e090a41ff
Added a test to avoid degenerative flip which produce two identical overlapping faces.
...
Little code refactoring.
The planar swap now try to improve the average quality of faces, instead of improving the quality of the worst face.
2008-03-20 15:45:54 +00:00
Paolo Cignoni
c2bec8758d
Added safer way of computing the quality histogram, robust in the case the mesh contains some outlier value (very high or very low) that makes the choice of the beginning interval wrong
2008-03-19 05:24:39 +00:00
Paolo Cignoni
d014eae1bc
added color interpolation to butterfly
2008-03-18 10:31:47 +00:00
ganovelli
8a265c9d32
taubin and desbrun estimates added (-> see vcg/simplex/vertexplus/component.h [component_ocf.h|component_occ.h ]
2008-03-17 11:29:59 +00:00
Paolo Cignoni
7c37f033e1
Added check on deleted faces in RemoveDegenerateFace
2008-03-11 14:16:40 +00:00
Paolo Cignoni
3d4222b231
Completed the garbage collecting functions CompactVertexVector and CompactFaceVector.
2008-03-11 09:22:07 +00:00
Paolo Cignoni
d78ce1aee8
Minor changes.
2008-03-08 12:43:26 +00:00
Paolo Cignoni
378008bc5e
added HasConsistentPerWedgeTexCoord
2008-03-06 08:37:16 +00:00
Paolo Cignoni
2aac6ba625
TriEdgeFlip::ComputPriority now use vcg::CircumCenter(triangle) to compute circumcenter coordinates
2008-03-02 11:00:10 +00:00
Paolo Cignoni
9841c8db32
_pos.V(i) become _pos.F()->V(i); TriEdgeFlip now access members of parent class with this->...
2008-03-01 11:16:30 +00:00
Paolo Cignoni
9703ced0df
Added HasPerVertexColor static function
2008-02-21 17:27:06 +00:00
ganovelli
0b3e46c93c
added Cylinder(..). the filename platonic.h is lesser and lesser significant...
2008-02-15 14:38:32 +00:00
ganovelli
9751b6fc2c
changes to use vcg::vert::ImportLocal
2008-02-15 12:51:59 +00:00
Paolo Cignoni
73757c1177
added missing include matrix33
2008-02-15 08:08:59 +00:00
Paolo Cignoni
b8f1e0f612
added a missing IsD() check
2008-02-07 10:24:51 +00:00
Paolo Cignoni
fcf54790ea
added hasPerWedgeColor and HasPerWedgeNormal
2008-01-28 14:46:03 +00:00
Paolo Cignoni
eab6ea2400
added HasPerFaceNormal and HasPerVertexNormal
2008-01-28 08:42:07 +00:00
Paolo Cignoni
58482cfd03
added management of normals
2008-01-28 08:39:56 +00:00
Paolo Cignoni
5e52fd038c
corrected small bug in RemoveDuplicateVertex
2008-01-24 11:52:05 +00:00
ganovelli
f7e63772a2
include added
2008-01-19 17:43:49 +00:00
ganovelli
7051654171
more appropriate function names, licence updated, comment added
2008-01-12 19:41:46 +00:00
ganovelli
c919dca603
Recompiled from previous out of date version. Still to revise but working
2008-01-12 19:07:05 +00:00
Paolo Cignoni
5519491d1f
changed radius from percentage based to absolute and reverted the sign of the default walking
2007-12-18 17:30:04 +00:00
Paolo Cignoni
8b69adbfbd
removed harmless gcc warnings
2007-12-13 17:57:33 +00:00
Paolo Cignoni
1f38a990b5
forgotten required std::
2007-12-11 20:18:55 +00:00
Paolo Cignoni
7d6a210e75
Added the CompactVertexVector garbage collecting function.
2007-12-11 11:36:03 +00:00
Paolo Cignoni
200add7664
disambiguated pow call (again)
2007-11-23 17:02:47 +00:00
Paolo Cignoni
5de12ccbf3
disambiguated pow call
2007-11-23 15:42:11 +00:00
ganovelli
743e4f7a9e
compilation with gcc
2007-11-20 09:50:32 +00:00
ganovelli
a5d00b1c71
added missing newline at the end of file
2007-11-20 09:49:53 +00:00
ganovelli
79067524eb
added updating of vertex and face normals
2007-11-14 11:56:23 +00:00
Federico Ponchio
3bb9c7cbc6
Addded check for no color in mesh
2007-11-06 16:12:24 +00:00
Paolo Cignoni
b50e3f7760
added selection to the pasodoble smoothing
2007-11-05 23:47:20 +00:00
Paolo Cignoni
c2f8cdac1f
removed past end access in an assert
2007-11-05 23:46:43 +00:00
Paolo Cignoni
573ff87db2
Added a missing IsD() test
2007-10-29 11:32:46 +00:00
Paolo Cignoni
d063cb7493
bug in FaceBorderFromNone corrected (same as in Topology.h) Ganovelli
2007-10-22 14:55:07 +00:00
Paolo Cignoni
6144006bfd
Re-Wrote basic build function
2007-10-19 22:29:36 +00:00
Paolo Cignoni
12c8c9f3ff
Added Allocator::DeleteFace and Allocator::DeleteVertex; Now the use of SetD() should be deprecated.
2007-10-16 16:46:53 +00:00
Massimiliano Corsini
1e6b800880
remove signed/unsigned warning
2007-10-09 12:04:06 +00:00
Paolo Cignoni
6cee7ca8cd
Overloaded Intersection function to compute trimesh-plane intersection,it return the set of faces that are contained into intersected cells.
2007-09-19 12:16:31 +00:00
Paolo Cignoni
c704229b67
corrected computation of Barycenter
2007-08-20 21:06:29 +00:00
ganovelli
be681204b5
added
2007-07-31 12:31:34 +00:00
Paolo Cignoni
3019fb9177
Added remove degenerate vertex to manage vertex with NAN coords
2007-07-24 07:09:49 +00:00
Paolo Cignoni
91cbd0047f
added the missing PerVertexNormalizedPerFaceNormalized
2007-07-12 23:11:35 +00:00
ganovelli
66c083f919
added return type
2007-07-05 16:32:04 +00:00
Federico Ponchio
ec52ffd973
*** empty log message ***
2007-06-15 15:04:43 +00:00
Federico Ponchio
acc11c1df4
*** empty log message ***
2007-06-11 15:26:30 +00:00
Paolo Cignoni
f25f034dcb
Minor changes.
2007-06-07 15:34:11 +00:00
Paolo Cignoni
7c12dca79d
Minor changes : replaced TVp and TVi calls with VTp and VTi respectively.
2007-06-07 10:20:29 +00:00
Paolo Cignoni
080ec71ca5
Use the barycenter function from triangle3.h instead of
...
the one in face\base.h.
2007-06-06 15:38:57 +00:00
Nico Pietroni
ac2edcede5
compiling error resolved
2007-06-06 14:26:51 +00:00
Paolo Cignoni
90217d66c4
Replaced call to old StarSize method with NumberOfIncidentFaces
2007-06-04 06:45:05 +00:00
Federico Ponchio
511f4053c9
*** empty log message ***
2007-06-01 09:07:23 +00:00
Federico Ponchio
7823c5dba1
FIxed off-by-one error on FaceBorderFromNone.
2007-05-31 15:24:50 +00:00
Paolo Cignoni
e4aa42118a
Small gcc compiling issues
2007-05-31 10:08:16 +00:00
Paolo Cignoni
f354a9f445
Small gcc compiling issues
2007-05-31 09:39:56 +00:00
Federico Ponchio
007d53b7e0
*** empty log message ***
2007-05-30 15:09:58 +00:00
Federico Ponchio
73d01b5408
*** empty log message ***
2007-05-30 14:03:49 +00:00
Federico Ponchio
35d53d62c3
VFi++ -> ++VFi
2007-05-29 00:07:06 +00:00
Paolo Cignoni
a9ed51c145
Added some comments, and cleared startup a little
2007-05-22 15:25:14 +00:00
Paolo Cignoni
dd6a5552dc
Added VertexClear
2007-05-22 15:19:42 +00:00
Paolo Cignoni
97d7baf66c
Corrected gcc compiling issues
2007-05-21 13:22:40 +00:00
Paolo Cignoni
7ec9437835
Corrected gcc compiling issues
2007-05-21 11:12:10 +00:00
ganovelli
45bd389107
changes to comply "plus" types
2007-05-04 16:34:31 +00:00
Paolo Cignoni
7a36b9fadd
only use typename when necessary
2007-05-02 13:25:45 +00:00
Nico Pietroni
176c70e7d7
*** empty log message ***
2007-04-24 09:44:48 +00:00
Paolo Cignoni
3b9bf21738
Corrected bug in selectionVertexFromFaceStrict
2007-04-20 10:11:51 +00:00
Nico Pietroni
058eed2f38
- line 152 changed call intersection to IntersectionPlaneTriangle because changing in function's name
2007-04-10 22:46:57 +00:00
Paolo Cignoni
e7cf8d9203
Changed use of selected to visited flags. Improved variable namings and comments
2007-03-27 09:40:47 +00:00
Paolo Cignoni
81bfbcaed8
corrected managment of selected flag when refining the whole mesh flipmesh
2007-03-27 09:25:14 +00:00
Paolo Cignoni
f0eec0788b
added honoring of selected flag for flipmesh
2007-03-27 09:23:32 +00:00
Paolo Cignoni
ae9d8a8535
Solved an issue related to different casting double-float between gcc 3 and gcc 4
2007-03-22 11:07:16 +00:00
Paolo Cignoni
8f6e26f281
Substituted std::max with vcg::math::Max
2007-03-16 10:51:46 +00:00
mtarini
84946de883
Texture coord name change! "TCoord" and "Texture" are BAD. "TexCoord" is GOOD.
2007-03-12 15:42:11 +00:00
mtarini
22fd220c6f
Texture coord name change! "TCoord" and "Texture" are BAD. "TexCoord" is GOOD.
2007-03-12 15:37:19 +00:00
Paolo Cignoni
16ca848580
Added missing include and changed the call to jacobi
2007-03-08 22:48:17 +00:00
Paolo Cignoni
0ee9210dd2
std::numeric_limits<ScalarType>::max() -> (std::numeric_limits<ScalarType>::max)()
...
to avoid annoying misunderstaindings on msvc8
2007-02-27 15:17:17 +00:00
Paolo Cignoni
02beca15e3
Added Rad to the NormalThr Option and removed a bug in multiple exectuion of non optimal simplification (missing an isD check)
2007-02-25 09:20:10 +00:00
Paolo Cignoni
5ec1f9b0d3
Added guards on msvc pragmas
2007-02-22 09:18:41 +00:00
ganovelli
17560a65c0
Added HasPerVertexFlag
2007-02-14 15:31:41 +00:00
mtarini
28eb5780f0
added parameter theta (from conformal to equiareal) to AreaPresTextureOptimizer.
...
Improved feature lists (comments).
2007-02-02 04:11:00 +00:00
mtarini
436c9ae56c
added three general-utility global functions for texture coordinates: SmoothTextureCoords, IsFoldFree, MarkFolds (see descriptions)
2007-02-02 01:39:58 +00:00
mtarini
cea2074e7d
added a few general comments on AreaPreserving optimizer, recapping optimizer features.
2007-02-02 01:23:47 +00:00
mtarini
5a341ba1f4
First version: general virtual class for texture optimizers. A subclass for area preservation.
2007-02-02 01:18:15 +00:00
mtarini
4b0950bf11
First version: general virtual class for texture optimizers. A subclass for area preservation.
2007-02-02 01:16:27 +00:00
mtarini
d1f3afae97
First version: general virtual class for texture optimizers. A subclass for area preservation.
2007-02-02 00:55:35 +00:00
Paolo Cignoni
cc7146cc86
Added small comment to grid function
2007-02-01 06:38:27 +00:00
Paolo Cignoni
5c9ed4eb3b
Added FaceFromBorder
2007-02-01 06:37:05 +00:00
Paolo Cignoni
a2439416b2
Remove some usless code in Minimum Weight Triangulation.
2007-01-31 15:25:49 +00:00
Paolo Cignoni
9cf8cbd534
Bugfix the init function.
2007-01-31 15:24:30 +00:00
Paolo Cignoni
33d860cbb9
Bug fix
2007-01-31 11:46:12 +00:00
mtarini
5b54eecefa
aggiunta la VertexBorderFromNone (flag bordo per vertici senza richiedere nulla)
2007-01-30 18:49:23 +00:00
Paolo Cignoni
ef3acb4fc8
Removed unuseful CoordType test
2007-01-27 13:14:34 +00:00
Paolo Cignoni
2797b41cd5
Corrected ClearHeap Bug (thanks to pirosu)
2007-01-26 21:27:05 +00:00
Paolo Cignoni
9732b0f8b8
Added Finalize() method to the interface, corrected minor bugs on border preserving and postsimplification cleanup
...
Avoided double make_heap (it is done only in the local_optimization init)
2007-01-19 09:13:14 +00:00
Paolo Cignoni
f991e164a1
Added Finalize() method to the interface
2007-01-19 09:13:09 +00:00
Paolo Cignoni
a707c1d217
added missing typenames
2007-01-18 18:15:14 +00:00
Paolo Cignoni
090e33d162
The minimum weight algorithm keep the topology consistent.
2007-01-18 11:17:43 +00:00
Paolo Cignoni
fdaddf0e79
Added TrSplit function.
2007-01-17 14:31:47 +00:00
Paolo Cignoni
2226163daf
First working release.
2007-01-15 11:41:09 +00:00
ganovelli
d60eb7127a
currMetric inizialied to heap.front() (it was heap.back()- wrong)
2007-01-11 11:48:33 +00:00
Paolo Cignoni
f4d3561502
Added test in AddVertices to do not update un-initalized vert references (for newly allocated faces)
2007-01-11 10:24:25 +00:00
Paolo Cignoni
349a05f6f1
Removed useless and conflicting inclusion of face.h
2007-01-11 10:12:19 +00:00
matteodelle
cd277247cc
*** empty log message ***
2007-01-10 17:25:18 +00:00
Paolo Cignoni
0c8a863586
Bugfixed ComputeDihedralAngle function
2007-01-10 12:07:54 +00:00
Nico Pietroni
60958ee0e1
added initial define and included missing files
2007-01-03 15:51:28 +00:00
Paolo Cignoni
2581b0015e
Bug fix on ComputeDihedralAngle function
2006-12-27 15:09:52 +00:00
Paolo Cignoni
8547f05f14
Commented some variant of the quality measure of weighted ears
2006-12-12 11:14:51 +00:00
ganovelli
466ab5840c
added missing initialization of currMetric
2006-12-11 14:09:44 +00:00
Paolo Cignoni
f57a022c06
Added many this-> for gcc compiling
2006-12-07 00:40:18 +00:00
Paolo Cignoni
38e3e600a9
Corrected bugs on selfintersection
2006-12-06 13:03:59 +00:00
Nico Pietroni
d391c5f9f6
added max distance to rayIterator
2006-12-06 12:59:13 +00:00
Paolo Cignoni
b9be8bd5fd
Heavily restructured and corrected. Now a single Close ear function
...
Corrected Hole search function, and management of double non manifold vertex in a hole
Changed priority strategy in the heap, now a mix of quality and dihedral angle.
Changed but still untested IntersectionEar
2006-12-06 00:12:53 +00:00
ganovelli
b2bfe8dc1b
*** empty log message ***
2006-12-03 14:56:30 +00:00
ganovelli
aa74eaa4e3
created
2006-12-03 14:55:44 +00:00
Paolo Cignoni
1680347626
Corrected bug in the IsFFAdjacencyConsistent the Topology checking function.
2006-12-01 21:26:14 +00:00
Paolo Cignoni
02456f0505
Corrected bug in the search of holes. Removed output prints
2006-12-01 21:24:16 +00:00
Paolo Cignoni
9c5b7ce5a1
Corrected pop_heap vs pop_back issue in heap usage
2006-12-01 08:53:55 +00:00
Paolo Cignoni
d946007a70
Added a function for FF topology consistency check
2006-12-01 08:12:30 +00:00
Paolo Cignoni
2fc96f2682
Added Callback, Corrected some spelling errors (adiacense -> adjacency).
...
Added Validity Check function for hole loops
2006-12-01 00:11:17 +00:00
Paolo Cignoni
fcc1187856
Corrected IsOrientedMesh. After the templating of the swapedge it did not worked any more....
...
Added Texture management to the FlipMesh
2006-12-01 00:00:56 +00:00
Paolo Cignoni
638be12fdc
small gcc compiling issues
2006-11-30 11:49:20 +00:00
Paolo Cignoni
70c16f01ef
Made static exposed funtions of the class
2006-11-29 16:21:45 +00:00
Paolo Cignoni
5670460684
Added check with the new end and avoided dangerous updating of already updated pointers
2006-11-29 15:58:50 +00:00
Paolo Cignoni
ef0a22c229
Removed limit.
2006-11-29 15:25:22 +00:00
Paolo Cignoni
4110ebe3aa
Code refactory and bugfix.
2006-11-29 15:18:49 +00:00
Federico Ponchio
eb0ae58b64
removede int<->pointer conversions.
2006-11-29 14:20:10 +00:00
Paolo Cignoni
2f592ca2f8
Added Consistency check in the HasVFAdj static function
2006-11-28 22:35:29 +00:00
Paolo Cignoni
d614e6baa5
Added default constructor with null initialization to adjacency members.
...
AddFaces and AddVertices NEED to know if the topology is correctly computed to update it.
2006-11-28 22:34:28 +00:00
Paolo Cignoni
b50b9a7d8b
Added IsSizeConsistent
2006-11-27 10:36:35 +00:00
Paolo Cignoni
2954c88fef
Now compiles on gcc under linux.
2006-11-24 10:42:39 +00:00
Paolo Cignoni
d74b87b91e
Code refactory and added minimum weight triangolation.
2006-11-22 13:43:28 +00:00
Federico Ponchio
bfdae426b8
passing VDistFunct() to functions wanting a reference, not a value
...
(why a reference btw?)
2006-11-21 16:06:54 +00:00
Federico Ponchio
4687fa762f
Added usual typename.
2006-11-13 13:13:49 +00:00
Federico Ponchio
cc5d4df4e8
Removed a couple of useless assert.
2006-11-13 13:12:27 +00:00
Paolo Cignoni
73985fe506
Clear some useless code
2006-11-13 10:11:38 +00:00
Nico Pietroni
94d7ced114
added normalization of normal in DoRay functions
2006-11-12 02:41:03 +00:00
Nico Pietroni
fc770bdd96
added DoRayFuntion that return interpolated normal
2006-11-10 11:41:49 +00:00
Paolo Cignoni
d2cdb34aa2
Corrected RemoveNonManifoldFace
2006-11-09 17:26:24 +00:00
Paolo Cignoni
e2733d55df
Necessary changes for compilation with gcc 3.4.6. Especially the hash function is a problem
2006-11-07 15:13:57 +00:00
Paolo Cignoni
06047a697d
gcc compiling issues
2006-11-07 11:47:14 +00:00
Paolo Cignoni
865bb26e54
Corrected some errors in the reflections Has*** functions
2006-11-07 11:29:24 +00:00
Paolo Cignoni
62244759fc
Added Quality weighted laplacian smoothing
2006-11-07 11:28:02 +00:00
Paolo Cignoni
0146bedd72
Added missing std::
2006-11-07 07:56:43 +00:00
Paolo Cignoni
1c8f2d9055
Leipa ear now compute max dihedral angle.
2006-11-06 16:12:29 +00:00
ganovelli
05090aaee1
changed access throught iterator with static call to comply 2005 compiler
2006-10-31 11:30:41 +00:00
ganovelli
cd438cf489
changed &*vert.end() to !vert.empty() -> &vert.back() to comply vs2005 compiler
2006-10-27 13:26:49 +00:00
ganovelli
30fac27e73
added override to HasFFAdjacency , HasVFAdjacency for the optional attributes (see also complex/trimesh/allocate.h)
2006-10-27 11:08:18 +00:00
ganovelli
841b424b5c
the calls to HasFFAdjacency e HasVFAdjacency have been changed to override them for the optional attributes (see vcg/complex/trimesh/base.h)
2006-10-27 11:06:29 +00:00
ganovelli
73cf33acac
added history in the file
2006-10-23 12:06:36 +00:00
Paolo Cignoni
4c66ab97d9
Added missing std::
2006-10-20 07:44:45 +00:00
Federico Ponchio
7d06710d46
I nuovi seed ora devono essere ad almeno radius dalla mesh.
2006-10-19 10:11:01 +00:00
Paolo Cignoni
98d9d02773
Corrected Laplacian, Added selection to HCSmooth
2006-10-19 07:33:03 +00:00
Federico Ponchio
8fd20ba5aa
*** empty log message ***
2006-10-18 21:26:39 +00:00
Federico Ponchio
50a6a8b79b
*** empty log message ***
2006-10-18 21:22:15 +00:00
Federico Ponchio
2d6cd78082
*** empty log message ***
2006-10-18 15:40:04 +00:00
Paolo Cignoni
8af861d31d
New policy for compute quality in TrivialEar.
...
Bugfixed LeipaEar.
Added new algorithm "selfintersection" with test for self intersection.
2006-10-18 15:06:47 +00:00
Federico Ponchio
310fcc2947
*** empty log message ***
2006-10-18 14:52:24 +00:00
Federico Ponchio
4e29f4f87e
*** empty log message ***
2006-10-18 14:22:17 +00:00
Federico Ponchio
7047f4d4a7
using existing faces.
2006-10-18 14:08:50 +00:00
Federico Ponchio
e4a4dd72bb
Fixed a few bugs, added a few tricks.
2006-10-18 13:15:30 +00:00
Federico Ponchio
36db742b83
working backup
2006-10-18 10:08:15 +00:00
Paolo Cignoni
804c4aaf1c
Added #include <assert.h>
2006-10-17 06:54:14 +00:00
Federico Ponchio
947b27d691
Added callback
2006-10-16 14:28:25 +00:00
Paolo Cignoni
570929bc45
First Working Version
2006-10-16 08:50:58 +00:00
Paolo Cignoni
7be5d031b9
typenames and qualifiers for gcc compliance
2006-10-15 07:31:22 +00:00
Federico Ponchio
eb691cb768
*** empty log message ***
2006-10-14 16:20:06 +00:00
Federico Ponchio
568dbaf75f
Rimossa (temporaneamente) la parte che cerca le altre componenti connesse.
2006-10-14 12:03:55 +00:00
Federico Ponchio
4a9d5af123
*** empty log message ***
2006-10-14 10:46:40 +00:00
Paolo Cignoni
736ef2bc24
Decreased vn when deleting a vertex
2006-10-14 00:39:52 +00:00
Paolo Cignoni
b7d931e7dc
Removed the class name Pivot before the methods of the class (gcc tolerated this!)
2006-10-14 00:15:21 +00:00
Federico Ponchio
b0a192b60c
First version somewhat stable.
2006-10-13 02:51:24 +00:00
Federico Ponchio
711e5ad192
*** empty log message ***
2006-10-13 02:11:35 +00:00
Paolo Cignoni
6e09ed9458
Bugfix and added a new type of ear (Liepa like)
2006-10-10 09:12:02 +00:00
Paolo Cignoni
6295f96fbd
Heavyly restructured for meshlab inclusion. Now the access to the quadric elements are mediated by a static helper class.
2006-10-09 20:12:55 +00:00
Paolo Cignoni
2896499a4b
Changed some access to VertexFaceIterator to reflect the shorter new operators.
2006-10-09 20:09:40 +00:00
Paolo Cignoni
59d52a10e9
Added Remove NonManifoldFace
2006-10-09 20:06:46 +00:00
Paolo Cignoni
d644daee6b
Optimized version of "EAR HOLE FILLING", the Ear is selected according to its dihedral angle.
2006-10-09 10:07:07 +00:00
Paolo Cignoni
c2fb20c70b
Updated to the new style face->Normal() becomes Normal(face)
2006-10-07 17:20:25 +00:00
Paolo Cignoni
2c722372aa
removed a useless include
2006-10-07 15:04:25 +00:00
Paolo Cignoni
2daa4cdd9b
first working implementationof "EAR HOLE FILLING".
2006-10-06 15:28:14 +00:00
Paolo Cignoni
1ada6a63ce
BugFix
2006-10-02 12:06:40 +00:00
Federico Ponchio
b5f612153c
usual typename missing
2006-10-02 09:31:47 +00:00
Paolo Cignoni
655ae0ce8b
Fixed a few bug.
2006-09-29 15:11:41 +00:00
Paolo Cignoni
aabba26c14
Removed a useless, wrong version of AddFaces
2006-09-29 14:40:22 +00:00
Paolo Cignoni
adfa71e1e0
It close one simple hole . . .
2006-09-27 15:33:32 +00:00
Paolo Cignoni
b6c4ae457c
Frist working release whit a few bugs.
...
It almost fills the hole ...
2006-09-27 09:29:53 +00:00
Paolo Cignoni
d59c8cdc49
Added new version of pasodoble smoothing
2006-09-25 09:41:41 +00:00
Paolo Cignoni
fb23c731ab
First Non working Version
2006-09-25 09:17:44 +00:00
Paolo Cignoni
ac4efc84ef
initial commit
2006-09-21 18:10:05 +00:00
Federico Ponchio
eb6d41150e
VDistFunct() at line 292 was passed as a temporary.
...
Invalid under g++. Fixed.
2006-09-20 17:18:26 +00:00
Paolo Cignoni
11d1545f5f
corrected bounds of a vector scan
2006-08-31 13:11:12 +00:00
Paolo Cignoni
4b9e281294
Added missing std:: to swap
2006-08-30 12:59:49 +00:00
Paolo Cignoni
63924b6ba0
Reverted to version 1.13. Version 1.14 was done on outdated version.
2006-08-30 06:50:07 +00:00
Paolo Cignoni
0004ccb15a
added typedef VertContainer VertexContainer to avoid inconsistency with pre-existing methods
2006-08-23 16:49:25 +00:00
Paolo Cignoni
47b31587ba
added bbox of the mesh
...
vn int->size_t
2006-08-23 15:32:24 +00:00
Paolo Cignoni
4c34a7674c
*** empty log message ***
2006-08-23 15:29:44 +00:00
Paolo Cignoni
3cd4a11422
removed types FaceType, FacePointer, FaceIterator
2006-08-23 15:28:04 +00:00
Nico Pietroni
184edbcc3f
first release version
2006-07-26 08:09:09 +00:00
Paolo Cignoni
10eb316ac5
Little improvement
2006-07-24 13:39:39 +00:00
Paolo Cignoni
7752f015eb
Added default argument for compilation on linux
2006-07-17 09:25:28 +00:00
Paolo Cignoni
38e60efb30
Minor. Added a disambiguating this at the constructor of trimesh
2006-07-10 14:26:22 +00:00
ganovelli
9374d88dbe
misleading comment removed
2006-07-06 12:30:32 +00:00
ganovelli
29b18eb3c0
Aggiunta superclasse UpdateTopology templated sui container e con funzioni sui container
2006-06-29 13:07:33 +00:00
ganovelli
fe085b09ef
Initial commit
2006-06-29 13:03:41 +00:00
ganovelli
a8d6bb38ed
agiunta UpdateBoundingBase, superclasse di UpdateBounding, templated sul container di vertici.
2006-06-29 13:02:38 +00:00
Paolo Cignoni
f7dce1ceef
Added missing IsD tests
2006-06-18 20:49:30 +00:00
Paolo Cignoni
6cfcd4eca0
removed wrong fn setting
2006-06-18 20:42:01 +00:00
Marco Di Benedetto
ee1b991e25
Corrected ClearHeap(): iterator "hi" not decrementable if it was the first of the container.
2006-06-09 07:28:43 +00:00
Paolo Cignoni
5f423b1e96
Added ColorPreserving Cellbase template.
2006-06-08 13:55:16 +00:00
Paolo Cignoni
8bfbf1111d
Changes for compilation on linux AMD64. Some remarks: Linux filenames are case-sensitive. _fileno and _filelength do not exist on linux
2006-06-06 14:35:32 +00:00
Paolo Cignoni
6ffc992641
Re-adapted to ms compilers
2006-05-26 10:18:11 +00:00
Paolo Cignoni
0102ac5f9f
missing std and other gcc detected syntax errors
2006-05-25 09:41:09 +00:00
Paolo Cignoni
18458e04a2
Many changes for the different interpretation of hash_set between gcc and .net. Probably to be completed.
2006-05-25 09:37:14 +00:00
Paolo Cignoni
8be82261cf
Updated HasPerFaceColor/Quality to the new style with mesh param.
2006-05-25 04:40:57 +00:00
Marco Di Benedetto
9ced8993e3
Corrected bbox inflation amount in case of _cellsize != 0
2006-05-24 16:42:22 +00:00
Paolo Cignoni
31d29d1f32
better comment to the init parameters
2006-05-24 15:16:01 +00:00
Paolo Cignoni
a21b630e88
Added missing std:: to swap
2006-05-24 08:54:04 +00:00
Paolo Cignoni
f641f1cd17
Removed not working Equalized color (use funcs in stat.h)
2006-05-21 07:00:01 +00:00
Paolo Cignoni
b830d98941
Initial Commit
2006-05-21 06:59:13 +00:00
Paolo Cignoni
83a8f5efa3
Added DoubleFace management
2006-05-21 06:40:31 +00:00
Marco Di Benedetto
f001cdf2e2
Added check for empty generated mesh (prevent call to mesh allocator with zero vertices or faces).
2006-05-19 20:49:03 +00:00
Marco Di Benedetto
acf23d578f
added check for deleted faces and modified/added std namespace qualifier.
2006-05-18 22:20:53 +00:00
Paolo Cignoni
b24b496f50
Some minor optimizations
2006-05-18 13:59:20 +00:00
Paolo Cignoni
c3833c0aa7
First working Version
2006-05-16 21:56:06 +00:00
Paolo Cignoni
b9cb941529
Redesigned the function for the removal of faces according to their area and edge lenght
2006-05-16 21:51:07 +00:00
Paolo Cignoni
740b84c8c6
Removed unused box function and rewrote initial comment.
2006-05-16 21:36:54 +00:00
Nico Pietroni
413995409c
Updating of edge values id divided into 2 functions ( the first one update only a face...) added also resetting of edges flags.. (see first line of Set function)
2006-05-15 13:12:36 +00:00
Paolo Cignoni
dc06357cfa
HasPerWedgeTexture -> HasPerWedgeTexture(m)
2006-05-03 21:42:10 +00:00
Paolo Cignoni
6ce9535dc3
Changed HasMark to HasPerFaceMark(m) and commented some unused internal vars of the class
2006-05-03 21:40:27 +00:00
Paolo Cignoni
3cb1b4442d
Added new style HasPerFaceColor(m) and HasPerFaceMark(m)
2006-05-03 21:35:31 +00:00
Paolo Cignoni
9ce4c88f2a
Corrected IsDeleted -> isD
2006-05-03 21:23:25 +00:00
Marco Di Benedetto
e3a1490ec0
First Commit.
2006-05-02 14:17:36 +00:00
Paolo Cignoni
4ae1cb2a64
added a ; how could this ever compile?
2006-04-18 07:01:22 +00:00
Paolo Cignoni
2bf25202a4
Added ConnectedIterator (should be moved somewhere else)
...
Cleaned ConnectedComponents
2006-04-12 15:08:51 +00:00
Paolo Cignoni
5e451b6435
commented out one function which does not compile on linux with gcc 3.4.5
2006-04-11 13:51:21 +00:00
Paolo Cignoni
29822d8362
changes necessary for gcc 3.4.5 on linux 64bit
2006-04-11 08:08:28 +00:00
Massimiliano Corsini
5358e40f63
Add cast to avoid warning
2006-03-29 10:12:08 +00:00
Paolo Cignoni
47443e5bb5
Double->Scalar in dodecahedron
2006-03-27 04:18:35 +00:00
Federico Ponchio
5b39ff496a
HACK: MaxVal(0.0f) not defined in vcg/math/base.h as it should be,
...
changing it to 1e36 (pretty close :P)
2006-03-01 10:29:55 +00:00
Federico Ponchio
6faf120b1f
Added typename
2006-02-28 16:51:29 +00:00
Paolo Cignoni
a16d494cd5
fix bug end iterator++
2006-02-28 12:22:48 +00:00
Paolo Cignoni
baad6db4b9
fix bug end iterator++
2006-02-28 12:13:49 +00:00
Paolo Cignoni
d1bdc88911
minor bug in Face-Face topology loop fixed
2006-02-27 19:26:14 +00:00
Federico Ponchio
ec70371a78
Area -> doublearea/2
...
added some typename
2006-02-27 18:02:57 +00:00
Paolo Cignoni
5fb0b4acc2
minor bug in Face-Face topology loop fixed
2006-02-27 11:56:48 +00:00
Nico Pietroni
ce453edfb1
sintax error corrected
2006-02-09 08:38:04 +00:00
Nico Pietroni
1ea84f2954
commented one GetClosestFace function ... the code is the same then getClosest that return barycentric coordinates
2006-02-08 17:02:41 +00:00
Paolo Cignoni
9e5788c078
Added missing typenames
2006-02-06 10:45:47 +00:00
Paolo Cignoni
001fd1c573
Added IsD() test in SelfIntersection
2006-02-01 15:27:00 +00:00
Paolo Cignoni
2857c3bafb
Corrected use of HasPerWedgeTexture
2006-01-30 09:00:40 +00:00
Paolo Cignoni
558c52d8cb
Corrected Grid
2006-01-30 08:09:05 +00:00
Paolo Cignoni
e61203f1ba
Added missing typenames
2006-01-30 08:03:45 +00:00
Massimiliano Corsini
3b049ec0e4
fix signed/unsigned mismatch
2006-01-27 09:58:47 +00:00
Nico Pietroni
29c6470b0b
used template types instead of point3f and float inside function calls
2006-01-24 13:23:22 +00:00
Paolo Cignoni
527e4042b5
Some changes in class Facet ( constructor and operator < )
2006-01-24 09:58:11 +00:00
Paolo Cignoni
1e427593b7
Added a missing vcg::
2006-01-23 13:33:54 +00:00
Paolo Cignoni
02f1e55b83
Added Grid function (to build range map meshes...)
2006-01-22 17:10:15 +00:00
Paolo Cignoni
de85929aee
Bug due to wrong compuation of size of auxiliary vector (vn instead of vert.size() )
2006-01-22 17:08:50 +00:00
Paolo Cignoni
a5f755bf9f
vi/fi mismatch in ClipWithBox
2006-01-22 17:06:27 +00:00
Paolo Cignoni
f5a5f77728
Corrected use of Area with the unambiguous DoubleArea
...
Added ClipWithBox function
2006-01-22 10:07:42 +00:00
Nico Pietroni
f3d28fb710
erased extended marching cube method call.
2006-01-20 16:37:23 +00:00
Paolo Cignoni
f8400e07c4
fix bug end iterator++
2006-01-19 14:18:08 +00:00
Paolo Cignoni
56dbb91da2
add std:: namespace...
2006-01-19 14:06:37 +00:00
Paolo Cignoni
8e4764e73d
Initial Release
2006-01-11 15:45:21 +00:00
Paolo Cignoni
35b967720e
Added RemoveDegenerateFace and added its automatic invocation at the end of RemoveDuplicateVertex
2006-01-11 15:40:14 +00:00
Nico Pietroni
4bc0fa600a
correct pass of variable closest_pt by reference in getclosestFace function
2006-01-10 13:31:54 +00:00
Paolo Cignoni
9f49fb189a
Added ndim namespace to generic Matrix
2006-01-03 15:29:49 +00:00
Nico Pietroni
d84e14fc2f
minor changes
2006-01-03 11:12:14 +00:00
Paolo Cignoni
1c29faf575
Added some missing std::
2006-01-02 09:49:36 +00:00
Paolo Cignoni
ac8493bbad
Splitted IsComplexManifold in IsTwoManifoldFace and IsTwoManifoldVertex
2005-12-29 12:27:37 +00:00
Paolo Cignoni
6de3303285
removed div by zero bug in callback of refine (tnx to Mario Latronico)
2005-12-22 11:24:09 +00:00
Massimiliano Corsini
3aa5e5f037
Remove printf
2005-12-21 14:15:03 +00:00
Massimiliano Corsini
ebf668b881
Modify genus computation
2005-12-21 13:09:03 +00:00
Paolo Cignoni
738d1e1401
Better comment and a parameter more for UpdateColor::VertexBorderFlag
2005-12-19 16:47:42 +00:00
Massimiliano Corsini
34acf11b61
Fix IsOrientedMesh
2005-12-19 15:13:06 +00:00
Paolo Cignoni
94853880bb
Reimplemented SelfIntersection
2005-12-16 13:13:44 +00:00
Massimiliano Corsini
54f4709e35
Reimplement isOrientedMesh
2005-12-16 10:54:59 +00:00
Massimiliano Corsini
8acb41e2a6
Take account for deletion in isComplexManifold
2005-12-16 10:53:39 +00:00
Massimiliano Corsini
4dc5c85023
Take account for deletion in isRegularMesh
2005-12-16 10:51:43 +00:00
Massimiliano Corsini
ba6382f984
Reimplement isComplexManifold
...
Reimplement isRegular
2005-12-15 13:53:13 +00:00
Nico Pietroni
ad86fd52a2
added assert on deleted flag condition
2005-12-14 17:14:13 +00:00
Massimiliano Corsini
00d3854048
Fix genus computation
2005-12-14 14:04:35 +00:00
ganovelli
546c392fc4
first importing from old version. NOT optimized! It works with VertexFace Adjacency even over non manifolds
2005-12-13 17:17:19 +00:00
Paolo Cignoni
9b82d2e334
Added Callback in refine
2005-12-13 11:01:01 +00:00
Paolo Cignoni
1885e99e9d
Removed unuseful detectunreferenced
2005-12-12 12:11:40 +00:00