library of assembled shared sources

http://lass.cocamware.com

lass::prim Namespace Reference

set of geometrical primitives More...


Namespaces

namespace  impl
 implementation details of lass::prim

Data Structures

class  Aabb2D
 your momma's axis aligned bounding box. More...
class  Aabb3D
 your momma's axis aligned bounding box. More...
struct  ColorRGBA
 an [0, 1] floating point RGB colour with Alpha channel. More...
class  DegenerationError
struct  NoDegenerate
 This is the default policy. More...
struct  StrictNoDegenerate
 This is the default policy. More...
struct  AllowDegenerate
 AllowDegenerate puts the responsibility on the user. More...
class  Cartesian
 policy for an implementation based on the cartesian equation. More...
class  Parametric
 policy for an implementation based on the parametric equation. More...
class  Combined
 policy for an implementation based on both the cartesian and parametric equation. More...
class  Line2D
 2D Line More...
class  Line3D
 3D Line More...
class  LineSegment2D
 2D Line Segment More...
class  LineSegment3D
 3D Line Segment More...
class  MinMaxError
 Exception thrown by StrictMinMax. More...
struct  StrictMinMax
 MinMaxPolicy enforcing strict rules for the minima and maxima. More...
struct  AutoMinMax
 MinMaxPolicy automatically correcting wrong minima and maxima. More...
struct  UncheckedMinMax
 MinMaxPolicy that makes it your responsibility to behave well. More...
struct  Normalized
 Policy to auto-normalize normals. More...
struct  Unnormalized
 Policy to keep normals unnormalized. More...
struct  IsAlreadyNormalized
class  Parallelogram3D
 A very simple 3D polygon :). More...
class  ParameterError
struct  Bounded
 Parameters supplied to functions must be in the range of the primitive. More...
struct  Unbounded
 Parameters supplied to functions can go out of the range of the primitive. More...
struct  Plane3D
 A 3D hyper plane. More...
struct  Point2D
struct  Point2DH
 homogenous 2D Point More...
struct  Point3D
 3D Point More...
struct  Point3DH
 homogenous 3D Point More...
class  SingularityError
class  Ray2D
 2D Ray More...
class  Ray3D
 3D Ray More...
class  SimplePolygon2D
 convex or concave polygon in 2D (not selfintersecting, no holes) More...
class  SimplePolygon3D
 convex or concave polygon in 3D (not selfintersecting, no holes) More...
struct  Sphere3D
 3D Sphere More...
class  Transformation2D
 a linear 2D transformation More...
class  Transformation3D
 a linear 3D transformation More...
class  Triangle2D
 A very simple 2D polygon :). More...
class  Triangle3D
 A very simple 3D polygon :). More...
struct  IndexTriangle
class  TriangleMesh3D
 One of the simplier meshes. More...
struct  Vector2D
 2D Vector More...
struct  Vector3D
 3D Vector More...
struct  Vector4D
 4D Vector More...
class  XY
 cyclic iterator over xy indices More...
class  XYZ
 cyclic iterator over xyz indices More...
class  XYZW
 cyclic iterator over xyzw indices More...
struct  Point_2d
 2D Point More...

Enumerations

enum  Orientation { oInvalid = 0, oClockWise = 1, oCounterClockWise = 2 }
 enumeration of clockwise versus counterclockwise More...
enum  Result {
  rInvalid = 0, rNone = 1, rOne = 2, rTwo = 3,
  rInfinite = 4
}
 meta information on the result you have from an operation like an intersection . More...
enum  Side {
  sInvalid = 0x00, sFront = 0x01, sLeft = 0x01, sBack = 0x02,
  sRight = 0x02, sInside = 0x04, sOutside = 0x08, sSurface = 0x10
}
 Different sides of a surface. More...

Functions

template<typename T , class MMPa , class MMPb >
const Aabb2D< T, MMPa > operator+ (const Aabb2D< T, MMPa > &a, const Aabb2D< T, MMPb > &b)
template<typename T , class MMP >
const Aabb2D< T, MMP > operator+ (const Aabb2D< T, MMP > &a, const Point2D< T > &b)
template<typename T , class MMP >
const Aabb2D< T, MMP > operator+ (const Point2D< T > &a, const Aabb2D< T, MMP > &b)
template<typename T >
const Aabb2D< T > aabb (const Point2D< T > &point)
template<typename T , class MMP >
distance (const Aabb2D< T, MMP > &a, const Point2D< T > &b)
template<typename T , class MMPa , class MMPb >
distance (const Aabb2D< T, MMPa > &a, const Aabb2D< T, MMPb > &b)
template<typename T , class MMPa , class MMPb , class MMPr >
Result intersect (const Aabb2D< T, MMPa > &a, const Aabb2D< T, MMPb > &b, Aabb2D< T, MMPr > &result)
template<typename T , class MMPa , class MMPb >
const bool intersects (const Aabb2D< T, MMPa > &a, const Aabb2D< T, MMPb > &b)
template<typename T , class MMP >
const bool intersects (const Aabb2D< T, MMP > &a, const Point2D< T > &b)
template<typename T , class MMP >
const bool intersects (const Point2D< T > &a, const Aabb2D< T, MMP > &b)
template<typename T , class MMPa , class MMPb >
const bool collides (const Aabb2D< T, MMPa > &a, const Aabb2D< T, MMPb > &b)
template<typename T , class MMP >
const bool collides (const Aabb2D< T, MMP > &a, const Point2D< T > &b)
template<typename T , class MMP >
const bool collides (const Point2D< T > &a, const Aabb2D< T, MMP > &b)
template<typename T , class MMP >
std::ostream & operator<< (std::ostream &ioOStream, const Aabb2D< T, MMP > &aabb)
template<typename T , class MMP >
io::XmlOStreamoperator<< (io::XmlOStream &ioOStream, const Aabb2D< T, MMP > &aabb)
template<typename T , class MMP >
io::MatlabOStreamoperator<< (io::MatlabOStream &ioOStream, const Aabb2D< T, MMP > &aabb)
template<typename T , typename MMP >
const bool intersects (const Triangle2D< T > &triangle, const Aabb2D< T, MMP > &box)
template<typename T , typename MMP >
const bool intersects (const Aabb2D< T, MMP > &box, const Triangle2D< T > &triangle)
template<typename T , typename MMP >
const bool collides (const Triangle2D< T > &triangle, const Aabb2D< T, MMP > &box)
template<typename T , typename MMP >
const bool collides (const Aabb2D< T, MMP > &box, const Triangle2D< T > &triangle)
template<typename T , class MMPa , class MMPb >
const Aabb3D< T, MMPa > operator+ (const Aabb3D< T, MMPa > &a, const Aabb3D< T, MMPb > &b)
template<typename T , class MMP >
const Aabb3D< T, MMP > operator+ (const Aabb3D< T, MMP > &a, const Point3D< T > &b)
template<typename T , class MMP >
const Aabb3D< T, MMP > operator+ (const Point3D< T > &a, const Aabb3D< T, MMP > &b)
template<typename T >
const Aabb3D< T > aabb (const Point3D< T > &point)
template<typename T , class MMP >
distance (const Aabb3D< T, MMP > &a, const Point3D< T > &b)
template<typename T , class MMPa , class MMPb >
distance (const Aabb3D< T, MMPa > &a, const Aabb3D< T, MMPb > &b)
template<typename T , class MMPa , class MMPb , class MMPr >
Result intersect (const Aabb3D< T, MMPa > &a, const Aabb3D< T, MMPb > &b, Aabb3D< T, MMPr > &result)
template<typename T , class MMPa , class MMPb >
const bool intersects (const Aabb3D< T, MMPa > &a, const Aabb3D< T, MMPb > &b)
template<typename T , class MMP >
const bool intersects (const Aabb3D< T, MMP > &a, const Point3D< T > &b)
template<typename T , class MMP >
const bool intersects (const Point3D< T > &a, const Aabb3D< T, MMP > &b)
template<typename T , class MMPa , class MMPb >
const bool collides (const Aabb3D< T, MMPa > &a, const Aabb3D< T, MMPb > &b)
template<typename T , class MMP >
const bool collides (const Aabb3D< T, MMP > &a, const Point3D< T > &b)
template<typename T , class MMP >
const bool collides (const Point3D< T > &a, const Aabb3D< T, MMP > &b)
template<typename T , class MMP >
std::ostream & operator<< (std::ostream &stream, const Aabb3D< T, MMP > &aabb)
template<typename T , class MMP >
io::XmlOStreamoperator<< (io::XmlOStream &stream, const Aabb3D< T, MMP > &aabb)
template<typename T , class DegeneratePolicy >
bool triangulate (const SimplePolygon2D< T, DegenerationPolicy > &iPolygon, std::vector< Triangle2D< T > > &oTriangles)
ColorRGBA over (const ColorRGBA &iA, const ColorRGBA &iB)
 placement of foreground iA in front of background iB.
ColorRGBA in (const ColorRGBA &iA, const ColorRGBA &iB)
 part of iA inside iB.
ColorRGBA out (const ColorRGBA &iA, const ColorRGBA &iB)
 iA held out by iB, part of iA outside iB.
ColorRGBA atop (const ColorRGBA &iA, const ColorRGBA &iB)
 union of iA in iB and iB out iA.
ColorRGBA plus (const ColorRGBA &iA, const ColorRGBA &iB)
ColorRGBA through (const ColorRGBA &iA, const ColorRGBA &iB)
 iA seen through color filter iB.
ColorRGBA::TValue distance (const ColorRGBA &iA, const ColorRGBA &iB)
 distance between non-non-premultiplied colours as 3D points (alpha channel is disregarded).
LASS_DLL ColorRGBA LASS_CALL operator+ (const ColorRGBA &iA, const ColorRGBA &iB)
LASS_DLL ColorRGBA LASS_CALL operator- (const ColorRGBA &iA, const ColorRGBA &iB)
LASS_DLL ColorRGBA LASS_CALL operator* (const ColorRGBA &iA, const ColorRGBA &iB)
LASS_DLL ColorRGBA LASS_CALL operator/ (const ColorRGBA &iA, const ColorRGBA &iB)
LASS_DLL ColorRGBA LASS_CALL operator+ (ColorRGBA::TParam iA, const ColorRGBA &iB)
LASS_DLL ColorRGBA LASS_CALL operator- (ColorRGBA::TParam iA, const ColorRGBA &iB)
LASS_DLL ColorRGBA LASS_CALL operator* (ColorRGBA::TParam iA, const ColorRGBA &iB)
LASS_DLL ColorRGBA LASS_CALL operator/ (ColorRGBA::TParam iA, const ColorRGBA &iB)
LASS_DLL ColorRGBA LASS_CALL operator+ (const ColorRGBA &iA, ColorRGBA::TParam iB)
LASS_DLL ColorRGBA LASS_CALL operator- (const ColorRGBA &iA, ColorRGBA::TParam iB)
LASS_DLL ColorRGBA LASS_CALL operator* (const ColorRGBA &iA, ColorRGBA::TParam iB)
LASS_DLL ColorRGBA LASS_CALL operator/ (const ColorRGBA &iA, ColorRGBA::TParam iB)
template<typename T , class EP , class NP >
signedDistance (const Point2D< T > &iA, const Line2D< T, EP, NP > &iB)
template<typename T , class EPa , class NPa , class EPb , class NPb >
signedDistance (const Line2D< T, EPa, NPa > &iA, const Line2D< T, EPb, NPb > &iB)
template<typename T , class EPa , class NPa , class EPb , class NPb >
Result intersect (const Line2D< T, EPa, NPa > &iA, const Line2D< T, EPb, NPb > &iB, T &oTa, T &oTb)
template<typename T , class EPa , class NPa , class EPb , class NPb >
Result intersect (const Line2D< T, EPa, NPa > &iA, const Line2D< T, EPb, NPb > &iB, Point2D< T > &oPoint)
template<typename T >
io::XmlOStreamoperator<< (io::XmlOStream &ioOStream, const Line2D< T, Cartesian > &iLine)
template<typename T >
io::XmlOStreamoperator<< (io::XmlOStream &ioOStream, const Line2D< T, Parametric > &iLine)
template<typename T >
io::XmlOStreamoperator<< (io::XmlOStream &ioOStream, const Line2D< T, Combined > &iLine)
template<typename T , class NP >
std::ostream & operator<< (std::ostream &oOStream, const Line3D< T, NP > &iB)
template<typename T , class NP >
io::XmlOStreamoperator<< (io::XmlOStream &oOStream, const Line3D< T, NP > &iB)
template<typename T , class PPa , class PPb >
bool operator== (const LineSegment2D< T, PPa > &a, const LineSegment2D< T, PPb > &b)
template<typename T , class PPa , class PPb >
bool operator!= (const LineSegment2D< T, PPa > &a, const LineSegment2D< T, PPb > &b)
template<typename T , class PP >
squaredDistance (const LineSegment2D< T, PP > &segment, const Point2D< T > &point)
template<typename T , class PP >
distance (const LineSegment2D< T, PP > &segment, const Point2D< T > &point)
template<typename T , class PPa , class PPb >
Result intersect (const LineSegment2D< T, PPa > &a, const LineSegment2D< T, PPb > &b, T &tA, T &tB)
template<typename T , class PPa , class PPb >
Result intersect (const LineSegment2D< T, PPa > &a, const LineSegment2D< T, PPb > &b, Point2D< T > &point)
template<typename T , class PP >
std::ostream & operator<< (std::ostream &stream, const LineSegment2D< T, PP > &segment)
template<typename T , class PP >
io::XmlOStreamoperator<< (io::XmlOStream &stream, const LineSegment2D< T, PP > &segment)
template<typename T , class PP >
lass::io::MatlabOStreamoperator<< (lass::io::MatlabOStream &stream, const LineSegment2D< T, PP > &segment)
template<typename T , class PPa , class PPb >
bool operator== (const LineSegment3D< T, PPa > &iA, const LineSegment3D< T, PPb > &iB)
template<typename T , class PPa , class PPb >
bool operator!= (const LineSegment3D< T, PPa > &iA, const LineSegment3D< T, PPb > &iB)
template<typename T , class PPa , class PPb >
Result intersect (const LineSegment3D< T, PPa > &iA, const LineSegment3D< T, PPb > &iB, T &oTa, T &oTb)
template<typename T , class PPa , class PPb >
Result intersect (const LineSegment3D< T, PPa > &iA, const LineSegment3D< T, PPb > &iB, Point3D< T > &oPoint)
template<typename T , class PP >
std::ostream & operator<< (std::ostream &oOStream, const LineSegment3D< T, PP > &iB)
template<typename T , class PP >
io::XmlOStreamoperator<< (io::XmlOStream &oOStream, const LineSegment3D< T, PP > &iB)
template<typename T , class PP >
lass::io::MatlabOStreamoperator<< (lass::io::MatlabOStream &oOStream, const LineSegment3D< T, PP > &iLineSegment)
template<typename T , class PP1 , class NP2 , class PP2 >
distance (const LineSegment3D< T, PP1 > &lineSegment, const Ray3D< T, NP2, PP2 > &ray, const T &tMin=T())
template<typename T , class PP1 , class NP2 , class PP2 >
squaredDistance (const LineSegment3D< T, PP1 > &lineSegment, const Ray3D< T, NP2, PP2 > &ray, const T &tMin=T())
template<typename T , class PP1 , class NP2 , class PP2 >
closestsPoints (const LineSegment3D< T, PP1 > &lineSegment, const Ray3D< T, NP2, PP2 > &ray, T &tSeg, T &tRay, const T &tMin=T())
template<typename T >
io::XmlOStreamoperator<< (io::XmlOStream &ioOStream, const Parallelogram3D< T > &iParallelogram)
template<typename T >
std::ostream & operator<< (std::ostream &ioOStream, const Parallelogram3D< T > &iParallelogram)
template<typename T >
io::XmlOStreamoperator<< (io::XmlOStream &ioOStream, const Plane3D< T, Cartesian > &iPlane)
template<typename T >
io::XmlOStreamoperator<< (io::XmlOStream &ioOStream, const Plane3D< T, Parametric > &iPlane)
template<typename T >
io::XmlOStreamoperator<< (io::XmlOStream &ioOStream, const Plane3D< T, Combined > &iPlane)
template<typename T >
bool operator== (const Point2D< T > &a, const Point2D< T > &b)
template<typename T >
bool operator!= (const Point2D< T > &a, const Point2D< T > &b)
template<typename T >
Point2D< T > operator+ (const Point2D< T > &a, const Vector2D< T > &b)
template<typename T >
Point2D< T > operator+ (const Vector2D< T > &a, const Point2D< T > &b)
template<typename T >
Point2D< T > operator- (const Point2D< T > &a, const Vector2D< T > &b)
template<typename T >
Vector2D< T > operator- (const Point2D< T > &a, const Point2D< T > &b)
template<typename T >
Point2D< T >::TValue distance (const Point2D< T > &a, const Point2D< T > &b)
template<typename T >
Point2D< T >::TValue squaredDistance (const Point2D< T > &a, const Point2D< T > &b)
template<typename T >
Point2D< T > pointwiseMin (const Point2D< T > &a, const Point2D< T > &b)
template<typename T >
Point2D< T > pointwiseMax (const Point2D< T > &a, const Point2D< T > &b)
template<typename T >
Point2D< T > lerp (const Point2D< T > &a, const Point2D< T > &b, typename Point2D< T >::TParam t)
template<typename T >
std::ostream & operator<< (std::ostream &stream, const Point2D< T > &b)
template<typename T >
io::XmlOStreamoperator<< (io::XmlOStream &stream, const Point2D< T > &b)
template<typename T >
std::istream & operator>> (std::istream &stream, Point2D< T > &b)
template<typename T >
lass::io::MatlabOStreamoperator<< (lass::io::MatlabOStream &stream, const Point2D< T > &b)
template<typename T >
doubleTriangleArea (const Point2D< T > &a, const Point2D< T > &b, const Point2D< T > &c)
template<typename T >
bool cw (const Point2D< T > &a, const Point2D< T > &b, const Point2D< T > &c)
template<typename T >
bool ccw (const Point2D< T > &a, const Point2D< T > &b, const Point2D< T > &c)
template<typename T >
bool weakCw (const Point2D< T > &a, const Point2D< T > &b, const Point2D< T > &c)
template<typename T >
bool weakCcw (const Point2D< T > &a, const Point2D< T > &b, const Point2D< T > &c)
template<typename T >
bool inCircle (const Point2D< T > &a, const Point2D< T > &b, const Point2D< T > &c, const Point2D< T > &d)
template<typename T >
preciseDoubleTriangleArea (const Point2D< T > &a, const Point2D< T > &b, const Point2D< T > &c)
template<typename T >
bool operator== (const Point2DH< T > &iA, const Point2DH< T > &iB)
template<typename T >
bool operator!= (const Point2DH< T > &iA, const Point2DH< T > &iB)
template<typename T >
Point2DH< T > operator+ (const Point2DH< T > &iA, const Point2DH< T > &iB)
template<typename T >
Point2DH< T > operator+ (const Point2DH< T > &iA, const Point2D< T > &iB)
template<typename T >
Point2DH< T > operator+ (const Point2D< T > &iA, const Point2DH< T > &iB)
template<typename T >
Point2DH< T > operator+ (const Point2D< T > &iA, const Point2D< T > &iB)
template<typename T >
Point2DH< T > operator- (const Point2DH< T > &iA, const Point2DH< T > &iB)
template<typename T >
Point2DH< T > operator* (const Point2DH< T > &iA, typename Point2DH< T >::TParam iB)
template<typename T >
Point2DH< T > operator/ (const Point2DH< T > &iA, typename Point2DH< T >::TParam iB)
template<typename T >
Point2DH< T > operator* (typename Point2DH< T >::TParam iA, const Point2DH< T > &iB)
template<typename T >
std::ostream & operator<< (std::ostream &oOStream, const Point2DH< T > &iB)
template<typename T >
io::XmlOStreamoperator<< (io::XmlOStream &oOStream, const Point2DH< T > &iB)
template<typename T >
std::istream & operator>> (std::istream &ioIStream, Point2DH< T > &oB)
template<typename T >
bool operator== (const Point3D< T > &a, const Point3D< T > &b)
template<typename T >
bool operator!= (const Point3D< T > &a, const Point3D< T > &b)
template<typename T >
Point3D< T > operator+ (const Point3D< T > &a, const Vector3D< T > &b)
template<typename T >
Point3D< T > operator+ (const Vector3D< T > &a, const Point3D< T > &b)
template<typename T >
Point3D< T > operator- (const Point3D< T > &a, const Vector3D< T > &b)
template<typename T >
Vector3D< T > operator- (const Point3D< T > &a, const Point3D< T > &b)
template<typename T >
Point3D< T >::TValue distance (const Point3D< T > &a, const Point3D< T > &b)
template<typename T >
Point3D< T >::TValue squaredDistance (const Point3D< T > &a, const Point3D< T > &b)
template<typename T >
Point3D< T > pointwiseMin (const Point3D< T > &a, const Point3D< T > &b)
template<typename T >
Point3D< T > pointwiseMax (const Point3D< T > &a, const Point3D< T > &b)
template<typename T >
Point3D< T > lerp (const Point3D< T > &a, const Point3D< T > &b, typename Point3D< T >::TParam t)
template<typename T >
std::ostream & operator<< (std::ostream &stream, const Point3D< T > &b)
template<typename T >
io::XmlOStreamoperator<< (io::XmlOStream &stream, const Point3D< T > &b)
template<typename T >
std::istream & operator>> (std::istream &stream, Point3D< T > &b)
template<typename T >
bool operator== (const Point3DH< T > &iA, const Point3DH< T > &iB)
template<typename T >
bool operator!= (const Point3DH< T > &iA, const Point3DH< T > &iB)
template<typename T >
Point3DH< T > operator+ (const Point3DH< T > &iA, const Point3DH< T > &iB)
template<typename T >
Point3DH< T > operator- (const Point3DH< T > &iA, Point3DH< T > &iB)
template<typename T >
Point3DH< T > operator* (const Point3DH< T > &iA, typename Point3DH< T >::TParam iB)
template<typename T >
Point3DH< T > operator/ (const Point3DH< T > &iA, typename Point3DH< T >::TParam iB)
template<typename T >
Point3DH< T > operator* (typename Point3DH< T >::TParam iA, const Point3DH< T > &iB)
template<typename T >
std::ostream & operator<< (std::ostream &oOStream, const Point3DH< T > &iB)
template<typename T >
io::XmlOStreamoperator<< (io::XmlOStream &oOStream, const Point3DH< T > &iB)
template<typename T >
std::istream & operator>> (std::istream &ioIStream, Point3DH< T > &oB)
template<typename T >
Point3DH< T > operator+ (const Point3D< T > &iA, const Point3D< T > &iB)
template<typename T >
Point3DH< T > operator* (typename Point3D< T >::TParam iA, const Point3D< T > &iB)
template<typename T >
Point3DH< T > operator* (const Point3D< T > &iA, typename Point3D< T >::TParam iB)
template<typename T , class NP , class PP >
std::ostream & operator<< (std::ostream &oOStream, const Ray2D< T, NP, PP > &iB)
template<typename T , class NP , class PP >
io::XmlOStreamoperator<< (io::XmlOStream &oOStream, const Ray2D< T, NP, PP > &iB)
template<typename T , class NP , class PP >
std::ostream & operator<< (std::ostream &oOStream, const Ray3D< T, NP, PP > &iB)
template<typename T , class NP , class PP >
io::XmlOStreamoperator<< (io::XmlOStream &oOStream, const Ray3D< T, NP, PP > &iB)
template<typename T , class DP >
io::XmlOStreamoperator<< (io::XmlOStream &ioOStream, const SimplePolygon2D< T, DP > &iPolygon)
template<typename T , class DP >
std::ostream & operator<< (std::ostream &ioOStream, const SimplePolygon2D< T, DP > &iPolygon)
template<typename T , class DP >
lass::io::MatlabOStreamoperator<< (lass::io::MatlabOStream &oOStream, const SimplePolygon2D< T, DP > &iPolygon)
template<typename T , class DP >
bool set_difference (const SimplePolygon2D< T, DP > &iPolygonA, const SimplePolygon2D< T, DP > &iPolygonB, std::vector< SimplePolygon2D< T, DP > > &oPolygonsC)
 C = A \ B.
template<typename T , class DP >
bool set_union (const SimplePolygon2D< T, DP > &iPolygonA, const SimplePolygon2D< T, DP > &iPolygonB, std::vector< SimplePolygon2D< T, DP > > &oPolygonsC)
 C = A U B.
template<typename T , class DP >
bool set_intersect (const SimplePolygon2D< T, DP > &iPolygonA, const SimplePolygon2D< T, DP > &iPolygonB, std::vector< SimplePolygon2D< T, DP > > &oPolygonsC)
 C = (A U B) \ (A \ B) \ (B \ A).
template<typename T , class DegeneratePolicy , typename OutputIterator >
OutputIterator triangulate (const SimplePolygon2D< T, DegenerationPolicy > &polygon, OutputIterator triangles)
template<typename T , class EP , class NP , class PP >
Result intersect (const SimplePolygon3D< T, EP, NP > &iPolygon, const LineSegment3D< T, PP > &iSegment, T &oT, const T &iMinT=0)
template<typename T , class EP1 , class NP1 , class EP2 , class NP2 >
SimplePolygon3D< T, EP2, NP2 > clip (const Plane3D< T, EP1, NP1 > &iPlane, const SimplePolygon3D< T, EP2, NP2 > &iPolygon)
template<typename T , class EP , class NP >
io::XmlOStreamoperator<< (io::XmlOStream &ioOStream, const SimplePolygon3D< T, EP, NP > &iPolygon)
template<typename T , class EP , class NP >
std::ostream & operator<< (std::ostream &ioOStream, const SimplePolygon3D< T, EP, NP > &iPolygon)
template<typename T >
const T squaredDistance (const Sphere3D< T > &sphere, const Point3D< T > &point)
template<typename T >
const T distance (const Sphere3D< T > &sphere, const Point3D< T > &point)
template<typename T >
std::ostream & operator<< (std::ostream &oOStream, const Sphere3D< T > &iB)
template<typename T >
io::XmlOStreamoperator<< (io::XmlOStream &ioOStream, const Sphere3D< T > &iB)
template<typename T >
Transformation2D< T > concatenate (const Transformation2D< T > &first, const Transformation2D< T > &second)
template<typename T >
Vector2D< T > transform (const Vector2D< T > &subject, const Transformation2D< T > &transformation)
template<typename T >
Point2D< T > transform (const Point2D< T > &subject, const Transformation2D< T > &transformation)
template<typename T >
Vector2D< T > normalTransform (const Vector2D< T > &subject, const Transformation2D< T > &transformation)
template<typename T >
std::pair< Vector2D< T >, T > normalTransform (const std::pair< Vector2D< T >, T > &subject, const Transformation2D< T > &transformation)
template<typename T , typename Char , typename Traits >
std::basic_ostream< Char,
Traits > & 
operator<< (std::basic_ostream< Char, Traits > &stream, const Transformation2D< T > &transformation)
template<typename T >
io::XmlOStreamoperator<< (io::XmlOStream &stream, const Transformation2D< T > &transformation)
template<typename T >
Transformation3D< T > concatenate (const Transformation3D< T > &first, const Transformation3D< T > &second)
template<typename T >
Vector3D< T > transform (const Vector3D< T > &subject, const Transformation3D< T > &transformation)
template<typename T >
Point3D< T > transform (const Point3D< T > &subject, const Transformation3D< T > &transformation)
template<typename T >
Vector3D< T > normalTransform (const Vector3D< T > &subject, const Transformation3D< T > &transformation)
template<typename T >
std::pair< Vector3D< T >, T > normalTransform (const std::pair< Vector3D< T >, T > &subject, const Transformation3D< T > &transformation)
template<typename T , typename Char , typename Traits >
std::basic_ostream< Char,
Traits > & 
operator<< (std::basic_ostream< Char, Traits > &stream, const Transformation3D< T > &transformation)
template<typename T >
io::XmlOStreamoperator<< (io::XmlOStream &stream, const Transformation3D< T > &transformation)
template<typename T >
const T distance (const Triangle2D< T > &triangle, const Point2D< T > &point)
template<typename T >
io::XmlOStreamoperator<< (io::XmlOStream &ioOStream, const Triangle2D< T > &iTriangle)
template<typename T >
std::ostream & operator<< (std::ostream &ioOStream, const Triangle2D< T > &iTriangle)
template<typename T >
lass::io::MatlabOStreamoperator<< (lass::io::MatlabOStream &oOStream, const Triangle2D< T > &iTriangle)
template<typename T >
partialVoronoiArea (const Triangle2D< T > iT, int iIndexOfVertex)
template<typename T >
io::XmlOStreamoperator<< (io::XmlOStream &ioOStream, const Triangle3D< T > &iTriangle)
template<typename T >
std::ostream & operator<< (std::ostream &ioOStream, const Triangle3D< T > &iTriangle)
template<typename T >
Vector2D< T >::TValue dot (const Vector2D< T > &a, const Vector2D< T > &b)
template<typename T >
Vector2D< T >::TValue perpDot (const Vector2D< T > &a, const Vector2D< T > &b)
template<typename T >
Vector2D< T >::TValue cos (const Vector2D< T > &a, const Vector2D< T > &b)
template<typename T >
bool operator== (const Vector2D< T > &a, const Vector2D< T > &b)
template<typename T >
bool operator!= (const Vector2D< T > &a, const Vector2D< T > &b)
template<typename T >
Vector2D< T > operator+ (const Vector2D< T > &a, const Vector2D< T > &b)
template<typename T >
Vector2D< T > operator- (const Vector2D< T > &a, const Vector2D< T > &b)
template<typename T >
Vector2D< T > operator* (const Vector2D< T > &a, const Vector2D< T > &b)
template<typename T >
Vector2D< T > operator/ (const Vector2D< T > &a, const Vector2D< T > &b)
template<typename T >
Vector2D< T > operator+ (const Vector2D< T > &a, typename Vector2D< T >::TParam b)
template<typename T >
Vector2D< T > operator- (const Vector2D< T > &a, typename Vector2D< T >::TParam b)
template<typename T >
Vector2D< T > operator* (const Vector2D< T > &a, typename Vector2D< T >::TParam b)
template<typename T >
Vector2D< T > operator/ (const Vector2D< T > &a, typename Vector2D< T >::TParam b)
template<typename T >
Vector2D< T > operator+ (typename Vector2D< T >::TParam a, const Vector2D< T > &b)
template<typename T >
Vector2D< T > operator- (typename Vector2D< T >::TParam a, const Vector2D< T > &b)
template<typename T >
Vector2D< T > operator* (typename Vector2D< T >::TParam a, const Vector2D< T > &b)
template<typename T >
Vector2D< T > pointwiseMin (const Vector2D< T > &a, const Vector2D< T > &b)
template<typename T >
Vector2D< T > pointwiseMax (const Vector2D< T > &a, const Vector2D< T > &b)
template<typename T >
Vector2D< T > lerp (typename Vector2D< T >::TParam a, const Vector2D< T > &b, typename Vector2D< T >::TParam t)
template<typename T , typename Char , typename Traits >
std::basic_ostream< Char,
Traits > & 
operator<< (std::basic_ostream< Char, Traits > &stream, const Vector2D< T > &b)
template<typename T , typename Char , typename Traits >
std::basic_istream< Char,
Traits > & 
operator>> (std::basic_istream< Char, Traits > &ioIStream, Vector2D< T > &b)
template<typename T >
io::XmlOStreamoperator<< (io::XmlOStream &stream, const Vector2D< T > &b)
template<typename T >
Vector3D< T >::TValue dot (const Vector3D< T > &a, const Vector3D< T > &b)
template<typename T >
Vector3D< T > cross (const Vector3D< T > &a, const Vector3D< T > &b)
template<typename T >
bool operator== (const Vector3D< T > &a, const Vector3D< T > &b)
template<typename T >
bool operator!= (const Vector3D< T > &a, const Vector3D< T > &b)
template<typename T >
Vector3D< T > operator+ (const Vector3D< T > &a, const Vector3D< T > &b)
template<typename T >
Vector3D< T > operator- (const Vector3D< T > &a, const Vector3D< T > &b)
template<typename T >
Vector3D< T > operator* (const Vector3D< T > &a, const Vector3D< T > &b)
template<typename T >
Vector3D< T > operator/ (const Vector3D< T > &a, const Vector3D< T > &b)
template<typename T >
Vector3D< T > operator+ (const Vector3D< T > &a, typename Vector3D< T >::TParam b)
template<typename T >
Vector3D< T > operator- (const Vector3D< T > &a, typename Vector3D< T >::TParam b)
template<typename T >
Vector3D< T > operator* (const Vector3D< T > &a, typename Vector3D< T >::TParam b)
template<typename T >
Vector3D< T > operator/ (const Vector3D< T > &a, typename Vector3D< T >::TParam b)
template<typename T >
Vector3D< T > operator+ (typename Vector3D< T >::TParam a, const Vector3D< T > &b)
template<typename T >
Vector3D< T > operator- (typename Vector3D< T >::TParam a, const Vector3D< T > &b)
template<typename T >
Vector3D< T > operator* (typename Vector3D< T >::TParam a, const Vector3D< T > &b)
template<typename T >
Vector3D< T > pointwiseMin (const Vector3D< T > &a, const Vector3D< T > &b)
template<typename T >
Vector3D< T > pointwiseMax (const Vector3D< T > &a, const Vector3D< T > &b)
template<typename T >
Vector3D< T > lerp (const Vector3D< T > &a, const Vector3D< T > &b, typename Vector3D< T >::TParam t)
template<typename T , typename Char , typename Traits >
std::basic_ostream< Char,
Traits > & 
operator<< (std::basic_ostream< Char, Traits > &stream, const Vector3D< T > &b)
template<typename T , typename Char , typename Traits >
std::basic_istream< Char,
Traits > & 
operator>> (std::basic_istream< Char, Traits > &stream, Vector3D< T > &b)
template<typename T >
io::XmlOStreamoperator<< (io::XmlOStream &stream, const Vector3D< T > &b)
template<typename T >
Vector4D< T >::TValue dot (const Vector4D< T > &a, const Vector4D< T > &b)
template<typename T >
bool operator== (const Vector4D< T > &a, const Vector4D< T > &b)
template<typename T >
bool operator!= (const Vector4D< T > &a, const Vector4D< T > &b)
template<typename T >
Vector4D< T > operator+ (const Vector4D< T > &a, const Vector4D< T > &b)
template<typename T >
Vector4D< T > operator- (const Vector4D< T > &a, const Vector4D< T > &b)
template<typename T >
Vector4D< T > operator* (const Vector4D< T > &a, const Vector4D< T > &b)
template<typename T >
Vector4D< T > operator/ (const Vector4D< T > &a, const Vector4D< T > &b)
template<typename T >
Vector4D< T > operator+ (const Vector4D< T > &a, typename Vector4D< T >::TParam b)
template<typename T >
Vector4D< T > operator- (const Vector4D< T > &a, typename Vector4D< T >::TParam b)
template<typename T >
Vector4D< T > operator* (const Vector4D< T > &a, typename Vector4D< T >::TParam b)
template<typename T >
Vector4D< T > operator/ (const Vector4D< T > &a, typename Vector4D< T >::TParam b)
template<typename T >
Vector4D< T > operator+ (typename Vector4D< T >::TParam a, const Vector4D< T > &b)
template<typename T >
Vector4D< T > operator- (typename Vector4D< T >::TParam a, const Vector4D< T > &b)
template<typename T >
Vector4D< T > operator* (typename Vector4D< T >::TParam a, const Vector4D< T > &b)
template<typename T >
Vector4D< T > pointwiseMin (const Vector4D< T > &a, const Vector4D< T > &b)
template<typename T >
Vector4D< T > pointwiseMax (const Vector4D< T > &a, const Vector4D< T > &b)
template<typename T >
Vector4D< T > lerp (const Vector4D< T > &a, const Vector4D< T > &b, typename Vector4D< T >::TParam t)
template<typename T , typename Char , typename Traits >
std::basic_ostream< Char,
Traits > & 
operator<< (std::basic_ostream< Char, Traits > &stream, const Vector4D< T > &b)
template<typename T , typename Char , typename Traits >
std::basic_istream< Char,
Traits > & 
operator>> (std::basic_istream< Char, Traits > &stream, Vector4D< T > &b)
template<typename T >
io::XmlOStreamoperator<< (io::XmlOStream &stream, const Vector4D< T > &b)
LASS_DLL bool LASS_CALL operator== (const XY &iA, const XY &iB)
LASS_DLL bool LASS_CALL operator== (const XY &iA, char iB)
LASS_DLL bool LASS_CALL operator== (char iA, const XY &iB)
LASS_DLL bool LASS_CALL operator== (const XY &iA, const std::string &iB)
LASS_DLL bool LASS_CALL operator== (const std::string &iA, const XY &iB)
LASS_DLL bool LASS_CALL operator!= (const XY &iA, const XY &iB)
LASS_DLL bool LASS_CALL operator!= (const XY &iA, char iB)
LASS_DLL bool LASS_CALL operator!= (char iA, const XY &iB)
LASS_DLL bool LASS_CALL operator!= (const XY &iA, const std::string &iB)
LASS_DLL bool LASS_CALL operator!= (const std::string &iA, const XY &iB)
LASS_DLL XY LASS_CALL operator+ (const XY &iA, int iOffset)
LASS_DLL XY LASS_CALL operator- (const XY &iA, int iOffset)
LASS_DLL bool LASS_CALL operator== (const XYZ &iA, const XYZ &iB)
LASS_DLL bool LASS_CALL operator== (const XYZ &iA, char iB)
LASS_DLL bool LASS_CALL operator== (char iA, const XYZ &iB)
LASS_DLL bool LASS_CALL operator== (const XYZ &iA, const std::string &iB)
LASS_DLL bool LASS_CALL operator== (const std::string &iA, const XYZ &iB)
LASS_DLL bool LASS_CALL operator!= (const XYZ &iA, const XYZ &iB)
LASS_DLL bool LASS_CALL operator!= (const XYZ &iA, char iB)
LASS_DLL bool LASS_CALL operator!= (char iA, const XYZ &iB)
LASS_DLL bool LASS_CALL operator!= (const XYZ &iA, const std::string &iB)
LASS_DLL bool LASS_CALL operator!= (const std::string &iA, const XYZ &iB)
LASS_DLL XYZ LASS_CALL operator+ (const XYZ &iA, int iOffset)
LASS_DLL XYZ LASS_CALL operator- (const XYZ &iA, int iOffset)
LASS_DLL bool LASS_CALL operator== (const XYZW &iA, const XYZW &iB)
LASS_DLL bool LASS_CALL operator== (const XYZW &iA, char iB)
LASS_DLL bool LASS_CALL operator== (char iA, const XYZW &iB)
LASS_DLL bool LASS_CALL operator== (const XYZW &iA, const std::string &iB)
LASS_DLL bool LASS_CALL operator== (const std::string &iA, const XYZW &iB)
LASS_DLL bool LASS_CALL operator!= (const XYZW &iA, const XYZW &iB)
LASS_DLL bool LASS_CALL operator!= (const XYZW &iA, char iB)
LASS_DLL bool LASS_CALL operator!= (char iA, const XYZW &iB)
LASS_DLL bool LASS_CALL operator!= (const XYZW &iA, const std::string &iB)
LASS_DLL bool LASS_CALL operator!= (const std::string &iA, const XYZW &iB)
LASS_DLL XYZW LASS_CALL operator+ (const XYZW &iA, int iOffset)
LASS_DLL XYZW LASS_CALL operator- (const XYZW &iA, int iOffset)


Detailed Description

set of geometrical primitives

Author:
Bram de Greve [BdG]
Date:
2003
lass::prim is the library for geometrical primitives and related constructions. It consists of structures and classes to represent primitives as vectors, points, lines, planes, polygons etc., some policy classes that can modify the implementation of some of these primitives, and a few related enumerations.

All primitives are templated with an underlying value type (think of floats, doubles, fixed point, ...). This value type can be set as by the template parameter T, and is typedef'ed in all primitives as TValue (convenient, isn't it? :). It's the subatomic unit (proton if you like) on which more complex types are built.

overview

I think the best way to explore this library, is to give an overview of its components. Here we go ...

primitives

If TValue is the proton, then vectors are the smallest atomic units in lass::prim you can build. Vectors represent a direction, a translation, and we have three of them in our library (with 2, 3 and 4 protons respective :):

The above vectors are free vectors and have no position. To express the position of a location in space, we need points. we have two of these thingies. It's a little unusual to distinguish between vectors and points. Usually, only one is used for both concepts, whether they uses point or vector. Yet, these are totally different mathematical entities. You can add two vectors together, but you can't add two points (what would it mean?). Transforming a vector is different that a point (a vector will only be rotated, a point will also be translated). Points and vectors are clearly to be traited differently. This cries for different classes or structures. In C however, it has little use to do that, because of the lack of function overloading and strong type checking. However, here we are in C++ and the good news is: C++ does have overloading and strong type checking, so we can clearly distinguish between points and vectors in our code. And that's what we do here. For more info on this subject, I gladly refer to [1, 2, 3]. You can see the points as ions: vectors with some extra (or lacking) electrons: same number of protons (same dimension), but not completely the same thing.

One problem of not being able to add and scale points is not being able to use barycentric combinations. This is a linear combination of points in which the sum of all weight is equal to 1. The result of such a combination is a point and is mathematical sensefull. In [1], I didn't find a satisfying solution to this problem, because I wanted to limit myself to eucledian entities. To do barycentric combinations, I had to convert the points to vectors, do the combination, and the convert back to a point. Not only this is a bit clumsy, it didn't guarantee that the sum of the weights would be 1. In [2], I introduced homogenous points to solve this question. And they are also introduced in here. Homogenous points are with the sole capability to do barycentric combinations on points. You can see the homogenous points as points with some extra neutrons: pretty compatible.

So far for the essential building blocks of the more complex primitives. Until now we had the atoms, now we'll build moleculs. The simplest thing we can construct from it are axis-aligned-bounding-boxes.

Objects of infinite size are lines and planes. We have them in parametric and cartesian versions.

For the circular guys:

Objects of not so infinite size: line segments and rays.

Polygons and stuff:

policies

enumerations

colors

iterators

These three classes are iterators over the different axes (components). You can use this instead of directly calling the .x or .y members of a vector. With these iterators, you can access those components through the operator[] .


Enumeration Type Documentation

enumeration of clockwise versus counterclockwise

Author:
Bram de Greve [BdG]
Enumerator:
oInvalid  invalid state
oClockWise  clockwise orientation
oCounterClockWise  counterclockwise orientation

Definition at line 57 of file orientation.h.

meta information on the result you have from an operation like an intersection .

..

Author:
[BdG]
Date:
2003
If you want to find the intersection of two lines 'a' and 'b', you expect a point as result. However, that's not always true. 'a' and 'b' can be coincident so that all points of 'a' and 'b' are intersection points, or they could be not intersecting at all so that you don't have an intersection point. 'Result' will tell you this. In this same example, it will return rNone if the lines are not intersectiong, rOne if there is exactly one intersection point, and rInfinite if the lines are coincident.

Unlike lass::util::Side, results can't be OR'ed. Afterall, what would 'rNone | rOne' mean?

rInvalid is the invalid state of Result, if you encounter this, something is wrong. Notice the difference with rNone that is a valid state (although it says there's no answer).

Note:
rOne does not mean there's only one point in the solution. No, it means there's exactly one solution possible, and the output parameter contains this solution. In the case of an AABB this one solution can contain infinite many points.
Enumerator:
rInvalid  0 is an invalid value, nothing is known.

rNone  operation has no answer, output arguments are meaningless
rOne  there's exactly one answer, 1 output argument contains the answer
rTwo  there are two solutions, 2 output argunemts contain the answers
rInfinite  there are infinite many solutions, output arguments are meaningless

Definition at line 73 of file result.h.

Different sides of a surface.

Author:
[BdG]
Date:
2003
Not all possibilities make sense for all surfaces. e.g. in case of a plane, only sFront, sSurface, sBack mean something, and in case of a sphere or bounding box you have sInside, sSurface, sOutside.

Side can be OR'ed, like (sFront | sBack) means in the front or in the back of the surface. However, return values of Side Foo::classify(const Bar& iBar) normally won't use this, and the equality test of this enums doesn't understand this neither (which is btw, a good thing). So if you try to do 'if (foo.classify(bar) == sFront | sBack)', this will always evaluate to false, no matter what the return value of classify is.

This is a simple workaround though. In many cases (sFont | sBack) means exaclty the same as !sSurface (OK OK WHAT I JUST HAVE WRITTEN HERE IS NONSES, but you get the idea :) So, if you want the above test to work, you should test for 'if (foo.classify(bar) != sSurface)'

In the future there will be another work around with bit and mask operations that will be available in the util namespace, but I still have to code these :D

Enumerator:
sInvalid  0 is an invalid value
sFront  in front of the surface
sLeft  alias for sFront in 2D
sBack  in back of the surface
sRight  alias for sBack in 2D
sInside  inside the surface
sOutside  outside the surface
sSurface  right on the surface

Definition at line 78 of file side.h.


Function Documentation

template<typename T , class MMPa , class MMPb >
const Aabb2D<T, MMPa> lass::prim::operator+ ( const Aabb2D< T, MMPa > &  a,
const Aabb2D< T, MMPb > &  b 
) [related]

template<typename T , class MMP >
const Aabb2D<T, MMP> lass::prim::operator+ ( const Aabb2D< T, MMP > &  a,
const Point2D< T > &  b 
) [related]

template<typename T , class MMP >
const Aabb2D<T, MMP> lass::prim::operator+ ( const Point2D< T > &  a,
const Aabb2D< T, MMP > &  b 
) [related]

template<typename T >
const Aabb2D<T> lass::prim::aabb ( const Point2D< T > &  point  )  [related]

template<typename T , class MMP >
T lass::prim::distance ( const Aabb2D< T, MMP > &  a,
const Point2D< T > &  b 
) [related]

template<typename T , class MMPa , class MMPb >
T lass::prim::distance ( const Aabb2D< T, MMPa > &  a,
const Aabb2D< T, MMPb > &  b 
) [related]

template<typename T , class MMPa , class MMPb , class MMPr >
Result lass::prim::intersect ( const Aabb2D< T, MMPa > &  a,
const Aabb2D< T, MMPb > &  b,
Aabb2D< T, MMPr > &  result 
) [related]

template<typename T , class MMPa , class MMPb >
const bool lass::prim::intersects ( const Aabb2D< T, MMPa > &  a,
const Aabb2D< T, MMPb > &  b 
) [related]

template<typename T , class MMP >
const bool lass::prim::intersects ( const Aabb2D< T, MMP > &  a,
const Point2D< T > &  b 
) [related]

template<typename T , class MMP >
const bool lass::prim::intersects ( const Point2D< T > &  a,
const Aabb2D< T, MMP > &  b 
) [related]

template<typename T , class MMPa , class MMPb >
const bool lass::prim::collides ( const Aabb2D< T, MMPa > &  a,
const Aabb2D< T, MMPb > &  b 
) [related]

template<typename T , class MMP >
const bool lass::prim::collides ( const Aabb2D< T, MMP > &  a,
const Point2D< T > &  b 
) [related]

template<typename T , class MMP >
const bool lass::prim::collides ( const Point2D< T > &  a,
const Aabb2D< T, MMP > &  b 
) [related]

template<typename T , class MMP >
std::ostream& lass::prim::operator<< ( std::ostream &  ioOStream,
const Aabb2D< T, MMP > &  aabb 
) [related]

template<typename T , class MMP >
io::XmlOStream& lass::prim::operator<< ( io::XmlOStream &  ioOStream,
const Aabb2D< T, MMP > &  aabb 
) [related]

template<typename T , class MMP >
io::MatlabOStream& lass::prim::operator<< ( io::MatlabOStream &  ioOStream,
const Aabb2D< T, MMP > &  aabb 
) [related]

template<typename T , typename MMP >
const bool lass::prim::intersects ( const Triangle2D< T > &  triangle,
const Aabb2D< T, MMP > &  box 
) [inline]

template<typename T , typename MMP >
const bool lass::prim::intersects ( const Aabb2D< T, MMP > &  box,
const Triangle2D< T > &  triangle 
) [inline]

Definition at line 123 of file aabb_2d_triangle_2d.h.

References intersects().

template<typename T , typename MMP >
const bool lass::prim::collides ( const Triangle2D< T > &  triangle,
const Aabb2D< T, MMP > &  box 
) [inline]

template<typename T , typename MMP >
const bool lass::prim::collides ( const Aabb2D< T, MMP > &  box,
const Triangle2D< T > &  triangle 
) [inline]

Definition at line 184 of file aabb_2d_triangle_2d.h.

References collides().

template<typename T , class MMPa , class MMPb >
const Aabb3D<T, MMPa> lass::prim::operator+ ( const Aabb3D< T, MMPa > &  a,
const Aabb3D< T, MMPb > &  b 
) [related]

template<typename T , class MMP >
const Aabb3D<T, MMP> lass::prim::operator+ ( const Aabb3D< T, MMP > &  a,
const Point3D< T > &  b 
) [related]

template<typename T , class MMP >
const Aabb3D<T, MMP> lass::prim::operator+ ( const Point3D< T > &  a,
const Aabb3D< T, MMP > &  b 
) [related]

template<typename T >
const Aabb3D<T> lass::prim::aabb ( const Point3D< T > &  point  )  [related]

template<typename T , class MMP >
T lass::prim::distance ( const Aabb3D< T, MMP > &  a,
const Point3D< T > &  b 
) [related]

template<typename T , class MMPa , class MMPb >
T lass::prim::distance ( const Aabb3D< T, MMPa > &  a,
const Aabb3D< T, MMPb > &  b 
) [related]

template<typename T , class MMPa , class MMPb , class MMPr >
Result lass::prim::intersect ( const Aabb3D< T, MMPa > &  a,
const Aabb3D< T, MMPb > &  b,
Aabb3D< T, MMPr > &  result 
) [related]

template<typename T , class MMPa , class MMPb >
const bool lass::prim::intersects ( const Aabb3D< T, MMPa > &  a,
const Aabb3D< T, MMPb > &  b 
) [inline]

Definition at line 650 of file aabb_3d.inl.

References lass::prim::Aabb3D< T, MinMaxPolicy >::intersects().

template<typename T , class MMP >
const bool lass::prim::intersects ( const Aabb3D< T, MMP > &  a,
const Point3D< T > &  b 
) [related]

template<typename T , class MMP >
const bool lass::prim::intersects ( const Point3D< T > &  a,
const Aabb3D< T, MMP > &  b 
) [related]

template<typename T , class MMPa , class MMPb >
const bool lass::prim::collides ( const Aabb3D< T, MMPa > &  a,
const Aabb3D< T, MMPb > &  b 
) [inline]

Definition at line 678 of file aabb_3d.inl.

References lass::prim::Aabb3D< T, MinMaxPolicy >::collides().

template<typename T , class MMP >
const bool lass::prim::collides ( const Aabb3D< T, MMP > &  a,
const Point3D< T > &  b 
) [related]

template<typename T , class MMP >
const bool lass::prim::collides ( const Point3D< T > &  a,
const Aabb3D< T, MMP > &  b 
) [related]

template<typename T , class MMP >
std::ostream& lass::prim::operator<< ( std::ostream &  stream,
const Aabb3D< T, MMP > &  aabb 
) [related]

template<typename T , class MMP >
io::XmlOStream& lass::prim::operator<< ( io::XmlOStream &  stream,
const Aabb3D< T, MMP > &  aabb 
) [related]

template<typename T , class DegeneratePolicy >
bool lass::prim::triangulate ( const SimplePolygon2D< T, DegenerationPolicy > &  iPolygon,
std::vector< Triangle2D< T > > &  oTriangles 
) [inline]

Deprecated:
Use triangulate from simple_polygon_2d_triangle_2d.h

Definition at line 59 of file algorithm.h.

LASS_DLL ColorRGBA LASS_CALL lass::prim::over ( const ColorRGBA &  iA,
const ColorRGBA &  iB 
)

placement of foreground iA in front of background iB.

iA is painted over iB and leaves only a that part of iB visible that isn't painted over: 1 - alphaA.

Precondition:
iA and iB are considered non-premultiplied
  alphaR = alphaA + (1 - alphaA) * alphaB.
  ColorR * alphaR = ColorA * alphaA + ColorB * alphaB * (1 - alphaA).

Definition at line 747 of file color_rgba.cpp.

References lass::prim::ColorRGBA::a, and lass::num::NumTraits< C >::one.

Referenced by lass::io::Image::over(), and lass::io::Image::rover().

LASS_DLL ColorRGBA LASS_CALL lass::prim::in ( const ColorRGBA &  iA,
const ColorRGBA &  iB 
)

part of iA inside iB.

iA is only painted where iB is present, and iB is not painted at all. This is the equivalent of only drawing clipped by the alpha channel of iB

Precondition:
iA and iB are considered non-premultiplied
  alphaR = alphaA * alphaB.
  ColorR = ColorA.

Definition at line 776 of file color_rgba.cpp.

References lass::prim::ColorRGBA::a.

Referenced by lass::io::Image::in(), and lass::io::Image::rin().

LASS_DLL ColorRGBA LASS_CALL lass::prim::out ( const ColorRGBA &  iA,
const ColorRGBA &  iB 
)

iA held out by iB, part of iA outside iB.

iA is only painted where iB is not present, and iB is not painted at all. This is the equivalent of only drawing clipped by the inverse alpha channel of iB.

Precondition:
iA and iB are considered non-premultiplied
  alphaR = alphaA * (1 - alphaB).
  ColorR = ColorA.

Definition at line 800 of file color_rgba.cpp.

References lass::prim::ColorRGBA::a, and lass::num::NumTraits< C >::one.

Referenced by lass::io::XmlOFile::open(), lass::io::Logger::openLog(), lass::io::Image::out(), lass::io::Image::rout(), and lass::util::stringCast().

LASS_DLL ColorRGBA LASS_CALL lass::prim::atop ( const ColorRGBA &  iA,
const ColorRGBA &  iB 
)

union of iA in iB and iB out iA.

iA atop iB includes iA where it's on top of iB, otherwise it's iB. But nothing outside iB is included.

Precondition:
iA and iB are considered non-premultiplied
  alphaR = alphaB.
  ColorR = ColorA * alphaA + ColorB * (1 - alphaA).

Definition at line 824 of file color_rgba.cpp.

References lass::prim::ColorRGBA::a, and lass::num::NumTraits< C >::one.

Referenced by lass::io::Image::atop(), and lass::io::Image::ratop().

LASS_DLL ColorRGBA LASS_CALL lass::prim::plus ( const ColorRGBA &  iA,
const ColorRGBA &  iB 
)

Precondition:
iA and iB are considered non-premultiplied
  alphaR = alphaA + alphaB
  colorR * alphaR = colorA * alphaA + colorB * alphaB.

Definition at line 845 of file color_rgba.cpp.

References lass::prim::ColorRGBA::a.

Referenced by lass::io::Image::plus().

LASS_DLL ColorRGBA LASS_CALL lass::prim::through ( const ColorRGBA &  iA,
const ColorRGBA &  iB 
)

iA seen through color filter iB.

Precondition:
iA and iB are considered non-premultiplied
  alphaR = alphaA.
  colorR = colorA * (1 - alphaB) + colorA * colorB * alphaB.

Definition at line 866 of file color_rgba.cpp.

References lass::prim::ColorRGBA::a, lass::prim::ColorRGBA::b, and lass::num::NumTraits< C >::one.

Referenced by lass::io::Image::rthrough(), and lass::io::Image::through().

LASS_DLL ColorRGBA::TValue LASS_CALL lass::prim::distance ( const ColorRGBA &  iA,
const ColorRGBA &  iB 
)

distance between non-non-premultiplied colours as 3D points (alpha channel is disregarded).

Returns:
num::sqrt(dR ** 2 + dG ** 2 + dB ** 2)

Definition at line 881 of file color_rgba.cpp.

References lass::prim::ColorRGBA::a, lass::prim::ColorRGBA::g, lass::prim::ColorRGBA::r, lass::num::sqr(), and sqrt().

LASS_DLL ColorRGBA LASS_CALL lass::prim::operator+ ( const ColorRGBA &  iA,
const ColorRGBA &  iB 
) [related]

LASS_DLL ColorRGBA LASS_CALL lass::prim::operator- ( const ColorRGBA &  iA,
const ColorRGBA &  iB 
) [related]

LASS_DLL ColorRGBA LASS_CALL lass::prim::operator* ( const ColorRGBA &  iA,
const ColorRGBA &  iB 
) [related]

LASS_DLL ColorRGBA LASS_CALL lass::prim::operator/ ( const ColorRGBA &  iA,
const ColorRGBA &  iB 
) [related]

LASS_DLL ColorRGBA LASS_CALL lass::prim::operator+ ( ColorRGBA::TParam  iA,
const ColorRGBA &  iB 
) [related]

LASS_DLL ColorRGBA LASS_CALL lass::prim::operator- ( ColorRGBA::TParam  iA,
const ColorRGBA &  iB 
) [related]

LASS_DLL ColorRGBA LASS_CALL lass::prim::operator* ( ColorRGBA::TParam  iA,
const ColorRGBA &  iB 
) [related]

LASS_DLL ColorRGBA LASS_CALL lass::prim::operator/ ( ColorRGBA::TParam  iA,
const ColorRGBA &  iB 
) [related]

LASS_DLL ColorRGBA LASS_CALL lass::prim::operator+ ( const ColorRGBA &  iA,
ColorRGBA::TParam  iB 
) [related]

LASS_DLL ColorRGBA LASS_CALL lass::prim::operator- ( const ColorRGBA &  iA,
ColorRGBA::TParam  iB 
) [related]

LASS_DLL ColorRGBA LASS_CALL lass::prim::operator* ( const ColorRGBA &  iA,
ColorRGBA::TParam  iB 
) [related]

LASS_DLL ColorRGBA LASS_CALL lass::prim::operator/ ( const ColorRGBA &  iA,
ColorRGBA::TParam  iB 
) [related]

template<typename T , class EP , class NP >
T lass::prim::signedDistance ( const Point2D< T > &  iA,
const Line2D< T, EP, NP > &  iB 
) [inline]

template<typename T , class EPa , class NPa , class EPb , class NPb >
T lass::prim::signedDistance ( const Line2D< T, EPa, NPa > &  iA,
const Line2D< T, EPb, NPb > &  iB 
) [inline]

template<typename T , class EPa , class NPa , class EPb , class NPb >
Result lass::prim::intersect ( const Line2D< T, EPa, NPa > &  iA,
const Line2D< T, EPb, NPb > &  iB,
T &  oTa,
T &  oTb 
) [related]

template<typename T , class EPa , class NPa , class EPb , class NPb >
Result lass::prim::intersect ( const Line2D< T, EPa, NPa > &  iA,
const Line2D< T, EPb, NPb > &  iB,
Point2D< T > &  oPoint 
) [related]

template<typename T >
io::XmlOStream& lass::prim::operator<< ( io::XmlOStream &  ioOStream,
const Line2D< T, Cartesian > &  iLine 
) [related]

template<typename T >
io::XmlOStream& lass::prim::operator<< ( io::XmlOStream &  ioOStream,
const Line2D< T, Parametric > &  iLine 
) [related]

template<typename T >
io::XmlOStream& lass::prim::operator<< ( io::XmlOStream &  ioOStream,
const Line2D< T, Combined > &  iLine 
) [related]

template<typename T , class NP >
std::ostream& lass::prim::operator<< ( std::ostream &  oOStream,
const Line3D< T, NP > &  iB 
) [related]

template<typename T , class NP >
io::XmlOStream& lass::prim::operator<< ( io::XmlOStream &  oOStream,
const Line3D< T, NP > &  iB 
) [related]

template<typename T , class PPa , class PPb >
bool lass::prim::operator== ( const LineSegment2D< T, PPa > &  a,
const LineSegment2D< T, PPb > &  b 
) [related]

template<typename T , class PPa , class PPb >
bool lass::prim::operator!= ( const LineSegment2D< T, PPa > &  a,
const LineSegment2D< T, PPb > &  b 
) [related]

template<typename T , class PP >
T lass::prim::squaredDistance ( const LineSegment2D< T, PP > &  segment,
const Point2D< T > &  point 
) [inline]

template<typename T , class PP >
T lass::prim::distance ( const LineSegment2D< T, PP > &  segment,
const Point2D< T > &  point 
) [inline]

Definition at line 187 of file line_segment_2d.inl.

References sqrt(), and squaredDistance().

template<typename T , class PPa , class PPb >
Result lass::prim::intersect ( const LineSegment2D< T, PPa > &  a,
const LineSegment2D< T, PPb > &  b,
T &  tA,
T &  tB 
) [related]

template<typename T , class PPa , class PPb >
Result lass::prim::intersect ( const LineSegment2D< T, PPa > &  a,
const LineSegment2D< T, PPb > &  b,
Point2D< T > &  point 
) [related]

template<typename T , class PP >
std::ostream& lass::prim::operator<< ( std::ostream &  stream,
const LineSegment2D< T, PP > &  segment 
) [related]

template<typename T , class PP >
io::XmlOStream& lass::prim::operator<< ( io::XmlOStream &  stream,
const LineSegment2D< T, PP > &  segment 
) [related]

template<typename T , class PP >
lass::io::MatlabOStream& lass::prim::operator<< ( lass::io::MatlabOStream stream,
const LineSegment2D< T, PP > &  segment 
) [related]

template<typename T , class PPa , class PPb >
bool lass::prim::operator== ( const LineSegment3D< T, PPa > &  iA,
const LineSegment3D< T, PPb > &  iB 
) [related]

template<typename T , class PPa , class PPb >
bool lass::prim::operator!= ( const LineSegment3D< T, PPa > &  iA,
const LineSegment3D< T, PPb > &  iB 
) [related]

template<typename T , class PPa , class PPb >
Result lass::prim::intersect ( const LineSegment3D< T, PPa > &  iA,
const LineSegment3D< T, PPb > &  iB,
T &  oTa,
T &  oTb 
) [inline]

template<typename T , class PPa , class PPb >
Result lass::prim::intersect ( const LineSegment3D< T, PPa > &  iA,
const LineSegment3D< T, PPb > &  iB,
Point3D< T > &  oPoint 
) [inline]

template<typename T , class PP >
std::ostream& lass::prim::operator<< ( std::ostream &  oOStream,
const LineSegment3D< T, PP > &  iB 
) [related]

template<typename T , class PP >
io::XmlOStream& lass::prim::operator<< ( io::XmlOStream &  oOStream,
const LineSegment3D< T, PP > &  iB 
) [related]

template<typename T , class PP >
lass::io::MatlabOStream& lass::prim::operator<< ( lass::io::MatlabOStream oOStream,
const LineSegment3D< T, PP > &  iLineSegment 
) [inline]

template<typename T , class PP1 , class NP2 , class PP2 >
T lass::prim::distance ( const LineSegment3D< T, PP1 > &  lineSegment,
const Ray3D< T, NP2, PP2 > &  ray,
const T &  tMin = T() 
) [inline]

Definition at line 57 of file line_segment_3d_ray_3d.h.

References sqrt(), and squaredDistance().

template<typename T , class PP1 , class NP2 , class PP2 >
T lass::prim::squaredDistance ( const LineSegment3D< T, PP1 > &  lineSegment,
const Ray3D< T, NP2, PP2 > &  ray,
const T &  tMin = T() 
) [inline]

template<typename T , class PP1 , class NP2 , class PP2 >
T lass::prim::closestsPoints ( const LineSegment3D< T, PP1 > &  lineSegment,
const Ray3D< T, NP2, PP2 > &  ray,
T &  tSeg,
T &  tRay,
const T &  tMin = T() 
) [inline]

template<typename T >
io::XmlOStream& lass::prim::operator<< ( io::XmlOStream &  ioOStream,
const Parallelogram3D< T > &  iParallelogram 
) [related]

template<typename T >
std::ostream& lass::prim::operator<< ( std::ostream &  ioOStream,
const Parallelogram3D< T > &  iParallelogram 
) [related]

template<typename T >
io::XmlOStream& lass::prim::operator<< ( io::XmlOStream &  ioOStream,
const Plane3D< T, Cartesian > &  iPlane 
) [related]

template<typename T >
io::XmlOStream& lass::prim::operator<< ( io::XmlOStream &  ioOStream,
const Plane3D< T, Parametric > &  iPlane 
) [related]

template<typename T >
io::XmlOStream& lass::prim::operator<< ( io::XmlOStream &  ioOStream,
const Plane3D< T, Combined > &  iPlane 
) [related]

template<typename T >
bool lass::prim::operator== ( const Point2D< T > &  a,
const Point2D< T > &  b 
) [related]

template<typename T >
bool lass::prim::operator!= ( const Point2D< T > &  a,
const Point2D< T > &  b 
) [related]

template<typename T >
Point2D<T> lass::prim::operator+ ( const Point2D< T > &  a,
const Vector2D< T > &  b 
) [related]

template<typename T >
Point2D<T> lass::prim::operator+ ( const Vector2D< T > &  a,
const Point2D< T > &  b 
) [related]

template<typename T >
Point2D<T> lass::prim::operator- ( const Point2D< T > &  a,
const Vector2D< T > &  b 
) [related]

template<typename T >
Vector2D<T> lass::prim::operator- ( const Point2D< T > &  a,
const Point2D< T > &  b 
) [related]

template<typename T >
Point2D<T>::TValue lass::prim::distance ( const Point2D< T > &  a,
const Point2D< T > &  b 
) [related]

template<typename T >
Point2D<T>::TValue lass::prim::squaredDistance ( const Point2D< T > &  a,
const Point2D< T > &  b 
) [related]

template<typename T >
Point2D<T> lass::prim::pointwiseMin ( const Point2D< T > &  a,
const Point2D< T > &  b 
) [related]

template<typename T >
Point2D<T> lass::prim::pointwiseMax ( const Point2D< T > &  a,
const Point2D< T > &  b 
) [related]

template<typename T >
Point2D<T> lass::prim::lerp ( const Point2D< T > &  a,
const Point2D< T > &  b,
typename Point2D< T >::TParam  t 
) [inline]

template<typename T >
std::ostream& lass::prim::operator<< ( std::ostream &  stream,
const Point2D< T > &  b 
) [related]

template<typename T >
io::XmlOStream& lass::prim::operator<< ( io::XmlOStream &  stream,
const Point2D< T > &  b 
) [related]

template<typename T >
std::istream& lass::prim::operator>> ( std::istream &  stream,
Point2D< T > &  b 
) [related]

template<typename T >
lass::io::MatlabOStream& lass::prim::operator<< ( lass::io::MatlabOStream stream,
const Point2D< T > &  b 
) [related]

template<typename T >
T lass::prim::doubleTriangleArea ( const Point2D< T > &  a,
const Point2D< T > &  b,
const Point2D< T > &  c 
) [related]

template<typename T >
bool lass::prim::cw ( const Point2D< T > &  a,
const Point2D< T > &  b,
const Point2D< T > &  c 
) [related]

template<typename T >
bool lass::prim::ccw ( const Point2D< T > &  a,
const Point2D< T > &  b,
const Point2D< T > &  c 
) [related]

template<typename T >
bool lass::prim::weakCw ( const Point2D< T > &  a,
const Point2D< T > &  b,
const Point2D< T > &  c 
) [related]

template<typename T >
bool lass::prim::weakCcw ( const Point2D< T > &  a,
const Point2D< T > &  b,
const Point2D< T > &  c 
) [related]

template<typename T >
bool lass::prim::inCircle ( const Point2D< T > &  a,
const Point2D< T > &  b,
const Point2D< T > &  c,
const Point2D< T > &  d 
) [related]

template<typename T >
T lass::prim::preciseDoubleTriangleArea ( const Point2D< T > &  a,
const Point2D< T > &  b,
const Point2D< T > &  c 
) [inline]

Definition at line 389 of file point_2d.inl.

References perpDot().

template<typename T >
bool lass::prim::operator== ( const Point2DH< T > &  iA,
const Point2DH< T > &  iB 
) [related]

template<typename T >
bool lass::prim::operator!= ( const Point2DH< T > &  iA,
const Point2DH< T > &  iB 
) [related]

template<typename T >
Point2DH<T> lass::prim::operator+ ( const Point2DH< T > &  iA,
const Point2DH< T > &  iB 
) [related]

template<typename T >
Point2DH<T> lass::prim::operator+ ( const Point2DH< T > &  iA,
const Point2D< T > &  iB 
) [related]

template<typename T >
Point2DH<T> lass::prim::operator+ ( const Point2D< T > &  iA,
const Point2DH< T > &  iB 
) [related]

template<typename T >
Point2DH<T> lass::prim::operator+ ( const Point2D< T > &  iA,
const Point2D< T > &  iB 
) [related]

template<typename T >
Point2DH<T> lass::prim::operator- ( const Point2DH< T > &  iA,
const Point2DH< T > &  iB 
) [related]

template<typename T >
Point2DH<T> lass::prim::operator* ( const Point2DH< T > &  iA,
typename Point2DH< T >::TParam  iB 
) [inline]

template<typename T >
Point2DH<T> lass::prim::operator/ ( const Point2DH< T > &  iA,
typename Point2DH< T >::TParam  iB 
) [inline]

template<typename T >
Point2DH<T> lass::prim::operator* ( typename Point2DH< T >::TParam  iA,
const Point2DH< T > &  iB 
) [inline]

template<typename T >
std::ostream& lass::prim::operator<< ( std::ostream &  oOStream,
const Point2DH< T > &  iB 
) [related]

template<typename T >
io::XmlOStream& lass::prim::operator<< ( io::XmlOStream &  oOStream,
const Point2DH< T > &  iB 
) [related]

template<typename T >
std::istream& lass::prim::operator>> ( std::istream &  ioIStream,
Point2DH< T > &  oB 
) [related]

template<typename T >
bool lass::prim::operator== ( const Point3D< T > &  a,
const Point3D< T > &  b 
) [related]

template<typename T >
bool lass::prim::operator!= ( const Point3D< T > &  a,
const Point3D< T > &  b 
) [related]

template<typename T >
Point3D<T> lass::prim::operator+ ( const Point3D< T > &  a,
const Vector3D< T > &  b 
) [related]

template<typename T >
Point3D<T> lass::prim::operator+ ( const Vector3D< T > &  a,
const Point3D< T > &  b 
) [related]

template<typename T >
Point3D<T> lass::prim::operator- ( const Point3D< T > &  a,
const Vector3D< T > &  b 
) [related]

template<typename T >
Vector3D<T> lass::prim::operator- ( const Point3D< T > &  a,
const Point3D< T > &  b 
) [related]

template<typename T >
Point3D<T>::TValue lass::prim::distance ( const Point3D< T > &  a,
const Point3D< T > &  b 
) [related]

template<typename T >
Point3D<T>::TValue lass::prim::squaredDistance ( const Point3D< T > &  a,
const Point3D< T > &  b 
) [related]

template<typename T >
Point3D<T> lass::prim::pointwiseMin ( const Point3D< T > &  a,
const Point3D< T > &  b 
) [related]

template<typename T >
Point3D<T> lass::prim::pointwiseMax ( const Point3D< T > &  a,
const Point3D< T > &  b 
) [related]

template<typename T >
Point3D<T> lass::prim::lerp ( const Point3D< T > &  a,
const Point3D< T > &  b,
typename Point3D< T >::TParam  t 
) [inline]

template<typename T >
std::ostream& lass::prim::operator<< ( std::ostream &  stream,
const Point3D< T > &  b 
) [related]

template<typename T >
io::XmlOStream& lass::prim::operator<< ( io::XmlOStream &  stream,
const Point3D< T > &  b 
) [related]

template<typename T >
std::istream& lass::prim::operator>> ( std::istream &  stream,
Point3D< T > &  b 
) [related]

template<typename T >
bool lass::prim::operator== ( const Point3DH< T > &  iA,
const Point3DH< T > &  iB 
) [related]

template<typename T >
bool lass::prim::operator!= ( const Point3DH< T > &  iA,
const Point3DH< T > &  iB 
) [related]

template<typename T >
Point3DH<T> lass::prim::operator+ ( const Point3DH< T > &  iA,
const Point3DH< T > &  iB 
) [related]

template<typename T >
Point3DH<T> lass::prim::operator- ( const Point3DH< T > &  iA,
Point3DH< T > &  iB 
) [inline]

template<typename T >
Point3DH<T> lass::prim::operator* ( const Point3DH< T > &  iA,
typename Point3DH< T >::TParam  iB 
) [inline]

template<typename T >
Point3DH<T> lass::prim::operator/ ( const Point3DH< T > &  iA,
typename Point3DH< T >::TParam  iB 
) [inline]

template<typename T >
Point3DH<T> lass::prim::operator* ( typename Point3DH< T >::TParam  iA,
const Point3DH< T > &  iB 
) [inline]

template<typename T >
std::ostream& lass::prim::operator<< ( std::ostream &  oOStream,
const Point3DH< T > &  iB 
) [related]

template<typename T >
io::XmlOStream& lass::prim::operator<< ( io::XmlOStream &  oOStream,
const Point3DH< T > &  iB 
) [related]

template<typename T >
std::istream& lass::prim::operator>> ( std::istream &  ioIStream,
Point3DH< T > &  oB 
) [related]

template<typename T >
Point3DH<T> lass::prim::operator+ ( const Point3D< T > &  iA,
const Point3D< T > &  iB 
) [inline]

Definition at line 144 of file point_3dh.h.

template<typename T >
Point3DH<T> lass::prim::operator* ( typename Point3D< T >::TParam  iA,
const Point3D< T > &  iB 
) [inline]

Definition at line 148 of file point_3dh.h.

template<typename T >
Point3DH<T> lass::prim::operator* ( const Point3D< T > &  iA,
typename Point3D< T >::TParam  iB 
) [inline]

Definition at line 152 of file point_3dh.h.

template<typename T , class NP , class PP >
std::ostream& lass::prim::operator<< ( std::ostream &  oOStream,
const Ray2D< T, NP, PP > &  iB 
) [inline]

template<typename T , class NP , class PP >
io::XmlOStream& lass::prim::operator<< ( io::XmlOStream &  oOStream,
const Ray2D< T, NP, PP > &  iB 
) [inline]

template<typename T , class NP , class PP >
std::ostream& lass::prim::operator<< ( std::ostream &  oOStream,
const Ray3D< T, NP, PP > &  iB 
) [inline]

template<typename T , class NP , class PP >
io::XmlOStream& lass::prim::operator<< ( io::XmlOStream &  oOStream,
const Ray3D< T, NP, PP > &  iB 
) [inline]

template<typename T , class DP >
io::XmlOStream& lass::prim::operator<< ( io::XmlOStream &  ioOStream,
const SimplePolygon2D< T, DP > &  iPolygon 
) [related]

template<typename T , class DP >
std::ostream& lass::prim::operator<< ( std::ostream &  ioOStream,
const SimplePolygon2D< T, DP > &  iPolygon 
) [related]

template<typename T , class DP >
lass::io::MatlabOStream& lass::prim::operator<< ( lass::io::MatlabOStream oOStream,
const SimplePolygon2D< T, DP > &  iPolygon 
) [related]

template<typename T , class DP >
bool lass::prim::set_difference ( const SimplePolygon2D< T, DP > &  iPolygonA,
const SimplePolygon2D< T, DP > &  iPolygonB,
std::vector< SimplePolygon2D< T, DP > > &  oPolygonsC 
) [inline]

C = A \ B.

template<typename T , class DP >
bool lass::prim::set_union ( const SimplePolygon2D< T, DP > &  iPolygonA,
const SimplePolygon2D< T, DP > &  iPolygonB,
std::vector< SimplePolygon2D< T, DP > > &  oPolygonsC 
) [inline]

C = A U B.

template<typename T , class DP >
bool lass::prim::set_intersect ( const SimplePolygon2D< T, DP > &  iPolygonA,
const SimplePolygon2D< T, DP > &  iPolygonB,
std::vector< SimplePolygon2D< T, DP > > &  oPolygonsC 
) [inline]

C = (A U B) \ (A \ B) \ (B \ A).

template<typename T , class DegeneratePolicy , typename OutputIterator >
OutputIterator lass::prim::triangulate ( const SimplePolygon2D< T, DegenerationPolicy > &  polygon,
OutputIterator  triangles 
) [inline]

template<typename T , class EP , class NP , class PP >
Result lass::prim::intersect ( const SimplePolygon3D< T, EP, NP > &  iPolygon,
const LineSegment3D< T, PP > &  iSegment,
T &  oT,
const T &  iMinT = 0 
) [related]

template<typename T , class EP1 , class NP1 , class EP2 , class NP2 >
SimplePolygon3D<T, EP2, NP2> lass::prim::clip ( const Plane3D< T, EP1, NP1 > &  iPlane,
const SimplePolygon3D< T, EP2, NP2 > &  iPolygon 
) [related]

template<typename T , class EP , class NP >
io::XmlOStream& lass::prim::operator<< ( io::XmlOStream &  ioOStream,
const SimplePolygon3D< T, EP, NP > &  iPolygon 
) [related]

template<typename T , class EP , class NP >
std::ostream& lass::prim::operator<< ( std::ostream &  ioOStream,
const SimplePolygon3D< T, EP, NP > &  iPolygon 
) [related]

template<typename T >
const T lass::prim::squaredDistance ( const Sphere3D< T > &  sphere,
const Point3D< T > &  point 
) [related]

template<typename T >
const T lass::prim::distance ( const Sphere3D< T > &  sphere,
const Point3D< T > &  point 
) [related]

template<typename T >
std::ostream& lass::prim::operator<< ( std::ostream &  oOStream,
const Sphere3D< T > &  iB 
) [related]

template<typename T >
io::XmlOStream& lass::prim::operator<< ( io::XmlOStream &  ioOStream,
const Sphere3D< T > &  iB 
) [related]

template<typename T >
Transformation2D<T> lass::prim::concatenate ( const Transformation2D< T > &  first,
const Transformation2D< T > &  second 
) [related]

template<typename T >
Vector2D<T> lass::prim::transform ( const Vector2D< T > &  subject,
const Transformation2D< T > &  transformation 
) [related]

template<typename T >
Point2D<T> lass::prim::transform ( const Point2D< T > &  subject,
const Transformation2D< T > &  transformation 
) [related]

template<typename T >
Vector2D<T> lass::prim::normalTransform ( const Vector2D< T > &  subject,
const Transformation2D< T > &  transformation 
) [related]

template<typename T >
std::pair<Vector2D<T>, T> lass::prim::normalTransform ( const std::pair< Vector2D< T >, T > &  subject,
const Transformation2D< T > &  transformation 
) [related]

template<typename T , typename Char , typename Traits >
std::basic_ostream<Char, Traits>& lass::prim::operator<< ( std::basic_ostream< Char, Traits > &  stream,
const Transformation2D< T > &  transformation 
) [related]

template<typename T >
io::XmlOStream& lass::prim::operator<< ( io::XmlOStream &  stream,
const Transformation2D< T > &  transformation 
) [related]

template<typename T >
Transformation3D<T> lass::prim::concatenate ( const Transformation3D< T > &  first,
const Transformation3D< T > &  second 
) [related]

template<typename T >
Vector3D<T> lass::prim::transform ( const Vector3D< T > &  subject,
const Transformation3D< T > &  transformation 
) [related]

template<typename T >
Point3D<T> lass::prim::transform ( const Point3D< T > &  subject,
const Transformation3D< T > &  transformation 
) [related]

template<typename T >
Vector3D<T> lass::prim::normalTransform ( const Vector3D< T > &  subject,
const Transformation3D< T > &  transformation 
) [related]

template<typename T >
std::pair<Vector3D<T>, T> lass::prim::normalTransform ( const std::pair< Vector3D< T >, T > &  subject,
const Transformation3D< T > &  transformation 
) [related]

template<typename T , typename Char , typename Traits >
std::basic_ostream<Char, Traits>& lass::prim::operator<< ( std::basic_ostream< Char, Traits > &  stream,
const Transformation3D< T > &  transformation 
) [related]

template<typename T >
io::XmlOStream& lass::prim::operator<< ( io::XmlOStream &  stream,
const Transformation3D< T > &  transformation 
) [related]

template<typename T >
const T lass::prim::distance ( const Triangle2D< T > &  triangle,
const Point2D< T > &  point 
) [related]

template<typename T >
io::XmlOStream& lass::prim::operator<< ( io::XmlOStream &  ioOStream,
const Triangle2D< T > &  iTriangle 
) [related]

template<typename T >
std::ostream& lass::prim::operator<< ( std::ostream &  ioOStream,
const Triangle2D< T > &  iTriangle 
) [related]

template<typename T >
lass::io::MatlabOStream& lass::prim::operator<< ( lass::io::MatlabOStream oOStream,
const Triangle2D< T > &  iTriangle 
) [related]

template<typename T >
T lass::prim::partialVoronoiArea ( const Triangle2D< T >  iT,
int  iIndexOfVertex 
) [related]

template<typename T >
io::XmlOStream& lass::prim::operator<< ( io::XmlOStream &  ioOStream,
const Triangle3D< T > &  iTriangle 
) [related]

template<typename T >
std::ostream& lass::prim::operator<< ( std::ostream &  ioOStream,
const Triangle3D< T > &  iTriangle 
) [related]

template<typename T >
Vector2D<T>::TValue lass::prim::dot ( const Vector2D< T > &  a,
const Vector2D< T > &  b 
) [related]

Referenced by lass::prim::SimplePolygon3D< T, PlaneEquationPolicy, PlaneNormalizingPolicy >::clip(), lass::prim::Vector2D< T >::cos(), lass::prim::impl::Plane3DParametric< T, NormalizingPolicy >::equation(), lass::prim::impl::Plane3DCombined< T, NormalizingPolicy >::equation(), lass::prim::impl::Plane3DCartesian< T, NormalizingPolicy >::equation(), lass::prim::impl::Line2DParametric< T, NormalizingPolicy >::equation(), lass::prim::impl::Line2DCombined< T, NormalizingPolicy >::equation(), lass::prim::impl::Line2DCartesian< T, NormalizingPolicy >::equation(), lass::prim::impl::Plane3DImplDetail::generateCartesian(), lass::prim::impl::Plane3DImplDetail::generateReciprocal(), lass::prim::impl::Line2DParametric< T, NormalizingPolicy >::getCartesian(), lass::spat::PlanarMesh::insertEdge(), lass::prim::impl::RaySphere< Normalized >::intersect(), lass::prim::impl::RaySphere< NormalizingPolicy >::intersect(), lass::prim::Ray3D< T, NormalizingPolicy, ParameterPolicy >::intersect(), lass::prim::Parallelogram3D< T >::intersect(), lass::prim::impl::intersectTriangle3D(), lass::prim::SimplePolygon3D< T, PlaneEquationPolicy, PlaneNormalizingPolicy >::isReflex(), lass::prim::impl::Line2DCartesian< T, NormalizingPolicy >::Line2DCartesian(), lass::prim::impl::Line2DCombined< T, NormalizingPolicy >::Line2DCombined(), lass::spat::impl::EdgeGatherer::makeRectangular(), lass::prim::Ray3D< T, NormalizingPolicy, ParameterPolicy >::project(), lass::prim::Ray2D< T, NormalizingPolicy, ParameterPolicy >::project(), lass::prim::Line3D< T, NormalizingPolicy >::project(), lass::prim::impl::Line2DParametric< T, NormalizingPolicy >::project(), lass::prim::impl::Plane3DParametric< T, NormalizingPolicy >::reject(), lass::prim::impl::Plane3DCombined< T, NormalizingPolicy >::reject(), lass::prim::impl::Plane3DCartesian< T, NormalizingPolicy >::reject(), lass::prim::impl::Line2DCombined< T, NormalizingPolicy >::reject(), lass::prim::impl::Line2DCartesian< T, NormalizingPolicy >::reject(), lass::spat::PlanarMesh::setOrientedEdgeHandle(), lass::prim::SimplePolygon3D< T, PlaneEquationPolicy, PlaneNormalizingPolicy >::signedArea(), lass::prim::TriangleMesh3D< T, BoundingVolumeHierarchy, SplitHeuristics >::smoothNormals(), lass::prim::Triangle2D< T >::squaredDistance(), squaredDistance(), lass::prim::SimplePolygon3D< T, PlaneEquationPolicy, PlaneNormalizingPolicy >::surfaceCentroid(), lass::prim::Ray3D< T, NormalizingPolicy, ParameterPolicy >::t(), lass::prim::Ray2D< T, NormalizingPolicy, ParameterPolicy >::t(), lass::prim::LineSegment3D< T, ParameterPolicy >::t(), lass::prim::LineSegment2D< T, ParameterPolicy >::t(), lass::prim::Line3D< T, NormalizingPolicy >::t(), lass::prim::impl::Line2DParametric< T, NormalizingPolicy >::t(), lass::prim::impl::Line2DCombined< T, NormalizingPolicy >::t(), lass::prim::impl::Line2DCartesian< T, NormalizingPolicy >::t(), lass::prim::impl::Plane3DParametric< T, NormalizingPolicy >::uv(), lass::prim::impl::Plane3DCombined< T, NormalizingPolicy >::uv(), lass::prim::impl::Plane3DCartesian< T, NormalizingPolicy >::uv(), and lass::prim::Parallelogram3D< T >::uv().

template<typename T >
Vector2D<T>::TValue lass::prim::perpDot ( const Vector2D< T > &  a,
const Vector2D< T > &  b 
) [related]

template<typename T >
Vector2D<T>::TValue lass::prim::cos ( const Vector2D< T > &  a,
const Vector2D< T > &  b 
) [related]

template<typename T >
bool lass::prim::operator== ( const Vector2D< T > &  a,
const Vector2D< T > &  b 
) [related]

template<typename T >
bool lass::prim::operator!= ( const Vector2D< T > &  a,
const Vector2D< T > &  b 
) [related]

template<typename T >
Vector2D<T> lass::prim::operator+ ( const Vector2D< T > &  a,
const Vector2D< T > &  b 
) [related]

template<typename T >
Vector2D<T> lass::prim::operator- ( const Vector2D< T > &  a,
const Vector2D< T > &  b 
) [related]

template<typename T >
Vector2D<T> lass::prim::operator* ( const Vector2D< T > &  a,
const Vector2D< T > &  b 
) [related]

template<typename T >
Vector2D<T> lass::prim::operator/ ( const Vector2D< T > &  a,
const Vector2D< T > &  b 
) [related]

template<typename T >
Vector2D<T> lass::prim::operator+ ( const Vector2D< T > &  a,
typename Vector2D< T >::TParam  b 
) [inline]

template<typename T >
Vector2D<T> lass::prim::operator- ( const Vector2D< T > &  a,
typename Vector2D< T >::TParam  b 
) [inline]

template<typename T >
Vector2D<T> lass::prim::operator* ( const Vector2D< T > &  a,
typename Vector2D< T >::TParam  b 
) [inline]

template<typename T >
Vector2D<T> lass::prim::operator/ ( const Vector2D< T > &  a,
typename Vector2D< T >::TParam  b 
) [inline]

template<typename T >
Vector2D<T> lass::prim::operator+ ( typename Vector2D< T >::TParam  a,
const Vector2D< T > &  b 
) [inline]

template<typename T >
Vector2D<T> lass::prim::operator- ( typename Vector2D< T >::TParam  a,
const Vector2D< T > &  b 
) [inline]

template<typename T >
Vector2D<T> lass::prim::operator* ( typename Vector2D< T >::TParam  a,
const Vector2D< T > &  b 
) [inline]

template<typename T >
Vector2D<T> lass::prim::pointwiseMin ( const Vector2D< T > &  a,
const Vector2D< T > &  b 
) [related]

template<typename T >
Vector2D<T> lass::prim::pointwiseMax ( const Vector2D< T > &  a,
const Vector2D< T > &  b 
) [related]

template<typename T >
Vector2D<T> lass::prim::lerp ( typename Vector2D< T >::TParam  a,
const Vector2D< T > &  b,
typename Vector2D< T >::TParam  t 
) [inline]

template<typename T , typename Char , typename Traits >
std::basic_ostream<Char, Traits>& lass::prim::operator<< ( std::basic_ostream< Char, Traits > &  stream,
const Vector2D< T > &  b 
) [related]

template<typename T , typename Char , typename Traits >
std::basic_istream<Char, Traits>& lass::prim::operator>> ( std::basic_istream< Char, Traits > &  ioIStream,
Vector2D< T > &  b 
) [related]

template<typename T >
io::XmlOStream& lass::prim::operator<< ( io::XmlOStream &  stream,
const Vector2D< T > &  b 
) [related]

template<typename T >
Vector3D<T>::TValue lass::prim::dot ( const Vector3D< T > &  a,
const Vector3D< T > &  b 
) [related]

template<typename T >
Vector3D<T> lass::prim::cross ( const Vector3D< T > &  a,
const Vector3D< T > &  b 
) [related]

template<typename T >
bool lass::prim::operator== ( const Vector3D< T > &  a,
const Vector3D< T > &  b 
) [related]

template<typename T >
bool lass::prim::operator!= ( const Vector3D< T > &  a,
const Vector3D< T > &  b 
) [related]

template<typename T >
Vector3D<T> lass::prim::operator+ ( const Vector3D< T > &  a,
const Vector3D< T > &  b 
) [related]

template<typename T >
Vector3D<T> lass::prim::operator- ( const Vector3D< T > &  a,
const Vector3D< T > &  b 
) [related]

template<typename T >
Vector3D<T> lass::prim::operator* ( const Vector3D< T > &  a,
const Vector3D< T > &  b 
) [related]

template<typename T >
Vector3D<T> lass::prim::operator/ ( const Vector3D< T > &  a,
const Vector3D< T > &  b 
) [related]

template<typename T >
Vector3D<T> lass::prim::operator+ ( const Vector3D< T > &  a,
typename Vector3D< T >::TParam  b 
) [inline]

template<typename T >
Vector3D<T> lass::prim::operator- ( const Vector3D< T > &  a,
typename Vector3D< T >::TParam  b 
) [inline]

template<typename T >
Vector3D<T> lass::prim::operator* ( const Vector3D< T > &  a,
typename Vector3D< T >::TParam  b 
) [inline]

template<typename T >
Vector3D<T> lass::prim::operator/ ( const Vector3D< T > &  a,
typename Vector3D< T >::TParam  b 
) [inline]

template<typename T >
Vector3D<T> lass::prim::operator+ ( typename Vector3D< T >::TParam  a,
const Vector3D< T > &  b 
) [inline]

template<typename T >
Vector3D<T> lass::prim::operator- ( typename Vector3D< T >::TParam  a,
const Vector3D< T > &  b 
) [inline]

template<typename T >
Vector3D<T> lass::prim::operator* ( typename Vector3D< T >::TParam  a,
const Vector3D< T > &  b 
) [inline]

template<typename T >
Vector3D<T> lass::prim::pointwiseMin ( const Vector3D< T > &  a,
const Vector3D< T > &  b 
) [related]

template<typename T >
Vector3D<T> lass::prim::pointwiseMax ( const Vector3D< T > &  a,
const Vector3D< T > &  b 
) [related]

template<typename T >
Vector3D<T> lass::prim::lerp ( const Vector3D< T > &  a,
const Vector3D< T > &  b,
typename Vector3D< T >::TParam  t 
) [inline]

template<typename T , typename Char , typename Traits >
std::basic_ostream<Char, Traits>& lass::prim::operator<< ( std::basic_ostream< Char, Traits > &  stream,
const Vector3D< T > &  b 
) [related]

template<typename T , typename Char , typename Traits >
std::basic_istream<Char, Traits>& lass::prim::operator>> ( std::basic_istream< Char, Traits > &  stream,
Vector3D< T > &  b 
) [related]

template<typename T >
io::XmlOStream& lass::prim::operator<< ( io::XmlOStream &  stream,
const Vector3D< T > &  b 
) [related]

template<typename T >
Vector4D<T>::TValue lass::prim::dot ( const Vector4D< T > &  a,
const Vector4D< T > &  b 
) [related]

template<typename T >
bool lass::prim::operator== ( const Vector4D< T > &  a,
const Vector4D< T > &  b 
) [related]

template<typename T >
bool lass::prim::operator!= ( const Vector4D< T > &  a,
const Vector4D< T > &  b 
) [related]

template<typename T >
Vector4D<T> lass::prim::operator+ ( const Vector4D< T > &  a,
const Vector4D< T > &  b 
) [related]

template<typename T >
Vector4D<T> lass::prim::operator- ( const Vector4D< T > &  a,
const Vector4D< T > &  b 
) [related]

template<typename T >
Vector4D<T> lass::prim::operator* ( const Vector4D< T > &  a,
const Vector4D< T > &  b 
) [related]

template<typename T >
Vector4D<T> lass::prim::operator/ ( const Vector4D< T > &  a,
const Vector4D< T > &  b 
) [related]

template<typename T >
Vector4D<T> lass::prim::operator+ ( const Vector4D< T > &  a,
typename Vector4D< T >::TParam  b 
) [inline]

template<typename T >
Vector4D<T> lass::prim::operator- ( const Vector4D< T > &  a,
typename Vector4D< T >::TParam  b 
) [inline]

template<typename T >
Vector4D<T> lass::prim::operator* ( const Vector4D< T > &  a,
typename Vector4D< T >::TParam  b 
) [inline]

template<typename T >
Vector4D<T> lass::prim::operator/ ( const Vector4D< T > &  a,
typename Vector4D< T >::TParam  b 
) [inline]

template<typename T >
Vector4D<T> lass::prim::operator+ ( typename Vector4D< T >::TParam  a,
const Vector4D< T > &  b 
) [inline]

template<typename T >
Vector4D<T> lass::prim::operator- ( typename Vector4D< T >::TParam  a,
const Vector4D< T > &  b 
) [inline]

template<typename T >
Vector4D<T> lass::prim::operator* ( typename Vector4D< T >::TParam  a,
const Vector4D< T > &  b 
) [inline]

template<typename T >
Vector4D<T> lass::prim::pointwiseMin ( const Vector4D< T > &  a,
const Vector4D< T > &  b 
) [related]

template<typename T >
Vector4D<T> lass::prim::pointwiseMax ( const Vector4D< T > &  a,
const Vector4D< T > &  b 
) [related]

template<typename T >
Vector4D<T> lass::prim::lerp ( const Vector4D< T > &  a,
const Vector4D< T > &  b,
typename Vector4D< T >::TParam  t 
) [inline]

template<typename T , typename Char , typename Traits >
std::basic_ostream<Char, Traits>& lass::prim::operator<< ( std::basic_ostream< Char, Traits > &  stream,
const Vector4D< T > &  b 
) [related]

template<typename T , typename Char , typename Traits >
std::basic_istream<Char, Traits>& lass::prim::operator>> ( std::basic_istream< Char, Traits > &  stream,
Vector4D< T > &  b 
) [related]

template<typename T >
io::XmlOStream& lass::prim::operator<< ( io::XmlOStream &  stream,
const Vector4D< T > &  b 
) [related]

LASS_DLL bool LASS_CALL lass::prim::operator== ( const XY &  iA,
const XY &  iB 
)

LASS_DLL bool LASS_CALL lass::prim::operator== ( const XY &  iA,
char  iB 
) [related]

LASS_DLL bool LASS_CALL lass::prim::operator== ( char  iA,
const XY &  iB 
) [related]

LASS_DLL bool LASS_CALL lass::prim::operator== ( const XY &  iA,
const std::string &  iB 
) [related]

LASS_DLL bool LASS_CALL lass::prim::operator== ( const std::string &  iA,
const XY &  iB 
) [related]

LASS_DLL bool LASS_CALL lass::prim::operator!= ( const XY &  iA,
const XY &  iB 
) [related]

LASS_DLL bool LASS_CALL lass::prim::operator!= ( const XY &  iA,
char  iB 
) [related]

LASS_DLL bool LASS_CALL lass::prim::operator!= ( char  iA,
const XY &  iB 
) [related]

LASS_DLL bool LASS_CALL lass::prim::operator!= ( const XY &  iA,
const std::string &  iB 
) [related]

LASS_DLL bool LASS_CALL lass::prim::operator!= ( const std::string &  iA,
const XY &  iB 
) [related]

LASS_DLL XY LASS_CALL lass::prim::operator+ ( const XY &  iA,
int  iOffset 
) [related]

LASS_DLL XY LASS_CALL lass::prim::operator- ( const XY &  iA,
int  iOffset 
) [related]

LASS_DLL bool LASS_CALL lass::prim::operator== ( const XYZ &  iA,
const XYZ &  iB 
)

LASS_DLL bool LASS_CALL lass::prim::operator== ( const XYZ &  iA,
char  iB 
) [related]

LASS_DLL bool LASS_CALL lass::prim::operator== ( char  iA,
const XYZ &  iB 
) [related]

LASS_DLL bool LASS_CALL lass::prim::operator== ( const XYZ &  iA,
const std::string &  iB 
) [related]

LASS_DLL bool LASS_CALL lass::prim::operator== ( const std::string &  iA,
const XYZ &  iB 
) [related]

LASS_DLL bool LASS_CALL lass::prim::operator!= ( const XYZ &  iA,
const XYZ &  iB 
) [related]

LASS_DLL bool LASS_CALL lass::prim::operator!= ( const XYZ &  iA,
char  iB 
) [related]

LASS_DLL bool LASS_CALL lass::prim::operator!= ( char  iA,
const XYZ &  iB 
) [related]

LASS_DLL bool LASS_CALL lass::prim::operator!= ( const XYZ &  iA,
const std::string &  iB 
) [related]

LASS_DLL bool LASS_CALL lass::prim::operator!= ( const std::string &  iA,
const XYZ &  iB 
) [related]

LASS_DLL XYZ LASS_CALL lass::prim::operator+ ( const XYZ &  iA,
int  iOffset 
) [related]

LASS_DLL XYZ LASS_CALL lass::prim::operator- ( const XYZ &  iA,
int  iOffset 
) [related]

LASS_DLL bool LASS_CALL lass::prim::operator== ( const XYZW &  iA,
const XYZW &  iB 
)

LASS_DLL bool LASS_CALL lass::prim::operator== ( const XYZW &  iA,
char  iB 
) [related]

LASS_DLL bool LASS_CALL lass::prim::operator== ( char  iA,
const XYZW &  iB 
) [related]

LASS_DLL bool LASS_CALL lass::prim::operator== ( const XYZW &  iA,
const std::string &  iB 
) [related]

LASS_DLL bool LASS_CALL lass::prim::operator== ( const std::string &  iA,
const XYZW &  iB 
) [related]

LASS_DLL bool LASS_CALL lass::prim::operator!= ( const XYZW &  iA,
const XYZW &  iB 
) [related]

LASS_DLL bool LASS_CALL lass::prim::operator!= ( const XYZW &  iA,
char  iB 
) [related]

LASS_DLL bool LASS_CALL lass::prim::operator!= ( char  iA,
const XYZW &  iB 
) [related]

LASS_DLL bool LASS_CALL lass::prim::operator!= ( const XYZW &  iA,
const std::string &  iB 
) [related]

LASS_DLL bool LASS_CALL lass::prim::operator!= ( const std::string &  iA,
const XYZW &  iB 
) [related]

LASS_DLL XYZW LASS_CALL lass::prim::operator+ ( const XYZW &  iA,
int  iOffset 
) [related]

LASS_DLL XYZW LASS_CALL lass::prim::operator- ( const XYZW &  iA,
int  iOffset 
) [related]


Generated on Mon Nov 10 14:22:11 2008 for Library of Assembled Shared Sources by doxygen 1.5.7.1
SourceForge.net Logo