Paolo Cignoni
5bb5c1a1eb
Correct a function name to match attribute order
...
IntersectionPlaneLine(line,plane) -> IntersectionPlaneLine(plane,line)
2012-01-18 16:41:34 +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
ac3107cdb4
added comments to the color Scatter function (I never remember the meaning of the params)
2012-01-18 11:24:33 +00:00
Paolo Cignoni
048b884a3e
Added tri:UpdatePosition::Scale(mesh)
2012-01-18 11:22:40 +00:00
Nico Pietroni
75aca76eb7
Added PointInsidePolygon function
2012-01-12 00:53:37 +00:00
Nico Pietroni
bb7fbdcc88
line 193 corrected composition of transformations
2012-01-12 00:52:04 +00:00
ganovelli
d256abfaaf
added PointScaledDistanceFunctor
2011-12-21 16:15:32 +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
Paolo Cignoni
c8fecaecf3
added Class VEIterator for traversing all the edges over a single vertex
2011-12-12 23:27:26 +00:00
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