Commit Graph

78 Commits

Author SHA1 Message Date
Nico Pietroni 61d4d72c4c removed closests[i]->C()=Color4b::Green; form MergeCloseVertex function 2009-07-14 14:31:20 +00:00
Paolo Cignoni e8908f7742 Added CountBitLargePolygons (better name suggestion?) for counting the number of polygons in the case that there are vertexes surrounded by faux edges too (like in the case of dodecahedron of platonic.h) 2009-06-26 23:18:51 +00:00
Paolo Cignoni c7320a32a3 added functions to remove connected components 2009-06-25 08:49:37 +00:00
Paolo Cignoni b2bc0d07ba small gcc compilation errors (typenames, missing std...) 2009-06-25 07:29:29 +00:00
mtarini c0b0c7469c Added diagnostic and measurement methods for bit-polygonal meshes: IsBitQuadOnly, IsBitTriOnly, IsBitPolygonal, IsBitTriQuadOnly, CountBitQuads, CountBitTris, CountBitPolygons, HasConsistentPerFaceFauxFlag... 2009-05-26 18:19:17 +00:00
mtarini a7e5e51ddc added IsPolygonal, which tells you whether the mesh actually represents a polygonal mesh (false if triangle only) 2009-04-27 14:13:28 +00:00
Paolo Cignoni 1236df14c5 Added RemoveDuplicateFace Function 2009-04-23 21:21:21 +00:00
Paolo Cignoni fb261dc8bf added cleaning function to merge very close vertice (for the one who needs a unify duplicate vertices that unify also vertices that are not exactly the same 2009-04-19 21:13:36 +00:00
Paolo Cignoni 3447c82e88 Removed a few harmless warnings 2009-03-30 20:58:18 +00:00
Paolo Cignoni c39498df1f Fixed CMeshO error 2009-03-12 15:56:31 +00:00
Paolo Cignoni 04e2464e3d Added RemoveTVertexByCollapse and RemoveTVertexByFlip methods 2009-03-11 16:43:16 +00:00
Paolo Cignoni c9173c73fe corrected wrong invocation of istwomanifold check 2009-01-26 15:15:11 +00:00
ganovelli a5cbc8c7f8 added return to RemoveNonManifoldVertex 2008-11-12 16:00:27 +00:00
Paolo Cignoni d124cae6fb added a missing include 2008-11-07 15:37:46 +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 c1551eddfd make Point derive Eigen's Matrix and some cleanning 2008-10-28 11:47:37 +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
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
Paolo Cignoni 1407af2537 removed harmless warnings 2008-07-09 10:31:55 +00:00
Paolo Cignoni 7f3c44851e added a missing std:: 2008-04-24 05:04:25 +00:00
Paolo Cignoni 7c37f033e1 Added check on deleted faces in RemoveDegenerateFace 2008-03-11 14:16:40 +00:00
Paolo Cignoni 378008bc5e added HasConsistentPerWedgeTexCoord 2008-03-06 08:37:16 +00:00
Paolo Cignoni 5e52fd038c corrected small bug in RemoveDuplicateVertex 2008-01-24 11:52:05 +00:00
Paolo Cignoni 573ff87db2 Added a missing IsD() test 2007-10-29 11:32:46 +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
Paolo Cignoni 3019fb9177 Added remove degenerate vertex to manage vertex with NAN coords 2007-07-24 07:09:49 +00:00
Paolo Cignoni 90217d66c4 Replaced call to old StarSize method with NumberOfIncidentFaces 2007-06-04 06:45:05 +00:00
Paolo Cignoni f0eec0788b added honoring of selected flag for flipmesh 2007-03-27 09:23:32 +00:00
mtarini 84946de883 Texture coord name change! "TCoord" and "Texture" are BAD. "TexCoord" is GOOD. 2007-03-12 15:42:11 +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 349a05f6f1 Removed useless and conflicting inclusion of face.h 2007-01-11 10:12:19 +00:00
Paolo Cignoni 1680347626 Corrected bug in the IsFFAdjacencyConsistent the Topology checking function. 2006-12-01 21:26:14 +00:00
Paolo Cignoni d946007a70 Added a function for FF topology consistency check 2006-12-01 08:12:30 +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 b50b9a7d8b Added IsSizeConsistent 2006-11-27 10:36:35 +00:00
Paolo Cignoni d2cdb34aa2 Corrected RemoveNonManifoldFace 2006-11-09 17:26:24 +00:00
Paolo Cignoni 7be5d031b9 typenames and qualifiers for gcc compliance 2006-10-15 07:31:22 +00:00
Paolo Cignoni 59d52a10e9 Added Remove NonManifoldFace 2006-10-09 20:06:46 +00:00
Paolo Cignoni 0102ac5f9f missing std and other gcc detected syntax errors 2006-05-25 09:41:09 +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 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 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
Federico Ponchio 6faf120b1f Added typename 2006-02-28 16:51:29 +00:00
Paolo Cignoni 001fd1c573 Added IsD() test in SelfIntersection 2006-02-01 15:27:00 +00:00
Massimiliano Corsini 3b049ec0e4 fix signed/unsigned mismatch 2006-01-27 09:58:47 +00:00
Paolo Cignoni 1e427593b7 Added a missing vcg:: 2006-01-23 13:33:54 +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
Paolo Cignoni 35b967720e Added RemoveDegenerateFace and added its automatic invocation at the end of RemoveDuplicateVertex 2006-01-11 15:40:14 +00:00