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
04268b170f
Removed all references to the useless old vcg::math::Swap
2013-07-26 07:01:21 +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
90bb95a971
Refactorized to a uniform naming and parameters the various templated functions for generating random points
...
GenerateBarycentricUniform
GeneratePointInBox3Uniform
GeneratePointOnUnitSphereUniform
GeneratePointInUnitBallUniform
2013-06-24 08:34:53 +00:00
Paolo Cignoni
be3e74ca6a
Refactored CountInSphere / RemoveInSphere for the PoissonDisk sampling optimizations (now you can just count the element inside a given sphere without removing them.
2013-06-24 07:57:18 +00:00
Paolo Cignoni
9ad68bc573
Added DihedralAngleRad that computes the signed dihedral angle between the normals of two adjacent faces
2013-06-24 07:55:54 +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
mtarini
90cdbb6214
(just fixed a warning-producing redundant assert)
2013-06-05 11:08:55 +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
4ab12a165f
uniformed syntax of the name of the parameters of the rect packer
2013-04-15 20:57:15 +00:00
Paolo Cignoni
a1c03d2e61
uniformed syntax of the name of the parameters of the rect packer
2013-04-15 20:56:40 +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
84b8170401
Changed the default of the param and added the automatic reverse of flipped outlines
2013-03-26 23:02:23 +00:00
Paolo Cignoni
c73b9a7727
Added first version of the rasterized outline packer written by Andrea Bernabei
2013-03-26 11:30:59 +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
ea5c88be1a
corrected harmless bug (misleading j/i scopes in nested for's)
2013-03-25 13:10:40 +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
246345bf19
removed a weird "#define static_assert assert" that was surviving since 2004...
2013-03-22 16:43:59 +00:00
Paolo Cignoni
f3337dcb7c
updated polygon component to the cP/P behavior for access to elements
2013-03-20 08:56:20 +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
ba58ef9c1e
corrected stupid error did in the conversion process (inverse was not returning anything...)
2013-03-19 22:04:35 +00:00
Paolo Cignoni
837329d98c
Renaming to settle the old attempt of integrally using eigen matrix for matrix44 and matrix33
2013-03-19 21:53:52 +00:00
Paolo Cignoni
e1dda51e85
Renaming to settle the old attempt of integrally using eigen matrix for matrix44 and matrix33
2013-03-19 21:52:39 +00:00
Paolo Cignoni
94a9b9a0f9
Renaming to settle the old attempt of integrally using eigen matrix for matrix44 and matrix33
2013-03-19 21:51:13 +00:00
Paolo Cignoni
2b47dcbb3d
renamed the unused old lin_algebra and Matrix. just to be sure that NOBODY use them.
2013-03-19 17:05:56 +00:00
Paolo Cignoni
33c341b464
harmless change: added a missing vcg::
2013-03-19 17:04:07 +00:00
Paolo Cignoni
2e65cae10e
HEAVY CHANGE. Further cleaning of the matrix classes of VCG.
...
Get rid of all the unused stuff.
internally use Eigen for computing Inverse.
Removed the stupid incomprehensible method Invert() that changed the matrix itself.
Nobody was using it in a reasonable way.
2013-03-19 16:59:45 +00:00
Paolo Cignoni
f156a5a82c
Updated version of the oldpolyrect packer. Reasonably extended to multiple domain. To be tested/replaced
2013-03-13 19:09:50 +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
4665f36e40
Improved component documentation. Added IsVFInitialized, VFClear function for VF component. Clarified the difference between null and uninitialized for a VF component.
2013-03-13 14:02:03 +00:00
Paolo Cignoni
6950be4594
Improved comment/documentation. Changed throws in require
2013-03-13 14:00:29 +00:00
ganovelli
9e45730d93
DIstance to SignedDistance
2013-03-13 09:40:55 +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
Paolo Cignoni
888b89f834
Added reading and wrinting of polygon to simple ascii files
2013-03-13 00:14:21 +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
Federico Ponchio
383c16acd4
changed P() to something less ugly.
2013-03-04 20:35:03 +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
d3d50e6858
Added two functions to generate point inside a box and over the surface of a sphere.
2013-02-23 06:15:23 +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
e5ed268b6a
added function cVFi
2013-02-19 13:56:37 +00:00
Nico Pietroni
60bca978f7
added function VVExtendedStarVF
2013-02-19 13:55:15 +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
8111bcda24
Corrected a very nasty bug introduced in Revision 4782 that reorganized ocf face component and added a standard interface for query the availabiilty of data:
...
bool FaceType::IsXXXAvaialble() ,must be defined in the XXX ocf type and not in the info type otherwise it would be defined also for non ocf components.
2013-02-06 11:22:11 +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
Paolo Cignoni
32423ca043
Improved comment on the order of the returned elements in a kdtree
2013-01-31 10:44:44 +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
b48b0e568c
added initialization of mark component to zero. So all the element it is sure that are unitialized after the first unmarkall.
2012-12-21 15:33:18 +00:00
Paolo Cignoni
8476a1ff20
Reorganized ocf vertex component and added a standard interface for query the availability of data:
...
now we have
static bool vertextype::HasXXX() // statically says if a certain type is present
bool vertextype::IsXXXAvaialble() // NON STATIC (always true for non ocf objects)
So now ImportData correctly works for both sides of vertex ocf component.
2012-12-17 22:54:48 +00:00
Paolo Cignoni
5dcf1aec47
forgot a IsCurvatureDirEnabled()
2012-12-17 15:58:16 +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
Paolo Cignoni
08aeee8716
Reorganized ocf face component and added a standard interface for query the availabiilty of data:
...
now we have
static bool FaceType::HasXXX() // statically says if a certain type is present
bool FaceType::IsXXXAvaialble() // NON STATIC (always true for non ocf objects)
So now ImportData works for face ocf component.
2012-12-17 15:02:34 +00:00
Paolo Cignoni
4d0450d521
added better comment to edge pos implicit ordering
2012-12-17 14:59:29 +00:00
Nico Pietroni
fb9a9bbac6
added function FFExtendedStarFF
2012-12-12 16:04:26 +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
9a1704379f
Improved documentation to include stars
2012-12-10 12:40:21 +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
ganovelli
357ef4e8f9
reverted last committ (done by mistake :) )
2012-12-05 11:37:19 +00:00
ganovelli
6bc53d8376
minor
2012-12-05 11:23:30 +00:00
ganovelli
755eb7dda7
added HasNormal to EmptyCore
2012-12-03 17:47:15 +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
dc44ff8265
Added ComputeSimilarityMatchMatrix (and removed useless printout...)
2012-11-27 22:49:21 +00:00
Paolo Cignoni
ab49388781
Added a VFDetach for face.
2012-11-27 14:03:24 +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
3fb4e6d061
re-Added to all the data members of vertex the const access member
2012-11-27 12:16:16 +00:00
Paolo Cignoni
fca284d27c
corrected box assignment between different types in append::MeshCopy
2012-11-27 11:52:17 +00:00
Paolo Cignoni
2cbd4b7964
Added support for the color support in STL files (both the SolidView and the Magics 'standard').
2012-11-27 07:05:38 +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
9a47f8db4c
removed unused var...
2012-11-22 23:32:35 +00:00
Paolo Cignoni
039bc9bafa
Added the new version of the point matching code. Now it is under space and no more under math
2012-11-22 23:29:43 +00:00
Paolo Cignoni
26fc41faf5
Added a small wrapper for montecarlo sampling of a mesh surface
2012-11-22 23:28:40 +00:00
Federico Ponchio
2832d2e76d
added a const
2012-11-21 11:38:51 +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
5c266a7ccb
HEAVY CHANGE:
...
The vertex and face component (natural and optional) have been cleaned and reordered.
Particular care has been devoted to have common behaviour in the import, const access, and so.
If you get compilation errors probably it is due to the fact that if you really need constant access to a member you have to use the "c" prefixed member (e.g. if you access to normal of a constant vertex you should use the cN() member.
2012-11-15 19:04:08 +00:00
Paolo Cignoni
41e7a19fd1
Substituted grid with kdtree in the ballpivoting...
2012-11-14 12:48:35 +00:00
Paolo Cignoni
f2be4a4d95
mismatch in the VertexVectorHasVFAdjacency and FaceVectorHasVFAdjacency names
2012-11-14 12:37:18 +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
Nico Pietroni
3864a934da
corrected 1 call of VFStarVF
2012-11-12 12:59:50 +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
feb77d945a
Significant changes of interface of VFOrderedStarFF (that substitute two very similar VFOrderedStarFF_VF)
...
Added EFStarFF
2012-11-10 16:53:10 +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