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
Paolo Cignoni
2e6bc99646
harmless gcc warnings
2011-02-17 11:39:21 +00:00
Paolo Cignoni
88107edef1
Added Shot::GetViewDir() method
2011-02-17 09:58:16 +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
Marco Callieri
6395138b1f
added function for laplacian smoothing of normals on unstructured point clouds
2011-02-09 14:42:30 +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
7e611ef038
Removed and assert in the quality computation (if one side is zero for numerical rounding it should return zero as quality)
2011-01-27 10:49:23 +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
Nico Pietroni
b89a689a15
triangle3 InterpolationParameters calls now calls InterpolationParameters2 which correctly refers to the unique implementation of triangle2d evaluation of barycentric coordinates in triangle2.h
2010-12-13 00:01:13 +00:00
Nico Pietroni
542bfc8a91
corrected InterpolationParameters funtion in order to evaluate correctly barycentric coordinates even for points wich falls outside the triangle.
2010-12-12 23:59:55 +00:00
Nico Pietroni
387c62414a
added constructor with Min and Max
2010-12-12 23:57:39 +00:00
Luigi Malomo
9d1e54a140
fixed bug to prevent deleted faces rasterization
2010-12-05 18:22:45 +00:00
Federico Ponchio
ef57d3e7e5
interpolate -> Interpolate.
2010-11-15 00:16:40 +00:00
ganovelli
d505581af9
bug fixing in vector_ocf::reserve for the case of empty vector
2010-11-11 09:33:35 +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
8446d9f566
added method to know if a spatial indexing structure is empty or not
2010-11-09 08:15:14 +00:00
Paolo Cignoni
070c47b0a5
added method to know if a spatial ubdexing structure is empty or not
2010-11-09 08:12:58 +00:00
ganovelli
3bd7cbe5ea
added cQ() to QualityOcf
2010-11-06 16:38:15 +00:00
Nico Pietroni
c818969366
added method P to return bounding box points as in Box3
2010-11-05 16:18:51 +00:00
Paolo Cignoni
343493ef11
Moved the ORTHO, PERSPECTIVE enums from the vcg namespace to the camera class namespace.
2010-10-31 13:19:09 +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
a9db0be12d
shotf and shotd are TYPEDEF not SUBCLASS !!!
2010-10-21 13:41:29 +00:00
Paolo Cignoni
696afea0a9
removed harmless warnings
2010-10-20 08:57:59 +00:00
Paolo Cignoni
999e110d01
renamed EPSILON into loc_EPSILON to avoid collsions with some defines.
2010-10-15 21:46:16 +00:00
Paolo Cignoni
9939b0c51b
Harmless warning: commented unused parameter
2010-10-15 21:18:01 +00:00
Paolo Cignoni
98d61f03a2
removed an extra typename detected by gcc...
2010-10-15 21:15:39 +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
Nico Pietroni
7332494ee2
line 331 called the correct distance function between segment-point in distance3.h
2010-10-15 15:19:12 +00:00
Nico Pietroni
6d34aec94b
TrianglePointDistance moved to distance.h
2010-10-15 15:17:57 +00:00
Nico Pietroni
e690807441
Distance functions moved to distance3.h
2010-10-15 15:17:15 +00:00
Nico Pietroni
793cf46180
- SquaredDistance moved to distance3.h
...
- Lenght and SquaredLength changed to const functions
2010-10-15 15:16:32 +00:00
Nico Pietroni
6ad59d0756
corrected IntersectionSegmentTriangle calls, the value dist was not updated coherently
2010-10-15 15:15:27 +00:00
Nico Pietroni
efadeb21f1
DistancePoint3Box3 calls moved and renamed in distance3.h
2010-10-15 15:14:06 +00:00
Nico Pietroni
6134c11fbd
first release version of the collection of minimum distance functions between geometric entities in 3D
2010-10-15 15:13:22 +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
ganovelli
3bcc518722
replaced ImportLocal with ImportData (it was left behind)
2010-10-15 09:24:51 +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
2bdd323387
removed harmless warnings
2010-10-15 09:14:35 +00:00
Paolo Cignoni
2e9d5c0936
removed some old surviving math:Max and changed to std::max
2010-10-15 09:13:58 +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
de3371806e
added #include<algorithm>
2010-10-08 12:08:24 +00:00
granzuglia
b3d63c7c64
moved InterpolationParameters function after the Normal function definition
2010-10-06 12:58:09 +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
f83dc8b993
rewrote checkflip edge.
2010-10-01 20:27:30 +00:00
Nico Pietroni
8370978230
Added a new call of InterpolationParameters with infers the Normal by the Triangle itself
2010-10-01 13:47:16 +00:00
Paolo Cignoni
d4786a1702
added maxElem minElem functions that returns values of the added elements and that can be outside the minmax range of the histogram
2010-10-01 08:59:25 +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
af5e0eb46b
small changes to the histogram interface to allow the use of weighted histograms
2010-09-21 22:33:37 +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
47138fce2f
WARNING: important change. Removed the useless vcg::math::Max(a,b) that mimicked the std::max, and changed into a three argument Max(a,b,c) (quite useful in a lot of context and missing in std::.
2010-09-21 22:00:39 +00:00
Paolo Cignoni
7977e270c5
added the possibility of customizing the histogram bucket size
2010-09-13 09:47:23 +00:00
Paolo Cignoni
d263446d0e
small changed needed for allowing derivation of extended classes
2010-09-13 09:42:25 +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
2bfd589613
disambiguated a pow call
2010-09-07 22:14:20 +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
mtarini
4dcb3be0b3
minor: removed superfluous "typename"
2010-07-25 13:31:57 +00:00
mtarini
2cc56a6651
Cleaned up! Translated several comments, removed old history, Added GlobalToLocal and LocalToGlobal and MakeSquare, cleaned up types, etc.
2010-07-24 15:29:20 +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
matteodelle
3064a869cc
Michele Sottile: added GetFovFromFocal
2010-07-21 15:54:31 +00:00
Federico Ponchio
1017656a61
returned closest point was wrong.
2010-07-15 19:37:59 +00:00
Paolo Cignoni
8451875482
slight change in the PointDistance. Now it checks with an assert in the ifthenelse chain that it chooses the best projection direction and removed a warning.
2010-07-14 08:09:28 +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
04694569cf
corrected un-initialized variable in RGBtoHSV
2010-06-23 14:23:32 +00:00
ganovelli
ad0a3daf01
version that should work with synamic linked libraries (to be tested)
2010-06-21 15:52:18 +00:00
ganovelli
9026213628
removed unused classes for allocation of temporary data
2010-06-19 15:39:06 +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
799914a0d8
commented unused argument of base ImportData to remove gcc warning
2010-06-18 14:32:50 +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
d0bdf4665f
ImportLocal to ImportData. Adjacencies are no more handle by ImportData, but
...
by speficic functions in append.h (ImportPerxxxAdj(..))
2010-06-16 16:25:02 +00:00
ganovelli
585f0462e8
ImportLocal to ImportData. Adjacencies are no more handle by ImportData, but
...
by speficic functions in append.h (ImportPerxxxAdj(..))
2010-06-16 16:24:26 +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
Paolo Cignoni
044412a099
Added initialization of tex index in the constructor of texcoord
2010-06-16 10:27:38 +00:00
Paolo Cignoni
12d257c3ab
Debugged:
...
method Point2::SquaredDistance() invoked Norm2 method, which does not exist. Invocation replaced with (*this-p).SquaredNorm()
2010-05-31 12:13:47 +00:00
Nico Pietroni
cf60111b79
changed call to InterpolationParameters...
2010-05-31 10:12:31 +00:00
Nico Pietroni
066bc0b7cf
changed calls to the new InterpolationParameters function
2010-05-25 14:54:50 +00:00
Paolo Cignoni
157ba4ccfb
added class prototype for segment (needed for box intersection)
2010-05-24 08:25:26 +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
Nico Pietroni
44618a036a
Added ClosestPoint2Box2 function
2010-05-20 13:58:08 +00:00
ganovelli
4b45045c18
added inlusion of alltypes.h
2010-05-19 17:18:19 +00:00
ganovelli
de851eb29e
inclusion of alltypes.h
2010-05-19 17:16: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
c41e4d2e04
IMPORTANT CHANGE;
...
the rarely used frompolar and topolar returns angles in RADIANTS
changed the function names to clarify, avoid stupid bugs, and to adequate to the standard
2010-05-04 08:07:18 +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
Paolo Cignoni
77a846fe90
added a wrapper to the robust InterpolationParameters that uses a normal to choose the interpolation orientation
2010-04-30 09:42:10 +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
Paolo Cignoni
ad1a95fb7c
added a new class Pos based on halfedge
2010-04-29 07:00:46 +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
4a4039f138
fixed wrong pointer type in EHAdj class
2010-04-26 15:02:04 +00:00
Paolo Cignoni
7bd30d3ca0
fixed wrong pointer type in FHAdj class
2010-04-26 14:54:44 +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
01a0a4b93c
Added HEadj class to store adjacency between halfehdges and edges
2010-04-26 14:08:33 +00:00
Federico Ponchio
8331ee9981
added IsIn for sphere
2010-04-22 19:05:24 +00:00
Paolo Cignoni
cb73c0bb80
added a missing vcg::math:: namespace qualifier
2010-04-21 21:09:57 +00:00
Paolo Cignoni
956f343087
added missing typenames to new rayspherical fucntion
2010-04-21 21:08:08 +00:00
Nico Pietroni
ac4a79bc8f
corrected call to new function Name IntersectionRayBox
2010-04-21 17:22:39 +00:00
Nico Pietroni
7c89077eb7
Added function RaySpherical
2010-04-21 17:21:43 +00:00
Paolo Cignoni
bdc74ae3b4
uniformed to the new intersection naming schemas
2010-04-20 00:59:38 +00:00
Paolo Cignoni
8a47aaf62f
removed a double init of a member of vector ocf and reordered members
2010-04-20 00:57:25 +00:00
Paolo Cignoni
3ee9667060
added two helper functions used for the self intersection tests
2010-04-20 00:56:08 +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
Paolo Cignoni
db53730ae7
better comments for intersectionLineTriangle
2010-04-14 09:16:13 +00:00
granzuglia
9cd42be265
removed illegal *m.vert.end()
2010-04-12 12:45:06 +00:00
matteodelle
155cfe6845
New coords conversion function
2010-03-30 19:58:35 +00:00
Marco Di Benedetto
38a4636b51
added generic functors to attribute seam.
2010-03-29 16:27:41 +00:00
matteodelle
8b293069af
Corrected an error in the template def. of TriMesh
2010-03-29 08:07:22 +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
ganovelli
d4b7e1c8fe
[introduction of half edges as alternative representation]
...
No modification should be necessary for the existing code.
most relevant changes:
creation of folder:
vcg/connectors
vcg/connectors/hedge.h
vcg/connectors/hedge_component.h
addition to the container of half edges to the trimesh:
HEdgeContainer hedge; // container
int hn; // number of half edges
addition of
vcg/trimesh/update/halfedge_indexed.h
which contains:
- the functions to compute the half edge representation from the indexed and vivecersa
- the functions to add or remove an half edge
2010-03-25 16:52:55 +00:00
ganovelli
261ff53ab1
[introduction of half edges as alternative representation]
...
No modification should be necessary for the existing code.
most relevant changes:
creation of folder:
vcg/connectors
vcg/connectors/hedge.h
vcg/connectors/hedge_component.h
addition to the container of half edges to the trimesh:
HEdgeContainer hedge; // container
int hn; // number of half edges
addition of
vcg/trimesh/update/halfedge_indexed.h
which contains:
- the functions to compute the half edge representation from the indexed and vivecersa
- the functions to add or remove an half edge
2010-03-25 16:52:18 +00:00
ganovelli
0a74ba11a5
[introduction of half edges as alternative representation]
...
No modification should be necessary for the existing code.
most relevant changes:
creation of folder:
vcg/connectors
vcg/connectors/hedge.h
vcg/connectors/hedge_component.h
addition to the container of half edges to the trimesh:
HEdgeContainer hedge; // container
int hn; // number of half edges
addition of
vcg/trimesh/update/halfedge_indexed.h
which contains:
- the functions to compute the half edge representation from the indexed and vivecersa
- the functions to add or remove an half edge
2010-03-25 16:51:49 +00:00
ganovelli
be64ec50c3
added inclusion of <string>
2010-03-25 16:51:20 +00:00
ganovelli
a96c0e79aa
[introduction of half edges as alternative representation]
...
No modification should be necessary for the existing code.
most relevant changes:
creation of folder:
vcg/connectors
vcg/connectors/hedge.h
vcg/connectors/hedge_component.h
addition to the container of half edges to the trimesh:
HEdgeContainer hedge; // container
int hn; // number of half edges
addition of
vcg/trimesh/update/halfedge_indexed.h
which contains:
- the functions to compute the half edge representation from the indexed and vivecersa
- the functions to add or remove an half edge
2010-03-25 16:50:45 +00:00
ganovelli
42557f19f8
[introduction of half edges as alternative representation]
...
No modification should be necessary for the existing code.
most relevant changes:
creation of folder:
vcg/connectors
vcg/connectors/hedge.h
vcg/connectors/hedge_component.h
addition to the container of half edges to the trimesh:
HEdgeContainer hedge; // container
int hn; // number of half edges
addition of
vcg/trimesh/update/halfedge_indexed.h
which contains:
- the functions to compute the half edge representation from the indexed and vivecersa
- the functions to add or remove an half edge
2010-03-25 16:50:28 +00:00
ganovelli
cf7563eff4
[introduction of half edges as alternative representation]
...
No modification should be necessary for the existing code.
most relevant changes:
creation of folder:
vcg/connectors
vcg/connectors/hedge.h
vcg/connectors/hedge_component.h
addition to the container of half edges to the trimesh:
HEdgeContainer hedge; // container
int hn; // number of half edges
addition of
vcg/trimesh/update/halfedge_indexed.h
which contains:
- the functions to compute the half edge representation from the indexed and vivecersa
- the functions to add or remove an half edge
2010-03-25 16:50:10 +00:00
ganovelli
e06c7f7e70
[temporary commit, it is to be moved to trimesh/update/halfedge_indexed.h]
2010-03-25 16:23:09 +00:00
Paolo Cignoni
1fb9d1c555
added a few disambiguating 'template' keywords
2010-03-23 22:37:46 +00:00
Paolo Cignoni
ac52e05bc4
added management variable disk radius sampling to poisson pruning
2010-03-23 16:15:27 +00:00
ganovelli
fb9d702e08
nametypebound..corrected bugs, changed a name, regrouped functions.
...
Change useless NameOf in NamesWithType which returns all the names bound to a given type
2010-03-23 09:47:52 +00:00
ganovelli
bda10aba6e
NameTypeBound wsorking (still to refine)
2010-03-23 09:25:13 +00:00
Paolo Cignoni
b6cb2fc881
added option to the Poisson sampling filter of using an additional mesh as source of already generated samples.
...
In this way it is possible to refine existing sampling by using different sample pools
2010-03-23 07:26:34 +00:00
Paolo Cignoni
b4857331f6
added FaceFauxCrease and other small helper for managing faux edges
2010-03-23 07:23:32 +00:00
Paolo Cignoni
d55a1069de
converted to the new style with mark outside the trimesh class
2010-03-19 22:56:30 +00:00
ganovelli
2f8a8945cc
added inclusion of used_types.h
2010-03-19 17:21:25 +00:00
ganovelli
a2341076c1
added typedef of ScalarType
2010-03-19 17:20:52 +00:00
ganovelli
21dd8aa179
Simplified reflection typedefs:
...
added type traits to support the mod below:
[ Changes in definition of TriMesh: PART II ]
Note: No changes to existing code need be the done, this mod
should be fully backward compatible
Old way to define a TriMesh ==============
struct MyMesh: public vcg::tri::TriMesh< vector<MyVertex> , vector <MyFace> >{};
new ways to define a TriMesh ==============
struct MyMesh: public vcg::tri::TriMesh< CONT1 >{};
struct MyMesh: public vcg::tri::TriMesh< CONT1 , CONT2>{};
struct MyMesh: public vcg::tri::TriMesh< CONT1 , CONT2, CONT3>{};
where CONT[i] can be vector< [MyVertex | MyEdge | MyFace ] >
(the order is unimportant)
2010-03-19 17:19:51 +00:00
ganovelli
9fc476b130
added type traits to support the mod below:
...
[ Changes in definition of TriMesh: PART II ]
Note: No changes to existing code need be the done, this mod
should be fully backward compatible
Old way to define a TriMesh ==============
struct MyMesh: public vcg::tri::TriMesh< vector<MyVertex> , vector <MyFace> >{};
new ways to define a TriMesh ==============
struct MyMesh: public vcg::tri::TriMesh< CONT1 >{};
struct MyMesh: public vcg::tri::TriMesh< CONT1 , CONT2>{};
struct MyMesh: public vcg::tri::TriMesh< CONT1 , CONT2, CONT3>{};
where CONT[i] can be vector< [MyVertex | MyEdge | MyFace ] >
(the order is unimportant)
2010-03-19 17:18:00 +00:00
ganovelli
1428a1cc3c
added a derivation chain to support the modification to the trimesh definition (below)
...
[ Changes in definition of TriMesh: PART II ]
Note: No changes to existing code need be the done, this mod
should be fully backward compatible
Old way to define a TriMesh ==============
struct MyMesh: public vcg::tri::TriMesh< vector<MyVertex> , vector <MyFace> >{};
new ways to define a TriMesh ==============
struct MyMesh: public vcg::tri::TriMesh< CONT1 >{};
struct MyMesh: public vcg::tri::TriMesh< CONT1 , CONT2>{};
struct MyMesh: public vcg::tri::TriMesh< CONT1 , CONT2, CONT3>{};
where CONT[i] can be vector< [MyVertex | MyEdge | MyFace ] >
(the order is unimportant)
2010-03-19 17:17:06 +00:00
ganovelli
ca8d4abed3
All the functions handling TriMesh::imark have been moved outside the definition
...
of TriMesh to workaround an internal compiler error of vc compiler, and the usages have been
consequently updated
2010-03-19 17:14:01 +00:00
ganovelli
584936f27a
[ Changes in definition of TriMesh: PART II ]
...
Note: No changes to existing code need be the done, this mod
should be fully backward compatible
Old way to define a TriMesh ==============
struct MyMesh: public vcg::tri::TriMesh< vector<MyVertex> , vector <MyFace> >{};
new ways to define a TriMesh ==============
struct MyMesh: public vcg::tri::TriMesh< CONT1 >{};
struct MyMesh: public vcg::tri::TriMesh< CONT1 , CONT2>{};
struct MyMesh: public vcg::tri::TriMesh< CONT1 , CONT2, CONT3>{};
where CONT[i] can be vector< [MyVertex | MyEdge | MyFace ] >
(the order is unimportant)
2010-03-19 17:13:31 +00:00
ganovelli
30f799220d
All the functions handling TriMesh::imark have been moved outside the definition
...
of TriMesh to workaround an internal compiler error of vc compiler, and the usages have been
consequently updated
2010-03-19 17:05:14 +00:00
ganovelli
f90bd789a3
added class AllTypes to implement type trait in trimesh/base.h
...
AllTypes is a class defining, as inner classes, global default names
for vertex,edge and face
2010-03-19 17:02:36 +00:00
ganovelli
5ce2c677f5
added include to trimesh/base.h
2010-03-19 17:00:45 +00:00
Paolo Cignoni
a201459a30
removed harmless warnings
2010-03-18 14:20:53 +00:00
Paolo Cignoni
3b770c935a
added updateQuality Vertex Clamp
2010-03-18 14:20:29 +00:00
Paolo Cignoni
cf872a327c
Doh! Forgot a const in the getbbox of Face Base
2010-03-18 10:28:10 +00:00
Paolo Cignoni
e4b0019e90
removed harmless warnings
2010-03-18 10:08:12 +00:00
Paolo Cignoni
3976724c18
removed harmless warnings and improved Cone generator
2010-03-18 10:07:39 +00:00
Paolo Cignoni
fba6bd5917
removed harmless warnings/English Comments
2010-03-18 10:04:55 +00:00
Paolo Cignoni
9aa23c4f6c
removed harmless warnings
2010-03-18 10:03:31 +00:00
Paolo Cignoni
335afeee7e
Disambiguated the origin of the ScalarType and CoordType in the simplex class. Now it derives from the type specified by the vertexRef component for the faces and from the Coord component for the vertexes. To be sure the ScalarType and CoordTypes are initialized to weird point3<bool> and char just to detect easisly when the wrong types shallow...
2010-03-18 10:03:00 +00:00
Paolo Cignoni
63e21f15cb
Disambiguated the origin of the ScalarType and CoordType in the simplex class. Now it derives from the type specified by the vertexRef component for the faces and from the Coord component for the vertexes. To be sure the ScalarType and CoordTypes are initialized to weird point3<bool> and char just to detect easisly when the wrong types shallow...
2010-03-18 10:02:32 +00:00
Paolo Cignoni
2a1aebfa3d
converted to the new UsedTypes syntax
2010-03-17 09:22:23 +00:00
Paolo Cignoni
eca7114e6c
corrected a small error inserted by mistake in the last commit...
2010-03-16 14:46:55 +00:00
Paolo Cignoni
80f825a428
removed harmless warnings
2010-03-16 14:25:30 +00:00
Paolo Cignoni
bf69d1c24a
removed harmless warnings
2010-03-16 14:22:08 +00:00
Paolo Cignoni
404831fc2f
added a missing 'template' keyword between class and metod name.
2010-03-16 11:06:32 +00:00
ganovelli
09b0fb5ef7
added a way to define a scope, i.e. a collection of bounds between name of the attributes
...
and their type, so that one can add an attribute without knowing its type. It is useful
when working with plugin.
example:
vcg::tri::NameTypeScope myScope;
AddNameTypeBound<int>(myScope,std::string("number");
AddNameTypeBound<float>(myScope,std::string("incoming_light"));
we have crated a scope myScope where "number" is bound a int and incoming_light is a float
In another part of code where I may not know the type of "number", I can still do:
AddPerVertexAttribute(myScope, mesh, "number");
and an int attibute name "number" will be added.
2010-03-15 15:17:20 +00:00
ganovelli
2e739825c8
[ Changes in definition of TriMesh: PART I ]
...
Note for the developers: the change to make to existing projects is very little
but strictly necessary to compile. This change IS NOT backward compliant.
==== OLD ==== way to define a TriMesh:
// forward declarations
class MyVertex;
class MyEdge;
class MyFace;
class MyVertex: public VertexSimp2 < MyVertex, MyEdge, MyFace, vertex::Coord3f,...other components>{};
class MyFace: public FaceSimp2 < MyVertex, MyEdge, MyFace, face::VertexRef,...other components>{};
class MyMesh: public TriMesh<vector<MyVertex>,vector<MyFace> >{};
==== NEW ==== way to define a TriMesh:
// forward declarations
class MyVertex;
class MyEdge;
class MyFace;
// declaration of which types is used as VertexType, which type is used as FaceType and so on...
class MyUsedTypes: public vcg::UsedType < vcg::Use<MyVertex>::AsVertexType,
vcg::Use<MyFace>::AsFaceType>{};
class MyVertex: public Vertex < MyUsedTypes, vertex::Coord3f,...other components>{};
class MyFace: public Face < MyUsedTypes, face::VertexRef,...other components>{};
class MyMesh: public TriMesh<vector<MyVertex>,vector<MyFace> >{};
===== classes introduced [vcg::UsedType] : it is a class containing all the types that must be passed to the definition of Vertex, Face, Edge... This
class replaces the list of classes to pass as first templates and the need to specify the maximal simplicial. So
< MyVertex, MyEdge, MyFace, beocmes MyUsedTypes,
and
VertexSimp2 becomes Vertex
[vcg::Use] : an auxiliary class to give a simple way to specify the role of a type
Note 2: the order of templates parameters to vcg::UsedTypes is unimportant, e.g:
class MyUsedTypes: public vcg::UsedType <vcg::Use<MyVertex>::AsVertexType,
vcg::Use<MyEdge>::AsEdgeType,
vcg::Use<MyFace>::AsFaceType>{};
is the same as:
class MyUsedTypes: public vcg::UsedType <vcg::Use<MyFace>::AsFaceType,
vcg::Use<MyEdge>::AsEdgeType,
vcg::Use<MyVertex>::AsVertexType>{};
==== the Part II will be a tiny change to the class TriMesh it self.
2010-03-15 13:10:43 +00:00
ganovelli
01bb1ff921
[ Changes in definition of TriMesh: PART I ]
...
Note for the developers: the change to make to existing projects is very little
but strictly necessary to compile. This change IS NOT backward compliant.
==== OLD ==== way to define a TriMesh:
// forward declarations
class MyVertex;
class MyEdge;
class MyFace;
class MyVertex: public VertexSimp2 < MyVertex, MyEdge, MyFace, vertex::Coord3f,...other components>{};
class MyFace: public FaceSimp2 < MyVertex, MyEdge, MyFace, face::VertexRef,...other components>{};
class MyMesh: public TriMesh<vector<MyVertex>,vector<MyFace> >{};
==== NEW ==== way to define a TriMesh:
// forward declarations
class MyVertex;
class MyEdge;
class MyFace;
// declaration of which types is used as VertexType, which type is used as FaceType and so on...
class MyUsedTypes: public vcg::UsedType < vcg::Use<MyVertex>::AsVertexType,
vcg::Use<MyFace>::AsFaceType>{};
class MyVertex: public Vertex < MyUsedTypes, vertex::Coord3f,...other components>{};
class MyFace: public Face < MyUsedTypes, face::VertexRef,...other components>{};
class MyMesh: public TriMesh<vector<MyVertex>,vector<MyFace> >{};
===== classes introduced
[vcg::UsedType] : it is a class containing all the types that must be passed to the definition of Vertex, Face, Edge... This
class replaces the list of typenames to pass as first templates and the need to specify the maximal simplicial. So
<MyVertex, MyEdge, MyFace becomes <MyUsedTypes<
and
VertexSimp2 becomes Vertex
[vcg::Use] : an auxiliary class to give a simple way to specify the role of a type
Note 2: the order of templates parameters to vcg::UsedTypes is unimportant, e.g:
class MyUsedTypes: public vcg::UsedType <vcg::Use<MyVertex>::AsVertexType,
vcg::Use<MyEdge>::AsEdgeType,
vcg::Use<MyFace>::AsFaceType>{};
is the same as:
class MyUsedTypes: public vcg::UsedType <vcg::Use<MyFace>::AsFaceType,
vcg::Use<MyEdge>::AsEdgeType,
vcg::Use<MyVertex>::AsVertexType>{};
Note 3: you only need to specify the type you use. If you do not have edges you do not need
to include vcg::Use<MyEdge>::AsEdgeType in the template list of UsedTypes.
==== the Part II will be a tiny change to the class TriMesh it self.
2010-03-15 10:43:27 +00:00
ganovelli
c40a6c3d97
[ Changes in definition of TriMesh: PART I ]
...
Note for the developers: the change to make to existing projects is very little
but strictly necessary to compile. This change IS NOT backward compliant.
==== OLD ==== way to define a TriMesh:
// forward declarations
class MyVertex;
class MyEdge;
class MyFace;
class MyVertex: public VertexSimp2 < MyVertex, MyEdge, MyFace, vertex::Coord3f,...other components>{};
class MyFace: public FaceSimp2 < MyVertex, MyEdge, MyFace, face::VertexRef,...other components>{};
class MyMesh: public TriMesh<vector<MyVertex>,vector<MyFace> >{};
==== NEW ==== way to define a TriMesh:
// forward declarations
class MyVertex;
class MyEdge;
class MyFace;
// declaration of which types is used as VertexType, which type is used as FaceType and so on...
class MyUsedTypes: public vcg::UsedType < vcg::Use<MyVertex>::AsVertexType,
vcg::Use<MyFace>::AsFaceType>{};
class MyVertex: public Vertex < MyUsedTypes, vertex::Coord3f,...other components>{};
class MyFace: public Face < MyUsedTypes, face::VertexRef,...other components>{};
class MyMesh: public TriMesh<vector<MyVertex>,vector<MyFace> >{};
===== classes introduced
[vcg::UsedType] : it is a class containing all the types that must be passed to the definition of Vertex, Face, Edge... This
class replaces the list of typenames to pass as first templates and the need to specify the maximal simplicial. So
<MyVertex, MyEdge, MyFace becomes <MyUsedTypes<
and
VertexSimp2 becomes Vertex
[vcg::Use] : an auxiliary class to give a simple way to specify the role of a type
Note 2: the order of templates parameters to vcg::UsedTypes is unimportant, e.g:
class MyUsedTypes: public vcg::UsedType <vcg::Use<MyVertex>::AsVertexType,
vcg::Use<MyEdge>::AsEdgeType,
vcg::Use<MyFace>::AsFaceType>{};
is the same as:
class MyUsedTypes: public vcg::UsedType <vcg::Use<MyFace>::AsFaceType,
vcg::Use<MyEdge>::AsEdgeType,
vcg::Use<MyVertex>::AsVertexType>{};
Note 3: you only need to specify the type you use. If you do not have edges you do not need
to include vcg::Use<MyEdge>::AsEdgeType in the template list of UsedTypes.
==== the Part II will be a tiny change to the class TriMesh it self.
2010-03-15 10:42:52 +00:00
Paolo Cignoni
2a18ebd5f5
Heavily restructured component of vertex simplex. Compacted all the emptyXXXX into a single EmptyCore class. Cleaned up the interface for the optional stuff now there is a standard static function that can say if a given component is enabled or not.
2010-03-04 13:34:38 +00:00
Paolo Cignoni
5e1f0ce521
Heavily restructured component of vertex simplex. Compacted all the emptyXXXX into a single EmptyCore class. Cleaned up the interface for the optional stuff now there is a standard static function that can say if a given component is enabled or not.
2010-03-03 16:01:39 +00:00
Paolo Cignoni
5ef6d30d37
Added a test to check in the point to face distance computation to manage the case of degenerated faces. Now correctly resort to distance point to segment.
2010-03-03 00:35:20 +00:00
Paolo Cignoni
d340b8b92a
removed harmless gcc warnings
2010-03-02 23:17:15 +00:00
Paolo Cignoni
355edd042e
removed harmless warnings
2010-02-24 09:56:58 +00:00
Paolo Cignoni
9f8497013f
removed harmless warnings
2010-02-24 09:55:28 +00:00
Paolo Cignoni
fc6483307b
added a missing cVFi()
2010-02-23 16:45:45 +00:00
Paolo Cignoni
18c92582d4
Cleaned up the CompactFaceVector and the CompactVertexVector, Now they correctly manage existing FV and FF topology by preserving them (if they are initialized to something meaningful).
2010-02-22 17:37:51 +00:00
Nico Pietroni
98eba3ef33
corrected minor compiling issues
2010-02-22 01:03:23 +00:00
Paolo Cignoni
446400f6fc
Now the compactvertex and compactface funtions use the importlocal chain so we are sure that all the meaningful data is correctly copied (otherwise ocf stuff will not be copied) On the other hand when using ImportLocal we do not copy pointer based stuff like adjacency and *vertex pointers* that must be terefore copied by hand...
2010-02-19 00:21:26 +00:00
Paolo Cignoni
95e1b391c8
min in std limits is a function
2010-02-11 20:07:27 +00:00
Paolo Cignoni
41fda194bd
Correctly defined int inside loop as per MSVC requirements, changed assert as to be more accurate
2010-02-11 20:06:14 +00:00
Paolo Cignoni
3b152298cc
added runtime assert to prevent dangerous simplex to simplex assignment in the case of OCF optional attributes.
2010-02-11 00:14:35 +00:00
Luigi Malomo
8465fa432c
Modified rasterization algorithm to generate samples from buffer areas outside (texture space) border edges
2010-02-09 19:10:22 +00:00
ganovelli
9fee205755
removed exceeding "default" in switch condition
2010-01-16 15:33:07 +00:00
Paolo Cignoni
c72bfe6f63
Corrected a bug in the Distribution class and added useful access bin counting functions members to the Histogram class
2010-01-11 22:57:32 +00:00
Paolo Cignoni
3765096290
Added the possibility to wrap an existing coefficient vector
2010-01-08 10:36:09 +00:00
Paolo Cignoni
796c2f0b56
Implemented MakeTriEvenBySplit (still assume that the mesh is a single connected component), removed some face assigment with the (hopefully) safer ImportLocal.
2010-01-03 02:14:51 +00:00
Paolo Cignoni
a26b0e34f9
Cleaned up Detach functions and added a special, simpler version of Detatch for 2Manifold cases
2010-01-03 02:01:45 +00:00
Paolo Cignoni
29e956d524
Corrected a small bug in CountNonManifoldVertexFFVF and changed the use of bit from selection to visit bit in the CountEdges
2010-01-03 01:59:32 +00:00
Paolo Cignoni
49bbc55cac
removed harmless gcc warnings
2010-01-03 01:57:39 +00:00
Paolo Cignoni
137c239375
removed harmless gcc warnings
2010-01-03 01:31:26 +00:00
matteodelle
401abff90a
Correction of IntersectionRayMesh functions, they did not compile.
2009-12-21 13:02:28 +00:00
Paolo Cignoni
fbbf8fe436
Removed gcc4.4 warnings
2009-12-08 15:57:19 +00:00
Paolo Cignoni
39f12e9fdd
added a function to permutate the vertex vector according to a given permutation.
2009-12-07 09:05:20 +00:00
Paolo Cignoni
7030dbb151
small change. The FFp<i> shortcuts seems no more used...
2009-12-07 08:31:01 +00:00
Paolo Cignoni
d60fa01037
cleaning up include files
2009-12-07 08:23:02 +00:00
Paolo Cignoni
8a0c86c857
corrected the template in the normal<> function... again
2009-12-07 08:17:10 +00:00
Paolo Cignoni
760a767504
cleaning up include files
2009-12-07 08:15:59 +00:00
Paolo Cignoni
1c0ae1268c
added a slightly faster version of the longest edge stratified subdivision sampling
2009-12-04 08:36:49 +00:00
Paolo Cignoni
6e3f10928e
better comment to interpolationParameter2
2009-12-04 08:32:00 +00:00
Paolo Cignoni
f7b9856d0d
removed harmless warning
2009-12-04 08:22:33 +00:00
Paolo Cignoni
32619f1625
harmless gcc compiling issues
2009-12-03 23:17:46 +00:00
Paolo Cignoni
3e7b2267f0
added a missing const to the distance functor
2009-12-02 15:11:00 +00:00
Paolo Cignoni
c749b3e143
Heavily restructured PoissonDisk resampling. Now there are two approaches, a pure pruning and a cell pruning approach
2009-12-02 15:10:12 +00:00
Paolo Cignoni
5a96ab4f8d
a few optimization and correction to the hashed grid removal stuff
2009-12-02 15:08:49 +00:00
Marco Di Benedetto
939da657a9
added public: to TexCoord* Name().
2009-12-01 17:36:27 +00:00
Marco Di Benedetto
5b076c064e
added public: to WedgeColor* and Color Name().
2009-12-01 17:35:42 +00:00
Paolo Cignoni
7c907e72ae
Corrected a survived old style use of temporary data in smoothning of vertex normals
2009-12-01 08:37:27 +00:00
Paolo Cignoni
86d534ec95
added a missing std::
2009-12-01 08:34:16 +00:00
Paolo Cignoni
dc82ece647
Optimized version of poisson sampling
2009-11-30 15:53:23 +00:00
Paolo Cignoni
27c319a79c
added a removeInSphere specialization and a removePunctual specialization.
2009-11-30 10:36:49 +00:00
Paolo Cignoni
a89b2ace77
added some const and inline keywords
2009-11-30 10:32:37 +00:00
Paolo Cignoni
a209a9b890
Refactoring of the Poisson Sampling algorithm. Hopefully faster
2009-11-25 15:50:36 +00:00
Paolo Cignoni
7e02dbb4f8
added methods for removing things from a hashed grids
2009-11-25 15:49:54 +00:00
Paolo Cignoni
302a7725fa
removed harmless warnings
2009-11-17 23:34:46 +00:00
Marco Di Benedetto
ebcbc5f98d
fixed implicit cast warning.
2009-11-13 00:52:37 +00:00
Paolo Cignoni
70ae4d5c50
made public the self inspection member 'name' of the components. I do not know why it was not public in that case.
2009-11-05 22:35:56 +00:00
Paolo Cignoni
3482ee805e
added a few missing std:: and cleaned up a bit the requirements
2009-11-05 10:19:42 +00:00
Paolo Cignoni
ad4ad4026c
added computation of the per-vertex directions and values of curvature using a quadric fitting method
2009-11-05 09:55:43 +00:00
Paolo Cignoni
5ef3e2ca50
added a missing const cQ() for ocf face component
2009-11-01 09:51:53 +00:00
Paolo Cignoni
6051c1eeaa
added a missing IsVFAdjacencyEnabled and a missing typename
2009-10-29 17:16:41 +00:00
Nico Pietroni
fe6d3ca34d
restored changes for a corrected use of default copy constructor
2009-10-27 10:48:52 +00:00
Marco Di Benedetto
a80c4d25ef
fixed in-place version.
2009-10-26 12:19:21 +00:00
Marco Di Benedetto
e7cbe4f558
modified typedef due to GCC complaints.
2009-10-23 20:25:54 +00:00
Marco Di Benedetto
d650013e60
first commit.
2009-10-23 10:04:51 +00:00
Paolo Cignoni
8dd2320a4d
add missing std::
2009-10-15 11:53:09 +00:00
Nico Pietroni
74bd57f2fa
missing CurvatureType and CurvatureDirType inside EmptyCurvatureData
2009-10-14 17:19:56 +00:00
Nico Pietroni
fdd33df567
minor changes
2009-10-14 16:15:50 +00:00
Paolo Cignoni
3705cb3cb9
Improved speed by using DynamicLegendre and precomputing Scaling Factors
2009-10-14 16:10:42 +00:00
Paolo Cignoni
8d8ed1efa8
Memoized version of Legendre computation called DynamicLegendre
2009-10-14 16:09:30 +00:00
Nico Pietroni
01f772d7f8
corrected order of operations of decrease-increase valencies
2009-10-14 15:15:32 +00:00
Nico Pietroni
8c67be5617
added interpolator class for refinement
2009-10-14 15:05:08 +00:00
mtarini
2f1c77c69a
Added a flag to choose whether to use Length based criteria or Quality based ones.
2009-10-14 14:35:25 +00:00
mtarini
7c78d81cdc
added importance weighting.
2009-10-14 14:32:55 +00:00
mtarini
1664791bf3
minor: local variable rename to avoid weird compilation problems.
2009-10-14 14:30:28 +00:00
Nico Pietroni
c57e10951c
corrected funtion Normal::ImportLocal
2009-10-14 14:25:59 +00:00
Nico Pietroni
ea6553f1d5
corrected funtion NormalAbs::ImportLocal
2009-10-14 14:25:00 +00:00
Nico Pietroni
a60c31845c
added function HasConsistentEdges
2009-10-14 13:56:06 +00:00
Nico Pietroni
810c3df9a4
Changed TestVertexFace function in order to test if the each face is effectively added to the VF list of a vertex.
2009-10-14 13:54:39 +00:00
ganovelli
5c0f228a4d
added few missing Has*Ocf
2009-10-08 15:46:31 +00:00
ganovelli
b902431bc1
extended support to dump attributes (see wrap/io_trimesh/[import | export]_VMI.h )
...
It was only for vertices, now it is also for faces and mesh attributes.
Compiled gcc and .net. Tested only on toy exmaples
2009-10-07 11:05:29 +00:00
Marco Di Benedetto
b17d165d0c
Added SquaredDistance and made the point-plane version redirect to the plane-point one.
2009-10-06 16:22:35 +00:00
Paolo Cignoni
06bda0acae
corrected the use of default copy constructor with the more or less standard importLocal
2009-10-05 22:46:32 +00:00
Marco Di Benedetto
e54e0a7124
Modified PlaneFittingPoints to return eighevalues and eigenvectors and added backward compatibility wrapper.
2009-10-05 22:43:14 +00:00