Paolo Cignoni
b43fffd46f
added a few security assert on deletion of simplexes that you are actually deleting objects that belongs to the given mesh
2012-03-30 23:43:04 +00:00
Nico Pietroni
d5e7d551ba
clean up the code and used new per face component
2012-03-29 16:33:33 +00:00
Nico Pietroni
d4275a3597
added several functions
2012-03-16 13:48:18 +00:00
Nico Pietroni
d941439fbb
corrected several bugs and done several changes
2012-03-16 13:47:42 +00:00
Paolo Cignoni
c4e116a42a
Corrected a bug in the RemoveUnreferencedVertex. It considered only faces and removed vertices referenced by edges
2012-03-14 16:01:30 +00:00
Nico Pietroni
ad417602bd
added default constructor
2012-03-09 11:01:25 +00:00
Nico Pietroni
5e7f95f94a
major changes
2012-03-08 18:09:31 +00:00
Nico Pietroni
f97f54a89b
erased vertex manifold as prerequisite
2012-03-08 18:09:09 +00:00
Nico Pietroni
1aed2f16da
first release version.. need to be tested in several functions
2012-03-08 18:08:35 +00:00
Paolo Cignoni
add25e7bf0
added a missing std::
2012-02-27 07:06:26 +00:00
Paolo Cignoni
6983d4f6e9
Added a few comments...
2012-02-25 14:40:23 +00:00
Luigi Malomo
01453b8b0e
Fixed a call to InterpolationParameters. A Point3 reference must be provided for barycentric coordinates output, instead of 3 separate scalars.
2012-02-14 12:13:38 +00:00
Luigi Malomo
f358db54fd
Added a quick check for callback presence (avoid crash if cb function is not provided)
2012-02-14 12:02:43 +00:00
Paolo Cignoni
d331cf7f60
Added OrientedDisk creation method. and a missing "clear()"
2012-02-09 17:50:38 +00:00
Paolo Cignoni
c90b11ca80
Changed all the MeshType::HasSomething() into the now standard tri::HasSomething(MeshType &m)
...
This changed implied the fact that you need different functor constructor (you have to keep the mesh inside it to know at runtime if some attribute are present or not)
2012-01-25 10:23:22 +00:00
Nico Pietroni
fc7983d3fd
added HasPolyInfo function, line 538
2012-01-24 13:34:46 +00:00
Nico Pietroni
5ad96544bb
added several functions...
2012-01-23 13:09:38 +00:00
Paolo Cignoni
b10ed11bc0
Added two functions to build disk, rectangles and squares (oriented in space).
...
Changed the reflection functions as usual
2012-01-23 07:07:19 +00:00
Paolo Cignoni
48e607f884
Changed all the MeshType::HasSomething() into the now standard tri::HasSomething(MeshType &m)
2012-01-23 06:38:32 +00:00
Paolo Cignoni
4bdf843589
Changed all the MeshType::HasSomething() into the now standard tri::HasSomething(MeshType &m)
2012-01-20 08:03:25 +00:00
Paolo Cignoni
6094438b4b
Changed all the MeshType::HasSomething() into the now standard tri::HasSomething(MeshType &m)
2012-01-20 07:58:43 +00:00
Paolo Cignoni
58042fda3e
Changed all the MeshType::HasSomething() into the now standard tri::HasSomething(MeshType &m)
2012-01-20 07:52:22 +00:00
Paolo Cignoni
e9d476e93c
Changed all the MeshType::HasSomething() into the now standard tri::HasSomething(MeshType &m)
2012-01-20 07:49:26 +00:00
Paolo Cignoni
f4cf3b9221
Changed the name of the Distance from point to plane
...
from DistancePointPlane
to SignedDistancePointPlane
to underline the fact that it is SIGNED!!!
2012-01-18 11:44:42 +00:00
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
Paolo Cignoni
7324e75142
mismatch between the edge.EVp(i) versus edge.V(i) usage.
2011-05-31 08:46:38 +00:00
Paolo Cignoni
5c358c02a4
Cleaned up small bug in the vertex clustering alg (crashed on empty sets and on non compacted meshes
2011-05-31 08:37:13 +00:00
Paolo Cignoni
5b6f8055f2
Corrected bug in the computation of VE topology
2011-05-31 08:35:50 +00:00
Paolo Cignoni
4f761caf15
Added missing HasEdgeXXXX for checking the components avalability in meshes
2011-05-31 08:32:01 +00:00
Paolo Cignoni
55068f366b
Added CompactEdgeVector functions for removing unused edges
2011-05-31 08:28:40 +00:00
Paolo Cignoni
894ffdbdfe
Added trivial WedgeTexFromVertexTex
2011-05-20 23:20:33 +00:00
Paolo Cignoni
a9e5d6d957
added WedgeTexFromPlane function to create simple planar parametrizations
2011-05-20 15:15:44 +00:00
Paolo Cignoni
d7af2e62b3
Significant changes to the simplification/optimization framework:
...
* TriEdgeCollapse is no more multiply derived but it get its "work on two vertex" behavior from a template parameter called VertexPair.
* EdgeCollapse is no more a class devoted to the simplification but it has been renamed as EdgeCollapser and it is a static class templates over a generic <VertexPair> that offer methods to perform Edge Collapses.
* cleaned up the parameter passing method for local optimization classes (and added a baseParameterClass from which every local optimization method must subclass its own parameters)
2011-05-20 15:12:09 +00:00
ganovelli
c35b1c84ff
DoubleArea vs Area discrepancy fixed
2011-05-18 11:38:42 +00:00
ganovelli
46790e61cd
added FaceArea
2011-05-18 11:37:18 +00:00
Paolo Cignoni
1a92eddf4c
removed three no more useful files of the old edgemesh. Ported useful sutff in the right places (topology.h and clean.h)
2011-05-11 10:00:15 +00:00
Paolo Cignoni
0c606a5cf5
added EdgeEdge topology computation function
2011-05-11 09:57:08 +00:00
Paolo Cignoni
3bb7e7bdd9
Corrected again the constructor of the base trimesh. Now it simply call the clear (just to enforce same behaviour)
2011-05-11 09:54:05 +00:00
Paolo Cignoni
f7abd17dfe
added RemoveDegenerateEdge and modifyed RemoveDuplicatedVertex to support edgemesh
2011-05-11 07:36:19 +00:00
Paolo Cignoni
6d27dabf19
Added Initialization of en to ZERO !!!!
2011-05-11 06:18:01 +00:00
Paolo Cignoni
577416408f
Added functions for clearing flags on edges
2011-05-11 06:13:38 +00:00
Paolo Cignoni
589cb681e5
Added parenthesis to remove gcc warnings
2011-05-11 06:11:21 +00:00
Paolo Cignoni
580ec94ab3
Index functions (that given a simplex return its position in the vector) are const
2011-05-11 06:09:14 +00:00
Paolo Cignoni
e878e7ae88
Cleaned up a bit the geodesic interfaces. Removed useless parameters to avoid ambiguity. Could require updating the existing code using it
2011-04-22 11:09:30 +00:00
ganovelli
e87fe74584
retry
2011-04-22 10:18:43 +00:00
ganovelli
b5359da0a1
added missing std::
2011-04-21 16:49:59 +00:00
ganovelli
3789370e24
updated to vcg version (HasEETopology to HasEEAdjacency)
2011-04-21 16:24:46 +00:00
Nico Pietroni
c4cc235b52
- added call of FarthestVertex with returning vertices within a specified interval
...
- added initial #define to avoid multiple inclusion
2011-04-19 09:40:04 +00:00
ganovelli
a5fc2fae6a
bug corrected: . to -> in VertexAreaUniform
2011-04-08 14:28:00 +00:00
Paolo Cignoni
affd9ee469
Corrected bug. Assert called when a no internal vertex was present.
2011-04-08 09:26:57 +00:00
Paolo Cignoni
5233b20f12
Added a function Flip a mesh so that its normals are orented outside.
...
Just for safety it uses a voting scheme.
It assumes that
* mesh has already has coherent normals.
* mesh is watertight and single component.
2011-04-07 22:28:28 +00:00
Paolo Cignoni
f8eb8a41dd
Cleaned up a bit triangle3. Removed some weird interpolation wrappers (that ended to be misused) and updated the rest of the lib to comply with this changes
2011-04-05 21:53:12 +00:00
Paolo Cignoni
57cfc71a34
heavily restructured. Still need a lot of work. Name changed. Some stuff using it could not work anymore...
2011-04-05 08:57:23 +00:00
ganovelli
25b5f39dad
Ongoing Rearrangement of filepath
...
delete old trimesh content
2011-04-01 17:18:15 +00:00
ganovelli
6c0c32ecfe
Ongoing Rearrangement of filepath
...
delete old trimesh content
2011-04-01 17:17:42 +00:00
ganovelli
3c7efa7bff
Ongoing Rearrangement of filepath
...
delete old trimesh content
2011-04-01 17:17:15 +00:00
ganovelli
f4a5512500
Ongoing Rearrangement of filepath
...
delete old trimesh content
2011-04-01 17:16:29 +00:00
ganovelli
2506364fc4
Ongoing Rearrangement of filpath
2011-04-01 17:15:34 +00:00
ganovelli
1fc83af05c
Ongoing Rearrangement of filepath
...
replaced the path to comply the filepaths modification.
The replacements are as follows:
/complex/trimesh/base.h --> /complex/complex.h
/complex/trimesh/allocate.h --> /complex/allocate.h
/complex/trimesh/append.h --> /complex/append.h
/complex/trimesh/ --> /complex/algorithms/
/complex/local_optimization/ ---> /complex/algorithms/local_optimization/
/complex/local_optimization.h ---> /complex/algorithms/local_optimization.h
/complex/intersection.h ---> /complex/algorithms/intersection.h
/complex/boundary.h ---> /complex/algorithms/boundary.h
2011-04-01 17:06:52 +00:00
ganovelli
9ff0ad3f1e
Ongoing Rearrangement of filepath
...
replaced the path to comply the filepaths modification.
The replacements are as follows:
/complex/trimesh/base.h --> /complex/complex.h
/complex/trimesh/allocate.h --> /complex/allocate.h
/complex/trimesh/append.h --> /complex/append.h
/complex/trimesh/ --> /complex/algorithms/
/complex/local_optimization/ ---> /complex/algorithms/local_optimization/
/complex/local_optimization.h ---> /complex/algorithms/local_optimization.h
/complex/intersection.h ---> /complex/algorithms/intersection.h
/complex/boundary.h ---> /complex/algorithms/boundary.h
2011-04-01 17:06:03 +00:00
ganovelli
fea1228701
adding complex.h
2011-04-01 17:00:18 +00:00
ganovelli
0cc7ff76b9
Ongoing Rearrangement of filpath
...
deleting base.h
2011-04-01 16:59:40 +00:00
ganovelli
882896dd8d
Ongoing Rearrangement of filpath
...
renaming of complex/base.h to complex/complex.h
2011-04-01 16:45:05 +00:00
ganovelli
1ad23912db
2011-04-01 16:25:49 +00:00
ganovelli
3262c530c8
Ongoing Rearrangement of filpath
...
ACTION 3
2011-04-01 16:22:18 +00:00
ganovelli
562ddb5397
Ongoing Rearrangement of filpath
...
ACTION 2
2011-04-01 16:20:53 +00:00
ganovelli
830a3402c2
Ongoing Rearrangement of filpath
...
ACTION 1
2011-04-01 16:19:48 +00:00
ganovelli
d84b39382a
correction to NameBound mechanism to compile with gcc.
2011-03-31 16:19:34 +00:00
granzuglia
d09c937697
added missing included file
2011-03-25 11:04:01 +00:00
Paolo Cignoni
605b0fdefc
Added functions for removing in a smarter way non manifoldness :
...
SplitNonManifoldVertex
RemoveNonManifoldFace
2011-03-22 11:57:33 +00:00
Paolo Cignoni
daa0030db1
Changed MeshType::HasFFTopology() -> HasFFAdjacency (m )
2011-03-21 14:47:01 +00:00
Paolo Cignoni
6807df8ea1
added SelectionStack utility class.
2011-03-21 14:45:38 +00:00
Paolo Cignoni
e66769545e
added cutoff distance to geodesic computations
2011-03-14 15:23:37 +00:00
Paolo Cignoni
4447fab921
Added FaceRandomConnectedComponent to colorize faces according connected components
2011-03-14 09:34:22 +00:00
Paolo Cignoni
127caef1a6
removed a harmless gcc warning
2011-03-11 10:28:21 +00:00
Paolo Cignoni
4c1a6502b2
harmless gcc warnings (ambiguous boolean expressions)
2011-02-17 16:39:38 +00:00
Paolo Cignoni
463c31e27a
removed harmless and useless const in return values
2011-02-17 16:25:55 +00:00
Paolo Cignoni
2e6bc99646
harmless gcc warnings
2011-02-17 11:39:21 +00:00
Paolo Cignoni
4a26c71e63
added a safety check for the feature point to be in the cell (could jump outside for numerical errors...)
2011-02-14 10:53:33 +00:00
Paolo Cignoni
59e89dfc73
Fixed parameter order on method compute_fitmap;
...
Added parameter to set number of smoothing iterations;
2011-02-10 16:02:47 +00:00
Paolo Cignoni
326fa280ce
added missing include
2011-02-10 09:51:43 +00:00
Paolo Cignoni
4107c587d0
Modified check for diagonal collapses
2011-02-04 17:14:47 +00:00
Paolo Cignoni
c68b61391f
Added a missing include
2011-02-04 09:31:47 +00:00
Paolo Cignoni
9ddbd14616
Fixed wrong function calls
2011-02-01 12:59:57 +00:00
Paolo Cignoni
6583f81c3f
Removed wrong file inclusion
2011-02-01 12:58:02 +00:00
Paolo Cignoni
99950cc5f4
Modified computation of EH and HE relations in method FromIndexed;
...
Removed assertions and added checks about EH and HE relations;
2011-02-01 10:55:06 +00:00
Paolo Cignoni
e49dfa63bb
Corrected bug about mesh attributes
2011-01-31 16:59:46 +00:00
Paolo Cignoni
a3fab7ebf2
Removed wrong assertions
2011-01-31 16:58:27 +00:00
Paolo Cignoni
7037098822
Added to BitQuad Support a Generic quad triangulation function and used in OFF importer.
...
It takes in input 4 vertex pointrs and rotate them so that a simple fan triangulation is Ok.
It uses geometric criteria for avoiding bad shaped triangles, and folds
and it use an internal set of already created diagonal to avoid the creation of non manifold situations.
2011-01-27 15:49:21 +00:00
Paolo Cignoni
fb836dcf17
Added classes for quad meshes simplification
2011-01-27 15:41:05 +00:00
Paolo Cignoni
183f106f23
Added class HalfedgeQuadClean
2011-01-27 15:39:39 +00:00
Paolo Cignoni
2984bda3c8
Added suffix "_quad" to all methods only for quads
2011-01-27 14:22:48 +00:00
Paolo Cignoni
feafb246da
Removed class Garbage
2011-01-27 12:19:40 +00:00
Paolo Cignoni
3777d7925d
Edge pointers substituted with hedge pointers;
...
Made EH and HE adjs optional;
Re-written method to check if a diagonal is collapsible;
2011-01-27 12:03:44 +00:00
Paolo Cignoni
94235fc548
commented useless parameter to avoid warning
2010-12-21 15:06:09 +00:00
Paolo Cignoni
6ca76c16b1
added useful he functions
2010-12-15 22:38:36 +00:00
Luigi Malomo
9d1e54a140
fixed bug to prevent deleted faces rasterization
2010-12-05 18:22:45 +00:00
Paolo Cignoni
5a21c7cd76
Removed the ReorderVert function used for permutating the accessory attributes of OCF components. IT should not be used.
2010-11-09 08:27:44 +00:00
Paolo Cignoni
80a8c29144
Added function to normalize face/vertex quality value into a given range (usually 0..1)
2010-10-31 13:03:36 +00:00
Nico Pietroni
969f556691
added if(vp<oldBase || vp>oldEnd) return; test in PointerUpdater::Update function, so that entities that doesn't need to be updated has no problems
2010-10-27 17:46:46 +00:00
ganovelli
766b1b3f89
CompactFaceVector and CompactVertexVector now may return a PointerUpdater
2010-10-22 16:01:58 +00:00
Paolo Cignoni
696afea0a9
removed harmless warnings
2010-10-20 08:57:59 +00:00
Paolo Cignoni
9939b0c51b
Harmless warning: commented unused parameter
2010-10-15 21:18:01 +00:00
Nico Pietroni
e74d22e0e5
corrected the call to new IntersectionSegmentTriangle function (after a bug fixing in the function)
2010-10-15 15:23:37 +00:00
Nico Pietroni
f1a446558f
- removed virtual to ComputerPriority Function
...
- getPos and GetMark become const
2010-10-15 15:20:37 +00:00
ganovelli
123a51b774
replaced ImportLocal with ImportData (it was left behind)
2010-10-15 09:25:52 +00:00
ganovelli
d10a9822d3
replaced ImportLocal with ImportData (it was left behind)
2010-10-15 09:25:27 +00:00
Paolo Cignoni
628f22f3c9
removed one useless parameter from the FastFit function of the paso-doble smoothing function.
2010-10-15 09:23:09 +00:00
Paolo Cignoni
445dad8458
removed harmless warnings
2010-10-15 09:15:11 +00:00
Paolo Cignoni
ac9f0d1452
removed a couple of CMeshO types that surfaced when moving stuff from meshlab to vcg
2010-10-15 09:12:54 +00:00
ganovelli
da757efdd3
bug fixed (final): CompactFaceVector resized the attributes per face
...
to the number of "vertices" of the mesh
2010-10-08 16:51:45 +00:00
ganovelli
354b225e92
bug fixed: CompactFaceVector resized the attributes per face
...
to the number of "vertices" of the mesh
2010-10-08 15:58:32 +00:00
granzuglia
e2b56e9023
removed int32_t
2010-10-06 09:17:29 +00:00
granzuglia
a003c5ce73
added progress bar support to PrincipalDirectionsPCA
2010-10-04 08:47:33 +00:00
Paolo Cignoni
9df46522b2
a comment
2010-10-01 21:37:55 +00:00
Paolo Cignoni
c77aeae697
Cleaned up a bit the Final flipping stage of EMC. Now it is a bit more robust.
2010-10-01 21:36:49 +00:00
Paolo Cignoni
92bbd33394
Added function to compute the barycenter of the thin shell surface model. E.g. the barycenter of the mesh as if all the mass was concentrated over the surface of the mesh. Useful for computing barycenter of planar figures.
2010-09-30 23:30:22 +00:00
ganovelli
087e28ddc4
handled offsset for wedgetexcoord (to redo better)
2010-09-27 14:40:24 +00:00
Paolo Cignoni
30f6267da1
Corrected the unneeded resetting of un referenced normals when computing per vertex normals starting from faces.
2010-09-24 11:21:15 +00:00
ganovelli
09c8ff302a
added ClusterVertex (like MergeCloseVertex but without removing the copies)
2010-09-23 16:47:25 +00:00
Paolo Cignoni
349e9869cf
Updated many vcg files to do not use anymore the vcg::Max(a,b) and vcg::Min(a,b). Use the std version instead.
2010-09-21 22:09:13 +00:00
Paolo Cignoni
7977e270c5
added the possibility of customizing the histogram bucket size
2010-09-13 09:47:23 +00:00
Paolo Cignoni
56fe9a828b
BUG! In IntersectionRayMesh the IntersectionLineTriangle had a parameter swapped...
...
Thanks to Bo Jiang & Meng Luan for the kind bug submission
2010-09-13 09:35:24 +00:00
Paolo Cignoni
dbf4fa7311
removed harmless warning
2010-09-13 09:33:30 +00:00
Paolo Cignoni
f7e2f7d539
removed harmless warning
2010-09-07 10:31:04 +00:00
Paolo Cignoni
271ac17c95
Added a missing UpdateSelection :: FaceFromQualityRange
2010-09-07 10:28:45 +00:00
Paolo Cignoni
4a84e2035e
added function to compute montecarlo distribution with an approximate number of samples exploiting the poisson distribution
2010-09-06 22:11:11 +00:00
Paolo Cignoni
275b0e55d9
corrected small bug in the make_even_by split procedure for making meshes always with an even number of faces (useful prerequisite for tri-to-quad conversion)
2010-09-06 22:09:18 +00:00
ganovelli
d0d2efa454
removed the use of RTTI for checking the name of the attribute TYPE
...
in the Get*Attribute. Now the check is only on the size of the type.
2010-09-03 22:17:14 +00:00
Paolo Cignoni
f55d7a0048
removed a small bug in the link condition
2010-09-02 22:23:10 +00:00
Paolo Cignoni
7627f2e9f4
added a few missing include
2010-09-02 21:40:30 +00:00
Paolo Cignoni
149ae8ec5b
Significant improvment in correctness and robustness of Loop subdivision surfaces (BIG thanks to Simon Boye' for submitting the patches)
2010-09-02 06:21:07 +00:00
ganovelli
101e46bc6b
bug corrected. attribute member "_padding" was not initialized in Add*Attribute
2010-09-01 17:16:43 +00:00
Paolo Cignoni
885bf05702
Added methods to get the 1-ring;
...
Added comments;
Removed useless methods;
2010-09-01 15:10:30 +00:00
ganovelli
396e54b566
new mod to support partial selection (possibly to revise):
...
NOTE on how to use Append::MEsh with selected elements:
If we want to append only the selected faces of the mesh and call the Append::Mesh
with selected parameter = true, we must ensure that also the cofaces of inferior
order are selected (vertices and edges).
Otherwise what happen is that the vertices are NOT appended and then the appended
(selected) faces cannot be built.
On the other ahnd Append::Mesh will NOT change the selected flag of the input mesh, it must be done
before calling it. (check tri::UpdateSelection<CMeshO>::VertexFromFaceLoose(currentMesh->cm); )
The same problem for the adjacencies with higher order simplexes. In this cases they are simply not updated . For example, if only a few vertices are selected, and they have, say, VFAdj, it is ignored.
2010-08-11 15:54:37 +00:00
ganovelli
b9765da147
missing condition on D flag added. It caused deleted elements to be added and
...
counter to increment, with consequent failure of vn=mesh.vert.size()- #{deleted}
2010-08-11 14:43:16 +00:00
ganovelli
2d35671e51
replaced SetS with SetV and IsS with IsV.
2010-08-09 19:59:30 +00:00
Paolo Cignoni
0f7ec1f8d2
added fitmaps
2010-08-05 14:24:09 +00:00
Paolo Cignoni
9093cce622
removed harmless gcc warnings
2010-08-05 14:20:43 +00:00
Paolo Cignoni
10106736c2
added operation types for quads
2010-08-05 13:18:33 +00:00
ganovelli
b25f303ce3
replaced "if" on a condition that has to be always true with assertions
2010-07-27 14:20:12 +00:00
Paolo Cignoni
1140ca5a32
Added multiscale curvature computation (UpdateCurvatureLocal)
2010-07-23 15:48:45 +00:00
Paolo Cignoni
c3d20c9b87
added a smoothing algorithm for quad meshes with half-edge topology
2010-07-23 14:11:36 +00:00
Paolo Cignoni
e081be0c6f
Never write a 'using namespace" inside a .h file. Removed
2010-07-23 06:09:52 +00:00
Paolo Cignoni
59442fff3f
optimized halfedge operations
2010-07-22 13:14:55 +00:00
Paolo Cignoni
1d8a4c8e64
added nring class that efficiently extracts the n-ring of a vertex
2010-07-22 12:32:31 +00:00
Paolo Cignoni
882d039da6
removed mostly harmless gcc warnings (unused/uninitialized vars)
2010-07-14 08:00:16 +00:00
Paolo Cignoni
b543ff311e
fixed gcc compatibility issue
2010-07-12 13:21:12 +00:00
Paolo Cignoni
0f6cfeb1c0
removed harmless gcc warnings (unsigned vs signed int)
2010-07-01 09:21:56 +00:00
granzuglia
3d68cc75cf
from iterator to const_iterator
2010-07-01 09:13:08 +00:00
granzuglia
937a004f80
changed include file
2010-07-01 08:51:06 +00:00
ganovelli
f890ce75ee
added HasPerVertexVFAdjacency and HasPerFaceVFAdjacency. Removed
...
generic HasVFAdjacency which made the logical AND of the two and updated the
relative calls.
2010-06-24 18:48:40 +00:00
ganovelli
eb3f1a97fc
added HasPerVertexVFAdjacency and HasPerFaceVFAdjacency. Removed
...
generic HasVFAdjacency which made the logical AND of the two and updated the
relative calls.
2010-06-24 12:35:37 +00:00
ganovelli
a42f07b445
added missing include
2010-06-24 12:30:48 +00:00
Paolo Cignoni
f7efa76f35
added a missing std:: to max()
2010-06-23 14:25:08 +00:00
Paolo Cignoni
8ca2013615
removed harmless gcc warnings
2010-06-18 14:44:21 +00:00
Paolo Cignoni
74f1f69132
a few changes to remove ambiguous variable naming and a few warnings
2010-06-18 14:40:36 +00:00
Paolo Cignoni
02e0b3409a
removed a meaningless import of an uninitailzed var.
2010-06-18 14:31:58 +00:00
Paolo Cignoni
830fb74a0f
Complete re-wrote of the link condition test for topology preserving edge collapse. Now it is much slower but really correct. Hopefully.
2010-06-18 11:47:04 +00:00
ganovelli
a8ee1c9143
importlocal--> importdata
2010-06-18 08:01:14 +00:00
ganovelli
19755ed9b7
definition of USedTypes changed to ensure that MeshType::FaceType is the same as VertexType::FaceType (begin Vertex and Face any type among Vertex,Face,Edge,HEdge).
...
Compiles with gcc 4.4, .net 2005
2010-06-18 07:53:21 +00:00
ganovelli
f3b67673fc
new Append<> beta version
2010-06-16 17:28:18 +00:00
ganovelli
7c35161210
ImportLocal to ImportData. Adjacencies are no more handle by ImportData, but
...
by speficic functions in append.h (ImportPerxxxAdj(..))
2010-06-16 16:31:17 +00:00
ganovelli
4750b7c666
rewritten including handling of all adjacencies.
...
Still incomplete treatment of non uptade but existing adjacencies...
2010-06-16 16:30:24 +00:00
ganovelli
e92adc2095
ImportLocal to ImportData. Adjacencies are no more handle by ImportData, but
...
by speficic functions in append.h (ImportPerxxxAdj(..))
2010-06-16 16:29:07 +00:00
ganovelli
e8d3020714
added typename to PointerToAttribute to dynamically check the GetPer[]Attribute
2010-06-16 15:18:39 +00:00
ganovelli
0a64a31e6e
added typechecking and function to return the list of attributes of a given type
2010-06-16 15:17:42 +00:00
Paolo Cignoni
2bbf1c86ef
Added first version of vertex quality saturation function (to be thorougly tested)
2010-06-16 13:23:59 +00:00
Paolo Cignoni
beb996e9c9
Renamed a symbol that caused ambiguity (VertexInfo -> vertexClipInfo) added functor and function for box clipping
2010-06-16 13:23:07 +00:00
Paolo Cignoni
79783ac1bb
Moved the removal of faces with edges outside a given range to a selection function into UpdateSelection<>::
2010-06-16 11:40:14 +00:00
Nico Pietroni
066bc0b7cf
changed calls to the new InterpolationParameters function
2010-05-25 14:54:50 +00:00
Marco Di Benedetto
0fc8a49a51
2010-05-22 19:47:43 +00:00
Gianpaolo Palma
13f0066cfa
Fixed bug in the rasterization function to generate correct samples outside triangles which have a texture space border edge.
2010-05-21 16:43:58 +00:00
ganovelli
f12433c258
uncommented fourth template parameter in declaration of trimesh
2010-05-19 17:06:18 +00:00
ganovelli
6b807efa9c
separated alltypes from usedtypes. The dummy types for simplex where char, now are derived by
...
their proper type (eg. the dummy type for Vertex is a simple derivation of vcg::Vertex)
2010-05-19 17:05:29 +00:00
Nico Pietroni
3ab37342c6
corrected 1 bug in CountEdges function
2010-05-19 15:09:59 +00:00
Paolo Cignoni
7473b2177a
Added ComputePerFaceQualityHistogram (provided by Andrea Tagliasacchi)
2010-05-05 12:30:58 +00:00
Paolo Cignoni
b6d2c330f2
added a wrapper for the getkclosest that does not need the edgeplane additional data structure
...
and corrected a bug in the function that shot a bunch ofrays
2010-05-04 08:19:51 +00:00
Paolo Cignoni
b2d20dd837
Removed printf and added the standard callback approach
2010-04-30 09:55:34 +00:00
Paolo Cignoni
c7f479c580
Cleaned up a bit the generic updateheap function of the generic tri_edge_collapse that was incorrect in case of generic non symmetric collapses
2010-04-30 09:54:00 +00:00
Paolo Cignoni
cc92e014cc
added RemoveFaceFoldByFlip that Search and remove by flipping small single triangle folds:
...
- a face has normal opposite to all other faces
- choose the edge that brings to the face f1 containing the vertex opposite to that edge.
2010-04-30 09:43:42 +00:00
mtarini
ddcd4c0bf9
Fixed catmull clark subdivision schema.
2010-04-29 15:07:41 +00:00
Paolo Cignoni
05151acef5
added ComputePerFaceQualityDistribution
2010-04-29 14:54:07 +00:00
granzuglia
43592cc07e
updated code in order to improve compatibility with g++ compiler.
2010-04-29 10:39:07 +00:00
granzuglia
904f0d9d3a
updated callback function for ball pivoting.
2010-04-29 09:33:05 +00:00
granzuglia
bc14f81543
patched many bugs in advancing front basic algorithm.
...
updated ball pivoting to new interface.
2010-04-29 09:19:49 +00:00
Paolo Cignoni
75bada1828
added class HalfEdgeTopology
2010-04-29 07:02:37 +00:00
Nico Pietroni
aeff903128
added normal vector return on the RaySpherical function
2010-04-28 13:11:26 +00:00
Paolo Cignoni
e271f9adb8
added missing function HasEHAdjacency
2010-04-26 15:11:52 +00:00
Paolo Cignoni
df4edbee23
corrected some bugs in halfedge allocation
2010-04-26 14:49:42 +00:00
Paolo Cignoni
5c9ee5cdff
added allocation and conversion of edges in function FromIndexed
...
added new tests in function CheckConsistency
2010-04-26 14:33:55 +00:00
Paolo Cignoni
956f343087
added missing typenames to new rayspherical fucntion
2010-04-21 21:08:08 +00:00
Nico Pietroni
7c89077eb7
Added function RaySpherical
2010-04-21 17:21:43 +00:00
Paolo Cignoni
8c0d44a430
Refactored and uniformed the naming of functions for testing manifoldness. Now they are named CountNonManifoldEdgeFF and CountNonManifoldVertexFF and eventually they can select the non manifold components
2010-04-20 00:45:12 +00:00
Paolo Cignoni
3291bb2889
Made uniform the naming of the intersection functions, added some comment and improved a bit the robustness of the triangle triangle intersection test in a mesh
2010-04-20 00:41:45 +00:00
Paolo Cignoni
84a6e15c84
added missing std:: qualifier
2010-04-20 00:34:21 +00:00
Paolo Cignoni
9f7776f96f
added selection to FaceQualityRamp colorization
2010-04-14 10:42:19 +00:00
granzuglia
9cd42be265
removed illegal *m.vert.end()
2010-04-12 12:45:06 +00:00
Marco Di Benedetto
38a4636b51
added generic functors to attribute seam.
2010-03-29 16:27:41 +00:00
Paolo Cignoni
b2e4c6cf80
corrected an ugly bug in the testfaceface
...
(note that it still assert for non 2manif meshes...)
2010-03-26 22:53:31 +00:00
Paolo Cignoni
0165f918f1
removed harmless gcc warnings
2010-03-26 09:43:45 +00:00