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