Paolo Cignoni
e8971a7ee7
corrected bug in vertexEdge adjacency relations
2011-12-12 23:26:25 +00:00
ganovelli
f4010f0dce
corrected setOrtho
2011-12-07 13:15:28 +00:00
Paolo Cignoni
e4b114ea55
Added CheckFlipEdgeNormal that check if a flip modify the involved normals more than a given threshold.
2011-11-30 18:04:53 +00:00
ganovelli
27e6c3eb39
*= fixed
2011-11-21 16:47:13 +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
Marco Callieri
7616955d64
changed function call from Distance to DistancePlanePoint
2011-11-21 13:20:45 +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
e340e6d1c0
removed old lib svd and substituted with eigen.
...
Anyway is someone really using this file?
2011-11-21 09:09:58 +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
8f7aab147d
changed BASIC VERSION of the Point-face distance that does not require the EdgePlane Additional data.
...
now it does not require any more the dreaded face bit flags...
2011-11-21 08:56:52 +00:00
Paolo Cignoni
4c4d505b6f
added assert for discouraging inconsistent triangleplane intersection
2011-11-21 08:54:35 +00:00
Paolo Cignoni
20ec79715b
Improved comments to the interpolation function that requires a preferential axis
2011-11-21 08:02:31 +00:00
Paolo Cignoni
62167e43bf
removed useless reference return in const int imark()
2011-11-21 07:25:31 +00:00
Paolo Cignoni
66b2f8539f
removed useless reference return in const int imark()
2011-11-21 07:22:00 +00:00
granzuglia
59b789818e
renamed ILLUMINANT_* with VCG_ILLUMINANT_* in order to avoid conflicts with the visual studio defines.
2011-11-18 10:42:19 +00:00
Paolo Cignoni
c9fbf25362
Cleaned up
...
- gcc warnings
- useless printf...
2011-11-15 18:03:58 +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
0a80e1e8ca
Cleaning up Plane3...
...
- comments (the sign of the offset please!!!)
- name of the Distance function -> DistancePointPlane(...)
- a missing normalization in the Init (!)
2011-11-15 11:11:12 +00:00
Paolo Cignoni
f631d88c90
changed the comment of the function Convert from polar coordinates to cartesian coordinates ** it uses RADIANS and not degree...**
2011-11-15 11:07:49 +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
Paolo Cignoni
dee3de3cc8
Added correct overloading of ImportData for per vertex curvature component.
2011-11-01 18:33:52 +00:00
ganovelli
99a41cf446
corrected ApplyRigidTransformation (zeroed last row of rot)
2011-10-28 14:20:27 +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
3b7609a7e8
Added algorithms for packing into a square rectangles and polygons
2011-10-20 22:29:20 +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
ganovelli
f20ecb9db7
corrected a bug in ApplySimilarity (the translation was not zeroed when
...
transforming the rotational part)
2011-10-11 15:41:54 +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
68fc8ae865
removed Neigh functions
2011-06-15 13:02:20 +00:00
Paolo Cignoni
7bb11892bb
fixed ApplySimilarity when a scaling factor is present
2011-06-15 12:32:19 +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
ganovelli
a815890b15
minimal addition to support neighboorhood relation between vertices
...
and between faces
2011-06-14 16:18:34 +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
1318e29cb0
added several missing include file
2011-06-07 14:36:33 +00:00
granzuglia
05ba578f8e
added missing std prefix
2011-06-07 13:48:49 +00:00
Paolo Cignoni
bd8f86bff5
Removed other dependencies from the meshlab basecode...
2011-06-06 00:13:10 +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
a7e4270ddb
Moved here from meshlab. Very specialized class to perform texture quadric simplification using a 5dim quadric that simultaneously optimize texure and positions.
2011-06-04 21:54:39 +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
ganovelli
7a86b3fd25
added EmptyVertexRef to the default type
2011-06-01 13:31:28 +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
08e072aeb1
added empty VE reference to the base class of edges
2011-05-31 08:45:41 +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
7f12ed85d7
Cleaned up a bit the duplicated EV and VertexRef relations. Added VE component for keeping the list of edges incident on vertex
2011-05-31 08:33:41 +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
9b2574b767
fixed a funcrion parameter name that was equal to the template argument
2011-05-27 09:26:52 +00:00
Nico Pietroni
052e774fbc
added Quality3 component
2011-05-25 16:28:18 +00:00
Massimiliano Corsini
f0a1d1d567
ApplySimilarity finished and tested
2011-05-25 06:58:39 +00:00
Massimiliano Corsini
2a450c7c46
add ApplySimilarity - version with vcg::Similarity is unfinished
2011-05-24 21:13:05 +00:00
Massimiliano Corsini
f35731d425
ApplyRigidTransformation fixed
2011-05-24 12:13:21 +00:00
Paolo Cignoni
e2d800f89f
Cleaned up a few things for edge topology management. Added isborder for edges...
2011-05-24 09:39:37 +00:00
Massimiliano Corsini
86b12c5fc7
ApplyRigidTransformation has been modified but not fixed yet
...
a new method to convert focal in px in focal in mm has been added
2011-05-23 16:30:34 +00:00
ganovelli
b61d049408
ongoing testing
2011-05-23 15:09:21 +00:00
Massimiliano Corsini
b31fc9ddec
2011-05-23 14:09:16 +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
Massimiliano Corsini
eec4f43178
add a method to roto-translate the camera frame
...
add a service method to adjust the camera-shot when the World coordinates are scaled
2011-05-19 16:28:51 +00:00
Massimiliano Corsini
9349591548
fix some comments about the assumption made by the Shot
2011-05-19 08:46:38 +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
122cc50798
added missing Abs(Point2)
2011-05-12 09:52:34 +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
db5320cc64
Modified IntersectionPlaneSegment so that it returns always the same intersection independently from the segment orientation
...
Return false if segment is parallel with the plane.
2011-05-11 09:56:23 +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
2eec2e0d55
missing const in edge adj access
2011-05-10 21:56:15 +00:00
Paolo Cignoni
2c15159659
fixed multmatrix when a scaling factor is present
2011-05-03 15:19:04 +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
ganovelli
099149e990
corrected bug in EEAdj constructor
2011-04-21 15:51:03 +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
017323e803
IptoP changed into IPfToPf
2011-04-13 16:15:13 +00:00
ganovelli
dbd3bd1a70
rewritten wrong planeboxintersection
2011-04-13 16:07:35 +00:00
ganovelli
6b3c096e44
removed cvs old comments
2011-04-13 16:06:19 +00:00
granzuglia
451e3ec084
added missing include file
2011-04-13 13:02:41 +00:00
granzuglia
6d1e0fca7d
from f.N() = -> f.N().Import in order to avoid compile errors when the defined mesh-type presents different scalar types for vertex-coordinates and vertex-normal
2011-04-12 08:26:15 +00:00
Paolo Cignoni
f310574e04
- Shot::MultMatrix(Matrix44) now accepts matrices with scaling. Corrected the rotation multiplication.
2011-04-11 09:39:20 +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
Paolo Cignoni
214904b312
Ongoing corrections of include paths to comply the new folder arrangement
2011-04-03 22:50:59 +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
Nico Pietroni
ed6221e993
Added TriangleTriangleIntersect2D function
2011-04-01 16:13:34 +00:00
Paolo Cignoni
cf619d282b
Corrected various c++ errors.
2011-04-01 06:26:31 +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
Gianpaolo Palma
7816e73d74
Changed "int lenght" to "ScalarType lenght" in ClosestPoint function.
2011-03-22 18:17:52 +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
2d218e768a
commented some code
2011-03-22 11:53:48 +00:00
Paolo Cignoni
90ee3c4a71
added NumberOfFacesOnEdge function on a pos
2011-03-22 11:52:19 +00:00
Gianpaolo Palma
e3d8489f0f
Bug fixed in the ClosestPoint2Box2 function
2011-03-21 17:03:34 +00:00
Gianpaolo Palma
e90c417d2b
Minor changes in ClosestPoint function
2011-03-21 17:02:02 +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
6a876e1fc9
removed warnings due to deprecated hash map usage
2011-02-17 16:40:56 +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
7eaece45af
harmless gcc warnings
2011-02-17 11:41:21 +00:00
Paolo Cignoni
8fd11ae657
harmless gcc warnings
2011-02-17 11:40:22 +00:00
Paolo Cignoni
ec825ed246
harmless gcc warnings
2011-02-17 11:39:57 +00:00