Commit Graph

64 Commits

Author SHA1 Message Date
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
Massimiliano Corsini ba6382f984 Reimplement isComplexManifold
Reimplement isRegular
2005-12-15 13:53:13 +00:00
Massimiliano Corsini 00d3854048 Fix genus computation 2005-12-14 14:04:35 +00:00
Paolo Cignoni 1885e99e9d Removed unuseful detectunreferenced 2005-12-12 12:11:40 +00:00
Paolo Cignoni 68993c3bf1 Changed DegeneratedFaces -> RemoveZeroAreaFaces 2005-12-04 00:25:00 +00:00
Paolo Cignoni a35e0d7ecd Added missing include and sdt:: (tnx to Mario Latronico) 2005-12-03 22:34:25 +00:00