Commit Graph

319 Commits

Author SHA1 Message Date
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 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 5aaa6f4720 harmless small refactoring 2013-03-13 14:59:34 +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 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 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
Nico Pietroni bf3837e4d2 added function FollowLineDirection 2012-12-09 16:08:35 +00:00
Paolo Cignoni 63e5ef9763 changed to the new RequireXXXX syntax for type reflections 2012-12-06 11:00:37 +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 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 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 9900cfd4cc Added comments and requirements (exception throwing) 2012-11-10 14:41:35 +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 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 ed4500a156 Improving Documentation: removed doxygen warnings. 2012-10-26 07:08:18 +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 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
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
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