Commit Graph

2517 Commits

Author SHA1 Message Date
Paolo Cignoni d60fa01037 cleaning up include files 2009-12-07 08:23:02 +00:00
Paolo Cignoni 8a0c86c857 corrected the template in the normal<> function... again 2009-12-07 08:17:10 +00:00
Paolo Cignoni 760a767504 cleaning up include files 2009-12-07 08:15:59 +00:00
Paolo Cignoni 1c0ae1268c added a slightly faster version of the longest edge stratified subdivision sampling 2009-12-04 08:36:49 +00:00
Paolo Cignoni 6e3f10928e better comment to interpolationParameter2 2009-12-04 08:32:00 +00:00
Paolo Cignoni f7b9856d0d removed harmless warning 2009-12-04 08:22:33 +00:00
Paolo Cignoni 32619f1625 harmless gcc compiling issues 2009-12-03 23:17:46 +00:00
Paolo Cignoni 3e7b2267f0 added a missing const to the distance functor 2009-12-02 15:11:00 +00:00
Paolo Cignoni c749b3e143 Heavily restructured PoissonDisk resampling. Now there are two approaches, a pure pruning and a cell pruning approach 2009-12-02 15:10:12 +00:00
Paolo Cignoni 5a96ab4f8d a few optimization and correction to the hashed grid removal stuff 2009-12-02 15:08:49 +00:00
Marco Di Benedetto 939da657a9 added public: to TexCoord* Name(). 2009-12-01 17:36:27 +00:00
Marco Di Benedetto 5b076c064e added public: to WedgeColor* and Color Name(). 2009-12-01 17:35:42 +00:00
Paolo Cignoni 7c907e72ae Corrected a survived old style use of temporary data in smoothning of vertex normals 2009-12-01 08:37:27 +00:00
Paolo Cignoni 86d534ec95 added a missing std:: 2009-12-01 08:34:16 +00:00
Paolo Cignoni dc82ece647 Optimized version of poisson sampling 2009-11-30 15:53:23 +00:00
Paolo Cignoni 27c319a79c added a removeInSphere specialization and a removePunctual specialization. 2009-11-30 10:36:49 +00:00
Paolo Cignoni a89b2ace77 added some const and inline keywords 2009-11-30 10:32:37 +00:00
Paolo Cignoni a209a9b890 Refactoring of the Poisson Sampling algorithm. Hopefully faster 2009-11-25 15:50:36 +00:00
Paolo Cignoni 7e02dbb4f8 added methods for removing things from a hashed grids 2009-11-25 15:49:54 +00:00
Paolo Cignoni 302a7725fa removed harmless warnings 2009-11-17 23:34:46 +00:00
Marco Di Benedetto ebcbc5f98d fixed implicit cast warning. 2009-11-13 00:52:37 +00:00
Paolo Cignoni 70ae4d5c50 made public the self inspection member 'name' of the components. I do not know why it was not public in that case. 2009-11-05 22:35:56 +00:00
Paolo Cignoni 3482ee805e added a few missing std:: and cleaned up a bit the requirements 2009-11-05 10:19:42 +00:00
Paolo Cignoni ad4ad4026c added computation of the per-vertex directions and values of curvature using a quadric fitting method 2009-11-05 09:55:43 +00:00
Paolo Cignoni 5ef3e2ca50 added a missing const cQ() for ocf face component 2009-11-01 09:51:53 +00:00
Paolo Cignoni 6051c1eeaa added a missing IsVFAdjacencyEnabled and a missing typename 2009-10-29 17:16:41 +00:00
Nico Pietroni fe6d3ca34d restored changes for a corrected use of default copy constructor 2009-10-27 10:48:52 +00:00
Marco Di Benedetto a80c4d25ef fixed in-place version. 2009-10-26 12:19:21 +00:00
Marco Di Benedetto e7cbe4f558 modified typedef due to GCC complaints. 2009-10-23 20:25:54 +00:00
Marco Di Benedetto d650013e60 first commit. 2009-10-23 10:04:51 +00:00
Paolo Cignoni 8dd2320a4d add missing std:: 2009-10-15 11:53:09 +00:00
Nico Pietroni 74bd57f2fa missing CurvatureType and CurvatureDirType inside EmptyCurvatureData 2009-10-14 17:19:56 +00:00
Nico Pietroni fdd33df567 minor changes 2009-10-14 16:15:50 +00:00
Paolo Cignoni 3705cb3cb9 Improved speed by using DynamicLegendre and precomputing Scaling Factors 2009-10-14 16:10:42 +00:00
Paolo Cignoni 8d8ed1efa8 Memoized version of Legendre computation called DynamicLegendre 2009-10-14 16:09:30 +00:00
Nico Pietroni 01f772d7f8 corrected order of operations of decrease-increase valencies 2009-10-14 15:15:32 +00:00
Nico Pietroni 8c67be5617 added interpolator class for refinement 2009-10-14 15:05:08 +00:00
mtarini 2f1c77c69a Added a flag to choose whether to use Length based criteria or Quality based ones. 2009-10-14 14:35:25 +00:00
mtarini 7c78d81cdc added importance weighting. 2009-10-14 14:32:55 +00:00
mtarini 1664791bf3 minor: local variable rename to avoid weird compilation problems. 2009-10-14 14:30:28 +00:00
Nico Pietroni c57e10951c corrected funtion Normal::ImportLocal 2009-10-14 14:25:59 +00:00
Nico Pietroni ea6553f1d5 corrected funtion NormalAbs::ImportLocal 2009-10-14 14:25:00 +00:00
Nico Pietroni a60c31845c added function HasConsistentEdges 2009-10-14 13:56:06 +00:00
Nico Pietroni 810c3df9a4 Changed TestVertexFace function in order to test if the each face is effectively added to the VF list of a vertex. 2009-10-14 13:54:39 +00:00
ganovelli 5c0f228a4d added few missing Has*Ocf 2009-10-08 15:46:31 +00:00
ganovelli b902431bc1 extended support to dump attributes (see wrap/io_trimesh/[import | export]_VMI.h )
It was only for vertices, now it is also for faces and mesh attributes.
Compiled gcc and .net. Tested only on toy exmaples
2009-10-07 11:05:29 +00:00
Marco Di Benedetto b17d165d0c Added SquaredDistance and made the point-plane version redirect to the plane-point one. 2009-10-06 16:22:35 +00:00
Paolo Cignoni 06bda0acae corrected the use of default copy constructor with the more or less standard importLocal 2009-10-05 22:46:32 +00:00
Marco Di Benedetto e54e0a7124 Modified PlaneFittingPoints to return eighevalues and eigenvectors and added backward compatibility wrapper. 2009-10-05 22:43:14 +00:00
Paolo Cignoni ca16dcdf52 added management of faux edges in functions that retrieve the set of edges 2009-10-02 14:13:04 +00:00
Paolo Cignoni a35120d9d9 added faux edge sampling management 2009-10-02 14:11:34 +00:00
mtarini 5acb759d8e Removed a rarely expressed bug on CollapseDiag 2009-09-24 16:12:57 +00:00
Paolo Cignoni d2edfc1f4d removed two dummy useless functions 2009-09-22 22:36:22 +00:00
Paolo Cignoni 022df4f59a Added ComputePerVertexQualityDistribution 2009-09-22 16:42:59 +00:00
Nico Pietroni 98e834c540 corrected 1 bug in PointDistance function 2009-09-18 09:16:17 +00:00
Paolo Cignoni 1b7adbe035 Hole filling now returns the number of closed holes 2009-09-12 05:20:32 +00:00
mtarini beb12f0b7c 2009-09-09 12:26:04 +00:00
Marco Callieri 0ccb9e8992 added support function (_substitute) to umproject 2D points + depth when the rotation matrix is not exactly rigid (such as the one calculated by Textailor, Tsai and Garcia) 2009-09-08 14:05:49 +00:00
mtarini 88ef8fa03b minor performance optimizations. 2009-09-07 17:54:39 +00:00
mtarini 7e3ad9eced 2009-09-07 16:44:01 +00:00
mtarini 15f6f89d06 Added a few convenience methods to Pos. 2009-09-07 15:53:28 +00:00
mtarini a2e777fd9a 2009-09-04 16:49:41 +00:00
Nico Pietroni 5846e9a86d added initial #define to avoid multiple inclusion 2009-09-04 15:52:21 +00:00
mtarini 2c3a92242b Added working valency in flags computations (and used to detect singlets/doublets quicker) 2009-09-03 22:35:28 +00:00
Marco Di Benedetto 6fb6cfbb24 added const to method. 2009-09-03 14:48:22 +00:00
Marco Di Benedetto ae09d558f0 added const to method. 2009-09-03 14:48:08 +00:00
mtarini b4b6e596eb 2009-09-02 17:25:17 +00:00
Nico Pietroni e43cfa5f43 corrected bugs in Iterator 2009-09-02 13:28:37 +00:00
Nico Pietroni c1daa656fe corrected bug in returning value of MarkSmallestEdgeOrDiag 2009-09-02 13:27:30 +00:00
Nico Pietroni 672cb554b1 added Initial #define to exclusive inclusion 2009-09-01 18:23:50 +00:00
mtarini 8f89da47ef Now collapse methods (diagonal, counter-diag, and edge) return bool success and take optional parameter of type Pos (around which to rotate to find all affected quads). Also added an iterator that goes around Pos that returns quads (only once per quad). 2009-09-01 17:14:35 +00:00
Nico Pietroni 37c11749f7 changed flags of vertices in case of modifications 2009-08-31 18:45:58 +00:00
mtarini d3232eb472 Added keep track Valency (in flags. For now, uses hard-wired flag interval 24-28.).
Valency used to detect Singlet, Doublets. Marks vertex flag V in affected Quads in all basic operations (method MarkFaceF)
2009-08-31 14:58:57 +00:00
Paolo Cignoni 415228fcd4 Added some missing importLocal functions 2009-08-30 13:54:06 +00:00
Nico Pietroni 733caf9478 changed TestEdgeRotation() and quadQuality() from private to public 2009-08-30 10:04:21 +00:00
Paolo Cignoni b14cd10824 Added management of per-vertex quality values during simplification to amplify initial quadric values 2009-08-30 09:35:36 +00:00
Marco Di Benedetto be1d887db6 Renamed LeftT to RightT, added some checks and fixed method name. 2009-08-28 15:26:40 +00:00
mtarini d231b9d021 Encapsulated everything in a static class. Also, templated with Interpolator "single-method static class" functor to make custom vertex interpolations during collapses. 2009-08-28 15:17:23 +00:00
Paolo Cignoni 9fc361301d Added missing Plane3::Import 2009-08-26 00:10:32 +00:00
Paolo Cignoni 077294b03e added the common TexCoord2f and TexCoord2d typenames that where strangely missing... 2009-08-25 22:32:20 +00:00
mtarini ecd1de4d94 added UpdateQualityAsBitQuadValency 2009-08-21 18:46:51 +00:00
mtarini 8e081cde43 Now BitQuadMarkVertexRotations rotates all profitable ones (not just the 1st) 2009-08-21 18:46:05 +00:00
mtarini 7f83000b93 fixed a nasty bug in Matrix44<T>::ToEulerAngles (but it still suffers from Gimbal Lock) 2009-08-21 12:42:16 +00:00
Paolo Cignoni b9ad0d4aa2 A function inside AddPointSet() was templated on CMeshO instead of the general type MeshType. This could lead to errors at compile time. CMeshO has been replaced with MeshType and now works fine. 2009-08-07 13:56:38 +00:00
Paolo Cignoni b54b74e103 changed doxigen comments. 2009-08-04 21:10:08 +00:00
Paolo Cignoni b507e2e8f7 added comments in doxygen style. 2009-08-02 21:43:13 +00:00
ganovelli fa287ce0ab added support for dump of attributes (see wrap/io_trimesh/[import | export]_VMI.h ) 2009-07-29 15:45:56 +00:00
ganovelli 286ac9162a added cr at the end 2009-07-29 12:48:30 +00:00
ganovelli f1b1220225 small changes to enable the mesh dumping on VMI file (see wrap/io_trimesh/[import | export]_VMI.h )
and HandlesWrapper renamed to PointerToAttribute
2009-07-29 12:46:46 +00:00
Paolo Cignoni 4e1b6897b1 class that provides an estimation of the overlap of two meshes. It works as follow: it samples N points in a normal equalized manner on the Mov mesh, then count how many points of the Fix mesh are in consensus with the sampled points. To be in consensus means: distance between points is <= param.consensusDistance AND the angle between points normals is <= param.normalAngle. This works for point clouds too. comments will be added in next commit. 2009-07-28 23:07:26 +00:00
Paolo Cignoni 44fd7bb2ba slightly changed the trivial sampler to make simpler to use all the sampling strategies to just get a coord vector. 2009-07-22 05:59:03 +00:00
Paolo Cignoni 9608ec798b compilation fixes with Eigen 2009-07-21 07:29:13 +00:00
Nico Pietroni 7aefe275b3 added #include<stdio> because of fprintf call on Histogram<ScalarType>::FileWrite function 2009-07-17 17:42:51 +00:00
granzuglia b41603d086 added missing #include file update/topology.h 2009-07-17 08:22:38 +00:00
Paolo Cignoni 7e5a7630f2 -added CountPointSet() to clustering
-ComputePerVertexQualityHistogram() modified; added a parameter to compute histogram taking into account just selected vertexes.
2009-07-16 10:16:39 +00:00
granzuglia b686bd1d31 changes in order to compile with gcc 3.x 2009-07-15 16:29:10 +00:00
granzuglia bb97c3a1ec changes in order to compile with gcc 3.x 2009-07-15 16:27:29 +00:00
granzuglia 79b3238e27 changes in order to compile with gcc 3.x 2009-07-15 16:26:14 +00:00
granzuglia 14eb3697ec changes in order to compile with gcc 3.x 2009-07-15 16:25:25 +00:00
Nico Pietroni 046558798a lien 242 added cast to ScalarType on "2.0" to avoid warning in case of float usage 2009-07-14 14:33:00 +00:00
Nico Pietroni 61d4d72c4c removed closests[i]->C()=Color4b::Green; form MergeCloseVertex function 2009-07-14 14:31:20 +00:00
Paolo Cignoni 15531646b5 better comment in assert of finding nan in histograms 2009-07-14 09:00:23 +00:00
Paolo Cignoni d71d110703 Heavily restructured clustering class to allow also a subsampling strategy that allow the fast extraction of a well spaced subset of vertices 2009-07-14 08:57:05 +00:00
Paolo Cignoni a5cb113561 added a method for getting the center of a grid cell 2009-07-14 08:55:20 +00:00
Paolo Cignoni 7a45bbe7eb Added Color4d type definition 2009-07-10 13:22:24 +00:00
Paolo Cignoni e6fbdfb9f6 Added static constuctor that imports from different Quaternion types (overrides same static contstructor of father's Point4 class) 2009-07-10 13:18:24 +00:00
Marco Di Benedetto a79d8f9bd8 changed field order in PointerUpdater to prevent constructor warning (in initialization list). 2009-07-08 16:12:46 +00:00
mtarini ec1c94cee2 Added a few seek-best-op (and-do-it) operations (MarkSmallestEdgeOrDiag... etc) 2009-07-07 15:25:13 +00:00
mtarini ef71c4ef04 Added new local operations (RotateBitQuadVertex, CollapseQuadEdge...). 2009-07-07 15:23:42 +00:00
mtarini 077e720428 Added PerBitQuadFaceNormalized 2009-07-07 15:22:28 +00:00
Marco Di Benedetto 3b15d3a8df added cast to unsigned char. 2009-06-30 19:01:22 +00:00
Marco Di Benedetto 85ccd7dc0b removed unused parameter warning. 2009-06-30 19:00:47 +00:00
Nico Pietroni 1fa445c9fb changed epsilon value in InterpolationParameters 2009-06-30 16:15:51 +00:00
Nico Pietroni 24cf3c430a Added ScalarType Length() const function 2009-06-30 16:13:19 +00:00
Nico Pietroni 7c6296c80d * Corrected SegmentSegmentIntersection function
* In LineLineIntersection substituted EPSILON with Eps
2009-06-30 16:11:10 +00:00
Nico Pietroni 10c5f72af2 Corrected 1 bug in DistancePoint2Box2 function 2009-06-30 16:07:13 +00:00
mtarini f4bc92f6f7 Bitquad_* first version. 2009-06-30 14:09:09 +00:00
Marco Di Benedetto 54f5418be2 removed reset to false of preventUpdateFlag in Clear(). 2009-06-29 16:13:26 +00:00
Marco Di Benedetto 015d94f736 fixed typo in normal and color (was ImporLocal()). 2009-06-29 05:46:43 +00:00
Marco Di Benedetto 460e6bd73a fixed initialization and resizing bugs on texcoords. 2009-06-29 03:33:56 +00:00
Marco Di Benedetto e5d07a7d62 added specializations for HasPerVertexNormal() and HasPerVertexColor(). 2009-06-28 22:41:05 +00:00
Marco Di Benedetto 24327b218c added HasColorOcf(). 2009-06-28 22:39:57 +00:00
Marco Di Benedetto 4dae9d3d97 added cN() and fixed assert in color. 2009-06-28 03:18:49 +00:00
Marco Di Benedetto 35189992a9 added WedgeNormalOcf and WedgeColorOcf. 2009-06-28 03:17:42 +00:00
Marco Di Benedetto 86c2311130 added HasWedgeRealNormal() (temporary name, now does not depend on vertex normal type) and added const in cWC(). 2009-06-28 03:16:35 +00:00
Marco Di Benedetto 29b9011026 added HasNormalOcf() and HasColorOcf(). 2009-06-28 03:14:48 +00:00
Marco Di Benedetto caa076ea1c fixed comment warning. 2009-06-28 03:13:56 +00:00
Marco Di Benedetto a437f80563 fixed comment warning. 2009-06-28 03:13:39 +00:00
Paolo Cignoni e8908f7742 Added CountBitLargePolygons (better name suggestion?) for counting the number of polygons in the case that there are vertexes surrounded by faux edges too (like in the case of dodecahedron of platonic.h) 2009-06-26 23:18:51 +00:00
mtarini 92e3bf554f Added ExtractPolygon quad support function 2009-06-26 13:05:52 +00:00
Paolo Cignoni c7320a32a3 added functions to remove connected components 2009-06-25 08:49:37 +00:00
Paolo Cignoni b2bc0d07ba small gcc compilation errors (typenames, missing std...) 2009-06-25 07:29:29 +00:00
Paolo Cignoni eae78a0251 completed the correct working of temporary data inside the refinement functions 2009-06-25 06:19:00 +00:00
Paolo Cignoni 2c3da1c3c9 changed the constructor of the MidPoint functor of the refine. Now it requires a Mesh as an argument to get reliable knowledge of the presence/absence of temporary data. 2009-06-24 20:31:57 +00:00
Paolo Cignoni ace6a183b3 added a missing HasPerVertexTexture() 2009-06-24 20:30:36 +00:00
Paolo Cignoni a88ee5b244 Added ocf management of per vertex texture coord 2009-06-23 20:45:44 +00:00
Paolo Cignoni c534298f2f removed harmless warning 2009-06-23 20:45:06 +00:00
Paolo Cignoni 60afe72ca8 added initialization of the mesh color to the standard opossum gray 2009-06-23 20:43:39 +00:00
Paolo Cignoni 168ea81ca8 Added PerlinColor function and ColorNoise function 2009-06-16 08:57:24 +00:00
Marco Di Benedetto 625497e788 fixed ImportLocal() in WedgeColor: iteration was missing. 2009-06-15 17:26:00 +00:00
Paolo Cignoni fde38e0612 added missing iteration control inthe hc laplacian smoothing 2009-06-11 23:56:06 +00:00
Paolo Cignoni 70d3ccfa23 Removed harmless warnings 2009-06-11 23:55:06 +00:00
Marco Di Benedetto 39156cafe4 completed support for WedgeColor. 2009-06-09 18:23:50 +00:00
Marco Callieri b066baa686 added cast in a SQRT (could not resolve overloading
(int)(sqrt((double)n_samples) +1.0);
2009-06-08 15:48:55 +00:00
Paolo Cignoni b05e5d1184 Made public the default constructor of PerVertexAttributeHandle, PerFaceAttributeHandle.
I hope that it was done private by mistake...
2009-06-07 08:55:44 +00:00
Federico Ponchio b39afe0c18 gcc complained about perVertexAttributeHandle missing template parameters... 2009-06-05 11:08:37 +00:00
Marco Di Benedetto 4e6b4a5b8f added Offset() method. 2009-06-05 09:32:47 +00:00
ganovelli f223914581 factorized a bit the attribute classes in TriMesh;
added to IsValidHandle the check that pointer to data is not null.
Explanation:
a handle may be not valid for two reasons:
1) the attribute has been destroyed with a DeletePer*Attribute
2) the handle has been declared but not initialized.
The change is to cover the case 2)
2009-06-04 16:13:21 +00:00
ganovelli 66ec7652dc factorized a bit the attribute classes in TriMesh;
added to IsValidHandle the check that pointer to data is not null.
Explanation:
a handle may be not valid for two reasons:
1) the attribute has been destroyed with a DeletePer*Attribute
2) the handle has been declared but not initialized.
The change is to cover the case 2)
2009-06-04 16:08:15 +00:00
Paolo Cignoni 69004410e3 Corrected a wrong function to clear border face flag (and added BORDER012 to the enums of the flags) 2009-06-04 08:15:59 +00:00
Federico Ponchio e888ef1560 removed some useless consts 2009-06-03 12:23:20 +00:00
Paolo Cignoni b96d693960 bool ClearAllF() -> void ClearAllF() (no reason it is a bool returning function) 2009-05-26 22:35:57 +00:00
Paolo Cignoni b3e9a9e105 Changed a few geodesic function from void to bool to return possible failures (like for exmple asking for border distance on a mesh without border) 2009-05-26 22:31:58 +00:00
mtarini c0b0c7469c Added diagnostic and measurement methods for bit-polygonal meshes: IsBitQuadOnly, IsBitTriOnly, IsBitPolygonal, IsBitTriQuadOnly, CountBitQuads, CountBitTris, CountBitPolygons, HasConsistentPerFaceFauxFlag... 2009-05-26 18:19:17 +00:00
mtarini ac017fffb6 added few shortcuts to handle faux flags together: IsAnyF, ClearAllF (and a bit-mask FAUX012). 2009-05-26 17:57:24 +00:00
mtarini 0856e6a2eb added CosWedge which returns the cos of a wedge 2009-05-26 17:50:18 +00:00
Paolo Cignoni 37057700b2 Changed the brightness and contrast color processing algorithm to match exactly the GIMP algorithm. 2009-05-25 09:02:32 +00:00
Paolo Cignoni 0f4817d486 Correct a bug. 2009-05-23 20:14:53 +00:00
Paolo Cignoni 57a202111c Added the functor PointNormalDistanceFunctor used in the GetClosestFaceNormal. 2009-05-23 20:12:58 +00:00
Paolo Cignoni a0a965f17c Added the method GetClosestFaceNormal, that use the functor PointNormalDistanceFunctor. 2009-05-23 20:10:48 +00:00
Paolo Cignoni 291c2790af Removed harmless warnings 2009-05-22 07:54:42 +00:00
Paolo Cignoni e1e58a75cf added another shape to platonic, a camera. 2009-05-21 23:04:49 +00:00
Paolo Cignoni b441009e15 added an invalid method that says if a shot is "reasonable" or not. A shot is valid if its Intrinsics are valid. 2009-05-21 23:04:09 +00:00
Paolo Cignoni c5491807fd *** SIGNIFICANT CHANGE ***
The member 'camera' of the base trimesh class, is no more used since Dec 2006.His initial purpose was keeping intrinsics of the camera, but it is a long time that intrinsics have moved into the Shot class. 
The I/O procedure already comply this fact filling only the interal structure.
2009-05-21 23:02:48 +00:00
Paolo Cignoni f5126d7ffe renamed a EPSILON variabile to avoid name clash 2009-05-18 15:06:11 +00:00
Paolo Cignoni 143f9461dd moved (and renamed) trivial walker from apps/ to vcg/complex/trimesh/create 2009-05-18 14:19:12 +00:00
Paolo Cignoni 08ffe4b7a1 re-correct the assert that was causing a failure. The previous commit tho marching cubes.h (done by me!) was rather wrong. Sorry,. 2009-05-08 21:41:37 +00:00
ganovelli 0524e1ac62 corrected the implementation of IntersectionSegmentPlane (compiled .net only) 2009-04-29 09:37:42 +00:00
mtarini a7e5e51ddc added IsPolygonal, which tells you whether the mesh actually represents a polygonal mesh (false if triangle only) 2009-04-27 14:13:28 +00:00
Paolo Cignoni 1236df14c5 Added RemoveDuplicateFace Function 2009-04-23 21:21:21 +00:00
Nico Pietroni c73495b7ce added __VCG_DECIMATION_TRIFLIP to ensure unique inclusion 2009-04-22 15:13:41 +00:00
Paolo Cignoni 8bd0953add removed harmless warning 2009-04-22 10:31:33 +00:00
Paolo Cignoni cc0204e797 removed harmless warning 2009-04-22 10:30:04 +00:00
Paolo Cignoni 665fa05d1c Added RegularRecursiveOffset sampling function 2009-04-22 10:27:44 +00:00
Paolo Cignoni 312532aab3 added missing test on deleted faces 2009-04-21 15:42:18 +00:00
mtarini aeaec2ab4c All methods now set flags Faux (where appropriate) that identifies edges inside a polynomial face (quads & penta).
FaceGird now cuts closer aoround holes.
Rewritten Cilynder (too many errors in prev version)
2009-04-20 22:53:31 +00:00
mtarini 52de726be4 minor (commento) 2009-04-20 22:50:43 +00:00
mtarini 77f5129ac9 Aggiunto i flags Faux che identificano gli edge dentro una faccia poligonale. 2009-04-20 22:49:33 +00:00
Paolo Cignoni b399b4943f added two assert that checks that you have consistently prepared your mesh before feeding it into a grid for distance checking. 2009-04-19 21:20:08 +00:00
Paolo Cignoni fb261dc8bf added cleaning function to merge very close vertice (for the one who needs a unify duplicate vertices that unify also vertices that are not exactly the same 2009-04-19 21:13:36 +00:00
Paolo Cignoni 0c61619049 Solved bug about aliasing when resampling with signed distance thin and long triangles. 2009-04-10 15:05:49 +00:00
Paolo Cignoni 47dc2ecd6c Added two different methods for computing vertex normals from facet normals, weighted and weighted by angle 2009-04-10 14:21:00 +00:00
Paolo Cignoni 8be6f002a3 Significant rewrote of the ImportLocal framework. Now it can really manage differently typed meshes.
It still requires that for OCF meshes the user enable stuff as needed.
2009-04-05 23:33:04 +00:00
Paolo Cignoni 7f2d51828f added a missing cQ() constant member 2009-04-05 21:53:09 +00:00
Paolo Cignoni e702547041 added in the Append::Mesh function the possibility of copying also unreferenced vertices (indispensable for point sets!) 2009-04-04 16:58:21 +00:00
ganovelli dd468f9d5d compiled with gcc 2009-04-01 13:07:08 +00:00
ganovelli b7dd6f79aa added include to flag.h 2009-04-01 13:05:35 +00:00
Paolo Cignoni a16baded52 Added FaceConnectedFF; the function expands current selection to cover the whole connected component. 2009-04-01 04:30:35 +00:00
Paolo Cignoni 12c61c4622 Added ByLine() method, which initializes the quadric as the squared distance from a given line.
This works with a vcg::Ray() too, but the caller should be aware that the distance "before" the ray origin is computed as if the ray were a line.
2009-03-31 09:17:39 +00:00
Paolo Cignoni 3447c82e88 Removed a few harmless warnings 2009-03-30 20:58:18 +00:00
Paolo Cignoni 066c2bdb8b Corrected ComputePoissonDiskRadius to Manage approximately the PointCloud Case, using area of the bbox as an approx of the surface area. 2009-03-27 15:09:14 +00:00
Paolo Cignoni 9a0b315fb0 Small change in poisson point sampling, we should call the sampler class with the input mesh 2009-03-26 10:51:44 +00:00
Paolo Cignoni 4420e5102b Strictly less than instead of less than equals in
RayTriangleIntersection
2009-03-25 08:27:58 +00:00
Paolo Cignoni cf028b728b Added parameter invertQuality to PoissonDiskSampling in order to invert
how quality influences density distribution
2009-03-25 08:22:03 +00:00
Paolo Cignoni 499822bc17 NO_QT defines to explicitly disable qt dependant behavior 2009-03-25 08:13:07 +00:00
Paolo Cignoni 2631ae5351 Added sph49f, disabled ImportLocal for a while 2009-03-25 07:51:28 +00:00
ganovelli 917343b0f5 removed the (useless) template parameter to Per[XXX]DeleteAttribute(mesh,name) 2009-03-20 10:22:16 +00:00
ganovelli 60c50bcf48 corrected vert:: to vertex:: 2009-03-20 07:15:20 +00:00
Paolo Cignoni e6fe311c6d Updated DepthSmooth to the recent library changes 2009-03-20 00:27:07 +00:00
Paolo Cignoni 42c90d1439 corrected two small compiling errors... 2009-03-19 22:11:35 +00:00
Paolo Cignoni 2ba11ecc4a Restructured a bit the stratified sampling approaches 2009-03-19 22:04:52 +00:00
Marco Di Benedetto 93dade9042 modified DistancePoint3Box3 for out-of-box distance. 2009-03-19 21:13:38 +00:00
Marco Di Benedetto 375e0cec74 added static member for vertex radius check (HasPerVertexRadius()). 2009-03-19 17:26:26 +00:00
Paolo Cignoni c955238597 Added a missing HasPerVertexRadius 2009-03-19 16:22:23 +00:00
Marco Di Benedetto 389cc089db Added non-const pointer accessor. 2009-03-19 11:13:17 +00:00
Marco Di Benedetto 0e2bc54b52 Added non-const pointer accessor. 2009-03-19 11:12:23 +00:00
Paolo Cignoni b8fc43e7c6 Added non optional per vertex radius component 2009-03-18 15:53:52 +00:00
Marco Di Benedetto 915a7b40a1 call IntersectionRayTriangle in Intersection_Segment_Triangle instead of generic Intersection (missing overload). 2009-03-17 18:59:20 +00:00
Marco Di Benedetto eeacaeff3b fixed WN and WT assignments (indices used). 2009-03-17 16:40:36 +00:00
Marco Di Benedetto a0e1593671 use const_iterator for input face container. 2009-03-17 16:39:23 +00:00
Paolo Cignoni c39498df1f Fixed CMeshO error 2009-03-12 15:56:31 +00:00
Paolo Cignoni 04e2464e3d Added RemoveTVertexByCollapse and RemoveTVertexByFlip methods 2009-03-11 16:43:16 +00:00
Nico Pietroni 6b781dc660 changed evaluation of AreaGlobal in InterpolationParameters function 2009-02-27 16:15:28 +00:00
Nico Pietroni d2bcd3dffa added in MidPoint inheritance of texture coordinates 2009-02-27 16:12:20 +00:00
Paolo Cignoni 17f0ac0431 added another grid building function. This one build up a possibly incomplete grid. 2009-02-16 00:59:24 +00:00
Paolo Cignoni 891aaef124 Corrected bug in the normalization of quality->radius of the poisson variable disk sampling 2009-02-11 09:38:41 +00:00
Paolo Cignoni 19ae359bf1 Added unified interface for open and close 0,1 intervals and
extern boxmuller gaussian generator.
2009-02-04 12:06:58 +00:00
ganovelli 573c151241 bug on search cycle corrected (it was looping forever with vertices and twice slower with other elements) 2009-01-29 11:27:32 +00:00
Paolo Cignoni b9949e8910 Added a custom macro to disable qt calls if not needed, just a temporary
solution
2009-01-29 11:12:57 +00:00
Paolo Cignoni 5b921d1159 max must begin with a capital M... 2009-01-29 10:49:34 +00:00
Paolo Cignoni 76f8093297 Namespace correction for max function 2009-01-29 10:46:39 +00:00
Paolo Cignoni d41a88bfe5 added handy constructor with the base mesh to vertex/face marker functors 2009-01-29 00:17:31 +00:00
Paolo Cignoni 92f9a2026b completed the refactoring of the variable disk sampling 2009-01-29 00:16:00 +00:00
Paolo Cignoni eaa4d2232b Refactored a bit the structure of the poisson sampling code to include the variable density sampling 2009-01-27 23:54:47 +00:00
Paolo Cignoni c9173c73fe corrected wrong invocation of istwomanifold check 2009-01-26 15:15:11 +00:00
ganovelli 79b2ad6eef added possibility to pass a functor to evaluate the distance between two vertices
other than the EuclideanDistance (which is the default value)
2009-01-23 17:15:43 +00:00
Paolo Cignoni 3d5ccb47f9 compilation fixes with eigen (norm2=>squaredNorm, a*b => a.dot(b)) 2009-01-23 16:58:47 +00:00
Paolo Cignoni f4ec24c552 Restored Ray-Triangle Intersection (as an extension of IntersectionLineTriangle) 2009-01-23 14:33:13 +00:00
Paolo Cignoni 9a47677ed2 compilation fixes with eigen 2009-01-22 23:10:24 +00:00
ganovelli f6b42772eb added IntersectionLineTriangle 2009-01-22 14:34:27 +00:00
granzuglia de75285ed0 added const qualifier to transpose function 2009-01-22 10:18:40 +00:00
Massimiliano Corsini 393ef8a41a add changing density 2009-01-21 17:39:40 +00:00
Paolo Cignoni ca1ac6323f add absolute distance resampling 2009-01-21 16:22:05 +00:00
Massimiliano Corsini ce6e4023c5 improve generatePoissonDisk performances 2009-01-21 15:40:16 +00:00
Massimiliano Corsini 226d111f9c modify generatePoissonDisk taking into account spatial hash properties 2009-01-20 11:06:12 +00:00
ganovelli f1ef838535 corrected bug in MeanAndGaussian, computation for the obtuse case (thanks Bo Jang) 2009-01-20 10:26:05 +00:00
Paolo Cignoni 4f6cff78ed Yet another missing template keyword for gcc 2009-01-20 08:18:01 +00:00
Paolo Cignoni 92fd17590a Really really working poisson disk 2009-01-19 23:18:10 +00:00
Paolo Cignoni 713a6b6155 Passed const bbox parameter by reference in the getBBox 2009-01-19 23:12:11 +00:00
Paolo Cignoni 266ddc1a42 added a const operator to the spatial hashing iterator 2009-01-19 23:10:43 +00:00
ganovelli d6d380f09b corrected on operator = for the attributes (it was not assigning the _handle) 2009-01-19 12:57:47 +00:00
Paolo Cignoni 91968941c8 removed abs and sqrt ambiguities 2009-01-18 23:56:28 +00:00
Paolo Cignoni 0879d07401 Corrected a wrong template arg MyMesh into the right MeshType 2009-01-18 23:52:27 +00:00
Massimiliano Corsini 6be9fe3b03 fix typos 2009-01-18 19:33:50 +00:00
Massimiliano Corsini d0fcdcf5cd final version of the poissondisk sampling
(there is still a bug in GetInSphereVertex)
2009-01-17 17:37:06 +00:00
ganovelli af76e5fde8 added keyword "public" for deriving SpatialHashTable from SpatialIndex 2009-01-16 17:01:17 +00:00
Paolo Cignoni 4b1be10671 rewrote VertTmark to have a reasonable dummy behaviour (it is useless...) 2009-01-16 16:15:13 +00:00
Paolo Cignoni f1336a0085 still experimenting with the poisson sampling 2009-01-16 16:14:16 +00:00
Massimiliano Corsini 83350db29a poissondisk sampling finished... 2009-01-16 15:01:46 +00:00
Massimiliano Corsini 7bd8b4f19b poissondisk sampling completely restructure for performance 2009-01-16 11:30:19 +00:00
Massimiliano Corsini 87ed77aa88 fix return error on vertexattrib 2009-01-16 11:29:43 +00:00
matteodelle 1c65575000 Added faceface updatetopology in Sphere, otherwise it crashes! 2009-01-16 08:05:33 +00:00
Paolo Cignoni 07fd44359d Added Distribution Class, a more safe and slower class for managing distribution of scalar values that has the same interface of Histogram 2009-01-15 23:54:00 +00:00
Massimiliano Corsini dad1103184 poisson disk sampling (under construction...) 2009-01-15 22:38:37 +00:00
ganovelli 87b8c55144 added Allocator::IsValidHandle which returns true if an handle to an attribute is valid or if the attribute
has been removed. This modification affects timesh/allocate.h and trimesh/base.h
2009-01-15 17:41:59 +00:00
matteodelle 12e32feb59 Replaced forgotten CMeshO with MESH_TYPE in line 314 2009-01-15 17:31:23 +00:00
Massimiliano Corsini f5e4f86859 2009-01-15 17:03:08 +00:00
Paolo Cignoni 957fb711ed minor gcc compilation issues 2009-01-15 16:00:46 +00:00
Paolo Cignoni 0a287f7bce added missing function for setting flags on faces 2009-01-15 15:59:51 +00:00
Massimiliano Corsini 15ae5168f2 further step in poisson disk sampling development.. 2009-01-15 15:32:10 +00:00
Massimiliano Corsini b810569a61 use point<ScalarType> instead of Point3d in Grid(.) 2009-01-15 15:31:22 +00:00
Massimiliano Corsini a7c15f807d add index-to-box conversion 2009-01-15 15:30:07 +00:00
Federico Ponchio d0ad7cbacc fabs -> math::Abs 2009-01-15 14:29:05 +00:00
granzuglia 72eb2f753e added GetColumn3,GetColumn4,SetColumn 2009-01-15 13:42:30 +00:00
Paolo Cignoni ab8fe0462d added some missing typename for gcc compiling 2009-01-15 08:04:12 +00:00
Paolo Cignoni 0e037cabc1 added multisampling distance field evaluation 2009-01-15 01:31:09 +00:00
Paolo Cignoni f001af1c5c better comments and removed useless code 2009-01-15 01:25:15 +00:00
ganovelli 729cd02057 [SIMPLEXplus promotion]
This modification removes the old way to define simplexes (already deprecated and unsupported).
In the following SIMPLEX = [vertex|edge|face|tetrahedron]

All the stuff that was in vcg/simplex/SIMPLEXplus/ has now been promoted to vcg/simplex/

Details:
- the folder vcg/simplex/SIMPLEX/with has been removed
- the file vcg/simplex/SIMPLEX/base.h has been renamed into  vcg/simplex/SIMPLEX/base_old.h 
- the content of vcg/simplex/SIMPLEXplus/ has been moved into vcg/simplex/SIMPLEX/
- the folder vcg/simplex/SIMPLEXplus/ has been removed

Actions the update the  code using vcglib:
replace <vcg/simplex/SIMPLEXplus/*> with  <vcg/simplex/SIMPLEX/*> in every include
for MESHLAB users: already done along with this commit
2009-01-14 17:45:18 +00:00
Massimiliano Corsini fdaa2e88d1 poisson disk under development... (not working for now) 2009-01-14 17:12:12 +00:00
Paolo Cignoni 45ffbac554 added a forgot std:: 2009-01-14 16:22:40 +00:00
Paolo Cignoni 2497e3d286 Added Edge Uniform sampling function that takes samples uniformly only on the mesh edges by regularly subdividing them 2009-01-14 15:56:07 +00:00
Paolo Cignoni 1f992d7929 Added helper function to returning a list of all the unique edges of a mesh 2009-01-14 15:54:50 +00:00
Paolo Cignoni d236258507 added silly stuff needed for the MS implementation of hash_multimap 2009-01-14 14:55:50 +00:00
Paolo Cignoni dec8245691 Corrected a missing underscore in a preprocessor define check 2009-01-14 13:33:33 +00:00
Paolo Cignoni 3f38ad70da Complete re-wrote of the refinement code. Now the predicate is called only once for each edge. no more std:maps are used but the new attributes to store temporary pointers inside newly subdivided faces. 2009-01-14 01:18:34 +00:00
Paolo Cignoni 9dc34faae4 added missing face flags clear/setting members 2009-01-14 01:16:11 +00:00
Paolo Cignoni 3cee0f23b5 commented out a addCell call that was undefined 2009-01-13 21:10:57 +00:00
Paolo Cignoni 9849e12bd1 removed nasty useless undefs 2009-01-13 15:52:27 +00:00
Paolo Cignoni fdf4e402f3 forgot a couple of std:: 2009-01-13 06:33:53 +00:00
Paolo Cignoni 017d27dc36 Better commnts and other minor beautifications 2009-01-13 06:27:01 +00:00
Paolo Cignoni a546c88a7c Heavy restructured the whole spatial hashing. Much shorter code. The dynamic part is now missing... 2009-01-12 22:46:00 +00:00
Massimiliano Corsini c4ca67e959 fix typo 2009-01-12 16:11:37 +00:00
Paolo Cignoni 417c52b7b0 Better comments clarifying the purpose of Samplers and Algorithms for sampling 2009-01-12 16:01:49 +00:00
Massimiliano Corsini 1a05696eb5 first sketch of the Poisson disk (projection-based) sampling 2009-01-12 14:22:03 +00:00
Massimiliano Corsini abbf0d60ce starting to implement PoissonDisk sampling 2009-01-11 15:43:58 +00:00
Massimiliano Corsini 44aa343da6 minor changes in poisson disk 2009-01-09 17:05:10 +00:00
Massimiliano Corsini 3586a13438 replace rand() with MarsenneTwister generator 2009-01-09 14:35:46 +00:00
Paolo Cignoni 51e1718626 added the possibility to decide the size of the grid with an optional parameter of the Set 2009-01-08 11:29:24 +00:00
Paolo Cignoni 28c4843567 Heavily restructured. Now more robust and allow also the creation of discretized surfaces 2009-01-08 11:26:49 +00:00
Paolo Cignoni 3e85ffd0ff New function for computing baric coords in a more robust way 2009-01-08 11:24:54 +00:00
Paolo Cignoni 20272bf7ac gcc compilation issues 2009-01-08 07:52:16 +00:00
ganovelli 8ae63ef1c3 - added optional parameter to return the closest vertex as a vertex attribute
- added a tolerance to check triangle inequality
2009-01-07 14:25:46 +00:00
ganovelli 2e7bde9f24 more clean up, unified single and multiple sources cases 2009-01-06 15:13:43 +00:00
Paolo Cignoni 0db413a1f4 fix compilation 2008-12-29 12:01:23 +00:00
ganovelli 818129d045 refactorized but Still to clean up;
It seems to work but "continuous" distance estimation cannot work with multiple sources.
In this case edge leght estimation is used.
2008-12-22 19:51:11 +00:00
Paolo Cignoni 56d93a02b6 Othography. Fartest -> Farthest 2008-12-21 07:44:29 +00:00
Paolo Cignoni 190e1612c7 added VVStarVF that computes the star of a given vertex exploiting VF adjacency 2008-12-21 01:41:07 +00:00
Paolo Cignoni eca304e5f5 mark of Vertex should not be named HasFaceMarkOcf!! 2008-12-21 01:39:46 +00:00
Paolo Cignoni 36c902097a put class in namespace tri, removed useless parameter from DistanceFromBorder() 2008-12-21 01:37:29 +00:00
ganovelli 157301b773 change to comply random generation 2008-12-19 10:40:31 +00:00