Commit Graph

3384 Commits

Author SHA1 Message Date
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
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 1a8c1dafe2 VFlip() and FFlip are const members but there is no need of returning a pointer to a Const element 2012-11-09 11:11:50 +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 3170472174 added a IMark()->cIMark() 2012-11-08 18:35:38 +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 0d95c87141 Removed the old normal extrapolation 2012-11-08 17:20:31 +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 26ee5e5246 const access to flags -> cFlags() 2012-11-07 22:53:41 +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 8e9430889c simple orthographic errors in comments 2012-11-07 17:56:07 +00:00
Paolo Cignoni 9f39a0c7cb added cflags to the emtpycore face component 2012-11-07 15:51:51 +00:00
Paolo Cignoni 5e6d0fe221 corrected use of constant flags method 2012-11-07 15:43:38 +00:00
Paolo Cignoni 1046deb107 Corrected bug recently introduced due to small difference in the signature of the flags functions... 2012-11-07 15:42:14 +00:00
Paolo Cignoni 7bc4277fcd Cleaned up documentation of components (new doxygroup for them, written something for most of them...).
Cleaned Edge components (Added adjacency stuff, implemented the single emptycore)
2012-11-07 01:24:45 +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 2523982d4d harmless gcc warning (comment in comment) 2012-10-31 21:04:58 +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 578ea5ae6b Added control in the creation of a pos that you pass a consistent triple 2012-10-26 12:39:58 +00:00
Nico Pietroni 8e8f537321 corrected order of functions call in NextE() 2012-10-26 12:28:17 +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 d784bebe07 Added guards to avoid useless (and sometime dangerous) inclusion of internal file of the vcglib 2012-10-25 21:29:10 +00:00
Paolo Cignoni 671af109a9 improved vertex component documentation 2012-10-25 21:20:10 +00:00
Paolo Cignoni 2c32f546ef Added a VertexConstDataWrapper to the kdtree helper classes for a simpler use of a kdtree to index the vertexes of a mesh 2012-10-25 16:55:52 +00:00
Paolo Cignoni 9658740974 Improving documentation. Reordered groups and started documenting main components 2012-10-25 13:47:31 +00:00
Paolo Cignoni 4c0acdbb7c Removed all the UberXXX members from the various components. No more needed since many years. Still there just because we are quite lazy... 2012-10-25 13:46:08 +00:00
Paolo Cignoni 049c996846 Removed all the UberXXX members from the various components. No more needed since many years. Still there just because we are quite lazy... 2012-10-25 13:16:03 +00:00
Paolo Cignoni cfda5a3eca Removed all the UberXXX members from the various components. No more needed since many years. Still there just because we are quite lazy... 2012-10-25 13:07:25 +00:00
Paolo Cignoni b045c9b992 Removed old useless files. Why do we kept them? 2012-10-25 13:01:34 +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 027da6f0a8 Just changed the default number of rotation attempt for packing OO polygons 2012-10-23 08:48:26 +00:00
Paolo Cignoni b26b406f8f Added a ToEigenVector method 2012-10-22 18:43:24 +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
Paolo Cignoni c932c5d60a Removed Covariance computing function from Matrix Class, moved into fitting 2012-10-22 18:34:08 +00:00
Paolo Cignoni c87cd495de Rewrote of the Fitting to plane functions. Added Weighted version and sample 2012-10-22 18:27:30 +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
Paolo Cignoni b1a1b36260 Re added the empty component. It can be useful sometimes... 2012-10-19 11:45:51 +00:00
Paolo Cignoni f96cbbe7e4 Made the member with the distfunctor no more a reference but a copy. To avoid issues when passing temporary dist functors... 2012-10-18 09:01:51 +00:00
Paolo Cignoni d3d85dd0c0 corrected small bug in the gridclosest scanning function that caused rescan of the inner box when the search region in the uniform grid was growing. 2012-10-18 08:44:11 +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 372ee1ed99 Corrected a small (!) bug in the IntersectionSegmentTriangle. (the line triangle intersection function returns a **signed** distance...) 2012-10-15 09:42:05 +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 8d4bdc467e added function VFExtendedStarVF 2012-10-14 09:24:49 +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 19675a4e33 Deprecating the use of old dangerous linear algebra code. Please use Eigen!
Now attempting to include lin_algebra will block your compilation...
2012-10-11 10:48:55 +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 1ba693c4f7 Orthography lenght -> length 2012-10-08 09:07:50 +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 a7dc9a853e Better naming for the EdgePlane face component for fast closest query 2012-10-04 16:17:31 +00:00
Paolo Cignoni d97f08e23e Better naming for the EdgePlane face component for fast closest query 2012-10-04 16:15:24 +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 1aecce2033 added IsCCW function 2012-10-03 16:39:29 +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 dcb0d036ff added FindSharedFaces and VFOrderedStarVF functions 2012-09-22 12:54:30 +00:00
Massimiliano Corsini 47adc093b2 add the possibility to specify the cell size 2012-09-19 09:05:40 +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 be2d3613b9 added one more call of VFStarVF that returns also the indexes of vertices as seen from the faces 2012-09-03 15:57:52 +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
Massimiliano Corsini dec783bcf0 add SetByPointers to deal with containers of pointers instead of containers of elements 2012-09-03 13:50:42 +00:00
Federico Ponchio 0ac7034397 added method to get Projection matrix given near and far. 2012-08-29 13:21:22 +00:00
Massimiliano Corsini f16b821dc0 minor fix 2012-08-27 15:50:55 +00:00
Nico Pietroni fc97ed0e1c added support for primitive subdivision into cells 2012-08-27 12:47:12 +00:00
Nico Pietroni 461c8e1552 added support for primitive subdivision into cells 2012-08-27 12:46:50 +00:00
Marco Di Benedetto c209a384a0 fixed Color4bOcf interface (missing "public" section). 2012-08-22 18:36:59 +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 2aa57698ad better uniform naming for detach attach functions (now there is FFAttach, FFAttachManifold, FFDetach, etc)
changed SharedVertex into FindSharedVertex
added FindSharedEdge
2012-07-27 12:59:27 +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
granzuglia 0448e15f5b - removed compile time errors 2012-07-23 12:16:17 +00:00
mtarini 15665c15ef added a few testing methods (IsTriOnly, IsQuadOnly, IsTriQuadOnly) 2012-07-20 13:50:08 +00:00
Massimiliano Corsini a5bec5b623 Fix Remove method (replace 3d box with 2d box) 2012-07-20 11:07:04 +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
ganovelli 924cf9a4ec changed a comment 2012-07-09 15:12:56 +00:00
Paolo Cignoni 7ffb878913 SIGNIFICANT CHANGE
About the point to mesh distance functionalities
Now the two different 'path' for this distance computation (with or without the precomputation of planes and edges for triangular faces) are well distinct and with different names:
PointDistanceEP and PointDistanceBase

See the sample/trimesh_closest sample for more details
2012-07-06 15:24:04 +00:00
Paolo Cignoni 58eced0506 Changed one of the init overload Set(), the one that allowed to specify the cell radius but ACTUALLY it did not use it...
now has a new name : SetWithRadius
2012-07-06 09:40:09 +00:00
Paolo Cignoni 87d01da58f Yet some other changes to the stat collecting functions for computing the average edge lenght on a mesh. 2012-07-06 09:06:43 +00:00
Paolo Cignoni 3d956d8b48 Changed ComputeFaceEdgeHistogram into ComputeFaceEdgeDistribution. It was plainly wrong... :( 2012-07-06 08:08:24 +00:00
Paolo Cignoni 38b8ab1f15 Corrected a bug in GridStaticPointer: The hint about the number of cell to be used was ignored and used only to compute the expansion offset. 2012-07-06 06:58:17 +00:00
Paolo Cignoni 81a4cd4765 Corrected two wrong (unused) return types in stat collecting functions for trimesh 2012-07-06 05:38:05 +00:00
Paolo Cignoni 24110c34b2 added an Empty Component for the edgePlane component. 2012-07-06 05:07:25 +00:00
granzuglia 398f906bb6 added missing cmath include 2012-07-05 14:46:16 +00:00
Paolo Cignoni b77fa00b5e removed a few unused commented out funcs 2012-07-04 15:27:17 +00:00
Paolo Cignoni cd1ae00082 Added tri::UpdateFlags<MESH_TYPE>::FaceBorderFromFF(m); to the basic refine call.
In order to move these per face flags in less places as possible...
2012-07-04 15:25:21 +00:00
Paolo Cignoni b2e2bfe2df added Cotangent weighting to the basic laplacian smoothing. 2012-07-04 15:23:59 +00:00
granzuglia db57bd4e19 added missing public keyword on the static Name function of some ocf components. 2012-07-03 11:12:21 +00:00
Paolo Cignoni bfc10096f0 small improvemnt in stat collection for voronoi atlas 2012-07-03 10:21:41 +00:00
Paolo Cignoni 7e4e023266 Removed a dubious unused normalize method... 2012-07-03 09:29:48 +00:00
Paolo Cignoni f036874693 better comments 2012-07-03 09:14:17 +00:00
Paolo Cignoni e362d54a25 Timing functions and stat collecting for voronoi atlas 2012-07-03 09:13:07 +00:00
Paolo Cignoni b08fda7641 Corrected SegmentPointSquaredDistance to do not use anymore a hardcoded EPSilon value... 2012-07-02 16:45:49 +00:00
Paolo Cignoni 776fbe45a0 First Version of the Voronoi Atlas parametrizator. 2012-07-02 16:41:28 +00:00
Paolo Cignoni 539de75614 Cleaned up a bit the printint stuff. Now it should collect stats in a more clean way 2012-07-02 16:31:52 +00:00
ganovelli 0f99bd505e changes and minor fix to enable input/output with VMI on memory 2012-07-02 14:38:10 +00:00
Paolo Cignoni 487b6c7bd5 Corrected a bug in search for the best edge to be fixed in the FindFarthestVert when setting up the system for the poisson solver... 2012-07-02 09:38:42 +00:00
Paolo Cignoni 7cc19a31c6 Added two stupid wrapper to ComputePerFaceQualityMinMax and ComputePerVertexQualityMinMax 2012-07-02 08:30:17 +00:00
Paolo Cignoni 52fed4c451 Added a PerWedgeMakeUnitaryUV to normalize for packing 2012-07-02 08:29:11 +00:00
Paolo Cignoni ad9a7a237d updated to match the Distorsion->Distortion name change 2012-07-02 08:19:06 +00:00
Paolo Cignoni d900752b52 Renamed to correct the spelling error (distorsion -> distortion) 2012-07-02 08:15:24 +00:00
Paolo Cignoni d6ff9f01de Heavily modified. Corrected Spelling of distorsion->distortion
Completed a few measures and added difference between angle distortion in cos or rad space
2012-07-02 08:13:50 +00:00
Paolo Cignoni 28f3e120f0 Corrected naming for the unreference vertices function now the func that just count the unref vert is called CountUnreferencedVertex 2012-06-28 17:21:20 +00:00
Paolo Cignoni 9ed6314d10 removed harmless gcc warnings 2012-06-28 09:09:08 +00:00
Nico Pietroni 066f46c20b first release version 2012-06-22 14:27:33 +00:00
Nico Pietroni 614a5fec16 first release version 2012-06-22 14:25:35 +00:00
Nico Pietroni 0e3d2abcfd corrected return value of closest point 2012-06-22 14:23:33 +00:00
Paolo Cignoni af15a07c0f corrected small bug in RemoveDuplicateFace involving the unsafe subtracting 1 from an unsigned int that could be zero... 2012-06-14 13:48:25 +00:00
Federico Ponchio cb639a12d7 renamed from max/min to hi/low 2012-06-14 09:40:26 +00:00
Paolo Cignoni 36905c5d93 Added extrude.h file for the creation of extruded meshes from profiles 2012-06-06 06:25:56 +00:00
Paolo Cignoni 75ebfa9d5a Rewrote and commented the function that given a face pointer it follows the chain of non-faux edges. Now it supports the case of meshes with face with ALL edges faux (isolated faces in a polygon). 2012-05-28 11:30:37 +00:00
Nico Pietroni 894ebb26f6 added RemoveHugeConnectedComponentsDiameter function 2012-05-25 13:33:36 +00:00
Nico Pietroni d4ad0bd6f6 added check if length of segment is zero then function SegmentPointDistance still works 2012-05-25 13:32:48 +00:00
Nico Pietroni 5445d99402 several major modifications 2012-05-25 13:21:11 +00:00
Nico Pietroni c1e19b4b55 added assert(0) for cVFi function if does not exixts the component 2012-05-25 13:19:03 +00:00
Paolo Cignoni cb3fc0dbe2 corrected harmless gcc warnings 2012-05-06 16:01:14 +00:00
Paolo Cignoni 0c16045423 corrected harmless gcc warnings 2012-05-06 15:36:02 +00:00
Paolo Cignoni 64d7f31279 corrected bug in the face laplacian normal smoothing 2012-05-06 15:31:07 +00:00
Paolo Cignoni 37759ffcb0 sligthly better comments 2012-05-06 14:42:04 +00:00
Paolo Cignoni 05195b6201 in the functions for creating meshes: corrected bug in the OrientedRect and changed the interface of the grid to allow the creation of a flag grid 2012-05-06 14:22:29 +00:00
Paolo Cignoni 0cad100f9d corrected harmless gcc warnings 2012-05-06 14:20:34 +00:00
Paolo Cignoni 486475d4a3 added another assert to histogram to avoid trash result... 2012-05-05 14:55:50 +00:00
Paolo Cignoni 7537b20933 Added a NormalizedDirection method 2012-05-05 14:54:45 +00:00
Paolo Cignoni e532ec9751 Added VVStarVE and VEStarVE functions (to get stars of vertexes and edges when working with edge meshes) to edge topology. 2012-04-27 09:23:01 +00:00
Paolo Cignoni 4c44513d4f corrected bug in the UpdateTopology::EdgeEdge function: it touched a vector element beyond .end() 2012-04-22 09:01:04 +00:00
Paolo Cignoni 39df21640a Updated to reflect the change from ColorRamp -> SetColorRamp 2012-04-18 21:19:11 +00:00
Paolo Cignoni 8eb94a7f9d Changed ColorRamp non static method into a static one (that constructs a Color4b object) and added a more uniform SetColorRamp method. 2012-04-18 21:17:04 +00:00
Paolo Cignoni 5f22a3f7b5 added a very simple function wrapper to get a poisson disk distribution over a mesh with just function call 2012-04-18 21:12:12 +00:00
Paolo Cignoni 508c733bd4 added a missing updateQuality::FaceFromVertex 2012-04-18 21:09:56 +00:00
Paolo Cignoni ba507529c8 Modified intersectionPlaneQuality so that it also compute the per vertex normal according to the mesh... 2012-04-18 21:09:08 +00:00
Paolo Cignoni ffdc2f2b28 Geodesic: Added possibility of saving also the implict tree of the shortest path. For each vertex you can give an attribute where the function will save the 'parent' e.g. the previous vertex in the shortest path to the closest source. 2012-04-12 23:54:23 +00:00
Marco Di Benedetto 1c5f2c2264 added static capability query function for ocf vertex texcoord (VertexVectorHasPerVertexTexCoord()) (not having it caused false positives). 2012-04-10 16:47:15 +00:00
Marco Di Benedetto a82ac9639f added constant accessors without the infamous "c" prefix for color (C()) and texcoord (T()). 2012-04-10 15:46:20 +00:00
granzuglia 1548d6415a added missing functions in Empty:
- static bool HasCurvatureDir() { return false; }
- static bool IsCurvatureEnabled(const typename TT::VertexType *)  { return false; }
2012-04-06 08:10:32 +00:00
Paolo Cignoni 5aed57a364 Heavy restructuring of the append function. Now it is hopefully must more efficient.
Added a parameter for requesting the copy of the non trivial topology. (e.g. all the adjacency relations beyond FV and EV).
2012-04-04 10:11:46 +00:00
Paolo Cignoni b0d7d5c52e removed harmless gcc warnings 2012-04-04 10:05:35 +00:00
Paolo Cignoni ea701b39b3 Restructured Face component in order to follow the unique emptycore approach that avoid an endless derivation chain in the type definition 2012-04-04 10:04:46 +00:00
Paolo Cignoni 3811efacd8 removed useless include 2012-04-04 09:59:42 +00:00
Paolo Cignoni 059a2f220b added EdgeCount method for counting selected edges 2012-04-04 09:59:10 +00:00
Paolo Cignoni 06d481f5de standardized function names e used area function of vcg lib 2012-04-04 09:57:46 +00:00
Paolo Cignoni 783aef369b added hn initialization in the trimesh constructor 2012-04-04 09:53:54 +00:00
msabbadin 7c3687b8db corrected an assert in PrincipalDirections static method:
from assert(m.HasVFAdjency());
to assert(tri::HasPerFaceVFAdjacency(m) && tri::HasPerVertexVFAdjacency(m));
2012-04-02 14:42:56 +00:00
Paolo Cignoni 8a631d48c1 Corrected a significant bug in the reflection types for ocf components.
Changed the basic reflection mechanism: Instead of having a function templates over all the four containers now we template over Trimesh and we rely on a second function templated on face/vert that wants a vector<face> ; this second function only is eventually overloaded by another function that needs a vector_ocf of faces. 

That is Before we had:
- in complex.h

template < class  CType0, class CType1, class CType2 , class CType3>
bool HasPerFaceVFAdjacency   (const TriMesh < CType0, CType1, CType2, CType3> & /*m*/) {return TriMesh < CType0 , CType1, CType2, CType3>::FaceContainer::value_type::HasVFAdjacency();}

- in the component_ocf.h

template < class VertContainerType, class FaceType, class Container1, class Container2  >
		bool HasPerFaceVFAdjacency (const TriMesh < VertContainerType , face::vector_ocf< FaceType >, Container1, Container2 > & m)
	{
	  if(FaceType::HasVFAdjacencyOcf()) return m.face.IsVFAdjacencyEnabled();
	  else return FaceType::FaceType::HasVFAdjacency();
	}


While now we have:
- in complex.h

template < class FaceType  > bool   FaceVectorHasPerFaceVFAdjacency     (const std::vector<FaceType  > &) {  return FaceType::HasVFAdjacency(); }
template < class TriMeshType> bool   HasPerFaceVFAdjacency     (const TriMeshType &m) { return tri::FaceVectorHasPerFaceVFAdjacency  (m.vert); }

- and in component_ocf.h

template < class FaceType >
  bool FaceVectorHasPerFaceVFAdjacency(const face::vector_ocf<FaceType> &fv)
  {
    if(FaceType::HasVFAdjacencyOcf()) return fv.IsVFAdjacencyEnabled();
    else return FaceType::HasVFAdjacency();
  }
2012-03-31 01:16:58 +00:00
Paolo Cignoni b43fffd46f added a few security assert on deletion of simplexes that you are actually deleting objects that belongs to the given mesh 2012-03-30 23:43:04 +00:00
Paolo Cignoni e3d0a6d0cb added method for generating a random point into a triangle (it generate three random barycentric coords) 2012-03-30 23:42:04 +00:00
Nico Pietroni a53447ab1c added VFOrderedStarVF_FF function 2012-03-29 16:36:01 +00:00
Nico Pietroni fe71126700 added TransformationMatrix function 2012-03-29 16:34:31 +00:00
Nico Pietroni d5e7d551ba clean up the code and used new per face component 2012-03-29 16:33:33 +00:00
ganovelli bbcfbfabc2 added CurvatureDir to Face 2012-03-28 12:39:22 +00:00
ganovelli 749f67c3b6 added curvature direction 2012-03-28 11:56:10 +00:00
Nico Pietroni 4f166fbd95 added Crease Flag access functions 2012-03-16 13:49:04 +00:00
Nico Pietroni d4275a3597 added several functions 2012-03-16 13:48:18 +00:00