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
Nico Pietroni
a2ee98e3e4
first release version
2007-01-03 15:49:48 +00:00
Nico Pietroni
56086c51ae
added line-line and line-segment intersection
2007-01-03 15:49:00 +00:00
ganovelli
8403681640
using of locally defined variable removed
2006-12-20 15:23:52 +00:00
Paolo Cignoni
fb51d1f3f9
end() replaced by pointer lastPlusOne
2006-12-06 17:47:50 +00:00
Nico Pietroni
f2706529cf
changed 1 wrong comment RayIterator---- Refresh .. was the opposite
2006-12-06 12:53:14 +00:00
Massimiliano Corsini
952d3e61ca
fix all errors and warnings gyven by gcc compiler
2006-11-16 14:48:48 +00:00
Massimiliano Corsini
900a46600e
fix polar coordinates
2006-11-15 15:34:39 +00:00
Federico Ponchio
716d0b39f2
Added GetBBox in Point3 (declaration) the body of the function is in box3.h
2006-11-13 13:03:45 +00:00
Paolo Cignoni
642158fc32
many gcc compiling issues
2006-11-07 17:22:53 +00:00
Paolo Cignoni
e2733d55df
Necessary changes for compilation with gcc 3.4.6. Especially the hash function is a problem
2006-11-07 15:13:57 +00:00
Nico Pietroni
478e2ad4cd
corrected 1 bug in operator ++ of closest iterator
2006-10-26 08:28:50 +00:00
Nico Pietroni
ad5a634220
added intersection control between bounding boxes for intersection between segment and triangle function
2006-10-25 16:04:32 +00:00
Nico Pietroni
a8b6014a73
corrected bug in closest iterator.. if doesn't find any alement at first cells examinated continue until find some element
2006-10-25 15:59:29 +00:00
Paolo Cignoni
fe32dbea36
just few rearrangements...
2006-10-25 12:46:07 +00:00
Nico Pietroni
5799203aaf
added max dist control and constructor
2006-10-25 09:47:53 +00:00
Paolo Cignoni
4b4dd13689
Minor bug fixed
2006-10-19 13:32:23 +00:00
Paolo Cignoni
9031924a14
Added some templatedoctree to compile under 2003
2006-10-18 15:11:26 +00:00
Federico Ponchio
6eb4a5b293
Working on mingw now.
2006-10-18 08:32:03 +00:00
Paolo Cignoni
17979a3b54
In function Barycenter, replaced calls to (the inexistent) cP(i) with P(i)
2006-10-17 06:51:33 +00:00
Paolo Cignoni
5e4f12f28a
minor changes to comply gcc compiler
2006-10-16 16:10:22 +00:00
Paolo Cignoni
00a0aeb381
Added **explicit** constructor from three coords of a different scalartype
2006-10-13 12:59:24 +00:00
Paolo Cignoni
7e30be53fa
added callback...
2006-10-13 10:38:09 +00:00
Paolo Cignoni
8d056ebdd4
fixed some bugs
2006-10-12 14:15:13 +00:00
Paolo Cignoni
51efef83bf
Conformed with the base interface
2006-10-12 11:02:57 +00:00
Paolo Cignoni
5b4f40661d
Minor changes to work with the base-compliant octree
2006-10-12 11:02:37 +00:00
Paolo Cignoni
b44fce7de9
added quality for triangle wrap
2006-10-10 09:33:47 +00:00
Marco Di Benedetto
0c31822d3c
Implemented Scale() method (was only declared).
2006-10-07 16:51:43 +00:00
Marco Di Benedetto
6a2b32f3e4
Added Dim() method.
2006-10-07 16:50:26 +00:00
Paolo Cignoni
60d1fa3ccd
Re-added diff 1.12 by Pietroni (cancelled by previous rollback):
...
in GridDoRay function the RayIterator must be initialized with maximum distance
2006-10-02 09:34:03 +00:00
Paolo Cignoni
9f8cbf3f08
Reverted to version 1.10 to nullify dangerous marfr960's changes
2006-10-02 09:28:45 +00:00
ganovelli
8f509dd74d
reverted to version 1.20 for critical bug
2006-10-02 09:25:49 +00:00
Paolo Cignoni
59d7770ebb
Reverted to version 1.14 to nullify dangerous marfr960's changes
2006-10-02 07:47:57 +00:00
Paolo Cignoni
9cf176a0ff
Added methods GetClosest, GetInSphere and GetInBox.
...
Changed signature of Set method to comply with the SpatialIndex interface
2006-09-28 22:49:15 +00:00
Marco Di Benedetto
f2143e6efb
added non const * V()
2006-09-28 13:37:35 +00:00
Marco Di Benedetto
532040d1bd
Added "const" to Collide()
2006-09-28 13:37:13 +00:00
Paolo Cignoni
7a82eb0b6e
fix some bugs
2006-09-28 09:55:28 +00:00
Paolo Cignoni
8ecd4dc8f2
bug fix, add return type to Init
2006-09-27 08:49:32 +00:00
Paolo Cignoni
ac4efc84ef
initial commit
2006-09-21 18:10:05 +00:00
Paolo Cignoni
b6bca3a60b
initial commit
2006-09-19 16:28:41 +00:00
Federico Ponchio
ac98066038
numeric_limits::(max)() -> numeric_limits::max()
2006-09-18 14:21:59 +00:00
ganovelli
bb8cf89b85
added inclusion of sphere3
2006-09-14 08:46:00 +00:00
ganovelli
3f091b3013
changed t.P(*) in t.cP() nella funzione Barycenter
2006-09-14 08:44:07 +00:00
ganovelli
cba93abba3
Intersection_sphere_sphere added
2006-09-14 08:39:07 +00:00
Paolo Cignoni
cf6421124f
casted returned value type to avoid warning C4267
2006-09-07 09:25:49 +00:00
Paolo Cignoni
be5317d84c
corrected bounds check in the cell scan in _IsInHTable
2006-08-31 13:26:17 +00:00
Paolo Cignoni
7fb7f4b401
ClosestIterator avoids to put the query point p into the result set
2006-08-31 13:19:59 +00:00
Nico Pietroni
1b117b6aba
in GridDoRay function the RayIterator must be initialized with maximum distance
2006-08-29 15:38:36 +00:00
Massimiliano Corsini
57bcda4fd6
Fix invalid returning values
2006-08-29 12:57:14 +00:00
Massimiliano Corsini
a4dec0385d
Fix some bugs in color calculations
...
Add gamma correction
2006-08-24 16:51:06 +00:00
Paolo Cignoni
30c32f2445
added comments
...
corrected bad reference in void Grid( const Point3i & _c, CellIterator & first, CellIterator & last )
2006-08-23 15:23:05 +00:00
Paolo Cignoni
f942fd8a4f
*** empty log message ***
2006-08-23 15:22:14 +00:00
Paolo Cignoni
ca680b6a32
added some comments
2006-08-23 15:21:35 +00:00
Paolo Cignoni
fe330a06f7
corrected minor bugs
2006-08-23 15:20:14 +00:00
Paolo Cignoni
ac9e757551
corrected bugs in ClosestIterator class : last element of Elems now is accessed with Elems.back()
...
corrected bug in ClosestIterator::Refresh() : when grid is called, *last have to be considered
corrected bug in ClosestIterator::End() : only coordinates strictly bigger than siz must be discarded
added several comments
2006-08-23 14:53:50 +00:00
Massimiliano Corsini
12e2b13e02
first working version
2006-08-02 13:51:53 +00:00
Nico Pietroni
b2c789ae43
added InitEmpty Function
2006-07-26 08:12:56 +00:00
Paolo Cignoni
9aa38646ff
static keyword only in declaration not in implementation
2006-07-12 12:13:23 +00:00
Paolo Cignoni
a84cf9c8dd
explicit cast in _IsInHtable() to resolve a warning
2006-07-10 12:43:13 +00:00
Paolo Cignoni
12e55110da
minor changes in SphereOfTetra()
2006-07-10 10:38:16 +00:00
ganovelli
d263bf8d27
tolto il tipo enumerato axis
2006-07-06 12:42:10 +00:00
ganovelli
5630a1e252
typdef ..ScalarType added
2006-07-06 12:40:34 +00:00
ganovelli
d4f068e4e0
adde barycenter()
2006-07-06 12:39:51 +00:00
ganovelli
69ddd70cf4
draft version. For the triangle is not tehe smallest enclosing sphere and for the set of spheres works only for two spheres
2006-07-06 12:37:18 +00:00
ganovelli
94af0e518b
Aggiunte funzioni che determinano il lato magiore (minore)
2006-06-29 13:22:04 +00:00
ganovelli
d839bc9238
forgot &
2006-06-21 11:07:25 +00:00
ganovelli
f533b8abeb
changed return type of Zero() (to void)
2006-06-21 11:06:16 +00:00
Marco Di Benedetto
78f25ae2a1
Added const qualifier to P() method.
2006-06-09 07:26:37 +00:00
Paolo Cignoni
5f2db06c23
gcc 4 needs the extra template keyword
2006-06-08 08:52:02 +00:00
Paolo Cignoni
8bfbf1111d
Changes for compilation on linux AMD64. Some remarks: Linux filenames are case-sensitive. _fileno and _filelength do not exist on linux
2006-06-06 14:35:32 +00:00
Paolo Cignoni
517c74f506
added missing header
2006-06-01 20:53:56 +00:00
Nico Pietroni
26b64e4246
fixed bug in Ray Iterator .. function Init
2006-06-01 08:41:26 +00:00
Nico Pietroni
3e649c465e
added PointDistance function
2006-06-01 08:38:58 +00:00
Nico Pietroni
f949a83faf
Added functions:
...
- Intersection_Segment_Triangle
- Intersection_Plane_Box
- Intersection_Triangle_Box
2006-06-01 08:38:02 +00:00
Nico Pietroni
f9d3653ae5
corrected bug in GridGetInBox function
2006-05-17 12:48:52 +00:00
Paolo Cignoni
c5f4a75533
small GCC compiling issues
2006-04-20 08:30:27 +00:00
Paolo Cignoni
1f4a4221e3
changes necessary for gcc 3.4.5 on linux 64bit.
2006-04-11 08:10:05 +00:00
Paolo Cignoni
a1d3e8a371
Missing ';' (thx Maarten)
2006-03-29 07:53:36 +00:00
Nico Pietroni
b2879b7333
IntersectionSegmentPlane and Intersection_Segment_Box functions Added
2006-03-20 14:42:49 +00:00
Nico Pietroni
0c0e9044cf
compiled and corrected ClosestPoint function
2006-03-07 16:39:38 +00:00
Nico Pietroni
5dee0e155b
added InterpolationParameters function
2006-03-01 15:59:34 +00:00
Nico Pietroni
dc14636c2c
compiled InterspolationParameters function
2006-03-01 15:35:09 +00:00
Nico Pietroni
165db89ccf
added typenames declaration in rayIterator
2006-02-08 17:04:10 +00:00
Massimiliano Corsini
3b049ec0e4
fix signed/unsigned mismatch
2006-01-27 09:58:47 +00:00
Federico Ponchio
88614c2f37
gcc compatibility (templates mostly)
...
bbox -> this->bbox
More consistent use of Box3x and such.
2006-01-23 21:26:57 +00:00
Federico Ponchio
52c3f0e4d4
P1 --> HASH_P1
...
Old definition was conflicting with functions in segment.h
2006-01-23 15:26:31 +00:00
Federico Ponchio
efbad3a4fd
Uncommented #include <..../intersection3.h>
...
for Intersection_Ray_Box...
2006-01-23 11:41:03 +00:00
Paolo Cignoni
92c21e838d
Very Important Change: Area->DoubleArea (and no more Area function)
2006-01-22 10:00:56 +00:00
Nico Pietroni
31512102ed
added Intersection_Segment_Box function
2006-01-20 16:35:51 +00:00
Marco Di Benedetto
3fc1eb7c2c
Corrected Pass-Through bits and added visit flag.
2006-01-19 13:54:49 +00:00
Marco Di Benedetto
fc85374c3c
Fixed product by scalar and SquaredNorm()
2006-01-19 13:53:19 +00:00
Paolo Cignoni
36e37b0a6c
fix some bugs.
2006-01-03 12:44:58 +00:00
Nico Pietroni
2fd6045afa
added #include<limits>
2005-12-14 17:03:13 +00:00
ganovelli
b7e6720706
compiled with gcc
2005-12-12 11:22:32 +00:00
ganovelli
f73fa19346
modifications to compile with gcc
2005-12-12 11:15:26 +00:00
Nico Pietroni
aa0575519c
added deleted objects control for GridClosest() function call
2005-12-06 18:00:39 +00:00
Paolo Cignoni
db9a497910
Forgotten a base deferencing like the previous one
...
Note also the different possible sintax with this-> instead of the base class name
2005-12-02 00:43:31 +00:00
Paolo Cignoni
03007bab77
Corrected typename usage and removed excess ';' from end of template functions, for gcc compiling
2005-12-02 00:30:27 +00:00
Paolo Cignoni
02e28cc9e5
updated the templates of BasicGrid
2005-12-02 00:29:00 +00:00
Paolo Cignoni
15e94d470a
removed excess typenames
2005-12-02 00:27:22 +00:00
Paolo Cignoni
6a70c599b2
Added and removed typenames for gcc compiling.
...
Added base class qualifier for referencing the elemntes of the templated base class (BasicGrid)
it seems to be needed by the standard
2005-12-02 00:25:13 +00:00
Paolo Cignoni
703e2d7dce
Added typenames, ending cr and removed a MAXFLT disliked by gcc
2005-12-02 00:20:32 +00:00
Marco Di Benedetto
9cb3bc6dbb
Added std:: namespace for max() and min().
2005-11-30 16:01:25 +00:00
Marco Di Benedetto
0b08afa4f8
Added (int) cast to std::distance to prevent compiler warning message.
2005-11-30 10:32:44 +00:00
Marco Di Benedetto
f229a9e9e6
Added methods to flag visibility.
2005-11-30 09:57:13 +00:00
Paolo Cignoni
5a7a294202
Added missing < operator
2005-11-30 08:38:01 +00:00
Nico Pietroni
5daefc19ce
added IsInside() function
2005-11-29 16:20:33 +00:00
Nico Pietroni
5397953b4b
1 warning corrected
2005-11-23 15:55:35 +00:00
Paolo Cignoni
cb35ae54ca
Corrected small error in the ifdefs about USE_EPSILON_TEST and USE_TRI_TRI_INT_EPSILON_TEST
2005-11-16 16:04:40 +00:00
Paolo Cignoni
5a906c4a50
Added casts to remove warnings
2005-11-10 15:44:17 +00:00
Paolo Cignoni
e739c6628f
Added Abs and LowClampToZero
2005-11-09 16:11:55 +00:00
Nico Pietroni
9a29bd3f63
added dynamic spatial hashing class for dynamic updating of entries (and relative functions)
2005-11-07 14:15:36 +00:00
Marco Di Benedetto
329b7edb38
Added PASS_THROUGH flags.
2005-10-26 11:42:03 +00:00
Marco Di Benedetto
2579c02256
Removed child ordered traversal.
2005-10-26 11:41:07 +00:00
Federico Ponchio
cf9d5743fb
Added newline at end of file (tired of stupid warnings...)
2005-10-24 09:20:28 +00:00
Marco Di Benedetto
7d23e4284b
Fixed bug in Refresh() ray iterator (Elems.size() > 0).
2005-10-17 08:59:26 +00:00
Marco Di Benedetto
56412a6071
Modified objapplyfunctor to nodeapplyfunctor.
2005-10-15 19:14:35 +00:00
Marco Di Benedetto
2a0cf74739
Corrected return type in Angle() and protected member access in unary operator -
2005-10-15 19:11:49 +00:00
Federico Ponchio
f5a490079f
Typename... as usual
2005-10-15 12:58:13 +00:00
ganovelli
b47b530549
versione con svd
2005-10-13 14:59:57 +00:00
Federico Ponchio
4c140c3bd4
RayType ->Ray3 in a couple of location (not really sure is correct though...)
2005-10-12 17:29:42 +00:00
Paolo Cignoni
9a78285793
Removed the supposedly wrong first parameter in the three invocation of ClassType::BoundObjects.
2005-10-12 09:59:40 +00:00
Paolo Cignoni
08a49f7305
Minor changes in Set method: added use of template scalar type computing BBox.
2005-10-07 13:27:22 +00:00
Nico Pietroni
a3d7b98a34
corrected bug on Set Function .... bbox must be exetended in order to have'nt any object on his borde
2005-10-05 17:05:08 +00:00
Nico Pietroni
f0724dd9e9
corrected bug on closest Iterator
2005-10-05 17:04:45 +00:00
Marco Di Benedetto
b7d4a5efd6
First Commit, new version.
2005-10-05 01:59:56 +00:00
Marco Di Benedetto
797d8f344f
*** empty log message ***
2005-10-05 01:58:21 +00:00
Marco Di Benedetto
2a3744d4d8
Removed "parent" pointer class member in Node class.
2005-10-05 01:43:28 +00:00
Marco Di Benedetto
ded83f251f
Node children are now tested in ascending ray-T order.
2005-10-05 01:40:56 +00:00
Paolo Cignoni
97c08b13f3
erase wrong assert on boxToIbox function
2005-10-03 16:21:10 +00:00
Federico Ponchio
e9583c5020
Changed order of functions intersection_line_box and
...
intersectuion_ray_box
2005-10-03 16:07:50 +00:00
Nico Pietroni
3a54e6d7c3
added GetInSphere and GetInBox functions
2005-10-03 13:58:21 +00:00
Nico Pietroni
3fd167568f
added GridGetInSphere and GridGetInBox functions
2005-10-03 13:57:32 +00:00
Nico Pietroni
bccc1ad129
optimized Closest iterator
...
added possibility to pass a point p that is outside the bbox of the indexing structure
2005-10-03 10:06:53 +00:00
Nico Pietroni
418bf58a24
changed Set functions, added possibility to pass the bbox as parameter
2005-10-03 10:05:26 +00:00
Paolo Cignoni
1422c01d7a
Small bug in the computation of the intersection between the todo box and the grid bbox that failed for extrema points.
2005-10-02 23:18:06 +00:00
Paolo Cignoni
010877c2b8
English comment and moved typedef to public scope
2005-10-02 23:16:26 +00:00
Paolo Cignoni
e40b78b1af
Inveted the boolean sign of an assert in Grid()
2005-10-02 23:15:26 +00:00
Paolo Cignoni
f44089209e
Changed the default strategy for building a AABB tree. Now the max num of elem per leaf is a constant (10)
2005-10-02 23:13:30 +00:00
Paolo Cignoni
eb14792ee4
Completely rewrote the GridClosest, now it:
...
- works for point out of the grid
- expands the box in a distance coherent way
- does not re-visit already visited cells
- shorter code!!
( still to be tested :) )
2005-09-30 15:12:16 +00:00
Paolo Cignoni
0bccd8ca77
Reordered grid access functions
...
Added possibility of setting BBox explicitly in Set(...)
2005-09-30 15:07:28 +00:00
Paolo Cignoni
4086ccd28b
Added Center-Radius Constructor
2005-09-30 15:03:57 +00:00
Nico Pietroni
baf89ec27c
added functions:
...
- GetKClosest
- DoRay
2005-09-30 13:15:48 +00:00
Nico Pietroni
a3c311feda
added wrapping to functions defined in GridClosest:
...
- GetClosest
- GetKClosest
- DoRay
2005-09-30 13:15:21 +00:00
Nico Pietroni
6416a20ba2
changing order of parameter for functor calling (distance to point, intersection to ray...)
2005-09-30 13:13:47 +00:00
Nico Pietroni
94f3ed0fa9
basic grid class is derived from Indexing base class defined in base,h
2005-09-30 13:12:46 +00:00
Nico Pietroni
f3dd988af6
corrected 1 compiling error on Ray_Box_Intersection function
2005-09-30 13:11:39 +00:00
Marco Di Benedetto
5b15048c38
Removed '&' in FrustumCull() method.
2005-09-29 22:20:49 +00:00
Marco Di Benedetto
0b4247dff6
Added frustum culling methods, renamed some parameters.
2005-09-29 22:18:16 +00:00
Nico Pietroni
7bf24066b2
Added function RayBoxIntersection, renamed intersection line box from "Intersection" to "Intersection_Line_Box"
2005-09-29 15:30:10 +00:00
Marco Di Benedetto
521dd26e02
Removed. All functors are in appropriate files.
2005-09-29 11:49:38 +00:00
Marco Di Benedetto
342c06717b
Added functor RayTriangleIntersectionFunctor.
2005-09-29 11:48:00 +00:00
Marco Di Benedetto
add80bd224
Added Point3::Construct() in ray-face functor
...
to handle tree and objects with different ScalarType.
2005-09-28 21:24:44 +00:00
Marco Di Benedetto
bf84eeafe0
Added Import() to box and barycenter functors
...
to handle tree and objects with different ScalarType.
2005-09-28 21:23:03 +00:00
Marco Di Benedetto
21d8967063
First Commit.
2005-09-28 20:14:53 +00:00
Marco Di Benedetto
478c812d2d
Removed. Now common utils are in wrap/utils.h
2005-09-28 19:59:39 +00:00
Marco Di Benedetto
3f8831798f
Removed for new version.
2005-09-28 19:58:00 +00:00
Marco Di Benedetto
a8e493209e
#included aabb tree base.
2005-09-28 19:57:18 +00:00
Marco Di Benedetto
cd7fc5bedf
All functors but FaceRayIntersectFunctor removed and placed in appropriate files.
2005-09-28 19:55:08 +00:00
Marco Di Benedetto
cb0aab5473
#included aabbtree base.
2005-09-28 19:49:13 +00:00
Marco Di Benedetto
c8ff470b30
Removed hit point parameter, #included aabbtree base.
2005-09-28 19:48:31 +00:00
Marco Di Benedetto
ab147cbfbc
First Commit.
2005-09-28 19:44:49 +00:00
Marco Di Benedetto
1de3d80e9b
Added intersection for ray-triangle (with Ray3 type).
2005-09-28 19:40:55 +00:00
Marco Di Benedetto
c553959046
First Commit.
2005-09-28 17:19:28 +00:00
Paolo Cignoni
2db605e2be
Added a control to avoid multiple check of the same cells during radial expansion
...
Still miss some code to properly initialize when point is out of the BBox of the grid.
2005-09-28 08:27:11 +00:00
Paolo Cignoni
a2115a7d6c
Renamed to grid_closest
2005-09-27 15:10:23 +00:00
Paolo Cignoni
f73826de44
First Version
2005-09-27 15:09:38 +00:00
Marco Di Benedetto
9163d261f7
Method Set(off, dir) now correctly normalizes direction and offset if template parameter NORM is set.
2005-09-26 19:49:30 +00:00
Marco Di Benedetto
fefa8ab4c3
First Commit.
2005-09-26 18:33:16 +00:00
Marco Di Benedetto
8e50d54365
Removed for new dirtree
2005-09-26 12:23:28 +00:00
ganovelli
73ee6a592f
added constructor
2005-09-23 14:18:27 +00:00
Marco Di Benedetto
798bc841c5
FaceRayIntersectFunctor implementation finished, added necessary headers.
2005-09-22 22:43:42 +00:00
Marco Di Benedetto
123fd375a6
Corrected bug in IntersectionBoxRay() and some undeclared variable errors.
2005-09-22 18:57:07 +00:00
Marco Di Benedetto
bcd64129e2
Old versions removed. Now AABBBinaryTree has its own folder.
2005-09-22 13:13:36 +00:00
Marco Di Benedetto
82c6f3e0b8
First Commit.
2005-09-22 13:03:16 +00:00
Nico Pietroni
15405e5e3c
Added DynamicSpatialHAshTable class
2005-09-21 14:22:49 +00:00
Nico Pietroni
329b50d96e
removed closest functions. Closest function is now on index\\Closest.h
...
Users must use trimesh\\closest.h to perform spatial query.
2005-09-21 09:22:51 +00:00
Nico Pietroni
5866d71f45
added maximum radius control on Closest Itarator function:
...
if (radius>=max_dist)
end=true;
in Nextshell( ) function
2005-09-21 09:21:20 +00:00
Nico Pietroni
77d69c2aec
first working version
2005-09-21 09:19:21 +00:00
Nico Pietroni
69b2d6596c
added temporary mark for closest iteartor
2005-09-20 14:02:16 +00:00
Nico Pietroni
68d1cfee4e
Changed Closest Iterators template arguments functor
...
Corrected Bug in Ray Iterators Added Elems.clear() on Init method
2005-09-20 12:32:33 +00:00
Nico Pietroni
54c8562e3a
use of standard grid interface
...
use of vector instead of map inside the cell
removed closest iterator
2005-09-19 13:35:45 +00:00
Nico Pietroni
be78e8d97f
first release version
2005-09-19 13:33:58 +00:00
Paolo Cignoni
1e7094c90d
A lot of attempts in gcc compiling...
2005-09-16 12:03:11 +00:00
Paolo Cignoni
edc816917a
missing gcc typenames
2005-09-16 12:02:22 +00:00
Paolo Cignoni
dc56fe4537
Removed two wrong typenames
2005-09-16 11:57:15 +00:00
Paolo Cignoni
40b2a1f36d
removed wrong typename and added ending \n
2005-09-16 11:56:38 +00:00
Marco Di Benedetto
316f8dba50
Modified interface for search compatibility and facilities.
2005-09-16 10:05:05 +00:00
Marco Di Benedetto
15ce3360ed
Modified interface, added GetKClosest().
2005-09-16 10:04:15 +00:00
Marco Di Benedetto
f8ba5762e2
General interface redefinition, added special functors for faces.
2005-09-16 10:03:46 +00:00
Paolo Cignoni
e6739a6a71
fixed bugs
2005-09-15 13:16:42 +00:00
Nico Pietroni
417bf69fc3
minor changes
2005-09-15 11:15:00 +00:00
Marco Di Benedetto
8d8eed9f02
Added specialized Convert() for the same scalar type.
2005-09-14 14:09:21 +00:00
Paolo Cignoni
05a23b3e5f
minor changes
2005-09-14 13:27:38 +00:00
Nico Pietroni
92665798d1
canged template parameters for Closest Function (use of TempMark class)
2005-09-14 12:57:52 +00:00
Nico Pietroni
caf5812fec
added * operator to Link
...
modified getClosest in order to use Temporary mark
corrected bug on functor calling compilation
2005-09-14 09:05:32 +00:00
Marco Di Benedetto
f170dc4a13
First Commit
2005-09-11 11:46:43 +00:00
Marco Di Benedetto
574063e052
First Commit
2005-09-10 13:22:44 +00:00
Marco Di Benedetto
ff6ba606df
Modified old GetClosest() to respect old min_dist semantic (in/out) and removed #included <limits>
2005-09-09 11:29:21 +00:00
Marco Di Benedetto
f36832fbde
#included <limits> for std::numeric_limits<ScalarType>::max() and corrected parameters bug in old GetClosest();
2005-09-09 11:11:15 +00:00
Marco Di Benedetto
7aa52d9530
Modified GetClosest(): now it uses a functor for distance calculation.
...
Added comments and a GetClosest() method with backward compatibility.
2005-09-09 11:01:02 +00:00
Paolo Cignoni
3259439f67
Added a templated version of SetBBox
2005-08-26 09:27:58 +00:00