Commit Graph

1256 Commits

Author SHA1 Message Date
Paolo Cignoni 86617dd872 Changed the name of Clean::IsOrientedMesh() -> Clean::OrientCoherentlyMesh()
It is a mesh changing method!
2012-01-18 11:42:08 +00:00
Paolo Cignoni 57e4689e1b corrected bug in the ImportVertexAdj Topology must be copied only if meaningful. 2012-01-18 11:27:07 +00:00
Paolo Cignoni 048b884a3e Added tri:UpdatePosition::Scale(mesh) 2012-01-18 11:22:40 +00:00
ganovelli c097e6edd5 added GetClosestVertexScale 2011-12-21 16:13:07 +00:00
ganovelli c2e3d66d19 added template parameter in function call 2011-12-21 16:10:30 +00:00
Paolo Cignoni 95e69075e4 Yet another removal of the usage of the faceprojection flags 2011-12-19 00:51:49 +00:00
Paolo Cignoni 0fe6fdaedc Yet another removal of the usage of the faceprojection flags 2011-12-19 00:51:03 +00:00
Paolo Cignoni 11fa2ba58a Added ComputeEdgeHistogram to Stat functions 2011-12-18 22:33:27 +00:00
Paolo Cignoni 9af315bb18 Two significant changes
1) the name of the supposedly non changed mesh is done explicit in the template name 
2) If the the selection of the vertexes is not consistent with the face selection the append could build faces referencing non existent vertices so it is mandatory that the selection of the vertices reflects the loose selection from edges and faces (e.g. if a face is selected all its vertices must be selected
2011-12-15 07:52:51 +00:00
Paolo Cignoni 3b61972116 Implemented the correct management of per edge attribute. It was half done... 2011-12-15 07:23:51 +00:00
Paolo Cignoni 412ef1aa65 Added UpdateSelection::VertexFromEdgeLoose
added parameter for preserving the old selection to the UpdateSelection::VertexFromFaceLoose
2011-12-14 08:54:54 +00:00
Paolo Cignoni ae58754015 Significant change of names to the UpdateSelection Class.
now follows the standard VertexClear instead of ClearVertex.
Updated all the other files of vcg using it...

(added also selection stuff for edges..)
2011-12-13 10:07:00 +00:00
Paolo Cignoni 5ec7fc1e4a added missing const to the Index function 2011-12-12 23:29:16 +00:00
Paolo Cignoni c038b3584e Corrected blatant bugs in the updateTopology--VertexEdge 2011-12-12 23:28:25 +00:00
ganovelli ab373e50cd missing include added 2011-11-21 16:12:48 +00:00
Paolo Cignoni 3d6857a0b0 re-added the empty constructor to marker face... 2011-11-21 14:04:23 +00:00
Paolo Cignoni 5bcb52529b harmless gcc warning 2011-11-21 09:38:00 +00:00
Paolo Cignoni b09619c1ea harmless gcc warning 2011-11-21 09:37:18 +00:00
Paolo Cignoni 5af75e6dac Removed bug in the ImportEdgeAdj, ImportFaceAdj, ImportHEdgeAdj. All of the same kind...
for(unsigned int vi = 0; vi < 2; ++vi)
 {
   size_t i = Index(mr,er.cEEp(vi));
   el.EEp(i) = (i>ml.edge.size())? 0 : &ml.edge[remap.edge[i]];
   el.EEi(i) = er.cEEi(i);
 }

 el.EEp(i)  should be  el.EEp(vi) !!!!
2011-11-21 09:36:21 +00:00
Paolo Cignoni 0e76a8e0ce Removed the useless faceprojection flag update function. No more needed! 2011-11-21 09:10:52 +00:00
Paolo Cignoni 285d78d293 removed the default empty constructor to avoid the use of the object without a mesh.... 2011-11-21 09:07:36 +00:00
Paolo Cignoni 342f182ee0 Added RemoveDuplicateEdge and CountNonManifoldEdgeEdge 2011-11-15 11:20:12 +00:00
Paolo Cignoni f9a7860f5e Added a much more robust IntersectionPlaneMeshQuality function to compute the intersection between a mesh and a plane that exploit quality for storing the distance from the plane and to make consistent decision about the cutting of the plane... 2011-11-15 11:19:08 +00:00
Paolo Cignoni e0055f8b5c added a missing const... 2011-11-15 11:15:24 +00:00
Paolo Cignoni 2ab3b3ab5b Changed the semantic and the return value of the generic DeleteAttribute (e.g. the one that does not take a type)
** It must not crash if you try to delete a non existing attribute, 
because you do not have a way of asking for a handle of an attribute for which you do not know the type.
2011-11-15 11:05:35 +00:00
Paolo Cignoni 89635131a7 added in the comment a biblio ref to a very similar approach 2011-11-07 16:09:35 +00:00
Paolo Cignoni 34921eb3ba corrected small nasty bug in the rarely used compact edge vector... 2011-11-07 15:41:59 +00:00
Nico Pietroni 5fee62fbb1 changed several calls of CrossVector function 2011-11-01 18:41:54 +00:00
Nico Pietroni 4af26f2df2 line 565 changed "if (numholes!=1) return false;" to "if (numholes==0) return false;" it may be even have multiple holes 2011-11-01 18:40:55 +00:00
ganovelli cedf5fb284 bug fixing:
- mixup of nomes Edge and Face on the components.
- possibly use of empty vector in import_obj.h
Thanks to nagaokagetora for showing them
2011-10-25 10:03:10 +00:00
Paolo Cignoni e886684842 moved voronoi_clustering here from meshlab... 2011-10-20 22:26:46 +00:00
Nico Pietroni 2d8c6222cd added DifferenceCrossField, commented some non used function 2011-10-19 09:02:27 +00:00
Paolo Cignoni 16c39dfe24 removed other harmless gcc warnings... 2011-10-17 23:57:27 +00:00
Paolo Cignoni 7c6956fd4d Corrected some gcc compilation errors, Changed the IsFeasible function (now it tests that there is exactly one hole... 2011-10-17 23:35:30 +00:00
Paolo Cignoni 486795fcfb Better Comments on the Genus. 2011-10-17 23:33:48 +00:00
Nico Pietroni f4a0b8bce4 added Coord3DtoUV function 2011-10-05 16:33:22 +00:00
Nico Pietroni a7c702c81d first release version 2011-10-05 16:17:40 +00:00
Paolo Cignoni 2fe129645b Rolled back 2011-10-05 15:04:40 +00:00
ganovelli 09e0ccc62c added variational shape approximation partition of the mesh both
for triangle meshes and for vertex meshes
2011-06-14 17:10:57 +00:00
Marco Di Benedetto ddb4e72887 moved PointerToAttribute outside mesh definition to avoid type mismatches in append with two different mesh types. 2011-06-14 14:52:38 +00:00
granzuglia 129d4edbaf added several missing include file 2011-06-08 08:46:02 +00:00
granzuglia f58b646616 added several missing include file 2011-06-07 14:37:27 +00:00
granzuglia 05ba578f8e added missing std prefix 2011-06-07 13:48:49 +00:00
Paolo Cignoni 6de8b3f890 Added tri_edge_collapse_quadric_tex.h. The specialization of edge collapse for tex and geometry. It should be cleanded a little... 2011-06-05 23:39:31 +00:00
Paolo Cignoni 23d9ad9684 added BasicVertexPair templated class to store as less as possible of an edge... 2011-06-05 23:37:43 +00:00
Paolo Cignoni 3fc9b9ef1f Added MeshCopy(dst,src), with the same syntax of memcopy 2011-06-03 14:37:50 +00:00
Paolo Cignoni 3d4ae1b506 Added UpdatePosition::Translate 2011-06-03 08:32:27 +00:00
Paolo Cignoni 477767ab77 Added QualityMidPointFunctor and QualityEdgePredicate; Two classes (functor and the predicate) that you need for using the refine framework to cut a mesh along a linear interpolation of the quality. This can be used for example to slice a mesh with a plane. 2011-06-02 21:31:30 +00:00
Paolo Cignoni 27d9cfd6cb Added VertexFromPlane that put into quality the distance from a plane 2011-06-02 21:28:50 +00:00
ganovelli 11adfa2aff Changes for supporting copying of PerVertex,PerEdge and PerFace attributes in the vcg::tri::Append (append.h)
- useless template paramtere in SimpleTempData_Base removed (simple_temporary_data.h)
- Attribute is now derived by SimpleTempData_Base
- SimpleTempData_Base defines a void * At(unsigned int i) function that returns a pointer to the i-th element of the vector withouth knowing the type
- removed the useless member _typeid from the PointerToAttribute. It was used to store the rtti, useless itself.

NOTE: the copy of attributes is done with a memcpy! This means that if you defined a operator = in your attribute this WILL NOT be used in the append.
2011-06-01 13:39:31 +00:00