Commit Graph

2232 Commits

Author SHA1 Message Date
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