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
Paolo Cignoni
ca16dcdf52
added management of faux edges in functions that retrieve the set of edges
2009-10-02 14:13:04 +00:00
Paolo Cignoni
a35120d9d9
added faux edge sampling management
2009-10-02 14:11:34 +00:00
mtarini
5acb759d8e
Removed a rarely expressed bug on CollapseDiag
2009-09-24 16:12:57 +00:00
Paolo Cignoni
d2edfc1f4d
removed two dummy useless functions
2009-09-22 22:36:22 +00:00
Paolo Cignoni
022df4f59a
Added ComputePerVertexQualityDistribution
2009-09-22 16:42:59 +00:00
Nico Pietroni
98e834c540
corrected 1 bug in PointDistance function
2009-09-18 09:16:17 +00:00
Paolo Cignoni
1b7adbe035
Hole filling now returns the number of closed holes
2009-09-12 05:20:32 +00:00
mtarini
beb12f0b7c
2009-09-09 12:26:04 +00:00
Marco Callieri
0ccb9e8992
added support function (_substitute) to umproject 2D points + depth when the rotation matrix is not exactly rigid (such as the one calculated by Textailor, Tsai and Garcia)
2009-09-08 14:05:49 +00:00
mtarini
88ef8fa03b
minor performance optimizations.
2009-09-07 17:54:39 +00:00
mtarini
7e3ad9eced
2009-09-07 16:44:01 +00:00
mtarini
15f6f89d06
Added a few convenience methods to Pos.
2009-09-07 15:53:28 +00:00
mtarini
a2e777fd9a
2009-09-04 16:49:41 +00:00
Nico Pietroni
5846e9a86d
added initial #define to avoid multiple inclusion
2009-09-04 15:52:21 +00:00
mtarini
2c3a92242b
Added working valency in flags computations (and used to detect singlets/doublets quicker)
2009-09-03 22:35:28 +00:00
Marco Di Benedetto
6fb6cfbb24
added const to method.
2009-09-03 14:48:22 +00:00
Marco Di Benedetto
ae09d558f0
added const to method.
2009-09-03 14:48:08 +00:00
mtarini
b4b6e596eb
2009-09-02 17:25:17 +00:00
Nico Pietroni
e43cfa5f43
corrected bugs in Iterator
2009-09-02 13:28:37 +00:00
Nico Pietroni
c1daa656fe
corrected bug in returning value of MarkSmallestEdgeOrDiag
2009-09-02 13:27:30 +00:00
Nico Pietroni
672cb554b1
added Initial #define to exclusive inclusion
2009-09-01 18:23:50 +00:00
mtarini
8f89da47ef
Now collapse methods (diagonal, counter-diag, and edge) return bool success and take optional parameter of type Pos (around which to rotate to find all affected quads). Also added an iterator that goes around Pos that returns quads (only once per quad).
2009-09-01 17:14:35 +00:00
Nico Pietroni
37c11749f7
changed flags of vertices in case of modifications
2009-08-31 18:45:58 +00:00
mtarini
d3232eb472
Added keep track Valency (in flags. For now, uses hard-wired flag interval 24-28.).
...
Valency used to detect Singlet, Doublets. Marks vertex flag V in affected Quads in all basic operations (method MarkFaceF)
2009-08-31 14:58:57 +00:00
Paolo Cignoni
415228fcd4
Added some missing importLocal functions
2009-08-30 13:54:06 +00:00
Nico Pietroni
733caf9478
changed TestEdgeRotation() and quadQuality() from private to public
2009-08-30 10:04:21 +00:00
Paolo Cignoni
b14cd10824
Added management of per-vertex quality values during simplification to amplify initial quadric values
2009-08-30 09:35:36 +00:00
Marco Di Benedetto
be1d887db6
Renamed LeftT to RightT, added some checks and fixed method name.
2009-08-28 15:26:40 +00:00
mtarini
d231b9d021
Encapsulated everything in a static class. Also, templated with Interpolator "single-method static class" functor to make custom vertex interpolations during collapses.
2009-08-28 15:17:23 +00:00
Paolo Cignoni
9fc361301d
Added missing Plane3::Import
2009-08-26 00:10:32 +00:00
Paolo Cignoni
077294b03e
added the common TexCoord2f and TexCoord2d typenames that where strangely missing...
2009-08-25 22:32:20 +00:00
mtarini
ecd1de4d94
added UpdateQualityAsBitQuadValency
2009-08-21 18:46:51 +00:00
mtarini
8e081cde43
Now BitQuadMarkVertexRotations rotates all profitable ones (not just the 1st)
2009-08-21 18:46:05 +00:00
mtarini
7f83000b93
fixed a nasty bug in Matrix44<T>::ToEulerAngles (but it still suffers from Gimbal Lock)
2009-08-21 12:42:16 +00:00
Paolo Cignoni
b9ad0d4aa2
A function inside AddPointSet() was templated on CMeshO instead of the general type MeshType. This could lead to errors at compile time. CMeshO has been replaced with MeshType and now works fine.
2009-08-07 13:56:38 +00:00
Paolo Cignoni
b54b74e103
changed doxigen comments.
2009-08-04 21:10:08 +00:00
Paolo Cignoni
b507e2e8f7
added comments in doxygen style.
2009-08-02 21:43:13 +00:00
ganovelli
fa287ce0ab
added support for dump of attributes (see wrap/io_trimesh/[import | export]_VMI.h )
2009-07-29 15:45:56 +00:00
ganovelli
286ac9162a
added cr at the end
2009-07-29 12:48:30 +00:00
ganovelli
f1b1220225
small changes to enable the mesh dumping on VMI file (see wrap/io_trimesh/[import | export]_VMI.h )
...
and HandlesWrapper renamed to PointerToAttribute
2009-07-29 12:46:46 +00:00
Paolo Cignoni
4e1b6897b1
class that provides an estimation of the overlap of two meshes. It works as follow: it samples N points in a normal equalized manner on the Mov mesh, then count how many points of the Fix mesh are in consensus with the sampled points. To be in consensus means: distance between points is <= param.consensusDistance AND the angle between points normals is <= param.normalAngle. This works for point clouds too. comments will be added in next commit.
2009-07-28 23:07:26 +00:00
Paolo Cignoni
44fd7bb2ba
slightly changed the trivial sampler to make simpler to use all the sampling strategies to just get a coord vector.
2009-07-22 05:59:03 +00:00
Paolo Cignoni
9608ec798b
compilation fixes with Eigen
2009-07-21 07:29:13 +00:00
Nico Pietroni
7aefe275b3
added #include<stdio> because of fprintf call on Histogram<ScalarType>::FileWrite function
2009-07-17 17:42:51 +00:00
granzuglia
b41603d086
added missing #include file update/topology.h
2009-07-17 08:22:38 +00:00
Paolo Cignoni
7e5a7630f2
-added CountPointSet() to clustering
...
-ComputePerVertexQualityHistogram() modified; added a parameter to compute histogram taking into account just selected vertexes.
2009-07-16 10:16:39 +00:00
granzuglia
b686bd1d31
changes in order to compile with gcc 3.x
2009-07-15 16:29:10 +00:00
granzuglia
bb97c3a1ec
changes in order to compile with gcc 3.x
2009-07-15 16:27:29 +00:00
granzuglia
79b3238e27
changes in order to compile with gcc 3.x
2009-07-15 16:26:14 +00:00
granzuglia
14eb3697ec
changes in order to compile with gcc 3.x
2009-07-15 16:25:25 +00:00
Nico Pietroni
046558798a
lien 242 added cast to ScalarType on "2.0" to avoid warning in case of float usage
2009-07-14 14:33:00 +00:00
Nico Pietroni
61d4d72c4c
removed closests[i]->C()=Color4b::Green; form MergeCloseVertex function
2009-07-14 14:31:20 +00:00
Paolo Cignoni
15531646b5
better comment in assert of finding nan in histograms
2009-07-14 09:00:23 +00:00
Paolo Cignoni
d71d110703
Heavily restructured clustering class to allow also a subsampling strategy that allow the fast extraction of a well spaced subset of vertices
2009-07-14 08:57:05 +00:00
Paolo Cignoni
a5cb113561
added a method for getting the center of a grid cell
2009-07-14 08:55:20 +00:00
Paolo Cignoni
7a45bbe7eb
Added Color4d type definition
2009-07-10 13:22:24 +00:00
Paolo Cignoni
e6fbdfb9f6
Added static constuctor that imports from different Quaternion types (overrides same static contstructor of father's Point4 class)
2009-07-10 13:18:24 +00:00
Marco Di Benedetto
a79d8f9bd8
changed field order in PointerUpdater to prevent constructor warning (in initialization list).
2009-07-08 16:12:46 +00:00
mtarini
ec1c94cee2
Added a few seek-best-op (and-do-it) operations (MarkSmallestEdgeOrDiag... etc)
2009-07-07 15:25:13 +00:00
mtarini
ef71c4ef04
Added new local operations (RotateBitQuadVertex, CollapseQuadEdge...).
2009-07-07 15:23:42 +00:00
mtarini
077e720428
Added PerBitQuadFaceNormalized
2009-07-07 15:22:28 +00:00
Marco Di Benedetto
3b15d3a8df
added cast to unsigned char.
2009-06-30 19:01:22 +00:00
Marco Di Benedetto
85ccd7dc0b
removed unused parameter warning.
2009-06-30 19:00:47 +00:00
Nico Pietroni
1fa445c9fb
changed epsilon value in InterpolationParameters
2009-06-30 16:15:51 +00:00
Nico Pietroni
24cf3c430a
Added ScalarType Length() const function
2009-06-30 16:13:19 +00:00
Nico Pietroni
7c6296c80d
* Corrected SegmentSegmentIntersection function
...
* In LineLineIntersection substituted EPSILON with Eps
2009-06-30 16:11:10 +00:00
Nico Pietroni
10c5f72af2
Corrected 1 bug in DistancePoint2Box2 function
2009-06-30 16:07:13 +00:00
mtarini
f4bc92f6f7
Bitquad_* first version.
2009-06-30 14:09:09 +00:00
Marco Di Benedetto
54f5418be2
removed reset to false of preventUpdateFlag in Clear().
2009-06-29 16:13:26 +00:00
Marco Di Benedetto
015d94f736
fixed typo in normal and color (was ImporLocal()).
2009-06-29 05:46:43 +00:00
Marco Di Benedetto
460e6bd73a
fixed initialization and resizing bugs on texcoords.
2009-06-29 03:33:56 +00:00
Marco Di Benedetto
e5d07a7d62
added specializations for HasPerVertexNormal() and HasPerVertexColor().
2009-06-28 22:41:05 +00:00
Marco Di Benedetto
24327b218c
added HasColorOcf().
2009-06-28 22:39:57 +00:00
Marco Di Benedetto
4dae9d3d97
added cN() and fixed assert in color.
2009-06-28 03:18:49 +00:00
Marco Di Benedetto
35189992a9
added WedgeNormalOcf and WedgeColorOcf.
2009-06-28 03:17:42 +00:00
Marco Di Benedetto
86c2311130
added HasWedgeRealNormal() (temporary name, now does not depend on vertex normal type) and added const in cWC().
2009-06-28 03:16:35 +00:00
Marco Di Benedetto
29b9011026
added HasNormalOcf() and HasColorOcf().
2009-06-28 03:14:48 +00:00
Marco Di Benedetto
caa076ea1c
fixed comment warning.
2009-06-28 03:13:56 +00:00
Marco Di Benedetto
a437f80563
fixed comment warning.
2009-06-28 03:13:39 +00:00
Paolo Cignoni
e8908f7742
Added CountBitLargePolygons (better name suggestion?) for counting the number of polygons in the case that there are vertexes surrounded by faux edges too (like in the case of dodecahedron of platonic.h)
2009-06-26 23:18:51 +00:00
mtarini
92e3bf554f
Added ExtractPolygon quad support function
2009-06-26 13:05:52 +00:00
Paolo Cignoni
c7320a32a3
added functions to remove connected components
2009-06-25 08:49:37 +00:00
Paolo Cignoni
b2bc0d07ba
small gcc compilation errors (typenames, missing std...)
2009-06-25 07:29:29 +00:00