Commit Graph

69 Commits

Author SHA1 Message Date
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
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
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
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