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