Commit Graph

808 Commits

Author SHA1 Message Date
Nico Pietroni 461c8e1552 added support for primitive subdivision into cells 2012-08-27 12:46:50 +00:00
granzuglia 0448e15f5b - removed compile time errors 2012-07-23 12:16:17 +00:00
Massimiliano Corsini a5bec5b623 Fix Remove method (replace 3d box with 2d box) 2012-07-20 11:07:04 +00:00
Paolo Cignoni 58eced0506 Changed one of the init overload Set(), the one that allowed to specify the cell radius but ACTUALLY it did not use it...
now has a new name : SetWithRadius
2012-07-06 09:40:09 +00:00
Paolo Cignoni 38b8ab1f15 Corrected a bug in GridStaticPointer: The hint about the number of cell to be used was ignored and used only to compute the expansion offset. 2012-07-06 06:58:17 +00:00
Paolo Cignoni b77fa00b5e removed a few unused commented out funcs 2012-07-04 15:27:17 +00:00
Paolo Cignoni 7e4e023266 Removed a dubious unused normalize method... 2012-07-03 09:29:48 +00:00
Paolo Cignoni b08fda7641 Corrected SegmentPointSquaredDistance to do not use anymore a hardcoded EPSilon value... 2012-07-02 16:45:49 +00:00
Nico Pietroni 066f46c20b first release version 2012-06-22 14:27:33 +00:00
Nico Pietroni 614a5fec16 first release version 2012-06-22 14:25:35 +00:00
Nico Pietroni 0e3d2abcfd corrected return value of closest point 2012-06-22 14:23:33 +00:00
Federico Ponchio cb639a12d7 renamed from max/min to hi/low 2012-06-14 09:40:26 +00:00
Nico Pietroni d4ad0bd6f6 added check if length of segment is zero then function SegmentPointDistance still works 2012-05-25 13:32:48 +00:00
Paolo Cignoni 7537b20933 Added a NormalizedDirection method 2012-05-05 14:54:45 +00:00
Paolo Cignoni 8eb94a7f9d Changed ColorRamp non static method into a static one (that constructs a Color4b object) and added a more uniform SetColorRamp method. 2012-04-18 21:17:04 +00:00
Paolo Cignoni b57a747441 rewriting of the SegmentPointSquaredDistance, now it is much much much shorter. 2012-03-14 15:57:37 +00:00
Paolo Cignoni bc57fc36b4 Moved here and cleaned the kdtree for points implemented by Gael 2012-02-22 16:57:44 +00:00
Paolo Cignoni 1def190868 harmless gcc warnings 2012-02-09 17:55:41 +00:00
Paolo Cignoni 790cf5d7ef Added a second function to compute the distance between a point and a box, according to the fact that you need the distance between the surface of a box or the distance from the filled box (e.g. the distance is 0 inside the box) 2012-02-09 17:30:54 +00:00
Paolo Cignoni 86f636b64b Added function to add a point with radius to a bbox. 2012-02-09 17:24:23 +00:00
Nico Pietroni 69508353bb resolved minor compilation issues 2012-02-09 14:02:34 +00:00
Paolo Cignoni a53887e893 added operator [] and function Direction() 2012-01-18 16:45:50 +00:00
Paolo Cignoni a61f6db8ac corrected return value bug 2012-01-18 16:43:40 +00:00
Paolo Cignoni 5bb5c1a1eb Correct a function name to match attribute order
IntersectionPlaneLine(line,plane) -> IntersectionPlaneLine(plane,line)
2012-01-18 16:41:34 +00:00
Paolo Cignoni f4cf3b9221 Changed the name of the Distance from point to plane
from DistancePointPlane
to     SignedDistancePointPlane
to underline the fact that it is SIGNED!!!
2012-01-18 11:44:42 +00:00
Paolo Cignoni ac3107cdb4 added comments to the color Scatter function (I never remember the meaning of the params) 2012-01-18 11:24:33 +00:00
Nico Pietroni 75aca76eb7 Added PointInsidePolygon function 2012-01-12 00:53:37 +00:00
Paolo Cignoni 4c4d505b6f added assert for discouraging inconsistent triangleplane intersection 2011-11-21 08:54:35 +00:00
Paolo Cignoni 20ec79715b Improved comments to the interpolation function that requires a preferential axis 2011-11-21 08:02:31 +00:00
granzuglia 59b789818e renamed ILLUMINANT_* with VCG_ILLUMINANT_* in order to avoid conflicts with the visual studio defines. 2011-11-18 10:42:19 +00:00
Paolo Cignoni c9fbf25362 Cleaned up
- gcc warnings 
- useless printf...
2011-11-15 18:03:58 +00:00
Paolo Cignoni 0a80e1e8ca Cleaning up Plane3...
- comments (the sign of the offset please!!!)
- name of the Distance function -> DistancePointPlane(...)
- a missing normalization in the Init (!)
2011-11-15 11:11:12 +00:00
Paolo Cignoni f631d88c90 changed the comment of the function Convert from polar coordinates to cartesian coordinates ** it uses RADIANS and not degree...** 2011-11-15 11:07:49 +00:00
Paolo Cignoni 3b7609a7e8 Added algorithms for packing into a square rectangles and polygons 2011-10-20 22:29:20 +00:00
Paolo Cignoni 2fe129645b Rolled back 2011-10-05 15:04:40 +00:00
Paolo Cignoni 122cc50798 added missing Abs(Point2) 2011-05-12 09:52:34 +00:00
Paolo Cignoni db5320cc64 Modified IntersectionPlaneSegment so that it returns always the same intersection independently from the segment orientation
Return false if segment is parallel with the plane.
2011-05-11 09:56:23 +00:00
ganovelli 017323e803 IptoP changed into IPfToPf 2011-04-13 16:15:13 +00:00
ganovelli dbd3bd1a70 rewritten wrong planeboxintersection 2011-04-13 16:07:35 +00:00
ganovelli 6b3c096e44 removed cvs old comments 2011-04-13 16:06:19 +00:00
Paolo Cignoni f8eb8a41dd Cleaned up a bit triangle3. Removed some weird interpolation wrappers (that ended to be misused) and updated the rest of the lib to comply with this changes 2011-04-05 21:53:12 +00:00
Nico Pietroni ed6221e993 Added TriangleTriangleIntersect2D function 2011-04-01 16:13:34 +00:00
Paolo Cignoni cf619d282b Corrected various c++ errors. 2011-04-01 06:26:31 +00:00
Gianpaolo Palma 7816e73d74 Changed "int lenght" to "ScalarType lenght" in ClosestPoint function. 2011-03-22 18:17:52 +00:00
Gianpaolo Palma e3d8489f0f Bug fixed in the ClosestPoint2Box2 function 2011-03-21 17:03:34 +00:00
Gianpaolo Palma e90c417d2b Minor changes in ClosestPoint function 2011-03-21 17:02:02 +00:00
Paolo Cignoni 6a876e1fc9 removed warnings due to deprecated hash map usage 2011-02-17 16:40:56 +00:00
Paolo Cignoni 7eaece45af harmless gcc warnings 2011-02-17 11:41:21 +00:00
Marco Callieri 6395138b1f added function for laplacian smoothing of normals on unstructured point clouds 2011-02-09 14:42:30 +00:00
Paolo Cignoni 7e611ef038 Removed and assert in the quality computation (if one side is zero for numerical rounding it should return zero as quality) 2011-01-27 10:49:23 +00:00
Nico Pietroni b89a689a15 triangle3 InterpolationParameters calls now calls InterpolationParameters2 which correctly refers to the unique implementation of triangle2d evaluation of barycentric coordinates in triangle2.h 2010-12-13 00:01:13 +00:00
Nico Pietroni 542bfc8a91 corrected InterpolationParameters funtion in order to evaluate correctly barycentric coordinates even for points wich falls outside the triangle. 2010-12-12 23:59:55 +00:00
Nico Pietroni 387c62414a added constructor with Min and Max 2010-12-12 23:57:39 +00:00
Paolo Cignoni 8446d9f566 added method to know if a spatial indexing structure is empty or not 2010-11-09 08:15:14 +00:00
Paolo Cignoni 070c47b0a5 added method to know if a spatial ubdexing structure is empty or not 2010-11-09 08:12:58 +00:00
Nico Pietroni c818969366 added method P to return bounding box points as in Box3 2010-11-05 16:18:51 +00:00
Paolo Cignoni 999e110d01 renamed EPSILON into loc_EPSILON to avoid collsions with some defines. 2010-10-15 21:46:16 +00:00
Paolo Cignoni 98d61f03a2 removed an extra typename detected by gcc... 2010-10-15 21:15:39 +00:00
Nico Pietroni 6d34aec94b TrianglePointDistance moved to distance.h 2010-10-15 15:17:57 +00:00
Nico Pietroni e690807441 Distance functions moved to distance3.h 2010-10-15 15:17:15 +00:00
Nico Pietroni 793cf46180 - SquaredDistance moved to distance3.h
- Lenght and SquaredLength changed to const functions
2010-10-15 15:16:32 +00:00
Nico Pietroni 6ad59d0756 corrected IntersectionSegmentTriangle calls, the value dist was not updated coherently 2010-10-15 15:15:27 +00:00
Nico Pietroni efadeb21f1 DistancePoint3Box3 calls moved and renamed in distance3.h 2010-10-15 15:14:06 +00:00
Nico Pietroni 6134c11fbd first release version of the collection of minimum distance functions between geometric entities in 3D 2010-10-15 15:13:22 +00:00
Paolo Cignoni 2e9d5c0936 removed some old surviving math:Max and changed to std::max 2010-10-15 09:13:58 +00:00
granzuglia de3371806e added #include<algorithm> 2010-10-08 12:08:24 +00:00
granzuglia b3d63c7c64 moved InterpolationParameters function after the Normal function definition 2010-10-06 12:58:09 +00:00
Nico Pietroni 8370978230 Added a new call of InterpolationParameters with infers the Normal by the Triangle itself 2010-10-01 13:47:16 +00:00
Paolo Cignoni 349e9869cf Updated many vcg files to do not use anymore the vcg::Max(a,b) and vcg::Min(a,b). Use the std version instead. 2010-09-21 22:09:13 +00:00
mtarini 4dcb3be0b3 minor: removed superfluous "typename" 2010-07-25 13:31:57 +00:00
mtarini 2cc56a6651 Cleaned up! Translated several comments, removed old history, Added GlobalToLocal and LocalToGlobal and MakeSquare, cleaned up types, etc. 2010-07-24 15:29:20 +00:00
Federico Ponchio 1017656a61 returned closest point was wrong. 2010-07-15 19:37:59 +00:00
Paolo Cignoni 882d039da6 removed mostly harmless gcc warnings (unused/uninitialized vars) 2010-07-14 08:00:16 +00:00
Paolo Cignoni 04694569cf corrected un-initialized variable in RGBtoHSV 2010-06-23 14:23:32 +00:00
Paolo Cignoni 044412a099 Added initialization of tex index in the constructor of texcoord 2010-06-16 10:27:38 +00:00
Paolo Cignoni 12d257c3ab Debugged:
method Point2::SquaredDistance() invoked Norm2 method, which does not exist. Invocation replaced with (*this-p).SquaredNorm()
2010-05-31 12:13:47 +00:00
Nico Pietroni cf60111b79 changed call to InterpolationParameters... 2010-05-31 10:12:31 +00:00
Paolo Cignoni 157ba4ccfb added class prototype for segment (needed for box intersection) 2010-05-24 08:25:26 +00:00
Nico Pietroni 44618a036a Added ClosestPoint2Box2 function 2010-05-20 13:58:08 +00:00
Paolo Cignoni c41e4d2e04 IMPORTANT CHANGE;
the rarely used frompolar and topolar returns angles in RADIANTS
changed the function names to clarify, avoid stupid bugs, and to adequate to the standard
2010-05-04 08:07:18 +00:00
Paolo Cignoni 77a846fe90 added a wrapper to the robust InterpolationParameters that uses a normal to choose the interpolation orientation 2010-04-30 09:42:10 +00:00
Federico Ponchio 8331ee9981 added IsIn for sphere 2010-04-22 19:05:24 +00:00
Paolo Cignoni cb73c0bb80 added a missing vcg::math:: namespace qualifier 2010-04-21 21:09:57 +00:00
Nico Pietroni ac4a79bc8f corrected call to new function Name IntersectionRayBox 2010-04-21 17:22:39 +00:00
Paolo Cignoni bdc74ae3b4 uniformed to the new intersection naming schemas 2010-04-20 00:59:38 +00:00
Paolo Cignoni 3291bb2889 Made uniform the naming of the intersection functions, added some comment and improved a bit the robustness of the triangle triangle intersection test in a mesh 2010-04-20 00:41:45 +00:00
Paolo Cignoni db53730ae7 better comments for intersectionLineTriangle 2010-04-14 09:16:13 +00:00
Paolo Cignoni 0165f918f1 removed harmless gcc warnings 2010-03-26 09:43:45 +00:00
Paolo Cignoni fba6bd5917 removed harmless warnings/English Comments 2010-03-18 10:04:55 +00:00
Paolo Cignoni 95e1b391c8 min in std limits is a function 2010-02-11 20:07:27 +00:00
ganovelli 9fee205755 removed exceeding "default" in switch condition 2010-01-16 15:33:07 +00:00
Paolo Cignoni fbbf8fe436 Removed gcc4.4 warnings 2009-12-08 15:57:19 +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 5a96ab4f8d a few optimization and correction to the hashed grid removal stuff 2009-12-02 15:08:49 +00:00
Paolo Cignoni 27c319a79c added a removeInSphere specialization and a removePunctual specialization. 2009-11-30 10:36:49 +00:00
Paolo Cignoni 7e02dbb4f8 added methods for removing things from a hashed grids 2009-11-25 15:49:54 +00:00
Marco Di Benedetto ebcbc5f98d fixed implicit cast warning. 2009-11-13 00:52:37 +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
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 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
granzuglia b686bd1d31 changes in order to compile with gcc 3.x 2009-07-15 16:29:10 +00:00
granzuglia 79b3238e27 changes in order to compile with gcc 3.x 2009-07-15 16:26:14 +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
Marco Di Benedetto 3b15d3a8df added cast to unsigned char. 2009-06-30 19:01:22 +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
Paolo Cignoni b2bc0d07ba small gcc compilation errors (typenames, missing std...) 2009-06-25 07:29:29 +00:00
Marco Di Benedetto 4e6b4a5b8f added Offset() method. 2009-06-05 09:32:47 +00:00
Federico Ponchio e888ef1560 removed some useless consts 2009-06-03 12:23:20 +00:00
mtarini 0856e6a2eb added CosWedge which returns the cos of a wedge 2009-05-26 17:50:18 +00:00
Paolo Cignoni 0f4817d486 Correct a bug. 2009-05-23 20:14:53 +00:00
Paolo Cignoni f5126d7ffe renamed a EPSILON variabile to avoid name clash 2009-05-18 15:06:11 +00:00
ganovelli 0524e1ac62 corrected the implementation of IntersectionSegmentPlane (compiled .net only) 2009-04-29 09:37:42 +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 42c90d1439 corrected two small compiling errors... 2009-03-19 22:11:35 +00:00
Marco Di Benedetto 93dade9042 modified DistancePoint3Box3 for out-of-box distance. 2009-03-19 21:13:38 +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
Marco Di Benedetto 915a7b40a1 call IntersectionRayTriangle in Intersection_Segment_Triangle instead of generic Intersection (missing overload). 2009-03-17 18:59:20 +00:00
Nico Pietroni 6b781dc660 changed evaluation of AreaGlobal in InterpolationParameters function 2009-02-27 16:15:28 +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 f4ec24c552 Restored Ray-Triangle Intersection (as an extension of IntersectionLineTriangle) 2009-01-23 14:33:13 +00:00
ganovelli f6b42772eb added IntersectionLineTriangle 2009-01-22 14:34:27 +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 af76e5fde8 added keyword "public" for deriving SpatialHashTable from SpatialIndex 2009-01-16 17:01:17 +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
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 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
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 3e85ffd0ff New function for computing baric coords in a more robust way 2009-01-08 11:24:54 +00:00
ganovelli 157301b773 change to comply random generation 2008-12-19 10:40:31 +00:00
Paolo Cignoni cb22994ef5 Restored TMARKER as a copied, not referenced, class 2008-11-03 16:21:52 +00:00
Paolo Cignoni dfc6417426 Changed IPToP calls into IPiToPf, Markers passed by reference 2008-10-31 10:40:06 +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 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
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 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
Paolo Cignoni 57fe4376a2 fix a few warnings 2008-10-24 12:45:02 +00:00
Paolo Cignoni 9fc4f7d36f added a missing const to grid Create 2008-10-07 06:56:26 +00:00
ganovelli 7defccba1b getclosest update for \the new definition of distance functor 2008-09-30 11:01:09 +00:00
ganovelli 41bc27e33e Changed the type of query type. Made it dependend on distance functor 2008-09-24 09:28:53 +00:00
ganovelli 68d900ec7e changes to compile previous commit with gcc 2008-09-24 09:15:38 +00:00
ganovelli 6a649ee257 changes to comply the templatization of distance functor on the query type 2008-09-24 08:45:31 +00:00
ganovelli b2960231ca corrected bug on PointBase class (thanks Oscar Barney) 2008-09-22 13:40:53 +00:00
granzuglia 728a9020c4 The class PointBase has been renamed as Point.
An empty class PointBase has been added for backward compatibility.
Mathematical operation (+,+=,*,etc) in class Point<N,S> has been implemented.
2008-09-10 14:04:09 +00:00
ganovelli 1185e2ab96 minor type changes to compile with gcc 2008-08-19 11:03:39 +00:00
ganovelli 3cb29c805b changed template from vcg::Triangle to generic class to allow to pass a vcg::FaceSimpX (recall: the disambiguation was done in the function name exactly for this reason) 2008-08-19 10:21:01 +00:00
ganovelli 82d9dec26a aadded this-> to + operator to compile with .net 2008-08-07 16:22:27 +00:00
ganovelli d35117d9c2 added precompiler check if FABS macro is already defined 2008-08-04 10:54:34 +00:00
ganovelli 57c0fc8238 added inclusion of point3.h, removed useless namespace in InterpolationParameters 2008-08-04 10:53:08 +00:00
ganovelli 08cdd7b3aa added a version of CreateTight which takes a std::vector 2008-08-04 10:50:53 +00:00
ganovelli 3712ddfd50 - Change to avoid dangerous iterators decrement in RayITerator: reverse iterator used (same as in ClosestIterator)
-removed some old commented code
2008-07-29 16:05:29 +00:00
Paolo Cignoni 2dc0c1e1dc Fixed compilation bug under Visual Studio 2005 2008-07-29 13:01:10 +00:00
Federico Ponchio 75ee76b233 PlaneFitting returns the eigenvalues instead of true now. 2008-07-21 08:34:31 +00:00
Paolo Cignoni 4555f74ee3 added operator + between color with clamped specialization for unsigned chars 2008-07-09 15:18:08 +00:00
Paolo Cignoni 1407af2537 removed harmless warnings 2008-07-09 10:31:55 +00:00
Nico Pietroni 38c1cc7aaf changed epsilon value on InterpolationParameters function 2008-07-03 10:22:37 +00:00
Paolo Cignoni 711c985689 update to the new single template BasicGrid 2008-07-01 12:37:27 +00:00
Paolo Cignoni fa2c3fa060 updated the spatial indexing class to the new basicgrid class that has only one template parameter 2008-07-01 09:33:47 +00:00
Paolo Cignoni 4e227776f3 Removed one useless template parameter from the BasicGrid class and added a couple of useful accessory functions 2008-07-01 09:32:48 +00:00
Paolo Cignoni 616b3fedc5 Added the class oriented bounding box inherited from box3.h 2008-06-23 17:28:30 +00:00
Nico Pietroni 26e1c14de8 correct version of InterpolationParameters 2008-06-20 15:03:27 +00:00
Paolo Cignoni d95f6ee798 Added a constructor from point4 of the same type to allow the use of Point4 operator; e.g. col1 = col2 + col3
Added Clamp operator to get rid of out of 0..1 range values for floats
2008-06-17 23:08:53 +00:00
Paolo Cignoni 8972bf2ea2 added construct from and to float 2008-04-22 20:44:07 +00:00
Nico Pietroni 517108e947 corrected 1 warning in DistancePoint3Box3 function 2008-04-07 10:26:10 +00:00
Nico Pietroni 3edf76179c added default constructor 2008-04-07 10:24:55 +00:00
Nico Pietroni 8feedff976 correct 1 error on DistancePoint3Box3 (if the point is inside the box return distance to the nearest face instead of zero) 2008-03-05 11:48:08 +00:00
Nico Pietroni 94cb8fca1d added DistancePoint2Box2 2008-03-05 11:45:36 +00:00
Paolo Cignoni 66ee02eb49 __int64 is a MS only type. Added portability defines at the beginning. 2008-02-20 11:31:13 +00:00
Marco Callieri 3716a8c6df in BestDim(...) changed int -> _int64 to cope with programs with a very large cell number (like plyMC) 2008-02-19 12:43:01 +00:00
ganovelli 2dea5562fe typo corrected 2008-02-04 19:18:44 +00:00
Paolo Cignoni c6e1940149 Important Change. Now adding a null bbox to a bbox leave it unchanged (instead of trashing it) 2008-02-03 23:50:51 +00:00
Paolo Cignoni 57069766d4 corrected small bug in multitex coord indexing 2008-01-28 08:48:52 +00:00
Paolo Cignoni d87123b841 disambiguated sqrt call 2007-12-02 07:39:19 +00:00
Federico Ponchio 700ab9112d Added Mean Ratio metric for triangle quality. 2007-11-26 14:11:38 +00:00
ganovelli 9ff18f557b missing typename 2007-11-20 09:45:51 +00:00
Federico Ponchio f0d2300c82 QualityRadii values fixed. 2007-11-19 17:04:05 +00:00
Federico Ponchio e2dfebc909 Typo (missing comma). 2007-11-18 19:12:54 +00:00
Federico Ponchio 030feec36a Added qualityRadii: computes inradius /circumradius.
(ok the name is ugly...)
2007-11-16 14:22:35 +00:00
ganovelli c04c5cde70 added draft for sphereofsphres enclosing 2007-11-07 09:37:20 +00:00
Paolo Cignoni d3d7f047e4 added missing typenames 2007-10-16 16:45:49 +00:00
Nico Pietroni 71f3accd9c added Mirror function 2007-10-12 10:02:41 +00:00
Federico Ponchio 6c762759ab Added Circumcenter function. 2007-10-10 15:11:30 +00:00
Federico Ponchio 76721c28d1 Just a clarification comment 2007-09-21 11:34:10 +00:00
ganovelli 1fee504228 added ScalarType to tetra3 2007-07-31 12:35:42 +00:00
Federico Ponchio 68032b71dd Added method Gather:
Using a cubic voxel of side <radius> (see Set with radius)
allows you to process all pairs of objects within radius distance.
Usefull to compute normals, weighted means etc.
Speedup is about 7x.
2007-07-16 16:59:26 +00:00
Paolo Cignoni 8bfd6c40e0 Splitted initialiazation functions of grid to add flexibility in the creation 2007-07-16 15:13:39 +00:00
Paolo Cignoni 854717ecfc added a missing static to the Construct() member 2007-07-12 06:41:24 +00:00
Massimiliano Corsini bfbbe58a2a fix area 2007-07-02 10:01:00 +00:00
Paolo Cignoni 220baf92c7 Corrected gcc compiling issues 2007-07-02 04:25:32 +00:00
Federico Ponchio 54aa4df7c7 Made compatible with ScalarType = double 2007-06-20 09:26:42 +00:00
Paolo Cignoni 2ebecdde24 Added method that computes the minimum distance between a segment and a point 2007-06-12 15:40:41 +00:00
Federico Ponchio d8032a9bc0 *** empty log message *** 2007-06-08 14:57:29 +00:00
Paolo Cignoni 279306b9f7 Corrected error in the comment to method IntersectionSphereTriangle 2007-06-08 07:40:40 +00:00
Paolo Cignoni 9105a551cd Added IntersectionSphereTriangle 2007-06-07 15:16:39 +00:00
Paolo Cignoni ca8780af81 casting (size_t) to (int) to avoid annoying warning 2007-06-06 10:33:36 +00:00
Paolo Cignoni 1e2f4c1a80 Added IntersectionSegmentSphere 2007-05-29 14:33:29 +00:00
Paolo Cignoni 9fee0bfaaa Corrected wrong deallocation when octree was destroyed after being never used. 2007-05-10 10:48:49 +00:00
Paolo Cignoni 01277711b6 Corrected InterpolationParameters invocation 2007-05-10 09:31:15 +00:00
ganovelli b8df8c98db debug: function Offset called without pars 2007-05-08 18:54:20 +00:00
Nico Pietroni de99d5c2d9 corrected error on intersection line-circle 2007-05-08 13:49:08 +00:00
Nico Pietroni 43958eea39 added circle-line intersection 2007-05-08 12:11:58 +00:00
Paolo Cignoni 5dd620e4e4 Added enum Dimension; 2007-05-07 07:47:59 +00:00
ganovelli 339f609ece moved InterpolationParamaters out the class Triangle 2007-05-04 16:33:27 +00:00
ganovelli ec652a6d99 added cast to avoid warning 2007-05-04 16:17:24 +00:00
Paolo Cignoni e5d3f05580 commented out non compiling intersectionSpherePlane 2007-04-16 09:08:15 +00:00
Nico Pietroni 5644153c35 IntersectionPlanePlane first parameter is a const 2007-04-10 22:26:47 +00:00
Nico Pietroni 511f80625d - corrected and renamed distance to point ( function TrianglePointDistance) 2007-04-04 23:23:55 +00:00
Nico Pietroni 99afe015fd setted to const the parameter passed to function Projection 2007-04-04 23:22:29 +00:00
Nico Pietroni 477c03ffd1 - Changed name of intersection function between plane and triangle from Intersection to IntersectionPlaneTriangle.
- Added Intersection_Plane_Sphere function.
2007-04-04 23:19:40 +00:00
Nico Pietroni c466753fe5 corrected test with max distance in ray Iterator 2007-03-26 08:12:30 +00:00
Nico Pietroni 63e2cdd95f *** empty log message *** 2007-03-22 18:12:00 +00:00
Nico Pietroni 0aa99556bf *** empty log message *** 2007-03-22 17:29:16 +00:00
mtarini 8fed8aeed3 removed old "tcoord2". New name is "texcoord2" 2007-03-12 15:28:13 +00:00
mtarini 23a0cb0be4 New name (TCoord -> TexCoord). First commit after name change. 2007-03-12 15:26:56 +00:00
Nico Pietroni 00cc5e3f15 line 375, corrected 1 error concerning intersection with bounding of the grid 2007-03-08 17:05:50 +00:00
Marco Di Benedetto 50ed5305a4 Added const qualifier to bbox parameter in Intersection_Triangle_Box(). 2007-02-21 02:40:52 +00:00
ganovelli 116707257a modif in ClosestIterator to include the last shell Si.siz [X|Y|X]. Tested with minialign and point based animation 2007-02-20 16:22:50 +00:00
Paolo Cignoni c4b0073433 Initial commit. Only the Set and GetInSphere methods of the SpatialIndex interface are implemented. 2007-02-18 22:43:10 +00:00
mtarini c842c83b77 renamed all methods (now uppercase). Also, the Position of a TCoord is now "P()". Old methods name are left, just for now, for back-compatibility. They will be removed soon. 2007-01-30 19:04:50 +00:00
Nico Pietroni 385ee8ba62 - 1 warning corrected in InterpolationParameters function 2007-01-29 00:21:46 +00:00
Nico Pietroni aacbec3178 first working version 2007-01-25 01:11:10 +00:00
Nico Pietroni 9ec0e7b571 added:
- RayLineIntersection
- RaySegmentIntersection
- SegmentSegmentIntersection
2007-01-25 01:04:54 +00:00
Paolo Cignoni 97ae6e35ed Corrected a syntax error in stabledot 2007-01-18 01:27:44 +00:00
Paolo Cignoni 9ba5050193 Added (Normalized) Normal version templated on three points (instead forcing the creation of a new triangle) 2007-01-13 00:25:23 +00:00
Nico Pietroni 191896afbb added constructors :
-Triangle2()
     -Triangle2(const CoordType &p0,const CoordType &p1,const CoordType &p2)

added functions:
     - InterpolationParameters
     - PointDistance
2007-01-08 09:29:58 +00:00
Nico Pietroni 9cbf2c1c3c - added easpilon test on convex function.
- renamed Intersection function with  IsInsideTrianglePoint and optimized using bouding boxes
2007-01-08 09:26:33 +00:00