Paolo Cignoni
b974b6987d
Updated to reflect the naming changes in updateNormals
2012-10-08 09:06:50 +00:00
Paolo Cignoni
c059114300
Orthography lenght -> length
2012-10-08 09:05:11 +00:00
Paolo Cignoni
dfc9192715
Orthography lenght -> length
2012-10-08 09:03:25 +00:00
Paolo Cignoni
33e1231056
Heavily reformatted and cleaned for documentation. Hopefully no semantic changes involved...
2012-10-08 09:01:24 +00:00
Paolo Cignoni
6f7db152b2
updated to the new eigen folder structure (something moved out from unsupported folder...)
2012-10-05 17:01:22 +00:00
Paolo Cignoni
ab76074ccc
removed useless ;
2012-10-04 20:41:28 +00:00
Paolo Cignoni
cbf99ac69a
updated to the change update/edge -> update/component_ep
2012-10-04 20:40:40 +00:00
Paolo Cignoni
18e2f6dd7c
Updated to the new exception based strategy (no more assert for missing components)
2012-10-04 20:37:49 +00:00
Paolo Cignoni
f62ca270b7
Better naming for the EdgePlane face component for fast closest query
2012-10-04 16:22:08 +00:00
Paolo Cignoni
2b0dbf2d20
Better naming for the EdgePlane face component for fast closest query
2012-10-04 16:19:03 +00:00
Paolo Cignoni
2577210a54
**** SIGNIFICANT CHANGES *****
...
- Cleaned up include order: Now you only need to include <vcg/complex/complex.h> (no more vertex/base.h etc)
- Added official VN() EN() FN() const members for knowing number of vertexes etc...
- Added exceptions (at last!)
Now instead of:
assert(HasPerVertexNormal(m))
you should write:
if(!HasPerFaceNormal(m)) throw vcg::MissingComponentException();
2012-10-04 11:10:25 +00:00
Nico Pietroni
7ffcc407c9
corrected some warning and added support for read/write rosy format
2012-10-03 16:38:23 +00:00
Paolo Cignoni
14cffd1f6e
Removed template default parameter. Now if you use the distortion class you have to specify if you want per vertex or per wedge tex coords.
2012-10-02 13:42:33 +00:00
Nico Pietroni
a95c0efa2e
added GradientToCross and ExporttoRosy format see Interactive Visualization of Rotational Symmetry Fields on Surfaces
...
Jonathan Palacios and Eugene Zhang
2012-09-18 15:31:40 +00:00
Nico Pietroni
e2e948dbd6
added cast to float lines 308 309
2012-09-18 15:18:33 +00:00
Nico Pietroni
0cde611654
added function SetQasDistorsion and minor changes
2012-09-18 15:14:12 +00:00
Nico Pietroni
3658530bde
corrected some warning
2012-09-05 23:25:55 +00:00
Nico Pietroni
d9a95aaffc
added Function FaceClearS
2012-09-03 15:56:24 +00:00
Nico Pietroni
10e827b071
added include <wrap/callback.h>
2012-09-03 15:55:41 +00:00
Nico Pietroni
b297040835
added MakeDirectionFaceCoherent
...
solved gcc compiling issues
2012-09-03 15:54:25 +00:00
Paolo Cignoni
cfba5001fd
Disambiguate function name PerVertexWeighted -> PerVertexNelsonMaxWeighted
2012-07-31 09:15:20 +00:00
Paolo Cignoni
f3ef64cc0c
Heavily changed the whole hole filling class, now much shorter, more readable and hopefully more robust.
...
Still to better balance shape vs diedral angle quality measure.
2012-07-31 09:13:48 +00:00
granzuglia
0edde01197
- removed compiler time error from TestIntersection to TestFaceFaceIntersection
2012-07-27 17:48:17 +00:00
Paolo Cignoni
500a478e14
Improved the SplitNonManifoldVertex function. Now it is able to also move the split vertexes apart
2012-07-27 12:57:34 +00:00
mtarini
3adc453f53
Now zonohedra construction robust to basically *any* input, no matter how degenerate.
2012-07-24 01:48:21 +00:00
mtarini
15665c15ef
added a few testing methods (IsTriOnly, IsQuadOnly, IsTriQuadOnly)
2012-07-20 13:50:08 +00:00
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
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
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
81a4cd4765
Corrected two wrong (unused) return types in stat collecting functions for trimesh
2012-07-06 05:38:05 +00:00
granzuglia
398f906bb6
added missing cmath include
2012-07-05 14:46:16 +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
Paolo Cignoni
bfc10096f0
small improvemnt in stat collection for voronoi atlas
2012-07-03 10:21:41 +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
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
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
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
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
5445d99402
several major modifications
2012-05-25 13:21:11 +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
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
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
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
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
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
Nico Pietroni
d5e7d551ba
clean up the code and used new per face component
2012-03-29 16:33:33 +00:00
Nico Pietroni
d4275a3597
added several functions
2012-03-16 13:48:18 +00:00
Nico Pietroni
d941439fbb
corrected several bugs and done several changes
2012-03-16 13:47:42 +00:00
Paolo Cignoni
c4e116a42a
Corrected a bug in the RemoveUnreferencedVertex. It considered only faces and removed vertices referenced by edges
2012-03-14 16:01:30 +00:00
Nico Pietroni
ad417602bd
added default constructor
2012-03-09 11:01:25 +00:00
Nico Pietroni
5e7f95f94a
major changes
2012-03-08 18:09:31 +00:00
Nico Pietroni
f97f54a89b
erased vertex manifold as prerequisite
2012-03-08 18:09:09 +00:00
Nico Pietroni
1aed2f16da
first release version.. need to be tested in several functions
2012-03-08 18:08:35 +00:00
Paolo Cignoni
add25e7bf0
added a missing std::
2012-02-27 07:06:26 +00:00
Paolo Cignoni
6983d4f6e9
Added a few comments...
2012-02-25 14:40:23 +00:00
Luigi Malomo
01453b8b0e
Fixed a call to InterpolationParameters. A Point3 reference must be provided for barycentric coordinates output, instead of 3 separate scalars.
2012-02-14 12:13:38 +00:00
Luigi Malomo
f358db54fd
Added a quick check for callback presence (avoid crash if cb function is not provided)
2012-02-14 12:02:43 +00:00
Paolo Cignoni
d331cf7f60
Added OrientedDisk creation method. and a missing "clear()"
2012-02-09 17:50:38 +00:00
Paolo Cignoni
c90b11ca80
Changed all the MeshType::HasSomething() into the now standard tri::HasSomething(MeshType &m)
...
This changed implied the fact that you need different functor constructor (you have to keep the mesh inside it to know at runtime if some attribute are present or not)
2012-01-25 10:23:22 +00:00
Nico Pietroni
fc7983d3fd
added HasPolyInfo function, line 538
2012-01-24 13:34:46 +00:00
Nico Pietroni
5ad96544bb
added several functions...
2012-01-23 13:09:38 +00:00
Paolo Cignoni
b10ed11bc0
Added two functions to build disk, rectangles and squares (oriented in space).
...
Changed the reflection functions as usual
2012-01-23 07:07:19 +00:00
Paolo Cignoni
48e607f884
Changed all the MeshType::HasSomething() into the now standard tri::HasSomething(MeshType &m)
2012-01-23 06:38:32 +00:00
Paolo Cignoni
4bdf843589
Changed all the MeshType::HasSomething() into the now standard tri::HasSomething(MeshType &m)
2012-01-20 08:03:25 +00:00
Paolo Cignoni
6094438b4b
Changed all the MeshType::HasSomething() into the now standard tri::HasSomething(MeshType &m)
2012-01-20 07:58:43 +00:00
Paolo Cignoni
58042fda3e
Changed all the MeshType::HasSomething() into the now standard tri::HasSomething(MeshType &m)
2012-01-20 07:52:22 +00:00
Paolo Cignoni
e9d476e93c
Changed all the MeshType::HasSomething() into the now standard tri::HasSomething(MeshType &m)
2012-01-20 07:49:26 +00:00
Paolo Cignoni
f4cf3b9221
Changed the name of the Distance from point to plane
...
from DistancePointPlane
to SignedDistancePointPlane
to underline the fact that it is SIGNED!!!
2012-01-18 11:44:42 +00:00
Paolo Cignoni
86617dd872
Changed the name of Clean::IsOrientedMesh() -> Clean::OrientCoherentlyMesh()
...
It is a mesh changing method!
2012-01-18 11:42:08 +00:00