Marco Callieri
17ed6bdac4
in the function used to compute normals for pointclouds, added a check during consensus propagation to avoid flipping normals backface w.r.t. the specified wiewposition.
...
It does seem redundant, but it may happen, by mere chance, that the starting point used for consensus propagation, forces other points to flip even if the resulting flip places them backface w.r.t. the specified wiewposition
--to be tested--
2014-01-10 13:00:09 +00:00
Paolo Cignoni
e4311e9d5a
Added comment to voronoi parameter
2013-12-20 11:46:50 +00:00
Paolo Cignoni
2df9b39d16
Further clean up of the voronoi relaxation framework. changed the old VoronoiClustering to ConvertToDelaunayTriangulation (for coherence with the other function) and rewrote its code.
2013-12-20 11:44:18 +00:00
Paolo Cignoni
ab5869f6c3
Added the possibility of constraining the movement of some seeds onto a specific domain. Now during relaxation you can for example fix some seeds and constrain some other seeds over linear features defined as subset of vertices.
2013-12-20 02:33:36 +00:00
Paolo Cignoni
d1a5d53a89
added VertexBorder sampling algorithm that simply collect all the vertexes on the boundary.
2013-12-20 02:27:09 +00:00
Paolo Cignoni
2acd02f102
Added RequireCompactness to the basic exception throwing requirements that you can write at the beginning of an algorithm
2013-12-20 02:24:22 +00:00
Paolo Cignoni
4897d75026
Added MissingCompactnessException to the basic vcg exceptions
2013-12-20 02:23:24 +00:00
Nico Pietroni
45c93e47f0
corrected 1 warning
2013-12-16 12:07:54 +00:00
Nico Pietroni
c1403e2fef
- added FaceSaturate function
...
- corrected vertex from face quality copy
2013-12-16 12:07:26 +00:00
Paolo Cignoni
43b738796d
Significantly improved documentation. Refactored a bit some of the Add* for better readability
2013-12-12 20:35:27 +00:00
Paolo Cignoni
6c883d3cf3
Added a few assert to prevent the spread to trash data during voronoi relaxation
2013-12-05 22:35:25 +00:00
Gianpaolo Palma
89039d6658
Inverted face orientation for the Box
2013-12-05 17:43:36 +00:00
Paolo Cignoni
85ac0b3c4b
removed a spurious debug exportply
2013-12-04 17:37:41 +00:00
Paolo Cignoni
fd09d6fee2
Added standard heading comment to the newly added file.
2013-11-28 23:39:45 +00:00
Paolo Cignoni
6762cdbacb
First version of the cylinder clipping procedure.
...
Now it cut the mesh (the cap part is still lacking...
See the app/trimesh_cylclip example
2013-11-28 23:30:35 +00:00
Paolo Cignoni
993a9a2c5b
Tricky Change to the refine interface. Now the edge and midpoint predicate are passed as reference so if you need you can make predicate with state. This is useful when the edge and midpoint predicate share a lot of common information and you want exploit the computation done in the edge predicate (e.g. sometimes when you decide if an edge has to be split you already know where the vertex should be placed).
2013-11-28 23:29:06 +00:00
Paolo Cignoni
74749469e1
Added distance based relaxation option instead of the standard geodesic relaxation
2013-11-27 17:24:04 +00:00
Paolo Cignoni
1c20f47552
added OrientedCylinder to primitive creating functions
2013-11-26 11:49:47 +00:00
Paolo Cignoni
bc218b8201
Include header cleaning and reordering.
2013-11-25 12:47:20 +00:00
Paolo Cignoni
51424a7896
committed a small change to the Geodesic::Visit
...
Now it can start from a set of seeds that are not at zero distance.
2013-11-25 12:46:30 +00:00
Paolo Cignoni
cbc36cf147
Include header cleaning and reordering.
2013-11-25 10:40:33 +00:00
Paolo Cignoni
ae18013dd2
Updated to a change of interface of VoronoiProcessing<VoroMesh>::VoronoiColoring
2013-11-25 10:39:48 +00:00
Paolo Cignoni
54b288611a
Include header cleaning and reordering.
2013-11-25 10:38:17 +00:00
Paolo Cignoni
85ae6fe034
Updated to the change of interface of VFOrderedStarFF
2013-11-25 10:37:42 +00:00
Paolo Cignoni
7c0f42c4d7
Include header cleaning and reordering.
2013-11-25 10:35:39 +00:00
Paolo Cignoni
cc72b3e3e1
Include header cleaning and reordering.
2013-11-25 10:32:41 +00:00
Paolo Cignoni
84c80a1972
Include header cleaning and reordering.
2013-11-25 10:01:24 +00:00
Paolo Cignoni
25e6561f60
Changed the access to a segment endpoint according to the recent change P(x) -> Lerp(x) in the segment3 interface
2013-11-07 22:35:32 +00:00
granzuglia
d4cbf8b65d
- fixed heap bug
2013-10-18 15:32:04 +00:00
granzuglia
d59e519e8f
- added missing "#include"
2013-10-16 08:36:05 +00:00
Paolo Cignoni
a1471cea44
Cleaned up a bit naming and comments and some interfaces of some bitquad functions
2013-10-10 16:02:27 +00:00
Paolo Cignoni
b8769bd3e6
updated the voronoi atlas parametrization to the new geodesic api
2013-10-10 10:36:39 +00:00
Paolo Cignoni
afec01ce96
corrected order of include files (face/topology.h must go after complex.h)
2013-10-09 09:18:08 +00:00
Paolo Cignoni
4cf6f3d6e8
Added edge collapse of short edges and triangulation of voronoi regions
2013-10-09 08:49:13 +00:00
Paolo Cignoni
2a552f8976
Corrected a wrong call to GetAreaAndFrontier that I forgot to update after the api change...
2013-10-07 08:07:16 +00:00
Paolo Cignoni
97a8cb9238
Removed the missing face bug and the wrong orientation bug.
2013-10-03 21:09:28 +00:00
Paolo Cignoni
bf17b1b9f8
Heavylly change. Rewrote the voronoi to mesh converter. Added option for locking vertices
2013-10-03 14:32:53 +00:00
Paolo Cignoni
607e048265
added a few assert in the newly added AddFace shortcut
2013-10-03 14:32:01 +00:00
Paolo Cignoni
41bced16bd
Added VertexBorderCorner sampling function (that returns all the vertices over the boundary and that are corners...
2013-10-03 10:00:53 +00:00
Paolo Cignoni
97f8b30adf
changed a type of the Build wrapper to override a weird compiler error (form int[3] to point3i)
2013-10-03 09:59:11 +00:00
Paolo Cignoni
ad17f61dc0
added a simple wrapper to add a single vertex to a mesh given its coords
2013-10-03 09:57:45 +00:00
Nico Pietroni
97d14f173f
added clear V flag at the beginning of ImportFromTriMesh function
2013-10-03 08:21:08 +00:00
Nico Pietroni
7c08094a50
corrected AnisotropicDistance
2013-09-21 00:54:21 +00:00
Nico Pietroni
affa165543
added explicit cast to ScalarType , line 286
2013-09-21 00:53:36 +00:00
Nico Pietroni
afef24633f
added #include <vcg/container/simple_temporary_data.h>
2013-09-21 00:52:24 +00:00
Paolo Cignoni
58471132ba
Cleaned up a bit for better handling of point clouds
2013-09-11 11:11:10 +00:00
Paolo Cignoni
80467d1f41
minor changes (component check in the sampler class)
2013-09-11 11:09:29 +00:00
Paolo Cignoni
0263e6df9d
Small changes in comments
2013-09-10 14:21:48 +00:00
Paolo Cignoni
d974bf2770
Further tuning of poisson disk sampling pruning. Now we check also if the Spatial Hash Index is not over filled,
2013-09-10 13:41:16 +00:00
Paolo Cignoni
46dc55fb3c
Refactored code to use the AddFace of the Allocator that add and fill a face with three vertex pointers.
2013-09-10 10:51:15 +00:00
Paolo Cignoni
4fdfb1d62b
Parameter Tuning for the PoissonDisk sampling using the getBestPrecomputedMontecarloSample heuristic. Now there is a better default and another param exposed.
2013-09-10 10:50:10 +00:00
Paolo Cignoni
b849524274
Added Requirements. Refactored some funcs and uniformed naming of functions...
2013-09-10 10:49:01 +00:00
Paolo Cignoni
b49b2ce1e8
Added PerVertexBasicRadialCrossField for the creation of sample cross field
2013-07-26 12:21:40 +00:00
Paolo Cignoni
05d262ba9b
Added conversion to polygonal mesh and to edge mesh of the generated voronoi diagram.
...
Improved behavior for biased distance diagrams
2013-07-26 12:20:40 +00:00
Paolo Cignoni
a2b05e1f66
Added isotropic distance and anisotropic distance functor for biasing the geodesic computation.
2013-07-26 12:13:45 +00:00
Paolo Cignoni
c5549f607a
Cleaned up the edge allocator and added two small wrapper for adding and initializing a single face or edge with the vertex pointers
2013-07-26 09:34:41 +00:00
Paolo Cignoni
f85ce4e334
Removed all references to the useless old vcg::math::Swap
2013-07-26 07:35:02 +00:00
Paolo Cignoni
f9db54196b
Significant Change.
...
Removed old quality from geodesic function. Use the Geodesic class that has a singleCall wrapper doing the same in a eventually better way.
Added a number of RequireXXX at the beginning. To be completed...
2013-07-24 12:00:47 +00:00
Nico Pietroni
f22b8bef25
uncommented some code to find which vertex fix on poisson solving
2013-07-23 11:22:06 +00:00
Nico Pietroni
fe7565ad2a
commented the part that set as border the non manifold vertex
2013-07-23 11:20:44 +00:00
Paolo Cignoni
c5fcfd94c1
Added a MeshSampler Class to the framework as a simple example of the sampling procedure
...
Added another wrapper for montecarlo sampling of points
Improved the basic wrapper of poisson disk sampling to include variable disk radius sampling
2013-07-23 07:32:12 +00:00
Paolo Cignoni
99440c4e62
#ifndef NO_QT -> #ifdef QT_VERSION
2013-07-16 15:44:52 +00:00
Paolo Cignoni
42da29417b
cleaned up a bit the interface and formatting of the code of the voronoiclustering alg
2013-07-05 14:46:48 +00:00
Paolo Cignoni
7b8f21ba7a
Excluded from the computation of the mass intergrals the faces with an area that is <= std num limits <scalar>::min()
2013-07-03 21:44:39 +00:00
Paolo Cignoni
1655f806df
removed M_PI_2 constant. (not more supported by vs2010 on)
2013-07-03 21:12:08 +00:00
Paolo Cignoni
29b3c4e1ec
Added VertexCrease, EdgeMontecarlo sampling methdo
...
Improved PoissondDisk sampling algorithm with the bestSampleChoiceFlag parameter
2013-06-24 10:51:53 +00:00
Paolo Cignoni
98e49178ba
Added IsCoherentlyOrientedMesh and cleaned up a bit the self intersection
2013-06-24 10:50:14 +00:00
Paolo Cignoni
9acdf598a1
removed harmless gcc warning
2013-06-24 09:36:46 +00:00
Paolo Cignoni
388435d15a
Added a default value to the optional cb parameter in the pointcloud normal generation function
2013-06-24 08:36:08 +00:00
Paolo Cignoni
49d759af2a
Added EdgeBarycentricToFaceBarycentric to convert an edge position into a face barycentric position
2013-06-24 07:31:11 +00:00
Paolo Cignoni
5049407069
Added FaceFauxSignedCrease that Marks feature edges according to two signed dihedral angles.
2013-06-24 06:56:15 +00:00
Paolo Cignoni
efe6379b4b
Added updating of the bbox for generic mesh build
...
Added build for point clouds
Added Clear at the beginning of the Build(m)
2013-06-24 06:49:51 +00:00
Nico Pietroni
5f59f1fa5a
corrected some non templated type on SplitNonManifoldVertex function
2013-05-08 09:05:58 +00:00
Nico Pietroni
a52a4d0ad3
added ClearCreases function..
...
corrected setting B for non manifold in VertexBorderFromNone
2013-04-24 14:22:43 +00:00
Nico Pietroni
04bca27a7e
erased first assert of RemoveDuplicateEdge function
2013-04-20 15:13:49 +00:00
Paolo Cignoni
cbba83d17c
added Annulus and OrientedAnnulus to mesh creation helpers
2013-04-15 20:14:27 +00:00
Paolo Cignoni
371ff46282
added a missing RequireVFAdjacency and corrected a bug into the RequireXX for a couple of other adjacency...
2013-04-12 09:16:49 +00:00
Paolo Cignoni
eeddfe6a90
Updated to include better control of the voronoi parametrization. Changed packer (warning it requires qt...)
2013-04-03 10:07:29 +00:00
Paolo Cignoni
135f5f9ecb
added Outline2VecBBox method
2013-04-03 10:02:19 +00:00
Nico Pietroni
01c0681291
added #include <vcg/complex/exception.h>
2013-03-30 15:31:57 +00:00
Nico Pietroni
8454fb5fc9
removed some commented part and changed FixDefaultVertices
2013-03-30 15:30:18 +00:00
Paolo Cignoni
9bd9f9fdc7
Further cleaning up and factorization of the stuff for the raster outline packer
2013-03-26 11:25:47 +00:00
Paolo Cignoni
4fa516b8d7
Added first version of the outlinesupport.h to manage various interaction between meshes, borders and outlines
2013-03-25 13:09:15 +00:00
Paolo Cignoni
668bf05a1d
Refactored a bit CountConnectedComponents (added requiremens)
2013-03-25 10:33:22 +00:00
granzuglia
5bcce6a3d5
//static_cast<VertexPointer>(NULL) has been introduced just to avoid an error in the MSVS2010's compiler confusing pointer with int. You could use nullptr to avoid it, but it's not supported by all compilers.
...
//The error should have been removed from MSVS2012
std::pair<float,VertexPointer> zz(0.0f,static_cast<VertexPointer>(NULL));
2013-03-24 16:33:50 +00:00
Paolo Cignoni
1fef63b1da
improved a bit the basic step of the voronoi clustering
2013-03-22 17:07:55 +00:00
Paolo Cignoni
e94cfb5a43
Refactored a bit the extended marching cube core. Cleaned up a bit the trivial walker to be used by both of them. Updated the sample for marching cube.
2013-03-22 17:06:41 +00:00
Paolo Cignoni
3a9a72c098
removed a useless template specialization to a few std::make_pair
2013-03-22 16:53:42 +00:00
Paolo Cignoni
12543d68a2
Removed also from this file the deprecated dependencies from linalg. NOW EVERY PIECE OF THE VCG relies on eigen for linalgebra.
2013-03-20 08:32:53 +00:00
Paolo Cignoni
72d67f4a11
Added parenthesis to clearly disambiguate if/then/else
2013-03-20 08:28:30 +00:00
Paolo Cignoni
5aaa6f4720
harmless small refactoring
2013-03-13 14:59:34 +00:00
Paolo Cignoni
f62e07ee66
Corrected the behavoiour of the allocate::Compact when managing uninitialized and null element in adjacency
2013-03-13 14:33:09 +00:00
Paolo Cignoni
6950be4594
Improved comment/documentation. Changed throws in require
2013-03-13 14:00:29 +00:00
Paolo Cignoni
8446dbc168
corrected a wrong interface to poisson pruning (left after recent changes)
2013-03-13 00:16:51 +00:00
Paolo Cignoni
8f45cb352e
Added a simpler CompactEveryVector to allocate to compact face edge and vertices...
2013-03-13 00:15:13 +00:00
ganovelli
4253c2f3b6
corrected bug on appending perFace and perEdge attributes
...
(thanks to Minghua Nie for pointing it out).
2013-03-11 11:53:26 +00:00
Paolo Cignoni
d61c5c24a1
Slight change of the PoissonDiskPruning interface. Removed a useless parameter (the original surface mesh)
2013-03-01 08:34:33 +00:00
Paolo Cignoni
0f34456c92
further cleaning up and commenting
2013-02-28 15:51:38 +00:00
Paolo Cignoni
391e376be7
Cleaned up a bit. Only a bit.
2013-02-28 07:02:20 +00:00
Paolo Cignoni
26392a560b
Corrected a small bug in the Poisson disk sampling: as an unwanted side effect invoking the sampling will change the size of the bbox of the mesh. Mostly harmless but weird.
2013-02-23 05:50:27 +00:00
Nico Pietroni
4799f4c4bc
minor changes
2013-02-19 13:54:14 +00:00
Nico Pietroni
1f91e92f9a
changed the strategy to find point to fix in an automatic way, and some minor changes in comments
2013-02-19 13:53:33 +00:00
Paolo Cignoni
0839617d99
Corrected a small bug in the simpler wrapper for the generation of a poisson disk distribution over a mesh
2013-01-31 10:50:19 +00:00
ganovelli
8c998ccd11
vcg::tri::Allocate<MESH>::Get*Attribute(m,name);
...
has CHANGED!
Before it was returning a valid handle to the attribute
IF it existed, otherwise the handle was invalid.
Now it always returns a valid handle to the attribute,
by creating the attribute name if it did not exist or returning
the handle to it if it was already there.
ALl the code using Get*Attribute has been changed accordingly.
2013-01-30 17:18:55 +00:00
ganovelli
512da45bf7
updated to new GetPer*Attribute
2013-01-30 17:14:47 +00:00
Paolo Cignoni
2b9a9f2be2
removed a useless loop in the update cycle of the heap of the edges to be collapesed. Stupid bug pointed out by Enrico (thanks!)
2013-01-28 15:42:24 +00:00
Paolo Cignoni
69ca459335
Restructured Extrude.h in order to allow the easy separation of the side and top/bottom components
2013-01-23 08:35:23 +00:00
Nico Pietroni
e633317b58
added include matrix44.h
2013-01-22 10:51:56 +00:00
Nico Pietroni
37e8a2118b
changed tri::RequirePerEdgeFlags to RequirePerEdgeFlags
2013-01-22 10:50:40 +00:00
Nico Pietroni
cb13855328
corrected 1 compilation error SetVertCrossVectorFromFace
2013-01-22 09:58:20 +00:00
Paolo Cignoni
c3dc8316bb
added a missing RequireEEAdjacency
2013-01-02 09:56:21 +00:00
Paolo Cignoni
fba830b353
removed harmless gcc warning
2013-01-02 09:24:22 +00:00
Paolo Cignoni
1991e2e74f
Changed a bunch of assert(hasXXX) into requireXXXX
2013-01-02 09:22:47 +00:00
Nico Pietroni
e1481b34ac
corrected bug on FollowDirection
2012-12-31 16:20:23 +00:00
Nico Pietroni
a3a542edf2
added stop on target vertex for VertexDijkstra propagation
2012-12-31 16:19:36 +00:00
Nico Pietroni
ec693dd06a
added Target Faces to possibly stop the PerFaceDijsktraCompute
...
added selected vertex to avoid passing trought in PerVertexDijsktraCompute
2012-12-26 18:47:55 +00:00
Paolo Cignoni
0e61819cb7
Added PerFaceDijsktraCompute and PerVertexDijsktraCompute that compute straighforwar robust face-face and vertex-vertex geodesic shortest path tree
2012-12-21 15:36:52 +00:00
Paolo Cignoni
dcda89eac1
added a correct import data for managing the data of the newly refined faces.
2012-12-17 15:31:28 +00:00
Nico Pietroni
98a28f8b46
added function static int FollowDirection
2012-12-12 16:03:08 +00:00
Luigi Malomo
8165152573
added UpdateFlags::EdgeSet function
2012-12-11 12:15:16 +00:00
Nico Pietroni
f1233c24f3
changed IntersectionPlaneMesh to deal with different ScalarType rather then just floats
2012-12-10 17:15:55 +00:00
Paolo Cignoni
fd54ab7183
Disambiguated the names of VertexFromGaussianCurvature for case when you have the full curvatures or just the HK values
2012-12-10 09:41:53 +00:00
Paolo Cignoni
e9a0913eee
Added edge selection management in edge selection stack
2012-12-10 09:39:44 +00:00
Paolo Cignoni
c0d0599781
reformatted for allowing a breakpoint in the exception
2012-12-10 09:10:19 +00:00
Nico Pietroni
bf3837e4d2
added function FollowLineDirection
2012-12-09 16:08:35 +00:00
Paolo Cignoni
d29c7489ec
mismatch syntax error in a require VF vs FF
2012-12-06 16:36:38 +00:00
Paolo Cignoni
7f789119a8
Forgot one due change face::HasFaceColor() -> face::HasColor()
...
(uniform to vertex)
2012-12-06 11:06:01 +00:00
Paolo Cignoni
63e5ef9763
changed to the new RequireXXXX syntax for type reflections
2012-12-06 11:00:37 +00:00
Paolo Cignoni
c5d8479003
Refactored the complex.h file into a include manager and a base.h file
...
Due to a inclusion conflict order between pieces of old complex h and append/allocate
2012-12-06 10:59:18 +00:00
Paolo Cignoni
3b466514b3
Added Standard exception throwing functions to claim requirements in the mesh algorithmic functions (Te Deum!)
...
for example, now at the beginning of a function requiring FFAdjacency you should just write:
RequireFFAdjacency(mesh);
No more assert please.
2012-12-06 10:34:08 +00:00
Marco Di Benedetto
b9406fad93
call to qDebug() commented out (it assumed the qt framework).
2012-12-05 17:43:27 +00:00
Paolo Cignoni
7a205ecad6
removed harmless warnings
2012-12-02 15:07:17 +00:00
Paolo Cignoni
e04a37bf60
removed harmless warnings
2012-12-02 14:57:08 +00:00
Paolo Cignoni
d946a6c390
Changed the intersection plane quality to use an attribute. Renamed to cover the old unstable function and renamed the old one with an OLD suffix
2012-12-02 14:51:34 +00:00
Paolo Cignoni
75ca1eabfc
Uniformed the rarely used per mesh color to the const/reference notation standard of the components
2012-11-28 11:13:46 +00:00
Paolo Cignoni
bf3ee42337
corrected use of point matching
2012-11-27 23:31:09 +00:00
Paolo Cignoni
a7fb3e540b
Added another topological check to the ear capping procedure of hole filling
2012-11-27 12:22:18 +00:00
Paolo Cignoni
387b0fb857
refactored a small piece of code (the update of even vertex in refine during a debug session)
2012-11-27 12:19:09 +00:00
Paolo Cignoni
fca284d27c
corrected box assignment between different types in append::MeshCopy
2012-11-27 11:52:17 +00:00
Paolo Cignoni
049fae96c0
Improved comments with notes on what version of the intersection plane mesh should be used
2012-11-26 09:18:04 +00:00
Paolo Cignoni
26fc41faf5
Added a small wrapper for montecarlo sampling of a mesh surface
2012-11-22 23:28:40 +00:00
Nico Pietroni
a95eb5af08
added function EdgeSetV
2012-11-18 18:05:39 +00:00
Paolo Cignoni
8f079de515
Added a bunch of 'c' to component members to clarify constant access
2012-11-15 19:14:29 +00:00
Paolo Cignoni
8b4d04be7a
Added a bunch of 'c' to component members to clarify constant access
2012-11-15 19:11:28 +00:00
Paolo Cignoni
51fe0fb938
Added a bunch of 'c' to component members to clarify constant access
2012-11-15 19:07:34 +00:00
Paolo Cignoni
41e7a19fd1
Substituted grid with kdtree in the ballpivoting...
2012-11-14 12:48:35 +00:00
Paolo Cignoni
eaf97c0bf3
Great speed improvement of ball pivoting (40x on a 100k vert mesh)
2012-11-14 08:28:42 +00:00
Paolo Cignoni
e268e69ad3
Commenting and cleaning up the ball pivoting/ advancing front framework
2012-11-14 06:17:15 +00:00
Luigi Malomo
5aa4e3a489
warnings removed fo CrossField::IsSingularByCross() function
2012-11-12 12:40:56 +00:00
Luigi Malomo
8dc138cf27
fixed CrossField::IsSingularByCross() function
2012-11-12 12:38:20 +00:00
Paolo Cignoni
ed6042e502
Committed temporary version of the cleaned up curvature computation files
2012-11-12 11:15:21 +00:00
Paolo Cignoni
9cea19e537
Cleaned up the UpdateFlags class. Assert into throw...
2012-11-10 16:33:38 +00:00
Paolo Cignoni
586d800c66
added missing edge reflection functions (HasEdgeXXXX etc)
2012-11-10 14:57:53 +00:00
Paolo Cignoni
9900cfd4cc
Added comments and requirements (exception throwing)
2012-11-10 14:41:35 +00:00
Paolo Cignoni
2a21d5fb8e
simple comments and re-indentation for better reading
2012-11-10 14:36:54 +00:00
Paolo Cignoni
a1e4341c98
assert->trhow and first version of the allocateEdge
2012-11-10 06:45:58 +00:00
Paolo Cignoni
6b48acfa9f
Added all the missing component exceptions for colors
2012-11-09 10:52:35 +00:00
Paolo Cignoni
d4cf2019bf
Disambiguated a ComputeNormal()
2012-11-08 18:44:35 +00:00
Paolo Cignoni
e1fb5617ff
assert -> throw exception
2012-11-08 18:37:10 +00:00
Paolo Cignoni
c367bf93fa
Improved the VertexNormalPointCloud smoothing algorithm (it can re use a kdtree)
2012-11-08 18:33:55 +00:00
Paolo Cignoni
1d092cf736
Added a couple of missing Flags->cFlags
2012-11-08 18:31:13 +00:00
Paolo Cignoni
51a65af2c0
Added new version of algorithm for computing normals for point clouds. Approx 8 times faster and works for clouds of a few millions of points...
2012-11-08 15:33:32 +00:00
Paolo Cignoni
a97119dde3
Name Cleanup VertexVectorHasPerFaceVFAdjacency -> VertexVectorHasVFAdjacency
2012-11-07 22:51:16 +00:00
Paolo Cignoni
e88379c8c6
Added VertexNormalPointCloud to smooth the normals of a point cloud by using the kdtree instead of the octree...
2012-11-07 22:49:46 +00:00
Paolo Cignoni
5e6d0fe221
corrected use of constant flags method
2012-11-07 15:43:38 +00:00
Paolo Cignoni
bb4f118a03
Small bug in the time computation of Poisson sampling
2012-11-07 01:14:27 +00:00
Paolo Cignoni
4e6a97770b
Significant changes to the Geodesic computation class
...
- Cleaned: removed useless wrapper
- Documented
- Removed the automatic computation of the farthest vertex NOBODY never ever used it in all our basecode (but every one declared a useless var for that...)
- Changed the name of the class to something meaningful (Geodesic::Compute instead of Geo::FarthestVertex)
2012-11-07 01:07:08 +00:00
Paolo Cignoni
b6d198362c
Small changes to the compactVector (added a check on empty vectors) and improved the sample on allocation.
2012-10-31 06:58:08 +00:00
Paolo Cignoni
ed4500a156
Improving Documentation: removed doxygen warnings.
2012-10-26 07:08:18 +00:00
Paolo Cignoni
fe95eeca43
Improving Documentation: removed a ton of doxygen warnings. Cleared a bit the groups structure, added a few comments to allocator
2012-10-26 06:16:15 +00:00
Paolo Cignoni
6c3d86d448
Still Improving the documentation.
2012-10-25 23:52:48 +00:00
Paolo Cignoni
7e5ebe06f4
removed useless append.h and a spurious uber still floating around...
2012-10-25 23:39:31 +00:00
Paolo Cignoni
d59ea952ed
Added append to the set of files always included by complex.h
2012-10-25 23:37:25 +00:00
Paolo Cignoni
fc5a0216ac
Improved documentation about allocation. Added sample on allocation.
2012-10-25 22:53:33 +00:00
Paolo Cignoni
9658740974
Improving documentation. Reordered groups and started documenting main components
2012-10-25 13:47:31 +00:00
Paolo Cignoni
84b9387264
Removed inclusion of subset.h
2012-10-23 23:41:41 +00:00
Paolo Cignoni
864f9cb9d7
Removed two now useless files, boundary (that involved conversion between tetrahedral and tri meshes) and subset (duplicate functionalities wrt append.h)
2012-10-23 11:12:41 +00:00
Paolo Cignoni
ecd88fcb28
Added a default parameter to the sampling class and a few utility sampling classes for taking point on faces.
2012-10-22 18:42:11 +00:00
Paolo Cignoni
c980267cd8
Corrected refine, Now instead of using a dangerous vector of vertex type (that could cause issues with ocf types) it use just a vector of pair<position,normal>
2012-10-22 18:37:51 +00:00
granzuglia
3a6031554b
- updated file according to new vcglib syntax
2012-10-22 12:11:49 +00:00
granzuglia
1151b88b54
- updated file according to new vcglib syntax
2012-10-22 12:06:43 +00:00
ganovelli
60be67113d
removed
2012-10-19 15:08:14 +00:00
Paolo Cignoni
75122cd193
Improved comments and interface of perlin noise color
2012-10-19 12:32:05 +00:00
Paolo Cignoni
1918c53a09
Cleaning of names and reordering of Color functions
2012-10-19 11:52:57 +00:00
Nico Pietroni
f4ef1e09d5
removed import/export functions and added to wrap/io_trimesh/import_field.h and wrap/io_trimesh/export_field.h
2012-10-16 10:07:58 +00:00
Paolo Cignoni
ac9b6b16f2
Improved documentation of inertia and slightly changed the interface (added a constructor)
2012-10-16 07:36:35 +00:00
Paolo Cignoni
036aeae1c9
corrected a bug in torus creation
2012-10-15 12:49:17 +00:00
Paolo Cignoni
ec0c145454
corrected the order or the parameter of the torus
2012-10-15 09:58:01 +00:00
Paolo Cignoni
1331ead487
Corrected a small bug in TestFaceFaceIntersection
...
the case of two faces sharing an edge was not managed correctly in the case the two faces had the two edges opposite to the shared vertex lying on the same plane.
2012-10-15 09:26:15 +00:00
Paolo Cignoni
fb60087ee4
component_ocf are now part of the standard inclusion sequence of complex.h
...
No more need of including them.
It was needed to avoid the issue of wrong inclusion order that could trigger a failure in the partial specialization of the reflection functions that should say if a component is present or not...
2012-10-15 09:17:48 +00:00
Paolo Cignoni
42252b04b4
Improved documentation of Attribute mechanims
2012-10-15 08:17:26 +00:00
Nico Pietroni
210b348626
corrected UpdateNormal calls
2012-10-14 07:41:58 +00:00
Nico Pietroni
a8e4104559
removed missmatch initialization in SelectSingularByCross function
2012-10-14 07:40:26 +00:00
Paolo Cignoni
980b463a41
Added Torus primitive creation
2012-10-11 22:45:21 +00:00
Paolo Cignoni
a40bb0ff93
minimal change (useless passing by reference of const intended parameters)
2012-10-11 11:19:37 +00:00
Paolo Cignoni
6739455da9
Updated to reflect the naming changes in updateNormals
2012-10-11 11:11:33 +00:00
Paolo Cignoni
41060feef9
Updated to reflect the naming changes in updateNormals
2012-10-11 11:09:30 +00:00
Paolo Cignoni
df87b9710e
Updated to reflect the naming changes in updateNormals
2012-10-11 11:08:38 +00:00
Paolo Cignoni
bf13a8ee8f
Changed a bit the interface of the exception throwing. Updated normals and other to follow this changes
2012-10-11 11:04:37 +00:00
Paolo Cignoni
36c12730d9
Substituted old deprecated LinAlg with Eigen stuff
2012-10-11 11:02:52 +00:00
Paolo Cignoni
44b9b56c42
Updated to reflect the naming changes in updateNormals
2012-10-09 08:51:15 +00:00
Paolo Cignoni
ba4a51e02d
Updated to reflect the naming changes in updateNormals
2012-10-09 08:00:25 +00:00
Paolo Cignoni
f9b2088e12
Cleaned up and moved into the tri namespace all the refine class
2012-10-09 07:56:47 +00:00
Paolo Cignoni
34f4e6c98c
**** SIGNIFICANT CHANGE ****
...
Name uniformation NO MORE PLURALS IN NAMES
From UpdateNormals to UpdateNormal
2012-10-09 07:55:30 +00:00
Paolo Cignoni
905e1a7209
Cleaned up a bit
2012-10-09 07:53:55 +00:00
Paolo Cignoni
bc3952ccc1
Updated to reflect the naming changes in updateNormals
2012-10-09 07:48:22 +00:00
Paolo Cignoni
fc75c0c62d
Harmless gcc warnings
2012-10-09 07:05:45 +00:00
Paolo Cignoni
707577cbf9
Removed unnecessary include files:
2012-10-08 12:07:14 +00:00
Nico Pietroni
c4b53d16cc
edded 2 includes:
...
* component.h for per face Normal calculation function
* exception.h for excepion handling
2012-10-08 11:51:35 +00:00
Paolo Cignoni
f53f93d553
Updated to reflect the naming changes in updateNormals
2012-10-08 10:27:19 +00:00
Paolo Cignoni
feeec9f979
Updated to reflect the naming changes in updateNormals
2012-10-08 09:12:21 +00:00
Paolo Cignoni
bd171b714f
Orthography lenght -> length
2012-10-08 09:10:03 +00:00
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