Paolo Cignoni
f1d6d5d32a
Changed the GetInfo of the hole stuff. Now it require the userbit specified
2012-07-19 08:09:28 +00:00
mtarini
a70fd3daa5
Better comments
2012-07-18 22:18:14 +00:00
mtarini
8e4a8e9b6e
first version
2012-07-18 22:02:36 +00:00
mtarini
240b88a582
added method MergeFlatFaces (does what it says). Plus clean-ups.
2012-07-18 21:46:12 +00:00
Paolo Cignoni
45b0deb7eb
Important Change: ** LastBitFlag ** now is named ** FirstUnusedBitFlag **
...
Corrected the name of the function allocating a user bit among the flags of the simplexes.
Changed in ALL the simplexes (vertex, edge, face, etc) and updating functions.
Note that the LastBitFlag should never be used by common users...
2012-07-18 09:37:32 +00:00
mtarini
36d9030955
added SplitNonFlatQuads method
2012-07-17 19:21:46 +00:00
ganovelli
d9132e6cbc
corrected assertion
2012-07-09 15:14:36 +00:00
ganovelli
924cf9a4ec
changed a comment
2012-07-09 15:12:56 +00:00
Paolo Cignoni
7ffb878913
SIGNIFICANT CHANGE
...
About the point to mesh distance functionalities
Now the two different 'path' for this distance computation (with or without the precomputation of planes and edges for triangular faces) are well distinct and with different names:
PointDistanceEP and PointDistanceBase
See the sample/trimesh_closest sample for more details
2012-07-06 15:24:04 +00:00
Paolo Cignoni
58eced0506
Changed one of the init overload Set(), the one that allowed to specify the cell radius but ACTUALLY it did not use it...
...
now has a new name : SetWithRadius
2012-07-06 09:40:09 +00:00
Paolo Cignoni
87d01da58f
Yet some other changes to the stat collecting functions for computing the average edge lenght on a mesh.
2012-07-06 09:06:43 +00:00
Paolo Cignoni
3d956d8b48
Changed ComputeFaceEdgeHistogram into ComputeFaceEdgeDistribution. It was plainly wrong... :(
2012-07-06 08:08:24 +00:00
Paolo Cignoni
38b8ab1f15
Corrected a bug in GridStaticPointer: The hint about the number of cell to be used was ignored and used only to compute the expansion offset.
2012-07-06 06:58:17 +00:00
Paolo Cignoni
81a4cd4765
Corrected two wrong (unused) return types in stat collecting functions for trimesh
2012-07-06 05:38:05 +00:00
Paolo Cignoni
24110c34b2
added an Empty Component for the edgePlane component.
2012-07-06 05:07:25 +00:00
granzuglia
398f906bb6
added missing cmath include
2012-07-05 14:46:16 +00:00
Paolo Cignoni
b77fa00b5e
removed a few unused commented out funcs
2012-07-04 15:27:17 +00:00
Paolo Cignoni
cd1ae00082
Added tri::UpdateFlags<MESH_TYPE>::FaceBorderFromFF(m); to the basic refine call.
...
In order to move these per face flags in less places as possible...
2012-07-04 15:25:21 +00:00
Paolo Cignoni
b2e2bfe2df
added Cotangent weighting to the basic laplacian smoothing.
2012-07-04 15:23:59 +00:00
granzuglia
db57bd4e19
added missing public keyword on the static Name function of some ocf components.
2012-07-03 11:12:21 +00:00
Paolo Cignoni
bfc10096f0
small improvemnt in stat collection for voronoi atlas
2012-07-03 10:21:41 +00:00
Paolo Cignoni
7e4e023266
Removed a dubious unused normalize method...
2012-07-03 09:29:48 +00:00
Paolo Cignoni
f036874693
better comments
2012-07-03 09:14:17 +00:00
Paolo Cignoni
e362d54a25
Timing functions and stat collecting for voronoi atlas
2012-07-03 09:13:07 +00:00
Paolo Cignoni
b08fda7641
Corrected SegmentPointSquaredDistance to do not use anymore a hardcoded EPSilon value...
2012-07-02 16:45:49 +00:00
Paolo Cignoni
776fbe45a0
First Version of the Voronoi Atlas parametrizator.
2012-07-02 16:41:28 +00:00
Paolo Cignoni
539de75614
Cleaned up a bit the printint stuff. Now it should collect stats in a more clean way
2012-07-02 16:31:52 +00:00
ganovelli
0f99bd505e
changes and minor fix to enable input/output with VMI on memory
2012-07-02 14:38:10 +00:00
Paolo Cignoni
487b6c7bd5
Corrected a bug in search for the best edge to be fixed in the FindFarthestVert when setting up the system for the poisson solver...
2012-07-02 09:38:42 +00:00
Paolo Cignoni
7cc19a31c6
Added two stupid wrapper to ComputePerFaceQualityMinMax and ComputePerVertexQualityMinMax
2012-07-02 08:30:17 +00:00
Paolo Cignoni
52fed4c451
Added a PerWedgeMakeUnitaryUV to normalize for packing
2012-07-02 08:29:11 +00:00
Paolo Cignoni
ad9a7a237d
updated to match the Distorsion->Distortion name change
2012-07-02 08:19:06 +00:00
Paolo Cignoni
d900752b52
Renamed to correct the spelling error (distorsion -> distortion)
2012-07-02 08:15:24 +00:00
Paolo Cignoni
d6ff9f01de
Heavily modified. Corrected Spelling of distorsion->distortion
...
Completed a few measures and added difference between angle distortion in cos or rad space
2012-07-02 08:13:50 +00:00
Paolo Cignoni
28f3e120f0
Corrected naming for the unreference vertices function now the func that just count the unref vert is called CountUnreferencedVertex
2012-06-28 17:21:20 +00:00
Paolo Cignoni
9ed6314d10
removed harmless gcc warnings
2012-06-28 09:09:08 +00:00
Nico Pietroni
066f46c20b
first release version
2012-06-22 14:27:33 +00:00
Nico Pietroni
614a5fec16
first release version
2012-06-22 14:25:35 +00:00
Nico Pietroni
0e3d2abcfd
corrected return value of closest point
2012-06-22 14:23:33 +00:00
Paolo Cignoni
af15a07c0f
corrected small bug in RemoveDuplicateFace involving the unsafe subtracting 1 from an unsigned int that could be zero...
2012-06-14 13:48:25 +00:00
Federico Ponchio
cb639a12d7
renamed from max/min to hi/low
2012-06-14 09:40:26 +00:00
Paolo Cignoni
36905c5d93
Added extrude.h file for the creation of extruded meshes from profiles
2012-06-06 06:25:56 +00:00
Paolo Cignoni
75ebfa9d5a
Rewrote and commented the function that given a face pointer it follows the chain of non-faux edges. Now it supports the case of meshes with face with ALL edges faux (isolated faces in a polygon).
2012-05-28 11:30:37 +00:00
Nico Pietroni
894ebb26f6
added RemoveHugeConnectedComponentsDiameter function
2012-05-25 13:33:36 +00:00
Nico Pietroni
d4ad0bd6f6
added check if length of segment is zero then function SegmentPointDistance still works
2012-05-25 13:32:48 +00:00
Nico Pietroni
5445d99402
several major modifications
2012-05-25 13:21:11 +00:00
Nico Pietroni
c1e19b4b55
added assert(0) for cVFi function if does not exixts the component
2012-05-25 13:19:03 +00:00
Paolo Cignoni
cb3fc0dbe2
corrected harmless gcc warnings
2012-05-06 16:01:14 +00:00
Paolo Cignoni
0c16045423
corrected harmless gcc warnings
2012-05-06 15:36:02 +00:00
Paolo Cignoni
64d7f31279
corrected bug in the face laplacian normal smoothing
2012-05-06 15:31:07 +00:00
Paolo Cignoni
37759ffcb0
sligthly better comments
2012-05-06 14:42:04 +00:00
Paolo Cignoni
05195b6201
in the functions for creating meshes: corrected bug in the OrientedRect and changed the interface of the grid to allow the creation of a flag grid
2012-05-06 14:22:29 +00:00
Paolo Cignoni
0cad100f9d
corrected harmless gcc warnings
2012-05-06 14:20:34 +00:00
Paolo Cignoni
486475d4a3
added another assert to histogram to avoid trash result...
2012-05-05 14:55:50 +00:00
Paolo Cignoni
7537b20933
Added a NormalizedDirection method
2012-05-05 14:54:45 +00:00
Paolo Cignoni
e532ec9751
Added VVStarVE and VEStarVE functions (to get stars of vertexes and edges when working with edge meshes) to edge topology.
2012-04-27 09:23:01 +00:00
Paolo Cignoni
4c44513d4f
corrected bug in the UpdateTopology::EdgeEdge function: it touched a vector element beyond .end()
2012-04-22 09:01:04 +00:00
Paolo Cignoni
39df21640a
Updated to reflect the change from ColorRamp -> SetColorRamp
2012-04-18 21:19:11 +00:00
Paolo Cignoni
8eb94a7f9d
Changed ColorRamp non static method into a static one (that constructs a Color4b object) and added a more uniform SetColorRamp method.
2012-04-18 21:17:04 +00:00
Paolo Cignoni
5f22a3f7b5
added a very simple function wrapper to get a poisson disk distribution over a mesh with just function call
2012-04-18 21:12:12 +00:00
Paolo Cignoni
508c733bd4
added a missing updateQuality::FaceFromVertex
2012-04-18 21:09:56 +00:00
Paolo Cignoni
ba507529c8
Modified intersectionPlaneQuality so that it also compute the per vertex normal according to the mesh...
2012-04-18 21:09:08 +00:00
Paolo Cignoni
ffdc2f2b28
Geodesic: Added possibility of saving also the implict tree of the shortest path. For each vertex you can give an attribute where the function will save the 'parent' e.g. the previous vertex in the shortest path to the closest source.
2012-04-12 23:54:23 +00:00
Marco Di Benedetto
1c5f2c2264
added static capability query function for ocf vertex texcoord (VertexVectorHasPerVertexTexCoord()) (not having it caused false positives).
2012-04-10 16:47:15 +00:00
Marco Di Benedetto
a82ac9639f
added constant accessors without the infamous "c" prefix for color (C()) and texcoord (T()).
2012-04-10 15:46:20 +00:00
granzuglia
1548d6415a
added missing functions in Empty:
...
- static bool HasCurvatureDir() { return false; }
- static bool IsCurvatureEnabled(const typename TT::VertexType *) { return false; }
2012-04-06 08:10:32 +00:00
Paolo Cignoni
5aed57a364
Heavy restructuring of the append function. Now it is hopefully must more efficient.
...
Added a parameter for requesting the copy of the non trivial topology. (e.g. all the adjacency relations beyond FV and EV).
2012-04-04 10:11:46 +00:00
Paolo Cignoni
b0d7d5c52e
removed harmless gcc warnings
2012-04-04 10:05:35 +00:00
Paolo Cignoni
ea701b39b3
Restructured Face component in order to follow the unique emptycore approach that avoid an endless derivation chain in the type definition
2012-04-04 10:04:46 +00:00
Paolo Cignoni
3811efacd8
removed useless include
2012-04-04 09:59:42 +00:00
Paolo Cignoni
059a2f220b
added EdgeCount method for counting selected edges
2012-04-04 09:59:10 +00:00
Paolo Cignoni
06d481f5de
standardized function names e used area function of vcg lib
2012-04-04 09:57:46 +00:00
Paolo Cignoni
783aef369b
added hn initialization in the trimesh constructor
2012-04-04 09:53:54 +00:00
msabbadin
7c3687b8db
corrected an assert in PrincipalDirections static method:
...
from assert(m.HasVFAdjency());
to assert(tri::HasPerFaceVFAdjacency(m) && tri::HasPerVertexVFAdjacency(m));
2012-04-02 14:42:56 +00:00
Paolo Cignoni
8a631d48c1
Corrected a significant bug in the reflection types for ocf components.
...
Changed the basic reflection mechanism: Instead of having a function templates over all the four containers now we template over Trimesh and we rely on a second function templated on face/vert that wants a vector<face> ; this second function only is eventually overloaded by another function that needs a vector_ocf of faces.
That is Before we had:
- in complex.h
template < class CType0, class CType1, class CType2 , class CType3>
bool HasPerFaceVFAdjacency (const TriMesh < CType0, CType1, CType2, CType3> & /*m*/) {return TriMesh < CType0 , CType1, CType2, CType3>::FaceContainer::value_type::HasVFAdjacency();}
- in the component_ocf.h
template < class VertContainerType, class FaceType, class Container1, class Container2 >
bool HasPerFaceVFAdjacency (const TriMesh < VertContainerType , face::vector_ocf< FaceType >, Container1, Container2 > & m)
{
if(FaceType::HasVFAdjacencyOcf()) return m.face.IsVFAdjacencyEnabled();
else return FaceType::FaceType::HasVFAdjacency();
}
While now we have:
- in complex.h
template < class FaceType > bool FaceVectorHasPerFaceVFAdjacency (const std::vector<FaceType > &) { return FaceType::HasVFAdjacency(); }
template < class TriMeshType> bool HasPerFaceVFAdjacency (const TriMeshType &m) { return tri::FaceVectorHasPerFaceVFAdjacency (m.vert); }
- and in component_ocf.h
template < class FaceType >
bool FaceVectorHasPerFaceVFAdjacency(const face::vector_ocf<FaceType> &fv)
{
if(FaceType::HasVFAdjacencyOcf()) return fv.IsVFAdjacencyEnabled();
else return FaceType::HasVFAdjacency();
}
2012-03-31 01:16:58 +00:00
Paolo Cignoni
b43fffd46f
added a few security assert on deletion of simplexes that you are actually deleting objects that belongs to the given mesh
2012-03-30 23:43:04 +00:00
Paolo Cignoni
e3d0a6d0cb
added method for generating a random point into a triangle (it generate three random barycentric coords)
2012-03-30 23:42:04 +00:00
Nico Pietroni
a53447ab1c
added VFOrderedStarVF_FF function
2012-03-29 16:36:01 +00:00
Nico Pietroni
fe71126700
added TransformationMatrix function
2012-03-29 16:34:31 +00:00
Nico Pietroni
d5e7d551ba
clean up the code and used new per face component
2012-03-29 16:33:33 +00:00
ganovelli
bbcfbfabc2
added CurvatureDir to Face
2012-03-28 12:39:22 +00:00
ganovelli
749f67c3b6
added curvature direction
2012-03-28 11:56:10 +00:00
Nico Pietroni
4f166fbd95
added Crease Flag access functions
2012-03-16 13:49:04 +00:00
Nico Pietroni
d4275a3597
added several functions
2012-03-16 13:48:18 +00:00
Nico Pietroni
d941439fbb
corrected several bugs and done several changes
2012-03-16 13:47:42 +00:00
Paolo Cignoni
57bd611892
added assert in the VFIterator to handle uninitialized topology.
2012-03-14 16:02:30 +00:00
Paolo Cignoni
c4e116a42a
Corrected a bug in the RemoveUnreferencedVertex. It considered only faces and removed vertices referenced by edges
2012-03-14 16:01:30 +00:00
Paolo Cignoni
f58551601a
CHANGE to the VERY USED PointDistanceBase, the basic functor used to find the closest point to a face in all the grids.
...
It has a bug that could return a nan in some degnerate case where an almost null face has different vertices but the squared distance between them could be zero.
Now it should handle also these cases.
2012-03-14 15:59:42 +00:00
Paolo Cignoni
b57a747441
rewriting of the SegmentPointSquaredDistance, now it is much much much shorter.
2012-03-14 15:57:37 +00:00
Nico Pietroni
ad417602bd
added default constructor
2012-03-09 11:01:25 +00:00
Nico Pietroni
5e7f95f94a
major changes
2012-03-08 18:09:31 +00:00
Nico Pietroni
f97f54a89b
erased vertex manifold as prerequisite
2012-03-08 18:09:09 +00:00
Nico Pietroni
1aed2f16da
first release version.. need to be tested in several functions
2012-03-08 18:08:35 +00:00
Paolo Cignoni
add25e7bf0
added a missing std::
2012-02-27 07:06:26 +00:00
Paolo Cignoni
29fdad2622
Added constructor with seed to the Mersenne rnd generator
2012-02-27 06:58:17 +00:00
Paolo Cignoni
6983d4f6e9
Added a few comments...
2012-02-25 14:40:23 +00:00
Paolo Cignoni
bc57fc36b4
Moved here and cleaned the kdtree for points implemented by Gael
2012-02-22 16:57:44 +00:00
Luigi Malomo
01453b8b0e
Fixed a call to InterpolationParameters. A Point3 reference must be provided for barycentric coordinates output, instead of 3 separate scalars.
2012-02-14 12:13:38 +00:00
Luigi Malomo
f358db54fd
Added a quick check for callback presence (avoid crash if cb function is not provided)
2012-02-14 12:02:43 +00:00
Paolo Cignoni
1def190868
harmless gcc warnings
2012-02-09 17:55:41 +00:00
Paolo Cignoni
159f9d0c0f
added an assertion to block the use of VEiterators in case of unitialized VEadjacency
2012-02-09 17:54:25 +00:00
Paolo Cignoni
c8e202738c
added initialization of VE adjacency components to something that allows to discriminate between the uninitializated adjacency and a vertex with no edges
2012-02-09 17:53:08 +00:00
Paolo Cignoni
d331cf7f60
Added OrientedDisk creation method. and a missing "clear()"
2012-02-09 17:50:38 +00:00
Paolo Cignoni
790cf5d7ef
Added a second function to compute the distance between a point and a box, according to the fact that you need the distance between the surface of a box or the distance from the filled box (e.g. the distance is 0 inside the box)
2012-02-09 17:30:54 +00:00
Paolo Cignoni
86f636b64b
Added function to add a point with radius to a bbox.
2012-02-09 17:24:23 +00:00
Nico Pietroni
69508353bb
resolved minor compilation issues
2012-02-09 14:02:34 +00:00
Paolo Cignoni
c90b11ca80
Changed all the MeshType::HasSomething() into the now standard tri::HasSomething(MeshType &m)
...
This changed implied the fact that you need different functor constructor (you have to keep the mesh inside it to know at runtime if some attribute are present or not)
2012-01-25 10:23:22 +00:00
Nico Pietroni
fc7983d3fd
added HasPolyInfo function, line 538
2012-01-24 13:34:46 +00:00
Nico Pietroni
5ad96544bb
added several functions...
2012-01-23 13:09:38 +00:00
Paolo Cignoni
b10ed11bc0
Added two functions to build disk, rectangles and squares (oriented in space).
...
Changed the reflection functions as usual
2012-01-23 07:07:19 +00:00
Paolo Cignoni
c32db09276
Changed the name of the Distance from point to plane
...
from DistancePointPlane
to SignedDistancePointPlane
to underline the fact that it is SIGNED!!!
2012-01-23 06:47:31 +00:00
Paolo Cignoni
48e607f884
Changed all the MeshType::HasSomething() into the now standard tri::HasSomething(MeshType &m)
2012-01-23 06:38:32 +00:00
Paolo Cignoni
4bdf843589
Changed all the MeshType::HasSomething() into the now standard tri::HasSomething(MeshType &m)
2012-01-20 08:03:25 +00:00
Paolo Cignoni
6094438b4b
Changed all the MeshType::HasSomething() into the now standard tri::HasSomething(MeshType &m)
2012-01-20 07:58:43 +00:00
Paolo Cignoni
58042fda3e
Changed all the MeshType::HasSomething() into the now standard tri::HasSomething(MeshType &m)
2012-01-20 07:52:22 +00:00
Paolo Cignoni
7fb6c417da
Missing Include
2012-01-20 07:51:49 +00:00
Paolo Cignoni
e9d476e93c
Changed all the MeshType::HasSomething() into the now standard tri::HasSomething(MeshType &m)
2012-01-20 07:49:26 +00:00
Paolo Cignoni
a53887e893
added operator [] and function Direction()
2012-01-18 16:45:50 +00:00
Paolo Cignoni
a61f6db8ac
corrected return value bug
2012-01-18 16:43:40 +00:00
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
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