Commit Graph

1066 Commits

Author SHA1 Message Date
ganovelli 122f0412c8 made compliant to polygon_support 2008-11-12 16:03:24 +00:00
ganovelli c7e86ab57a remove unreferenced variable 2008-11-12 16:01:11 +00:00
ganovelli a5cbc8c7f8 added return to RemoveNonManifoldVertex 2008-11-12 16:00:27 +00:00
ganovelli e37cca54a3 [EDGE SUPPORT]
Added default template to TriMesh to include the edges.
Added peredge attributes.
These modification do not require any change to the code using TriMesh, but it allows
to specify a real type of edge in case you want to use it.
2008-11-12 15:51:01 +00:00
ganovelli 1aa88e635b added update of newEnd in AddFaces
Added [de]allocation of edges and per-edges attributes.
2008-11-12 15:46:16 +00:00
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