library of assembled shared sources |
http://lass.cocamware.com |
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 > | |
T | distance (const Aabb2D< T, MMP > &a, const Point2D< T > &b) |
template<typename T , class MMPa , class MMPb > | |
T | 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::XmlOStream & | operator<< (io::XmlOStream &ioOStream, const Aabb2D< T, MMP > &aabb) |
template<typename T , class MMP > | |
io::MatlabOStream & | operator<< (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 > | |
T | distance (const Aabb3D< T, MMP > &a, const Point3D< T > &b) |
template<typename T , class MMPa , class MMPb > | |
T | 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::XmlOStream & | operator<< (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 > | |
T | signedDistance (const Point2D< T > &iA, const Line2D< T, EP, NP > &iB) |
template<typename T , class EPa , class NPa , class EPb , class NPb > | |
T | 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::XmlOStream & | operator<< (io::XmlOStream &ioOStream, const Line2D< T, Cartesian > &iLine) |
template<typename T > | |
io::XmlOStream & | operator<< (io::XmlOStream &ioOStream, const Line2D< T, Parametric > &iLine) |
template<typename T > | |
io::XmlOStream & | operator<< (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::XmlOStream & | operator<< (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 > | |
T | squaredDistance (const LineSegment2D< T, PP > &segment, const Point2D< T > &point) |
template<typename T , class PP > | |
T | 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::XmlOStream & | operator<< (io::XmlOStream &stream, const LineSegment2D< T, PP > &segment) |
template<typename T , class PP > | |
lass::io::MatlabOStream & | operator<< (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::XmlOStream & | operator<< (io::XmlOStream &oOStream, const LineSegment3D< T, PP > &iB) |
template<typename T , class PP > | |
lass::io::MatlabOStream & | operator<< (lass::io::MatlabOStream &oOStream, const LineSegment3D< T, PP > &iLineSegment) |
template<typename T , class PP1 , class NP2 , class PP2 > | |
T | 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 > | |
T | 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 > | |
T | closestsPoints (const LineSegment3D< T, PP1 > &lineSegment, const Ray3D< T, NP2, PP2 > &ray, T &tSeg, T &tRay, const T &tMin=T()) |
template<typename T > | |
io::XmlOStream & | operator<< (io::XmlOStream &ioOStream, const Parallelogram3D< T > &iParallelogram) |
template<typename T > | |
std::ostream & | operator<< (std::ostream &ioOStream, const Parallelogram3D< T > &iParallelogram) |
template<typename T > | |
io::XmlOStream & | operator<< (io::XmlOStream &ioOStream, const Plane3D< T, Cartesian > &iPlane) |
template<typename T > | |
io::XmlOStream & | operator<< (io::XmlOStream &ioOStream, const Plane3D< T, Parametric > &iPlane) |
template<typename T > | |
io::XmlOStream & | operator<< (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::XmlOStream & | operator<< (io::XmlOStream &stream, const Point2D< T > &b) |
template<typename T > | |
std::istream & | operator>> (std::istream &stream, Point2D< T > &b) |
template<typename T > | |
lass::io::MatlabOStream & | operator<< (lass::io::MatlabOStream &stream, const Point2D< T > &b) |
template<typename T > | |
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 > | |
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::XmlOStream & | operator<< (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::XmlOStream & | operator<< (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::XmlOStream & | operator<< (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::XmlOStream & | operator<< (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::XmlOStream & | operator<< (io::XmlOStream &oOStream, const Ray3D< T, NP, PP > &iB) |
template<typename T , class DP > | |
io::XmlOStream & | operator<< (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::MatlabOStream & | operator<< (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::XmlOStream & | operator<< (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::XmlOStream & | operator<< (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::XmlOStream & | operator<< (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::XmlOStream & | operator<< (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::XmlOStream & | operator<< (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::MatlabOStream & | operator<< (lass::io::MatlabOStream &oOStream, const Triangle2D< T > &iTriangle) |
template<typename T > | |
T | partialVoronoiArea (const Triangle2D< T > iT, int iIndexOfVertex) |
template<typename T > | |
io::XmlOStream & | operator<< (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::XmlOStream & | operator<< (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::XmlOStream & | operator<< (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::XmlOStream & | operator<< (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) |
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.
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:
.x or
.y members of a vector. With these iterators, you can access those components through the operator
[] .
enumeration of clockwise versus counterclockwise
oInvalid | invalid state |
oClockWise | clockwise orientation |
oCounterClockWise | counterclockwise orientation |
Definition at line 57 of file orientation.h.
enum lass::prim::Result |
meta information on the result you have from an operation like an intersection .
..
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).
enum lass::prim::Side |
Different sides of a surface.
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
const Aabb2D<T, MMPa> lass::prim::operator+ | ( | const Aabb2D< T, MMPa > & | a, | |
const Aabb2D< T, MMPb > & | b | |||
) | [related] |
const Aabb2D<T, MMP> lass::prim::operator+ | ( | const Aabb2D< T, MMP > & | a, | |
const Point2D< T > & | b | |||
) | [related] |
const Aabb2D<T, MMP> lass::prim::operator+ | ( | const Point2D< T > & | a, | |
const Aabb2D< T, MMP > & | b | |||
) | [related] |
const Aabb2D<T> lass::prim::aabb | ( | const Point2D< T > & | point | ) | [related] |
T lass::prim::distance | ( | const Aabb2D< T, MMP > & | a, | |
const Point2D< T > & | b | |||
) | [related] |
T lass::prim::distance | ( | const Aabb2D< T, MMPa > & | a, | |
const Aabb2D< T, MMPb > & | b | |||
) | [related] |
Result lass::prim::intersect | ( | const Aabb2D< T, MMPa > & | a, | |
const Aabb2D< T, MMPb > & | b, | |||
Aabb2D< T, MMPr > & | result | |||
) | [related] |
Referenced by lass::spat::PlanarMesh::insertEdge(), lass::prim::SimplePolygon3D< T, PlaneEquationPolicy, PlaneNormalizingPolicy >::intersect(), lass::prim::Parallelogram3D< T >::intersect(), lass::prim::Line2D< T, EquationPolicy, NormalizingPolicy >::intersect(), and lass::prim::Triangle2D< T >::partialVoronoiArea().
const bool lass::prim::intersects | ( | const Aabb2D< T, MMPa > & | a, | |
const Aabb2D< T, MMPb > & | b | |||
) | [related] |
Referenced by lass::prim::Sphere3D< T >::intersects(), and intersects().
const bool lass::prim::intersects | ( | const Aabb2D< T, MMP > & | a, | |
const Point2D< T > & | b | |||
) | [related] |
const bool lass::prim::intersects | ( | const Point2D< T > & | a, | |
const Aabb2D< T, MMP > & | b | |||
) | [related] |
const bool lass::prim::collides | ( | const Aabb2D< T, MMPa > & | a, | |
const Aabb2D< T, MMPb > & | b | |||
) | [related] |
const bool lass::prim::collides | ( | const Aabb2D< T, MMP > & | a, | |
const Point2D< T > & | b | |||
) | [related] |
const bool lass::prim::collides | ( | const Point2D< T > & | a, | |
const Aabb2D< T, MMP > & | b | |||
) | [related] |
std::ostream& lass::prim::operator<< | ( | std::ostream & | ioOStream, | |
const Aabb2D< T, MMP > & | aabb | |||
) | [related] |
io::XmlOStream& lass::prim::operator<< | ( | io::XmlOStream & | ioOStream, | |
const Aabb2D< T, MMP > & | aabb | |||
) | [related] |
io::MatlabOStream& lass::prim::operator<< | ( | io::MatlabOStream & | ioOStream, | |
const Aabb2D< T, MMP > & | aabb | |||
) | [related] |
const bool lass::prim::intersects | ( | const Triangle2D< T > & | triangle, | |
const Aabb2D< T, MMP > & | box | |||
) | [inline] |
Definition at line 73 of file aabb_2d_triangle_2d.h.
References aabb(), lass::prim::Aabb2D< T, MinMaxPolicy >::intersects(), LASS_ASSERT, lass::prim::Aabb2D< T, MinMaxPolicy >::max(), lass::prim::Aabb2D< T, MinMaxPolicy >::min(), and perpDot().
const bool lass::prim::intersects | ( | const Aabb2D< T, MMP > & | box, | |
const Triangle2D< T > & | triangle | |||
) | [inline] |
const bool lass::prim::collides | ( | const Triangle2D< T > & | triangle, | |
const Aabb2D< T, MMP > & | box | |||
) | [inline] |
Definition at line 134 of file aabb_2d_triangle_2d.h.
References aabb(), lass::prim::Aabb2D< T, MinMaxPolicy >::collides(), LASS_ASSERT, lass::prim::Aabb2D< T, MinMaxPolicy >::max(), lass::prim::Aabb2D< T, MinMaxPolicy >::min(), and perpDot().
const bool lass::prim::collides | ( | const Aabb2D< T, MMP > & | box, | |
const Triangle2D< T > & | triangle | |||
) | [inline] |
const Aabb3D<T, MMPa> lass::prim::operator+ | ( | const Aabb3D< T, MMPa > & | a, | |
const Aabb3D< T, MMPb > & | b | |||
) | [related] |
const Aabb3D<T, MMP> lass::prim::operator+ | ( | const Aabb3D< T, MMP > & | a, | |
const Point3D< T > & | b | |||
) | [related] |
const Aabb3D<T, MMP> lass::prim::operator+ | ( | const Point3D< T > & | a, | |
const Aabb3D< T, MMP > & | b | |||
) | [related] |
const Aabb3D<T> lass::prim::aabb | ( | const Point3D< T > & | point | ) | [related] |
T lass::prim::distance | ( | const Aabb3D< T, MMP > & | a, | |
const Point3D< T > & | b | |||
) | [related] |
T lass::prim::distance | ( | const Aabb3D< T, MMPa > & | a, | |
const Aabb3D< T, MMPb > & | b | |||
) | [related] |
Result lass::prim::intersect | ( | const Aabb3D< T, MMPa > & | a, | |
const Aabb3D< T, MMPb > & | b, | |||
Aabb3D< T, MMPr > & | result | |||
) | [related] |
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().
const bool lass::prim::intersects | ( | const Aabb3D< T, MMP > & | a, | |
const Point3D< T > & | b | |||
) | [related] |
const bool lass::prim::intersects | ( | const Point3D< T > & | a, | |
const Aabb3D< T, MMP > & | b | |||
) | [related] |
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().
const bool lass::prim::collides | ( | const Aabb3D< T, MMP > & | a, | |
const Point3D< T > & | b | |||
) | [related] |
const bool lass::prim::collides | ( | const Point3D< T > & | a, | |
const Aabb3D< T, MMP > & | b | |||
) | [related] |
std::ostream& lass::prim::operator<< | ( | std::ostream & | stream, | |
const Aabb3D< T, MMP > & | aabb | |||
) | [related] |
io::XmlOStream& lass::prim::operator<< | ( | io::XmlOStream & | stream, | |
const Aabb3D< T, MMP > & | aabb | |||
) | [related] |
bool lass::prim::triangulate | ( | const SimplePolygon2D< T, DegenerationPolicy > & | iPolygon, | |
std::vector< Triangle2D< T > > & | oTriangles | |||
) | [inline] |
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.
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
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.
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.
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 | |||
) |
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.
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).
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] |
T lass::prim::signedDistance | ( | const Point2D< T > & | iA, | |
const Line2D< T, EP, NP > & | iB | |||
) | [inline] |
T lass::prim::signedDistance | ( | const Line2D< T, EPa, NPa > & | iA, | |
const Line2D< T, EPb, NPb > & | iB | |||
) | [inline] |
Result lass::prim::intersect | ( | const Line2D< T, EPa, NPa > & | iA, | |
const Line2D< T, EPb, NPb > & | iB, | |||
T & | oTa, | |||
T & | oTb | |||
) | [related] |
Result lass::prim::intersect | ( | const Line2D< T, EPa, NPa > & | iA, | |
const Line2D< T, EPb, NPb > & | iB, | |||
Point2D< T > & | oPoint | |||
) | [related] |
io::XmlOStream& lass::prim::operator<< | ( | io::XmlOStream & | ioOStream, | |
const Line2D< T, Cartesian > & | iLine | |||
) | [related] |
io::XmlOStream& lass::prim::operator<< | ( | io::XmlOStream & | ioOStream, | |
const Line2D< T, Parametric > & | iLine | |||
) | [related] |
io::XmlOStream& lass::prim::operator<< | ( | io::XmlOStream & | ioOStream, | |
const Line2D< T, Combined > & | iLine | |||
) | [related] |
std::ostream& lass::prim::operator<< | ( | std::ostream & | oOStream, | |
const Line3D< T, NP > & | iB | |||
) | [related] |
io::XmlOStream& lass::prim::operator<< | ( | io::XmlOStream & | oOStream, | |
const Line3D< T, NP > & | iB | |||
) | [related] |
bool lass::prim::operator== | ( | const LineSegment2D< T, PPa > & | a, | |
const LineSegment2D< T, PPb > & | b | |||
) | [related] |
bool lass::prim::operator!= | ( | const LineSegment2D< T, PPa > & | a, | |
const LineSegment2D< T, PPb > & | b | |||
) | [related] |
T lass::prim::squaredDistance | ( | const LineSegment2D< T, PP > & | segment, | |
const Point2D< T > & | point | |||
) | [inline] |
Definition at line 164 of file line_segment_2d.inl.
References dot(), lass::prim::LineSegment2D< T, ParameterPolicy >::head(), lass::prim::LineSegment2D< T, ParameterPolicy >::tail(), and lass::prim::LineSegment2D< T, ParameterPolicy >::vector().
Referenced by closestsPoints(), lass::prim::Triangle2D< T >::distance(), distance(), and squaredDistance().
T lass::prim::distance | ( | const LineSegment2D< T, PP > & | segment, | |
const Point2D< T > & | point | |||
) | [inline] |
Result lass::prim::intersect | ( | const LineSegment2D< T, PPa > & | a, | |
const LineSegment2D< T, PPb > & | b, | |||
T & | tA, | |||
T & | tB | |||
) | [related] |
Result lass::prim::intersect | ( | const LineSegment2D< T, PPa > & | a, | |
const LineSegment2D< T, PPb > & | b, | |||
Point2D< T > & | point | |||
) | [related] |
std::ostream& lass::prim::operator<< | ( | std::ostream & | stream, | |
const LineSegment2D< T, PP > & | segment | |||
) | [related] |
io::XmlOStream& lass::prim::operator<< | ( | io::XmlOStream & | stream, | |
const LineSegment2D< T, PP > & | segment | |||
) | [related] |
lass::io::MatlabOStream& lass::prim::operator<< | ( | lass::io::MatlabOStream & | stream, | |
const LineSegment2D< T, PP > & | segment | |||
) | [related] |
bool lass::prim::operator== | ( | const LineSegment3D< T, PPa > & | iA, | |
const LineSegment3D< T, PPb > & | iB | |||
) | [related] |
bool lass::prim::operator!= | ( | const LineSegment3D< T, PPa > & | iA, | |
const LineSegment3D< T, PPb > & | iB | |||
) | [related] |
Result lass::prim::intersect | ( | const LineSegment3D< T, PPa > & | iA, | |
const LineSegment3D< T, PPb > & | iB, | |||
T & | oTa, | |||
T & | oTb | |||
) | [inline] |
Result lass::prim::intersect | ( | const LineSegment3D< T, PPa > & | iA, | |
const LineSegment3D< T, PPb > & | iB, | |||
Point3D< T > & | oPoint | |||
) | [inline] |
std::ostream& lass::prim::operator<< | ( | std::ostream & | oOStream, | |
const LineSegment3D< T, PP > & | iB | |||
) | [related] |
io::XmlOStream& lass::prim::operator<< | ( | io::XmlOStream & | oOStream, | |
const LineSegment3D< T, PP > & | iB | |||
) | [related] |
lass::io::MatlabOStream& lass::prim::operator<< | ( | lass::io::MatlabOStream & | oOStream, | |
const LineSegment3D< T, PP > & | iLineSegment | |||
) | [inline] |
T lass::prim::distance | ( | const LineSegment3D< T, PP1 > & | lineSegment, | |
const Ray3D< T, NP2, PP2 > & | ray, | |||
const T & | tMin = T() | |||
) | [inline] |
T lass::prim::squaredDistance | ( | const LineSegment3D< T, PP1 > & | lineSegment, | |
const Ray3D< T, NP2, PP2 > & | ray, | |||
const T & | tMin = T() | |||
) | [inline] |
Definition at line 65 of file line_segment_3d_ray_3d.h.
References lass::num::abs(), cross(), lass::prim::Ray3D< T, NormalizingPolicy, ParameterPolicy >::direction(), lass::prim::LineSegment3D< T, ParameterPolicy >::head(), lass::prim::LineSegment3D< T, ParameterPolicy >::point(), lass::prim::Ray3D< T, NormalizingPolicy, ParameterPolicy >::point(), lass::prim::Ray3D< T, NormalizingPolicy, ParameterPolicy >::project(), lass::prim::LineSegment3D< T, ParameterPolicy >::squaredDistance(), squaredDistance(), lass::prim::Ray3D< T, NormalizingPolicy, ParameterPolicy >::support(), lass::prim::LineSegment3D< T, ParameterPolicy >::t(), lass::prim::Ray3D< T, NormalizingPolicy, ParameterPolicy >::t(), lass::prim::LineSegment3D< T, ParameterPolicy >::tail(), and lass::prim::LineSegment3D< T, ParameterPolicy >::vector().
T lass::prim::closestsPoints | ( | const LineSegment3D< T, PP1 > & | lineSegment, | |
const Ray3D< T, NP2, PP2 > & | ray, | |||
T & | tSeg, | |||
T & | tRay, | |||
const T & | tMin = T() | |||
) | [inline] |
Definition at line 142 of file line_segment_3d_ray_3d.h.
References lass::num::abs(), lass::prim::LineSegment3D< T, ParameterPolicy >::closestsPoint(), cross(), lass::prim::Ray3D< T, NormalizingPolicy, ParameterPolicy >::direction(), lass::prim::LineSegment3D< T, ParameterPolicy >::head(), lass::prim::LineSegment3D< T, ParameterPolicy >::point(), lass::prim::Ray3D< T, NormalizingPolicy, ParameterPolicy >::point(), lass::prim::Ray3D< T, NormalizingPolicy, ParameterPolicy >::project(), squaredDistance(), lass::prim::Ray3D< T, NormalizingPolicy, ParameterPolicy >::support(), lass::prim::LineSegment3D< T, ParameterPolicy >::t(), lass::prim::Ray3D< T, NormalizingPolicy, ParameterPolicy >::t(), lass::prim::LineSegment3D< T, ParameterPolicy >::tail(), and lass::prim::LineSegment3D< T, ParameterPolicy >::vector().
io::XmlOStream& lass::prim::operator<< | ( | io::XmlOStream & | ioOStream, | |
const Parallelogram3D< T > & | iParallelogram | |||
) | [related] |
std::ostream& lass::prim::operator<< | ( | std::ostream & | ioOStream, | |
const Parallelogram3D< T > & | iParallelogram | |||
) | [related] |
io::XmlOStream& lass::prim::operator<< | ( | io::XmlOStream & | ioOStream, | |
const Plane3D< T, Cartesian > & | iPlane | |||
) | [related] |
io::XmlOStream& lass::prim::operator<< | ( | io::XmlOStream & | ioOStream, | |
const Plane3D< T, Parametric > & | iPlane | |||
) | [related] |
io::XmlOStream& lass::prim::operator<< | ( | io::XmlOStream & | ioOStream, | |
const Plane3D< T, Combined > & | iPlane | |||
) | [related] |
bool lass::prim::operator== | ( | const Point2D< T > & | a, | |
const Point2D< T > & | b | |||
) | [related] |
bool lass::prim::operator!= | ( | const Point2D< T > & | a, | |
const Point2D< T > & | b | |||
) | [related] |
Point2D<T> lass::prim::operator+ | ( | const Point2D< T > & | a, | |
const Vector2D< T > & | b | |||
) | [related] |
Point2D<T> lass::prim::operator+ | ( | const Vector2D< T > & | a, | |
const Point2D< T > & | b | |||
) | [related] |
Point2D<T> lass::prim::operator- | ( | const Point2D< T > & | a, | |
const Vector2D< T > & | b | |||
) | [related] |
Vector2D<T> lass::prim::operator- | ( | const Point2D< T > & | a, | |
const Point2D< T > & | b | |||
) | [related] |
Point2D<T>::TValue lass::prim::distance | ( | const Point2D< T > & | a, | |
const Point2D< T > & | b | |||
) | [related] |
Point2D<T>::TValue lass::prim::squaredDistance | ( | const Point2D< T > & | a, | |
const Point2D< T > & | b | |||
) | [related] |
Point2D<T> lass::prim::pointwiseMin | ( | const Point2D< T > & | a, | |
const Point2D< T > & | b | |||
) | [related] |
Referenced by lass::prim::AutoMinMax::checkMinMax(), lass::prim::StrictMinMax::checkMinMax(), lass::prim::Aabb3D< T, MinMaxPolicy >::intersect(), lass::prim::Aabb2D< T, MinMaxPolicy >::intersect(), lass::prim::Aabb3D< T, MinMaxPolicy >::operator+=(), lass::prim::Aabb2D< T, MinMaxPolicy >::operator+=(), lass::prim::AutoMinMax::setMax(), lass::prim::StrictMinMax::setMax(), and lass::prim::StrictMinMax::setMin().
Point2D<T> lass::prim::pointwiseMax | ( | const Point2D< T > & | a, | |
const Point2D< T > & | b | |||
) | [related] |
Referenced by lass::prim::AutoMinMax::checkMinMax(), lass::prim::Aabb3D< T, MinMaxPolicy >::collides(), lass::prim::Aabb3D< T, MinMaxPolicy >::distance(), lass::prim::Aabb2D< T, MinMaxPolicy >::distance(), lass::prim::Aabb3D< T, MinMaxPolicy >::intersect(), lass::prim::Aabb2D< T, MinMaxPolicy >::intersect(), lass::prim::Aabb3D< T, MinMaxPolicy >::intersects(), lass::prim::Aabb3D< T, MinMaxPolicy >::operator+=(), lass::prim::Aabb2D< T, MinMaxPolicy >::operator+=(), and lass::prim::AutoMinMax::setMin().
Point2D<T> lass::prim::lerp | ( | const Point2D< T > & | a, | |
const Point2D< T > & | b, | |||
typename Point2D< T >::TParam | t | |||
) | [inline] |
Referenced by lass::prim::Point3D< T >::lerp(), and lass::prim::Point2D< T >::lerp().
std::ostream& lass::prim::operator<< | ( | std::ostream & | stream, | |
const Point2D< T > & | b | |||
) | [related] |
io::XmlOStream& lass::prim::operator<< | ( | io::XmlOStream & | stream, | |
const Point2D< T > & | b | |||
) | [related] |
std::istream& lass::prim::operator>> | ( | std::istream & | stream, | |
Point2D< T > & | b | |||
) | [related] |
lass::io::MatlabOStream& lass::prim::operator<< | ( | lass::io::MatlabOStream & | stream, | |
const Point2D< T > & | b | |||
) | [related] |
T lass::prim::doubleTriangleArea | ( | const Point2D< T > & | a, | |
const Point2D< T > & | b, | |||
const Point2D< T > & | c | |||
) | [related] |
Referenced by lass::prim::Point2D< T >::ccw(), lass::prim::Ray2D< T, NormalizingPolicy, ParameterPolicy >::classify(), lass::prim::Point2D< T >::cw(), lass::spat::impl::BrutePointLocatorVerbose::findEdge(), lass::prim::Point2D< T >::inCircle(), lass::spat::PlanarMesh::insertEdge(), lass::spat::PlanarMesh::insertSite(), lass::prim::LineSegment2D< T, ParameterPolicy >::intersect(), lass::spat::impl::EdgeGatherer::makeConvexPolygon(), lass::spat::PlanarMesh::onEdge(), lass::spat::PlanarMesh::pointShoot(), lass::spat::PlanarMesh::pointWalk(), lass::spat::PlanarMesh::shoot(), lass::spat::PlanarMesh::snap(), lass::spat::PlanarMesh::walk(), lass::prim::Point2D< T >::weakCcw(), and lass::prim::Point2D< T >::weakCw().
bool lass::prim::cw | ( | const Point2D< T > & | a, | |
const Point2D< T > & | b, | |||
const Point2D< T > & | c | |||
) | [related] |
bool lass::prim::ccw | ( | const Point2D< T > & | a, | |
const Point2D< T > & | b, | |||
const Point2D< T > & | c | |||
) | [related] |
bool lass::prim::weakCw | ( | const Point2D< T > & | a, | |
const Point2D< T > & | b, | |||
const Point2D< T > & | c | |||
) | [related] |
bool lass::prim::weakCcw | ( | const Point2D< T > & | a, | |
const Point2D< T > & | b, | |||
const Point2D< T > & | c | |||
) | [related] |
bool lass::prim::inCircle | ( | const Point2D< T > & | a, | |
const Point2D< T > & | b, | |||
const Point2D< T > & | c, | |||
const Point2D< T > & | d | |||
) | [related] |
T lass::prim::preciseDoubleTriangleArea | ( | const Point2D< T > & | a, | |
const Point2D< T > & | b, | |||
const Point2D< T > & | c | |||
) | [inline] |
bool lass::prim::operator== | ( | const Point2DH< T > & | iA, | |
const Point2DH< T > & | iB | |||
) | [related] |
bool lass::prim::operator!= | ( | const Point2DH< T > & | iA, | |
const Point2DH< T > & | iB | |||
) | [related] |
Point2DH<T> lass::prim::operator+ | ( | const Point2DH< T > & | iA, | |
const Point2DH< T > & | iB | |||
) | [related] |
Point2DH<T> lass::prim::operator+ | ( | const Point2DH< T > & | iA, | |
const Point2D< T > & | iB | |||
) | [related] |
Point2DH<T> lass::prim::operator+ | ( | const Point2D< T > & | iA, | |
const Point2DH< T > & | iB | |||
) | [related] |
Point2DH<T> lass::prim::operator+ | ( | const Point2D< T > & | iA, | |
const Point2D< T > & | iB | |||
) | [related] |
Point2DH<T> lass::prim::operator- | ( | const Point2DH< T > & | iA, | |
const Point2DH< T > & | iB | |||
) | [related] |
Point2DH<T> lass::prim::operator* | ( | const Point2DH< T > & | iA, | |
typename Point2DH< T >::TParam | iB | |||
) | [inline] |
Point2DH<T> lass::prim::operator/ | ( | const Point2DH< T > & | iA, | |
typename Point2DH< T >::TParam | iB | |||
) | [inline] |
Point2DH<T> lass::prim::operator* | ( | typename Point2DH< T >::TParam | iA, | |
const Point2DH< T > & | iB | |||
) | [inline] |
std::ostream& lass::prim::operator<< | ( | std::ostream & | oOStream, | |
const Point2DH< T > & | iB | |||
) | [related] |
io::XmlOStream& lass::prim::operator<< | ( | io::XmlOStream & | oOStream, | |
const Point2DH< T > & | iB | |||
) | [related] |
std::istream& lass::prim::operator>> | ( | std::istream & | ioIStream, | |
Point2DH< T > & | oB | |||
) | [related] |
bool lass::prim::operator== | ( | const Point3D< T > & | a, | |
const Point3D< T > & | b | |||
) | [related] |
bool lass::prim::operator!= | ( | const Point3D< T > & | a, | |
const Point3D< T > & | b | |||
) | [related] |
Point3D<T> lass::prim::operator+ | ( | const Point3D< T > & | a, | |
const Vector3D< T > & | b | |||
) | [related] |
Point3D<T> lass::prim::operator+ | ( | const Vector3D< T > & | a, | |
const Point3D< T > & | b | |||
) | [related] |
Point3D<T> lass::prim::operator- | ( | const Point3D< T > & | a, | |
const Vector3D< T > & | b | |||
) | [related] |
Vector3D<T> lass::prim::operator- | ( | const Point3D< T > & | a, | |
const Point3D< T > & | b | |||
) | [related] |
Point3D<T>::TValue lass::prim::distance | ( | const Point3D< T > & | a, | |
const Point3D< T > & | b | |||
) | [related] |
Point3D<T>::TValue lass::prim::squaredDistance | ( | const Point3D< T > & | a, | |
const Point3D< T > & | b | |||
) | [related] |
Point3D<T> lass::prim::pointwiseMin | ( | const Point3D< T > & | a, | |
const Point3D< T > & | b | |||
) | [related] |
Point3D<T> lass::prim::pointwiseMax | ( | const Point3D< T > & | a, | |
const Point3D< T > & | b | |||
) | [related] |
Point3D<T> lass::prim::lerp | ( | const Point3D< T > & | a, | |
const Point3D< T > & | b, | |||
typename Point3D< T >::TParam | t | |||
) | [inline] |
std::ostream& lass::prim::operator<< | ( | std::ostream & | stream, | |
const Point3D< T > & | b | |||
) | [related] |
io::XmlOStream& lass::prim::operator<< | ( | io::XmlOStream & | stream, | |
const Point3D< T > & | b | |||
) | [related] |
std::istream& lass::prim::operator>> | ( | std::istream & | stream, | |
Point3D< T > & | b | |||
) | [related] |
bool lass::prim::operator== | ( | const Point3DH< T > & | iA, | |
const Point3DH< T > & | iB | |||
) | [related] |
bool lass::prim::operator!= | ( | const Point3DH< T > & | iA, | |
const Point3DH< T > & | iB | |||
) | [related] |
Point3DH<T> lass::prim::operator+ | ( | const Point3DH< T > & | iA, | |
const Point3DH< T > & | iB | |||
) | [related] |
Point3DH<T> lass::prim::operator- | ( | const Point3DH< T > & | iA, | |
Point3DH< T > & | iB | |||
) | [inline] |
Point3DH<T> lass::prim::operator* | ( | const Point3DH< T > & | iA, | |
typename Point3DH< T >::TParam | iB | |||
) | [inline] |
Point3DH<T> lass::prim::operator/ | ( | const Point3DH< T > & | iA, | |
typename Point3DH< T >::TParam | iB | |||
) | [inline] |
Point3DH<T> lass::prim::operator* | ( | typename Point3DH< T >::TParam | iA, | |
const Point3DH< T > & | iB | |||
) | [inline] |
std::ostream& lass::prim::operator<< | ( | std::ostream & | oOStream, | |
const Point3DH< T > & | iB | |||
) | [related] |
io::XmlOStream& lass::prim::operator<< | ( | io::XmlOStream & | oOStream, | |
const Point3DH< T > & | iB | |||
) | [related] |
std::istream& lass::prim::operator>> | ( | std::istream & | ioIStream, | |
Point3DH< T > & | oB | |||
) | [related] |
Point3DH<T> lass::prim::operator+ | ( | const Point3D< T > & | iA, | |
const Point3D< T > & | iB | |||
) | [inline] |
Definition at line 144 of file point_3dh.h.
Point3DH<T> lass::prim::operator* | ( | typename Point3D< T >::TParam | iA, | |
const Point3D< T > & | iB | |||
) | [inline] |
Definition at line 148 of file point_3dh.h.
Point3DH<T> lass::prim::operator* | ( | const Point3D< T > & | iA, | |
typename Point3D< T >::TParam | iB | |||
) | [inline] |
Definition at line 152 of file point_3dh.h.
std::ostream& lass::prim::operator<< | ( | std::ostream & | oOStream, | |
const Ray2D< T, NP, PP > & | iB | |||
) | [inline] |
io::XmlOStream& lass::prim::operator<< | ( | io::XmlOStream & | oOStream, | |
const Ray2D< T, NP, PP > & | iB | |||
) | [inline] |
std::ostream& lass::prim::operator<< | ( | std::ostream & | oOStream, | |
const Ray3D< T, NP, PP > & | iB | |||
) | [inline] |
io::XmlOStream& lass::prim::operator<< | ( | io::XmlOStream & | oOStream, | |
const Ray3D< T, NP, PP > & | iB | |||
) | [inline] |
io::XmlOStream& lass::prim::operator<< | ( | io::XmlOStream & | ioOStream, | |
const SimplePolygon2D< T, DP > & | iPolygon | |||
) | [related] |
std::ostream& lass::prim::operator<< | ( | std::ostream & | ioOStream, | |
const SimplePolygon2D< T, DP > & | iPolygon | |||
) | [related] |
lass::io::MatlabOStream& lass::prim::operator<< | ( | lass::io::MatlabOStream & | oOStream, | |
const SimplePolygon2D< T, DP > & | iPolygon | |||
) | [related] |
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.
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.
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).
OutputIterator lass::prim::triangulate | ( | const SimplePolygon2D< T, DegenerationPolicy > & | polygon, | |
OutputIterator | triangles | |||
) | [inline] |
Definition at line 56 of file simple_polygon_2d_triangle_2d.h.
References lass::prim::SimplePolygon2D< T, DegeneratePolicy >::isConvex(), LASS_THROW, and lass::prim::SimplePolygon2D< T, DegeneratePolicy >::size().
Result lass::prim::intersect | ( | const SimplePolygon3D< T, EP, NP > & | iPolygon, | |
const LineSegment3D< T, PP > & | iSegment, | |||
T & | oT, | |||
const T & | iMinT = 0 | |||
) | [related] |
Referenced by lass::spat::DefaultAabbRayTraits< lass::prim::Aabb3D, lass::prim::Ray3D >::aabbIntersect(), lass::spat::DefaultObjectTraits< ObjectType, AabbType, RayType, ObjectIterator >::objectIntersect(), and lass::spat::DefaultObjectTraits< ObjectType, AabbType, RayType, ObjectIterator >::objectIntersects().
SimplePolygon3D<T, EP2, NP2> lass::prim::clip | ( | const Plane3D< T, EP1, NP1 > & | iPlane, | |
const SimplePolygon3D< T, EP2, NP2 > & | iPolygon | |||
) | [related] |
io::XmlOStream& lass::prim::operator<< | ( | io::XmlOStream & | ioOStream, | |
const SimplePolygon3D< T, EP, NP > & | iPolygon | |||
) | [related] |
std::ostream& lass::prim::operator<< | ( | std::ostream & | ioOStream, | |
const SimplePolygon3D< T, EP, NP > & | iPolygon | |||
) | [related] |
const T lass::prim::squaredDistance | ( | const Sphere3D< T > & | sphere, | |
const Point3D< T > & | point | |||
) | [related] |
Referenced by lass::spat::QuadTree< ObjectType, ObjectTraits >::doNearestNeighbour(), lass::spat::AabpTree< ObjectType, ObjectTraits, SplitHeuristics >::doNearestNeighbour(), lass::spat::AabbTree< ObjectType, ObjectTraits, SplitHeuristics >::doNearestNeighbour(), lass::spat::impl::BrutePointLocatorVerbose::findEdge(), lass::spat::impl::BrutePointLocator::findEdge(), lass::spat::PlanarMesh::insertSite(), lass::spat::PlanarMesh::locate(), lass::spat::DefaultObjectTraits< ObjectType, AabbType, RayType, ObjectIterator >::objectSquaredDistance(), and lass::spat::PlanarMesh::walkIntersections().
const T lass::prim::distance | ( | const Sphere3D< T > & | sphere, | |
const Point3D< T > & | point | |||
) | [related] |
std::ostream& lass::prim::operator<< | ( | std::ostream & | oOStream, | |
const Sphere3D< T > & | iB | |||
) | [related] |
io::XmlOStream& lass::prim::operator<< | ( | io::XmlOStream & | ioOStream, | |
const Sphere3D< T > & | iB | |||
) | [related] |
Transformation2D<T> lass::prim::concatenate | ( | const Transformation2D< T > & | first, | |
const Transformation2D< T > & | second | |||
) | [related] |
Vector2D<T> lass::prim::transform | ( | const Vector2D< T > & | subject, | |
const Transformation2D< T > & | transformation | |||
) | [related] |
Referenced by lass::prim::Transformation3D< T >::transform().
Point2D<T> lass::prim::transform | ( | const Point2D< T > & | subject, | |
const Transformation2D< T > & | transformation | |||
) | [related] |
Vector2D<T> lass::prim::normalTransform | ( | const Vector2D< T > & | subject, | |
const Transformation2D< T > & | transformation | |||
) | [related] |
std::pair<Vector2D<T>, T> lass::prim::normalTransform | ( | const std::pair< Vector2D< T >, T > & | subject, | |
const Transformation2D< T > & | transformation | |||
) | [related] |
std::basic_ostream<Char, Traits>& lass::prim::operator<< | ( | std::basic_ostream< Char, Traits > & | stream, | |
const Transformation2D< T > & | transformation | |||
) | [related] |
io::XmlOStream& lass::prim::operator<< | ( | io::XmlOStream & | stream, | |
const Transformation2D< T > & | transformation | |||
) | [related] |
Transformation3D<T> lass::prim::concatenate | ( | const Transformation3D< T > & | first, | |
const Transformation3D< T > & | second | |||
) | [related] |
Referenced by lass::io::Image::transformColors().
Vector3D<T> lass::prim::transform | ( | const Vector3D< T > & | subject, | |
const Transformation3D< T > & | transformation | |||
) | [related] |
Point3D<T> lass::prim::transform | ( | const Point3D< T > & | subject, | |
const Transformation3D< T > & | transformation | |||
) | [related] |
Referenced by lass::io::Image::atop(), lass::io::Image::in(), lass::num::DataTraitsSequence< SequenceType >::multiplyAccumulate(), lass::io::Image::out(), lass::io::Image::over(), lass::io::Image::plus(), lass::io::Image::ratop(), lass::io::Image::rin(), lass::io::Image::rout(), lass::io::Image::rover(), lass::io::Image::rthrough(), lass::num::DataTraitsSequence< SequenceType >::scale(), lass::io::Image::through(), lass::stde::transform_r(), and lass::io::Image::transformColors().
Vector3D<T> lass::prim::normalTransform | ( | const Vector3D< T > & | subject, | |
const Transformation3D< T > & | transformation | |||
) | [related] |
std::pair<Vector3D<T>, T> lass::prim::normalTransform | ( | const std::pair< Vector3D< T >, T > & | subject, | |
const Transformation3D< T > & | transformation | |||
) | [related] |
std::basic_ostream<Char, Traits>& lass::prim::operator<< | ( | std::basic_ostream< Char, Traits > & | stream, | |
const Transformation3D< T > & | transformation | |||
) | [related] |
io::XmlOStream& lass::prim::operator<< | ( | io::XmlOStream & | stream, | |
const Transformation3D< T > & | transformation | |||
) | [related] |
const T lass::prim::distance | ( | const Triangle2D< T > & | triangle, | |
const Point2D< T > & | point | |||
) | [related] |
Referenced by lass::stde::static_vector< T, maxsize >::assign(), lass::num::DataTraitsSequence< SequenceType >::dimension(), lass::io::Image::filterMedian(), lass::num::SplineLinear< ScalarType, DataType, DataTraits >::findNode(), lass::num::SplineCubic< ScalarType, DataType, DataTraits >::findNode(), lass::num::SplineBezierPath< ScalarType, DataType, DataTraits >::findNode(), lass::spat::KdTree< ObjectType, ObjectTraits >::findSplitAxis(), lass::stde::static_vector< T, maxsize >::insert(), lass::spat::PlanarMesh::insertEdge(), lass::spat::KdTree< ObjectType, ObjectTraits >::KdTree(), lass::num::impl::laplaceToZHelper(), lass::python::impl::pyBuildList(), lass::python::impl::pyBuildTuple(), lass::python::impl::PyIteratorRangeImpl< M >::PyIteratorRange_Length(), lass::num::RandomMT19937::seed(), lass::stde::iterator_range< iterator_type >::size(), lass::spat::DefaultSplitHeuristics< numObjectsPerLeaf >::split(), lass::prim::Transformation2D< T >::Transformation2D(), and lass::prim::Transformation3D< T >::Transformation3D().
io::XmlOStream& lass::prim::operator<< | ( | io::XmlOStream & | ioOStream, | |
const Triangle2D< T > & | iTriangle | |||
) | [related] |
std::ostream& lass::prim::operator<< | ( | std::ostream & | ioOStream, | |
const Triangle2D< T > & | iTriangle | |||
) | [related] |
lass::io::MatlabOStream& lass::prim::operator<< | ( | lass::io::MatlabOStream & | oOStream, | |
const Triangle2D< T > & | iTriangle | |||
) | [related] |
T lass::prim::partialVoronoiArea | ( | const Triangle2D< T > | iT, | |
int | iIndexOfVertex | |||
) | [related] |
io::XmlOStream& lass::prim::operator<< | ( | io::XmlOStream & | ioOStream, | |
const Triangle3D< T > & | iTriangle | |||
) | [related] |
std::ostream& lass::prim::operator<< | ( | std::ostream & | ioOStream, | |
const Triangle3D< T > & | iTriangle | |||
) | [related] |
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().
Vector2D<T>::TValue lass::prim::perpDot | ( | const Vector2D< T > & | a, | |
const Vector2D< T > & | b | |||
) | [related] |
Referenced by collides(), lass::prim::Triangle2D< T >::contains(), lass::prim::Line2D< T, EquationPolicy, NormalizingPolicy >::distance(), lass::prim::Point2D< T >::doubleTriangleArea(), lass::spat::impl::fastIntersect(), lass::prim::SimplePolygon2D< T, DegeneratePolicy >::fixDegenerate(), lass::prim::LineSegment2D< T, ParameterPolicy >::intersect(), lass::prim::Ray2D< T, NormalizingPolicy, ParameterPolicy >::intersect(), lass::prim::Line2D< T, EquationPolicy, NormalizingPolicy >::intersect(), lass::prim::impl::intersectEdge2D(), intersects(), lass::prim::SimplePolygon3D< T, PlaneEquationPolicy, PlaneNormalizingPolicy >::isConvex(), lass::prim::SimplePolygon2D< T, DegeneratePolicy >::isConvex(), lass::prim::SimplePolygon2D< T, DegeneratePolicy >::isReflex(), preciseDoubleTriangleArea(), lass::prim::Triangle2D< T >::signedArea(), lass::prim::SimplePolygon2D< T, DegeneratePolicy >::signedArea(), and lass::prim::SimplePolygon2D< T, DegeneratePolicy >::surfaceCentroid().
Vector2D<T>::TValue lass::prim::cos | ( | const Vector2D< T > & | a, | |
const Vector2D< T > & | b | |||
) | [related] |
bool lass::prim::operator== | ( | const Vector2D< T > & | a, | |
const Vector2D< T > & | b | |||
) | [related] |
bool lass::prim::operator!= | ( | const Vector2D< T > & | a, | |
const Vector2D< T > & | b | |||
) | [related] |
Vector2D<T> lass::prim::operator+ | ( | const Vector2D< T > & | a, | |
const Vector2D< T > & | b | |||
) | [related] |
Vector2D<T> lass::prim::operator- | ( | const Vector2D< T > & | a, | |
const Vector2D< T > & | b | |||
) | [related] |
Vector2D<T> lass::prim::operator* | ( | const Vector2D< T > & | a, | |
const Vector2D< T > & | b | |||
) | [related] |
Vector2D<T> lass::prim::operator/ | ( | const Vector2D< T > & | a, | |
const Vector2D< T > & | b | |||
) | [related] |
Vector2D<T> lass::prim::operator+ | ( | const Vector2D< T > & | a, | |
typename Vector2D< T >::TParam | b | |||
) | [inline] |
Vector2D<T> lass::prim::operator- | ( | const Vector2D< T > & | a, | |
typename Vector2D< T >::TParam | b | |||
) | [inline] |
Vector2D<T> lass::prim::operator* | ( | const Vector2D< T > & | a, | |
typename Vector2D< T >::TParam | b | |||
) | [inline] |
Vector2D<T> lass::prim::operator/ | ( | const Vector2D< T > & | a, | |
typename Vector2D< T >::TParam | b | |||
) | [inline] |
Vector2D<T> lass::prim::operator+ | ( | typename Vector2D< T >::TParam | a, | |
const Vector2D< T > & | b | |||
) | [inline] |
Vector2D<T> lass::prim::operator- | ( | typename Vector2D< T >::TParam | a, | |
const Vector2D< T > & | b | |||
) | [inline] |
Vector2D<T> lass::prim::operator* | ( | typename Vector2D< T >::TParam | a, | |
const Vector2D< T > & | b | |||
) | [inline] |
Vector2D<T> lass::prim::pointwiseMin | ( | const Vector2D< T > & | a, | |
const Vector2D< T > & | b | |||
) | [related] |
Vector2D<T> lass::prim::pointwiseMax | ( | const Vector2D< T > & | a, | |
const Vector2D< T > & | b | |||
) | [related] |
Vector2D<T> lass::prim::lerp | ( | typename Vector2D< T >::TParam | a, | |
const Vector2D< T > & | b, | |||
typename Vector2D< T >::TParam | t | |||
) | [inline] |
std::basic_ostream<Char, Traits>& lass::prim::operator<< | ( | std::basic_ostream< Char, Traits > & | stream, | |
const Vector2D< T > & | b | |||
) | [related] |
std::basic_istream<Char, Traits>& lass::prim::operator>> | ( | std::basic_istream< Char, Traits > & | ioIStream, | |
Vector2D< T > & | b | |||
) | [related] |
io::XmlOStream& lass::prim::operator<< | ( | io::XmlOStream & | stream, | |
const Vector2D< T > & | b | |||
) | [related] |
Vector3D<T>::TValue lass::prim::dot | ( | const Vector3D< T > & | a, | |
const Vector3D< T > & | b | |||
) | [related] |
Vector3D<T> lass::prim::cross | ( | const Vector3D< T > & | a, | |
const Vector3D< T > & | b | |||
) | [related] |
Referenced by lass::prim::TriangleMesh3D< T, BoundingVolumeHierarchy, SplitHeuristics >::area(), closestsPoints(), lass::prim::impl::Plane3DImplDetail::generateCartesian(), lass::prim::impl::Plane3DImplDetail::generateDirections(), lass::prim::TriangleMesh3D< T, BoundingVolumeHierarchy, SplitHeuristics >::Triangle::intersect(), lass::prim::Parallelogram3D< T >::intersect(), lass::prim::impl::intersectTriangle3D(), lass::prim::SimplePolygon3D< T, PlaneEquationPolicy, PlaneNormalizingPolicy >::isReflex(), lass::prim::impl::Plane3DParametric< T, NormalizingPolicy >::isValid(), lass::prim::impl::Plane3DCombined< T, NormalizingPolicy >::isValid(), lass::prim::Parallelogram3D< T >::plane(), lass::prim::SimplePolygon3D< T, PlaneEquationPolicy, PlaneNormalizingPolicy >::signedArea(), lass::prim::TriangleMesh3D< T, BoundingVolumeHierarchy, SplitHeuristics >::smoothNormals(), lass::prim::Triangle3D< T >::squaredArea(), lass::prim::Parallelogram3D< T >::squaredArea(), squaredDistance(), and lass::prim::SimplePolygon3D< T, PlaneEquationPolicy, PlaneNormalizingPolicy >::surfaceCentroid().
bool lass::prim::operator== | ( | const Vector3D< T > & | a, | |
const Vector3D< T > & | b | |||
) | [related] |
bool lass::prim::operator!= | ( | const Vector3D< T > & | a, | |
const Vector3D< T > & | b | |||
) | [related] |
Vector3D<T> lass::prim::operator+ | ( | const Vector3D< T > & | a, | |
const Vector3D< T > & | b | |||
) | [related] |
Vector3D<T> lass::prim::operator- | ( | const Vector3D< T > & | a, | |
const Vector3D< T > & | b | |||
) | [related] |
Vector3D<T> lass::prim::operator* | ( | const Vector3D< T > & | a, | |
const Vector3D< T > & | b | |||
) | [related] |
Vector3D<T> lass::prim::operator/ | ( | const Vector3D< T > & | a, | |
const Vector3D< T > & | b | |||
) | [related] |
Vector3D<T> lass::prim::operator+ | ( | const Vector3D< T > & | a, | |
typename Vector3D< T >::TParam | b | |||
) | [inline] |
Vector3D<T> lass::prim::operator- | ( | const Vector3D< T > & | a, | |
typename Vector3D< T >::TParam | b | |||
) | [inline] |
Vector3D<T> lass::prim::operator* | ( | const Vector3D< T > & | a, | |
typename Vector3D< T >::TParam | b | |||
) | [inline] |
Vector3D<T> lass::prim::operator/ | ( | const Vector3D< T > & | a, | |
typename Vector3D< T >::TParam | b | |||
) | [inline] |
Vector3D<T> lass::prim::operator+ | ( | typename Vector3D< T >::TParam | a, | |
const Vector3D< T > & | b | |||
) | [inline] |
Vector3D<T> lass::prim::operator- | ( | typename Vector3D< T >::TParam | a, | |
const Vector3D< T > & | b | |||
) | [inline] |
Vector3D<T> lass::prim::operator* | ( | typename Vector3D< T >::TParam | a, | |
const Vector3D< T > & | b | |||
) | [inline] |
Vector3D<T> lass::prim::pointwiseMin | ( | const Vector3D< T > & | a, | |
const Vector3D< T > & | b | |||
) | [related] |
Vector3D<T> lass::prim::pointwiseMax | ( | const Vector3D< T > & | a, | |
const Vector3D< T > & | b | |||
) | [related] |
Vector3D<T> lass::prim::lerp | ( | const Vector3D< T > & | a, | |
const Vector3D< T > & | b, | |||
typename Vector3D< T >::TParam | t | |||
) | [inline] |
std::basic_ostream<Char, Traits>& lass::prim::operator<< | ( | std::basic_ostream< Char, Traits > & | stream, | |
const Vector3D< T > & | b | |||
) | [related] |
std::basic_istream<Char, Traits>& lass::prim::operator>> | ( | std::basic_istream< Char, Traits > & | stream, | |
Vector3D< T > & | b | |||
) | [related] |
io::XmlOStream& lass::prim::operator<< | ( | io::XmlOStream & | stream, | |
const Vector3D< T > & | b | |||
) | [related] |
Vector4D<T>::TValue lass::prim::dot | ( | const Vector4D< T > & | a, | |
const Vector4D< T > & | b | |||
) | [related] |
Referenced by lass::spat::barycenters(), and lass::spat::PlanarMesh::snap().
bool lass::prim::operator== | ( | const Vector4D< T > & | a, | |
const Vector4D< T > & | b | |||
) | [related] |
bool lass::prim::operator!= | ( | const Vector4D< T > & | a, | |
const Vector4D< T > & | b | |||
) | [related] |
Vector4D<T> lass::prim::operator+ | ( | const Vector4D< T > & | a, | |
const Vector4D< T > & | b | |||
) | [related] |
Vector4D<T> lass::prim::operator- | ( | const Vector4D< T > & | a, | |
const Vector4D< T > & | b | |||
) | [related] |
Vector4D<T> lass::prim::operator* | ( | const Vector4D< T > & | a, | |
const Vector4D< T > & | b | |||
) | [related] |
Vector4D<T> lass::prim::operator/ | ( | const Vector4D< T > & | a, | |
const Vector4D< T > & | b | |||
) | [related] |
Vector4D<T> lass::prim::operator+ | ( | const Vector4D< T > & | a, | |
typename Vector4D< T >::TParam | b | |||
) | [inline] |
Vector4D<T> lass::prim::operator- | ( | const Vector4D< T > & | a, | |
typename Vector4D< T >::TParam | b | |||
) | [inline] |
Vector4D<T> lass::prim::operator* | ( | const Vector4D< T > & | a, | |
typename Vector4D< T >::TParam | b | |||
) | [inline] |
Vector4D<T> lass::prim::operator/ | ( | const Vector4D< T > & | a, | |
typename Vector4D< T >::TParam | b | |||
) | [inline] |
Vector4D<T> lass::prim::operator+ | ( | typename Vector4D< T >::TParam | a, | |
const Vector4D< T > & | b | |||
) | [inline] |
Vector4D<T> lass::prim::operator- | ( | typename Vector4D< T >::TParam | a, | |
const Vector4D< T > & | b | |||
) | [inline] |
Vector4D<T> lass::prim::operator* | ( | typename Vector4D< T >::TParam | a, | |
const Vector4D< T > & | b | |||
) | [inline] |
Vector4D<T> lass::prim::pointwiseMin | ( | const Vector4D< T > & | a, | |
const Vector4D< T > & | b | |||
) | [related] |
Vector4D<T> lass::prim::pointwiseMax | ( | const Vector4D< T > & | a, | |
const Vector4D< T > & | b | |||
) | [related] |
Vector4D<T> lass::prim::lerp | ( | const Vector4D< T > & | a, | |
const Vector4D< T > & | b, | |||
typename Vector4D< T >::TParam | t | |||
) | [inline] |
std::basic_ostream<Char, Traits>& lass::prim::operator<< | ( | std::basic_ostream< Char, Traits > & | stream, | |
const Vector4D< T > & | b | |||
) | [related] |
std::basic_istream<Char, Traits>& lass::prim::operator>> | ( | std::basic_istream< Char, Traits > & | stream, | |
Vector4D< T > & | b | |||
) | [related] |
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 1.5.7.1 |