Paolo Cignoni
2a18ebd5f5
Heavily restructured component of vertex simplex. Compacted all the emptyXXXX into a single EmptyCore class. Cleaned up the interface for the optional stuff now there is a standard static function that can say if a given component is enabled or not.
2010-03-04 13:34:38 +00:00
Paolo Cignoni
5e1f0ce521
Heavily restructured component of vertex simplex. Compacted all the emptyXXXX into a single EmptyCore class. Cleaned up the interface for the optional stuff now there is a standard static function that can say if a given component is enabled or not.
2010-03-03 16:01:39 +00:00
Paolo Cignoni
5ef6d30d37
Added a test to check in the point to face distance computation to manage the case of degenerated faces. Now correctly resort to distance point to segment.
2010-03-03 00:35:20 +00:00
Paolo Cignoni
d340b8b92a
removed harmless gcc warnings
2010-03-02 23:17:15 +00:00
Paolo Cignoni
355edd042e
removed harmless warnings
2010-02-24 09:56:58 +00:00
Paolo Cignoni
9f8497013f
removed harmless warnings
2010-02-24 09:55:28 +00:00
Paolo Cignoni
fc6483307b
added a missing cVFi()
2010-02-23 16:45:45 +00:00
Paolo Cignoni
18c92582d4
Cleaned up the CompactFaceVector and the CompactVertexVector, Now they correctly manage existing FV and FF topology by preserving them (if they are initialized to something meaningful).
2010-02-22 17:37:51 +00:00
Nico Pietroni
98eba3ef33
corrected minor compiling issues
2010-02-22 01:03:23 +00:00
Paolo Cignoni
446400f6fc
Now the compactvertex and compactface funtions use the importlocal chain so we are sure that all the meaningful data is correctly copied (otherwise ocf stuff will not be copied) On the other hand when using ImportLocal we do not copy pointer based stuff like adjacency and *vertex pointers* that must be terefore copied by hand...
2010-02-19 00:21:26 +00:00
Paolo Cignoni
95e1b391c8
min in std limits is a function
2010-02-11 20:07:27 +00:00
Paolo Cignoni
41fda194bd
Correctly defined int inside loop as per MSVC requirements, changed assert as to be more accurate
2010-02-11 20:06:14 +00:00
Paolo Cignoni
3b152298cc
added runtime assert to prevent dangerous simplex to simplex assignment in the case of OCF optional attributes.
2010-02-11 00:14:35 +00:00
Luigi Malomo
8465fa432c
Modified rasterization algorithm to generate samples from buffer areas outside (texture space) border edges
2010-02-09 19:10:22 +00:00
ganovelli
9fee205755
removed exceeding "default" in switch condition
2010-01-16 15:33:07 +00:00
Paolo Cignoni
c72bfe6f63
Corrected a bug in the Distribution class and added useful access bin counting functions members to the Histogram class
2010-01-11 22:57:32 +00:00
Paolo Cignoni
3765096290
Added the possibility to wrap an existing coefficient vector
2010-01-08 10:36:09 +00:00
Paolo Cignoni
796c2f0b56
Implemented MakeTriEvenBySplit (still assume that the mesh is a single connected component), removed some face assigment with the (hopefully) safer ImportLocal.
2010-01-03 02:14:51 +00:00
Paolo Cignoni
a26b0e34f9
Cleaned up Detach functions and added a special, simpler version of Detatch for 2Manifold cases
2010-01-03 02:01:45 +00:00
Paolo Cignoni
29e956d524
Corrected a small bug in CountNonManifoldVertexFFVF and changed the use of bit from selection to visit bit in the CountEdges
2010-01-03 01:59:32 +00:00
Paolo Cignoni
49bbc55cac
removed harmless gcc warnings
2010-01-03 01:57:39 +00:00
Paolo Cignoni
137c239375
removed harmless gcc warnings
2010-01-03 01:31:26 +00:00
matteodelle
401abff90a
Correction of IntersectionRayMesh functions, they did not compile.
2009-12-21 13:02:28 +00:00
Paolo Cignoni
fbbf8fe436
Removed gcc4.4 warnings
2009-12-08 15:57:19 +00:00
Paolo Cignoni
39f12e9fdd
added a function to permutate the vertex vector according to a given permutation.
2009-12-07 09:05:20 +00:00
Paolo Cignoni
7030dbb151
small change. The FFp<i> shortcuts seems no more used...
2009-12-07 08:31:01 +00:00
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
ganovelli
39ffa7cd3d
[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
2008-12-19 10:39:32 +00:00
ganovelli
8a1fdbe37f
[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
2008-12-19 10:34:41 +00:00
ganovelli
045832c348
[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
2008-12-19 10:34:17 +00:00
ganovelli
d88ae15696
[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
2008-12-19 10:33:51 +00:00
ganovelli
4f8ed978a7
[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
2008-12-19 10:33:23 +00:00
ganovelli
f9a1578c8d
[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
2008-12-19 10:33:01 +00:00
ganovelli
49b4970452
[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
2008-12-19 10:32:32 +00:00
ganovelli
c9b6f8f7c8
2008-12-19 10:31:56 +00:00
ganovelli
698f6cbd7e
[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
2008-12-19 10:30:51 +00:00
ganovelli
d3682195ca
replaced a "3" with a f->VN()
2008-12-18 17:53:42 +00:00
ganovelli
db04989f13
added support for meshes with holes
2008-12-18 17:52:48 +00:00
Paolo Cignoni
20b46e3122
added the default use of a safe random generator for shuffling vectors (mingw rand seems really bad...)
2008-12-18 00:30:52 +00:00
Paolo Cignoni
0b15c9b4b4
added a few const, and a default value for the generate(int) call
2008-12-18 00:29:03 +00:00
Paolo Cignoni
c2c940338e
added a missing PerFaceFromCurrentVertexNormal mode
2008-12-18 00:27:47 +00:00
Marco Callieri
7548c5e2ac
corrected a pow argument casting
2008-12-16 09:52:04 +00:00
Paolo Cignoni
0f0ac756e4
Polar Functor is now templatized
2008-12-15 13:16:00 +00:00
Paolo Cignoni
a9a17a0713
Aligned with current implementation of RandomGenerator
2008-12-15 08:49:02 +00:00
ganovelli
ca3f973398
added unsupported to deprecated in the warning
2008-12-12 18:11:42 +00:00
ganovelli
76eefc7fb8
added unsupported to deprecated in the warning
2008-12-12 18:10:36 +00:00
Paolo Cignoni
8ef495be20
added test to skip degenerate triangles in curvature computation
2008-12-12 15:08:36 +00:00
Paolo Cignoni
4e2808a64e
added assert for avoiding to put trash into a histogram
2008-12-12 15:06:27 +00:00
Paolo Cignoni
46cc8c7327
Removed harmless warnings
2008-12-11 13:56:37 +00:00
Paolo Cignoni
85dc63a154
moved here from meshlab. Long time due.
2008-12-11 13:52:25 +00:00
Paolo Cignoni
3485b76d8f
Added explicit casts
2008-12-09 11:36:34 +00:00
Paolo Cignoni
8f591655f3
added comment on the two critical asserts
2008-12-09 07:52:27 +00:00
Paolo Cignoni
2143a5138a
corrected bug in PerVertexFromCurrentFaceNormal (wrong use of Construct() )
2008-12-09 07:51:33 +00:00
Paolo Cignoni
a37e44cff1
Made create:box working. Current version was plain wrong. Thanks to Lorenzo Marchi
2008-12-08 14:56:28 +00:00
Paolo Cignoni
0047c70cae
Translated comments, added various notes, removed some dead code, changed a bit the interface of the default edgelen predicate
2008-12-05 22:57:20 +00:00
Paolo Cignoni
0e13472efb
corrected a wrong assert in grid creation function
2008-12-05 22:55:36 +00:00
Paolo Cignoni
e744ca1c0e
added the missing HasPerVertexMark
2008-12-05 22:45:05 +00:00
Paolo Cignoni
f6388be600
added VertexSet, the dual of UpdateFlags::VertexClear(bitmask);
2008-12-05 22:44:03 +00:00
Paolo Cignoni
007d6b94f5
added two const to the next and prev index returning functions
2008-12-05 22:42:55 +00:00
Paolo Cignoni
cca3b3ad5f
cleaned up a lot of typename gcc compilation issues
2008-12-02 10:04:16 +00:00
Paolo Cignoni
928c8dd997
Removed harmless warnings
2008-11-28 14:55:45 +00:00
Paolo Cignoni
62c3f721aa
Added missing include trimesh/allocate.h
2008-11-28 13:45:39 +00:00
Paolo Cignoni
13e5060688
Re-added the original constructor with the seed. Very useful for using custom static generators.
2008-11-27 21:04:17 +00:00
ganovelli
3cbdda3232
added EmptyEEAdj to the type holder
2008-11-27 18:21:01 +00:00
ganovelli
1d263ec3ff
added the possibility to include a container of edges as a third parameter.
...
This mod should be fully backward compatible (tested .net 2005 and gcc 4.2.4)
2008-11-27 18:01:07 +00:00
Massimiliano Corsini
b73fba8706
refactoring
2008-11-27 16:39:05 +00:00
Paolo Cignoni
46b3024de6
Changed as to include new Random methods
2008-11-27 15:05:36 +00:00
Massimiliano Corsini
c13722fd54
minor changes
2008-11-27 11:49:17 +00:00
Massimiliano Corsini
67d185c384
other bugs fixed
2008-11-27 11:37:23 +00:00
Massimiliano Corsini
7b8d3a07f0
first fixes
2008-11-27 11:31:01 +00:00
Massimiliano Corsini
50a436594e
re-styled and improved uniform random number generator
2008-11-27 11:27:54 +00:00
ganovelli
9d8e452e65
added Alloc to support polygon meshes
2008-11-26 17:58:15 +00:00
ganovelli
01750729b6
missing checks on deleted simplex added
2008-11-26 17:57:09 +00:00
ganovelli
faeef173e8
added AddEdge and RemoveEdge (still much ongoing)
2008-11-26 17:56:00 +00:00
ganovelli
4cae6b5107
added the update of the pointers related to the AddEdges
2008-11-26 17:46:31 +00:00
ganovelli
a00abdc73c
added EmptyHEData in EdgeBase
2008-11-26 17:43:28 +00:00
ganovelli
cb547de5ec
removed a few bugs, added EmptyHEData class
2008-11-26 17:42:55 +00:00
ganovelli
327874865a
removed a few bugs on calls to Alloc()
2008-11-26 17:41:47 +00:00
Massimiliano Corsini
992a808685
2008-11-20 17:00:30 +00:00
Paolo Cignoni
8e23847cab
Distance functor is now a template parameter
2008-11-20 16:24:42 +00:00
Paolo Cignoni
c7719d7d35
Corrected wrong max_band
2008-11-20 13:29:26 +00:00
Paolo Cignoni
5ee16ee977
Removed unused static field max_band
2008-11-20 13:27:50 +00:00
Paolo Cignoni
619f3f69ef
Addedd missing include
2008-11-20 13:26:59 +00:00
Paolo Cignoni
42709146e6
Addedd missing std namespace befor make_pair
2008-11-20 13:26:26 +00:00
Massimiliano Corsini
99e6ea5dd6
add fake poisson-disk sampling
2008-11-17 12:52:17 +00:00
Paolo Cignoni
5c6c7cafd5
changed the interface of the texel sampling function. Now width and height of the sampling texture can be different
2008-11-14 15:12:02 +00:00
Paolo Cignoni
360da1dd58
small changes (this-> disambiguations) and a type hack to grant compilation on mac gcc
2008-11-13 09:44:46 +00:00
ganovelli
2dfa6976ac
[EDGE_SUPPORT] first working draft. It contains a class with two static function to compute indexed data structure from half edges and viceversa
2008-11-12 17:09:26 +00:00
ganovelli
f80c878644
[EDGE SUPPORT] Added template parameter to query function to comply mods in vcg/complex/trimesh/base.h
2008-11-12 16:21:30 +00:00
ganovelli
81a4a5b4f5
added missing cC() access to color
2008-11-12 16:20:53 +00:00
ganovelli
62ff8885c0
Added missing Prev and Next to PolyInfo
...
[EDGE SUPPORT] Added PFEAdj (pointer to edge)
2008-11-12 16:19:52 +00:00
ganovelli
d3ba33039b
[EDGE SUPPORT] Added template parameter to qyery function to comply mods in vcg/complex/trimesh/base.h
2008-11-12 16:18:28 +00:00
ganovelli
085d51edfa
[EDGE SUPPORT] added FEAdj component
2008-11-12 16:17:07 +00:00
ganovelli
896e0edc04
minor - just identation
2008-11-12 16:15:52 +00:00
ganovelli
be05277504
added the components to implement the half edge data structure:
...
HEOppAdj : pointer to the opposite half edge
HEVAdj : pointer to the vertex
HENextAdj : pointer to the next half edge
HEPrevAdj : pointe to the previous half edge
EFAdj : pointer to the face
HEdgeData : groups all previous except (HEPrevAdj)
2008-11-12 16:14:13 +00:00
ganovelli
b6f21780dc
added workaround for std::vector<bool> bitwise implementation.
...
The workaround is a rough reimplementation of std::vector.
If you can, use "char" as temporary data and cast it when you need.
2008-11-12 16:10:04 +00:00
ganovelli
274e20b3df
changed m.HasFFTopology to HasFFTopology(m)
2008-11-12 16:06:59 +00:00
ganovelli
122f0412c8
made compliant to polygon_support
2008-11-12 16:03:24 +00:00
ganovelli
c7e86ab57a
remove unreferenced variable
2008-11-12 16:01:11 +00:00
ganovelli
a5cbc8c7f8
added return to RemoveNonManifoldVertex
2008-11-12 16:00:27 +00:00
ganovelli
e37cca54a3
[EDGE SUPPORT]
...
Added default template to TriMesh to include the edges.
Added peredge attributes.
These modification do not require any change to the code using TriMesh, but it allows
to specify a real type of edge in case you want to use it.
2008-11-12 15:51:01 +00:00
ganovelli
1aa88e635b
added update of newEnd in AddFaces
...
Added [de]allocation of edges and per-edges attributes.
2008-11-12 15:46:16 +00:00
Paolo Cignoni
d124cae6fb
added a missing include
2008-11-07 15:37:46 +00:00
Paolo Cignoni
2e7c97e90e
Corrected the update cycle in the AddFace. Thanks to Michele Vannoni for pointing out this bug!
2008-11-07 15:36:19 +00:00
Paolo Cignoni
df84db769c
Rewrote the function for the selection and counting of non manifold vertices. Now it does not require VF topology, just FF.
2008-11-07 10:12:39 +00:00
Federico Ponchio
a9e5756eda
Distortion parameter zeroed on creation!
2008-11-06 15:36:44 +00:00
Paolo Cignoni
0927eaf2fb
sounds like I forgot to commit the addition of Transpose compatibility + fix related to recent Eigen change
2008-11-04 12:33:47 +00:00
Paolo Cignoni
cb22994ef5
Restored TMARKER as a copied, not referenced, class
2008-11-03 16:21:52 +00:00
mtarini
b3620bb320
implemented ToEulerAngles + minor changes and fixes.
2008-11-01 15:54:13 +00:00
Paolo Cignoni
336de84d19
Added an unbiased montecarlo and a revised (still to be improved) stratified sampling
2008-11-01 07:22:29 +00:00
Paolo Cignoni
4e46ff3be6
Added HasPerVertexRadius(mesh)
2008-10-31 12:27:37 +00:00
Paolo Cignoni
dfc6417426
Changed IPToP calls into IPiToPf, Markers passed by reference
2008-10-31 10:40:06 +00:00
Paolo Cignoni
dfc97ba1f2
fix Matrix44 infinite product, make glGetv not allocate temporary
2008-10-30 10:47:08 +00:00
Paolo Cignoni
49c72bc54e
Disambiguated some grid utility names (IPtoTP into IPfToPf and IPiToPf) in order to avoid ambiguities (due to automatic cast?)
2008-10-30 09:01:03 +00:00
Paolo Cignoni
6627c21d43
added a missing dot() product for the conservative people still using deprecated stuff...
2008-10-30 07:39:33 +00:00
Paolo Cignoni
60eb470c6c
of course fixing msvc breaked gcc... not anymore... spoke too fast gcc 4.0.1 had troubles
2008-10-29 15:52:07 +00:00
Paolo Cignoni
e90fd9ca16
of course fixing msvc breaked gcc... not anymore
2008-10-29 15:36:08 +00:00
Paolo Cignoni
0414cbc2f3
Fixed includes, new interface to specify polar functions
2008-10-29 15:26:45 +00:00
Paolo Cignoni
c8506daaff
fixed a couple of MSVC issues, meshlab compile, the plugins soon...
2008-10-29 14:01:44 +00:00
Paolo Cignoni
7b075b3905
mvsc does not like #warning
2008-10-29 13:17:32 +00:00
Paolo Cignoni
69a82d6174
fix the is "inaccessible" issue with g++-4.0.1 - more fixes ;)
2008-10-29 11:29:57 +00:00
Paolo Cignoni
696f763c3d
fix the is "inaccessible" issue with g++-4.0.1
2008-10-29 11:28:51 +00:00
Paolo Cignoni
e587581275
add transposeInPlace and duplicate V(int)
2008-10-29 11:17:11 +00:00
Paolo Cignoni
07f2e976ea
* change all remaining Transpose to transpose,
...
* update the gl/math wrappers to make them more Eigen friendly
(and remove the useless, and not used, and somehow dangerous
*Direct and *E functions)
* add automatic reinterpret_casting from Eigen::Matrix to vcg
specialized types
2008-10-29 00:05:44 +00:00
Paolo Cignoni
0361427bc0
big cleaning in Point* and Matrix*, now they are very closed to be simple typedef of
...
Eigen's Matrix. Now the dilema is how to mimic those typedefs, using inheritence ?
or using the classic workaround: typename Point3<float>::Type; with Point3<T>::Type defined
to Eigen::Matrix<T,3,1>. Anyway currently I support both (and the inheritence scheme has
to be preserved for compatibility). The advantage of the second approach is that when
eigen has to evaluate an expression it uses an Eigen::Matrix<>, so it is probably better
to only use Eigen::Matrix but I'm not 100% sure that makes a big difference especially if
we add some automatic reinterpret_cast between Eigen::Matrix and vcg::Point*....
2008-10-28 20:06:17 +00:00
Paolo Cignoni
6e0b8fe1aa
added import vector
2008-10-28 15:00:16 +00:00
Paolo Cignoni
c1551eddfd
make Point derive Eigen's Matrix and some cleanning
2008-10-28 11:47:37 +00:00
ganovelli
949637c795
added private copy constructor and assignment operator to prevent people from doing those things
...
added empty constructors to attribute handles
2008-10-28 11:00:30 +00:00
Paolo Cignoni
977ddb9623
some cleaning
2008-10-28 10:16:43 +00:00
Paolo Cignoni
7befff7bec
make point2 derived Eigen's Matrix, and a set of minimal fixes to make meshlab compile
...
with both old and new version. The fixes include:
- dot product: vec0 * vec1 => vec0.dot(vec1) (I added .dot() to the old Point classes too)
- Transpose: Transpose is an Eigen type, so we cannot keep it if Eigen is used. Therefore
I added a .tranpose() to old matrix classes, and modified most of the Transpose() to transpose()
both in vcg and meshlab. In fact, transpose() are free with Eigen, it simply returns a transpose
expression without copies. On the other be carefull: m = m.transpose() won't work as expected,
here me must evaluate to a temporary: m = m.transpose().eval(); However, this operation in very
rarely needed: you transpose at the same sime you set m, or you use m.transpose() directly.
- the last issue is Normalize which both modifies *this and return a ref to it. This behavior
don't make sense anymore when using expression template, e.g., in (a+b).Normalize(), the type
of a+b if not a Point (or whatever Vector types), it an expression of the addition of 2 points,
so we cannot modify the value of *this, since there is no value. Therefore I've already changed
all those .Normalize() of expressions to the Eigen's version .normalized().
- Finally I've changed the Zero to SetZero in the old Point classes too.
2008-10-28 00:59:46 +00:00
Paolo Cignoni
393ec38d54
quick fix in color4
2008-10-27 19:38:52 +00:00
Paolo Cignoni
ab200fc950
Port to eigen2: state of the mess:
...
* curently nothing change if you don't define VCG_USE_EIGEN
* make Matrix*, Point3 and Point4 derive Eigen::Matrix (still ugly)
* now catching all the dot products to replace them by .dot()
note that most of meshlab already compile
2008-10-27 19:35:17 +00:00
ganovelli
69ebba04b9
Created.
...
PolygonSupport provides the functions to import a trimesh from a polygonal mesh and viceversa.
2008-10-27 16:54:32 +00:00
ganovelli
4002b9a706
created as a first working draft.
...
Tessellates a simple polygon with the earcut algorithm
assuming the polygon is almost planar
2008-10-27 16:50:45 +00:00
Paolo Cignoni
4db69febbe
big replacement .Zero => .SetZero, and start of Eigen's compatibilities (currently disabled by default)
2008-10-27 14:48:14 +00:00
ganovelli
c0a5159672
changed member Zero() to SetZero()
2008-10-27 12:52:22 +00:00
Federico Ponchio
5394003338
Fixed small error in documentation
2008-10-24 18:49:40 +00:00
Paolo Cignoni
8a8eb6fb65
add the possiblity to sort eigenvalues/vectors according to their absolute values
2008-10-24 17:21:53 +00:00
Paolo Cignoni
57fe4376a2
fix a few warnings
2008-10-24 12:45:02 +00:00
Paolo Cignoni
64fcbc961a
compilation fix for 64bits systems
2008-10-24 12:41:50 +00:00
Paolo Cignoni
24ea4251a9
Matrix33: make const the binary operators
2008-10-24 12:20:44 +00:00
ganovelli
4783ac9a62
added an assertion
2008-10-24 10:26:28 +00:00
ganovelli
d5113f6204
added missing functions
...
IsCurvatureDirEnabled
EnableCurvatureDir
and debugged CurvatureDirTypeOcf, which
returned wrong values and [MAJOR] wasted
8 floats per vertex every time it was included in the type (enabled or not)
2008-10-24 09:54:23 +00:00
ganovelli
3a5b6ed2f3
added missing checks in ImportLocal
2008-10-24 09:50:55 +00:00
ganovelli
cba885edbe
missing (unreachable) return added
2008-10-24 09:49:47 +00:00
Paolo Cignoni
64ce68dac0
* make EmptyRadius::HasRadius returns false
...
* make gl/Shader and gl/Program* a bit easier to use:
- automatic object creation
- add Uniform() overloads for vcg::Point*f types
2008-10-15 08:02:14 +00:00
ganovelli
79ef95435a
Compacted EmptyCurvature and EmptyCurvatureDir in EmptyCurvatureData and added EmptyRadius
2008-10-14 16:47:02 +00:00
ganovelli
c454c38e60
added EmptyCurvatureData and EmptyRadius
2008-10-14 16:45:36 +00:00
ganovelli
8198cf4c8b
added HasFaceQualityOcf() to EmptyColorMarkQuality
2008-10-14 16:42:29 +00:00
Paolo Cignoni
fc98a34972
Add an optional per vertex radius property in occ, ocf, and IO mask.
...
Extend derivation_chain from 10 to 12
2008-10-14 14:58:09 +00:00
Paolo Cignoni
c5ec73d0f7
Added IntersectionRayMesh overload function who return hit point, baricentric's coordinates and a pointer of intersected face.
2008-10-14 14:31:35 +00:00