wfmath
1.0.3
A math library for the Worldforge system.
|
Generic library namespace. More...
Classes | |
class | Shape |
A fake class which documents the generic parts of the WFMath interface. More... | |
class | AtlasInType |
class | AtlasOutType |
class | AxisBox |
A dim dimensional axis-aligned box. More... | |
class | Ball |
A dim dimensional ball. More... | |
class | Point |
A dim dimensional point. More... | |
class | Polygon |
A polygon, all of whose points lie in a plane, embedded in dim dimensions. More... | |
class | RotBox |
A dim dimensional box, lying at an arbitrary angle. More... | |
class | RotMatrix |
A dim dimensional rotation matrix. Technically, a member of the group O(dim). More... | |
class | Segment |
A line segment embedded in dim dimensions. More... | |
class | Vector |
A dim dimensional vector. More... | |
struct | numeric_constants |
struct | numeric_constants< float > |
struct | numeric_constants< double > |
struct | ColinearVectors |
An error thrown by certain functions when passed parallel vectors. More... | |
struct | ParseError |
An error thrown by operator>>() when it fails to parse wfmath types. More... | |
class | Line |
A dim dimensional line. More... | |
class | MTRand |
class | ZeroPrimitive |
Utility class for providing zero primitives. This class will only work with simple structures such as Vector or Point which provide a m_elem structure. In order for it to access the m_elem structure it must be declared as a friend class of the class it will provide an instance of. More... | |
class | Polygon< 2 > |
The 2D specialization of the Polygon<> template. More... | |
class | Poly2Reorient |
class | Poly2Orient |
struct | Poly2OrientIntersectData |
struct | LinePointData |
class | Quaternion |
A normalized quaternion. More... | |
struct | PolyReader |
class | TimeDiff |
The difference between two timestamps. More... | |
class | TimeStamp |
A time stamp. More... | |
Typedefs | |
typedef Atlas::Message::WrongTypeException | _AtlasBadParse |
typedef double | CoordType |
Basic floating point type. More... | |
Functions | |
AtlasOutType | _ArrayToAtlas (const CoordType *array, unsigned len) |
void | _ArrayFromAtlas (CoordType *array, unsigned len, const AtlasInType &a) |
bool | _ListNumCheck (const Atlas::Message::ListType &list, int dim) |
template<template< int > class ShapeT> | |
void | _AddCorner (ShapeT< 3 > &shape, const Atlas::Message::ListType &point) |
template<template< int > class ShapeT> | |
void | _AddCorner (ShapeT< 2 > &shape, const Atlas::Message::ListType &point) |
template<template< int > class ShapeT, int dim> | |
void | _CornersFromAtlas (ShapeT< dim > &shape, const Atlas::Message::Element &message) |
template bool | Intersection< 3 > (const AxisBox< 3 > &, const AxisBox< 3 > &, AxisBox< 3 > &) |
template bool | Intersection< 2 > (const AxisBox< 2 > &, const AxisBox< 2 > &, AxisBox< 2 > &) |
template AxisBox< 3 > | Union< 3 > (const AxisBox< 3 > &, const AxisBox< 3 > &) |
template AxisBox< 2 > | Union< 2 > (const AxisBox< 2 > &, const AxisBox< 2 > &) |
template AxisBox< 3 > | BoundingBox< 3, std::vector > (const std::vector< AxisBox< 3 >, std::allocator< AxisBox< 3 > > > &) |
template AxisBox< 2 > | BoundingBox< 2, std::vector > (const std::vector< AxisBox< 2 >, std::allocator< AxisBox< 2 > > > &) |
template AxisBox< 3 > | BoundingBox< 3, std::vector > (const std::vector< Point< 3 >, std::allocator< Point< 3 > > > &) |
template AxisBox< 2 > | BoundingBox< 2, std::vector > (const std::vector< Point< 2 >, std::allocator< Point< 2 > > > &) |
template<int dim> | |
bool | Intersection (const AxisBox< dim > &a1, const AxisBox< dim > &a2, AxisBox< dim > &out) |
template<int dim> | |
AxisBox< dim > | Union (const AxisBox< dim > &a1, const AxisBox< dim > &a2) |
template<int dim> | |
std::ostream & | operator<< (std::ostream &os, const AxisBox< dim > &m) |
template<int dim> | |
std::istream & | operator>> (std::istream &is, AxisBox< dim > &m) |
template<int dim, template< class, class > class container> | |
AxisBox< dim > | BoundingBox (const container< AxisBox< dim >, std::allocator< AxisBox< dim > > > &c) |
Get the axis-aligned bounding box for a set of boxes. More... | |
template<int dim, template< class, class > class container> | |
AxisBox< dim > | BoundingBox (const container< Point< dim >, std::allocator< Point< dim > > > &c) |
Get the axis-aligned bounding box for a set of points. More... | |
template Ball< 2 > | BoundingSphere< 2, std::vector > (std::vector< Point< 2 >, std::allocator< Point< 2 > > > const &) |
template Ball< 2 > | BoundingSphereSloppy< 2, std::vector > (std::vector< Point< 2 >, std::allocator< Point< 2 > > > const &) |
template Ball< 3 > | BoundingSphere< 3, std::vector > (std::vector< Point< 3 >, std::allocator< Point< 3 > > > const &) |
template Ball< 3 > | BoundingSphereSloppy< 3, std::vector > (std::vector< Point< 3 >, std::allocator< Point< 3 > > > const &) |
template<int dim, template< class, class > class container> | |
Ball< dim > | BoundingSphere (const container< Point< dim >, std::allocator< Point< dim > > > &c) |
get the minimal bounding sphere for a set of points More... | |
template<int dim, template< class, class > class container> | |
Ball< dim > | BoundingSphereSloppy (const container< Point< dim >, std::allocator< Point< dim > > > &c) |
get a bounding sphere for a set of points More... | |
template<int dim> | |
std::ostream & | operator<< (std::ostream &os, const Ball< dim > &m) |
template<int dim> | |
std::istream & | operator>> (std::istream &is, Ball< dim > &m) |
void | _CartToPolar (const CoordType *in, CoordType *out) |
void | _PolarToCart (const CoordType *in, CoordType *out) |
void | _CartToSpherical (const CoordType *in, CoordType *out) |
void | _SphericalToCart (const CoordType *in, CoordType *out) |
bool | Equal (double x1, double x2, double epsilon) |
bool | Equal (float x1, float x2, float epsilon) |
double | _ScaleEpsilon (double x1, double x2, double epsilon) |
float | _ScaleEpsilon (float x1, float x2, float epsilon) |
CoordType | _ScaleEpsilon (const CoordType *x1, const CoordType *x2, int length, CoordType epsilon) |
template<class C > | |
bool | Equal (const C &c1, const C &c2, CoordType epsilon=numeric_constants< CoordType >::epsilon()) |
Test for equality up to precision epsilon. More... | |
CoordType | FloatMax (CoordType a, CoordType b) |
CoordType | FloatMin (CoordType a, CoordType b) |
CoordType | FloatClamp (CoordType val, CoordType min, CoordType max) |
double | DoubleMax (double a, double b) |
double | DoubleMin (double a, double b) |
double | DoubleClamp (double val, double min, double max) |
std::string | IntToString (unsigned long val) |
std::string | IntToString (long val) |
std::string | IntToString (unsigned int val) |
std::string | IntToString (int val) |
std::string | IntToString (unsigned short val) |
std::string | IntToString (short val) |
template<> | |
bool | Intersect< 2 > (const RotBox< 2 > &r, const AxisBox< 2 > &b, bool proper) |
template<> | |
bool | Intersect< 3 > (const RotBox< 3 > &r, const AxisBox< 3 > &b, bool proper) |
template bool | Intersect< 2 > (const Point< 2 > &, const Point< 2 > &, bool) |
template bool | Intersect< 3 > (const Point< 3 > &, const Point< 3 > &, bool) |
template bool | Contains< 2 > (const Point< 2 > &, const Point< 2 > &, bool) |
template bool | Contains< 3 > (const Point< 3 > &, const Point< 3 > &, bool) |
template bool | Intersect< Point< 2 >, AxisBox< 2 > > (const Point< 2 > &, const AxisBox< 2 > &, bool) |
template bool | Intersect< Point< 3 >, AxisBox< 3 > > (const Point< 3 > &, const AxisBox< 3 > &, bool) |
template bool | Contains< 2 > (const Point< 2 > &, const AxisBox< 2 > &, bool) |
template bool | Contains< 3 > (const Point< 3 > &, const AxisBox< 3 > &, bool) |
template bool | Intersect< 2 > (const AxisBox< 2 > &, const Point< 2 > &, bool) |
template bool | Intersect< 3 > (const AxisBox< 3 > &, const Point< 3 > &, bool) |
template bool | Contains< 2 > (const AxisBox< 2 > &, const Point< 2 > &, bool) |
template bool | Contains< 3 > (const AxisBox< 3 > &, const Point< 3 > &, bool) |
template bool | Intersect< 2 > (const AxisBox< 2 > &, const AxisBox< 2 > &, bool) |
template bool | Intersect< 3 > (const AxisBox< 3 > &, const AxisBox< 3 > &, bool) |
template bool | Contains< 2 > (const AxisBox< 2 > &, const AxisBox< 2 > &, bool) |
template bool | Contains< 3 > (const AxisBox< 3 > &, const AxisBox< 3 > &, bool) |
template bool | Intersect< Point< 2 >, Ball< 2 > > (const Point< 2 > &, const Ball< 2 > &, bool) |
template bool | Intersect< Point< 3 >, Ball< 3 > > (const Point< 3 > &, const Ball< 3 > &, bool) |
template bool | Contains< 2 > (const Point< 2 > &, const Ball< 2 > &, bool) |
template bool | Contains< 3 > (const Point< 3 > &, const Ball< 3 > &, bool) |
template bool | Intersect< 2 > (const Ball< 2 > &, const Point< 2 > &, bool) |
template bool | Intersect< 3 > (const Ball< 3 > &, const Point< 3 > &, bool) |
template bool | Contains< 2 > (const Ball< 2 > &, const Point< 2 > &, bool) |
template bool | Contains< 3 > (const Ball< 3 > &, const Point< 3 > &, bool) |
template bool | Intersect< AxisBox< 2 >, Ball< 2 > > (const AxisBox< 2 > &, const Ball< 2 > &, bool) |
template bool | Intersect< AxisBox< 3 >, Ball< 3 > > (const AxisBox< 3 > &, const Ball< 3 > &, bool) |
template bool | Contains< 2 > (const AxisBox< 2 > &, const Ball< 2 > &, bool) |
template bool | Contains< 3 > (const AxisBox< 3 > &, const Ball< 3 > &, bool) |
template bool | Intersect< 2 > (const Ball< 2 > &, const AxisBox< 2 > &, bool) |
template bool | Intersect< 3 > (const Ball< 3 > &, const AxisBox< 3 > &, bool) |
template bool | Contains< 2 > (const Ball< 2 > &, const AxisBox< 2 > &, bool) |
template bool | Contains< 3 > (const Ball< 3 > &, const AxisBox< 3 > &, bool) |
template bool | Intersect< 2 > (const Ball< 2 > &, const Ball< 2 > &, bool) |
template bool | Intersect< 3 > (const Ball< 3 > &, const Ball< 3 > &, bool) |
template bool | Contains< 2 > (const Ball< 2 > &, const Ball< 2 > &, bool) |
template bool | Contains< 3 > (const Ball< 3 > &, const Ball< 3 > &, bool) |
template bool | Intersect< Point< 2 >, Segment< 2 > > (const Point< 2 > &, const Segment< 2 > &, bool) |
template bool | Intersect< Point< 3 >, Segment< 3 > > (const Point< 3 > &, const Segment< 3 > &, bool) |
template bool | Contains< 2 > (const Point< 2 > &, const Segment< 2 > &, bool) |
template bool | Contains< 3 > (const Point< 3 > &, const Segment< 3 > &, bool) |
template bool | Intersect< 2 > (const Segment< 2 > &, const Point< 2 > &, bool) |
template bool | Intersect< 3 > (const Segment< 3 > &, const Point< 3 > &, bool) |
template bool | Contains< 2 > (const Segment< 2 > &, const Point< 2 > &, bool) |
template bool | Contains< 3 > (const Segment< 3 > &, const Point< 3 > &, bool) |
template bool | Intersect< AxisBox< 2 >, Segment< 2 > > (const AxisBox< 2 > &, const Segment< 2 > &, bool) |
template bool | Intersect< AxisBox< 3 >, Segment< 3 > > (const AxisBox< 3 > &, const Segment< 3 > &, bool) |
template bool | Contains< 2 > (const AxisBox< 2 > &, const Segment< 2 > &, bool) |
template bool | Contains< 3 > (const AxisBox< 3 > &, const Segment< 3 > &, bool) |
template bool | Intersect< 2 > (const Segment< 2 > &, const AxisBox< 2 > &, bool) |
template bool | Intersect< 3 > (const Segment< 3 > &, const AxisBox< 3 > &, bool) |
template bool | Contains< 2 > (const Segment< 2 > &, const AxisBox< 2 > &, bool) |
template bool | Contains< 3 > (const Segment< 3 > &, const AxisBox< 3 > &, bool) |
template bool | Intersect< Ball< 2 >, Segment< 2 > > (const Ball< 2 > &, const Segment< 2 > &, bool) |
template bool | Intersect< Ball< 3 >, Segment< 3 > > (const Ball< 3 > &, const Segment< 3 > &, bool) |
template bool | Contains< 2 > (const Ball< 2 > &, const Segment< 2 > &, bool) |
template bool | Contains< 3 > (const Ball< 3 > &, const Segment< 3 > &, bool) |
template bool | Intersect< 2 > (const Segment< 2 > &, const Ball< 2 > &, bool) |
template bool | Intersect< 3 > (const Segment< 3 > &, const Ball< 3 > &, bool) |
template bool | Contains< 2 > (const Segment< 2 > &, const Ball< 2 > &, bool) |
template bool | Contains< 3 > (const Segment< 3 > &, const Ball< 3 > &, bool) |
template bool | Intersect< 2 > (const Segment< 2 > &, const Segment< 2 > &, bool) |
template bool | Intersect< 3 > (const Segment< 3 > &, const Segment< 3 > &, bool) |
template bool | Contains< 2 > (const Segment< 2 > &, const Segment< 2 > &, bool) |
template bool | Contains< 3 > (const Segment< 3 > &, const Segment< 3 > &, bool) |
template bool | Intersect< Point< 2 >, RotBox< 2 > > (const Point< 2 > &, const RotBox< 2 > &, bool) |
template bool | Intersect< Point< 3 >, RotBox< 3 > > (const Point< 3 > &, const RotBox< 3 > &, bool) |
template bool | Contains< 2 > (const Point< 2 > &, const RotBox< 2 > &, bool) |
template bool | Contains< 3 > (const Point< 3 > &, const RotBox< 3 > &, bool) |
template bool | Intersect< 2 > (const RotBox< 2 > &, const Point< 2 > &, bool) |
template bool | Intersect< 3 > (const RotBox< 3 > &, const Point< 3 > &, bool) |
template bool | Contains< 2 > (const RotBox< 2 > &, const Point< 2 > &, bool) |
template bool | Contains< 3 > (const RotBox< 3 > &, const Point< 3 > &, bool) |
template bool | Intersect< AxisBox< 2 >, RotBox< 2 > > (const AxisBox< 2 > &, const RotBox< 2 > &, bool) |
template bool | Intersect< AxisBox< 3 >, RotBox< 3 > > (const AxisBox< 3 > &, const RotBox< 3 > &, bool) |
template bool | Contains< 2 > (const AxisBox< 2 > &, const RotBox< 2 > &, bool) |
template bool | Contains< 3 > (const AxisBox< 3 > &, const RotBox< 3 > &, bool) |
template bool | Contains< 2 > (const RotBox< 2 > &, const AxisBox< 2 > &, bool) |
template bool | Contains< 3 > (const RotBox< 3 > &, const AxisBox< 3 > &, bool) |
template bool | Intersect< Ball< 2 >, RotBox< 2 > > (const Ball< 2 > &, const RotBox< 2 > &, bool) |
template bool | Intersect< Ball< 3 >, RotBox< 3 > > (const Ball< 3 > &, const RotBox< 3 > &, bool) |
template bool | Contains< 2 > (const Ball< 2 > &, const RotBox< 2 > &, bool) |
template bool | Contains< 3 > (const Ball< 3 > &, const RotBox< 3 > &, bool) |
template bool | Intersect< 2 > (const RotBox< 2 > &, const Ball< 2 > &, bool) |
template bool | Intersect< 3 > (const RotBox< 3 > &, const Ball< 3 > &, bool) |
template bool | Contains< 2 > (const RotBox< 2 > &, const Ball< 2 > &, bool) |
template bool | Contains< 3 > (const RotBox< 3 > &, const Ball< 3 > &, bool) |
template bool | Intersect< Segment< 2 >, RotBox< 2 > > (const Segment< 2 > &, const RotBox< 2 > &, bool) |
template bool | Intersect< Segment< 3 >, RotBox< 3 > > (const Segment< 3 > &, const RotBox< 3 > &, bool) |
template bool | Contains< 2 > (const Segment< 2 > &, const RotBox< 2 > &, bool) |
template bool | Contains< 3 > (const Segment< 3 > &, const RotBox< 3 > &, bool) |
template bool | Intersect< 2 > (const RotBox< 2 > &, const Segment< 2 > &, bool) |
template bool | Intersect< 3 > (const RotBox< 3 > &, const Segment< 3 > &, bool) |
template bool | Contains< 2 > (const RotBox< 2 > &, const Segment< 2 > &, bool) |
template bool | Contains< 3 > (const RotBox< 3 > &, const Segment< 3 > &, bool) |
template bool | Intersect< 2 > (const RotBox< 2 > &, const RotBox< 2 > &, bool) |
template bool | Intersect< 3 > (const RotBox< 3 > &, const RotBox< 3 > &, bool) |
template bool | Contains< 2 > (const RotBox< 2 > &, const RotBox< 2 > &, bool) |
template bool | Contains< 3 > (const RotBox< 3 > &, const RotBox< 3 > &, bool) |
template<class S1 , class S2 > | |
bool | Intersect (const S1 &s1, const S2 &s2, bool proper) |
template<int dim> | |
bool | Intersect (const Point< dim > &p1, const Point< dim > &p2, bool proper) |
template<int dim, class S > | |
bool | Contains (const S &s, const Point< dim > &p, bool proper) |
template<int dim> | |
bool | Contains (const Point< dim > &p1, const Point< dim > &p2, bool proper) |
template<int dim> | |
bool | Intersect (const AxisBox< dim > &b, const Point< dim > &p, bool proper) |
template<int dim> | |
bool | Contains (const Point< dim > &p, const AxisBox< dim > &b, bool proper) |
template<int dim> | |
bool | Intersect (const AxisBox< dim > &b1, const AxisBox< dim > &b2, bool proper) |
template<int dim> | |
bool | Contains (const AxisBox< dim > &outer, const AxisBox< dim > &inner, bool proper) |
template<int dim> | |
bool | Intersect (const Ball< dim > &b, const Point< dim > &p, bool proper) |
template<int dim> | |
bool | Contains (const Point< dim > &p, const Ball< dim > &b, bool proper) |
template<int dim> | |
bool | Intersect (const Ball< dim > &b, const AxisBox< dim > &a, bool proper) |
template<int dim> | |
bool | Contains (const Ball< dim > &b, const AxisBox< dim > &a, bool proper) |
template<int dim> | |
bool | Contains (const AxisBox< dim > &a, const Ball< dim > &b, bool proper) |
template<int dim> | |
bool | Intersect (const Ball< dim > &b1, const Ball< dim > &b2, bool proper) |
template<int dim> | |
bool | Contains (const Ball< dim > &outer, const Ball< dim > &inner, bool proper) |
template<int dim> | |
bool | Intersect (const Segment< dim > &s, const Point< dim > &p, bool proper) |
template<int dim> | |
bool | Contains (const Point< dim > &p, const Segment< dim > &s, bool proper) |
template<int dim> | |
bool | Intersect (const Segment< dim > &s, const AxisBox< dim > &b, bool proper) |
template<int dim> | |
bool | Contains (const Segment< dim > &s, const AxisBox< dim > &b, bool proper) |
template<int dim> | |
bool | Contains (const AxisBox< dim > &b, const Segment< dim > &s, bool proper) |
template<int dim> | |
bool | Intersect (const Segment< dim > &s, const Ball< dim > &b, bool proper) |
template<int dim> | |
bool | Contains (const Ball< dim > &b, const Segment< dim > &s, bool proper) |
template<int dim> | |
bool | Contains (const Segment< dim > &s, const Ball< dim > &b, bool proper) |
template<int dim> | |
bool | Intersect (const Segment< dim > &s1, const Segment< dim > &s2, bool proper) |
template<int dim> | |
bool | Contains (const Segment< dim > &s1, const Segment< dim > &s2, bool proper) |
template<int dim> | |
bool | Intersect (const RotBox< dim > &r, const Point< dim > &p, bool proper) |
template<int dim> | |
bool | Contains (const Point< dim > &p, const RotBox< dim > &r, bool proper) |
template<int dim> | |
bool | Intersect (const RotBox< dim > &r, const AxisBox< dim > &b, bool proper) |
template<int dim> | |
bool | Contains (const RotBox< dim > &r, const AxisBox< dim > &b, bool proper) |
template<int dim> | |
bool | Contains (const AxisBox< dim > &b, const RotBox< dim > &r, bool proper) |
template<int dim> | |
bool | Intersect (const RotBox< dim > &r, const Ball< dim > &b, bool proper) |
template<int dim> | |
bool | Contains (const RotBox< dim > &r, const Ball< dim > &b, bool proper) |
template<int dim> | |
bool | Contains (const Ball< dim > &b, const RotBox< dim > &r, bool proper) |
template<int dim> | |
bool | Intersect (const RotBox< dim > &r, const Segment< dim > &s, bool proper) |
template<int dim> | |
bool | Contains (const RotBox< dim > &r, const Segment< dim > &s, bool proper) |
template<int dim> | |
bool | Contains (const Segment< dim > &s, const RotBox< dim > &r, bool proper) |
template<int dim> | |
bool | Intersect (const RotBox< dim > &r1, const RotBox< dim > &r2, bool proper) |
template<int dim> | |
bool | Contains (const RotBox< dim > &outer, const RotBox< dim > &inner, bool proper) |
bool | _Less (CoordType x1, CoordType x2, bool proper) |
bool | _LessEq (CoordType x1, CoordType x2, bool proper) |
bool | _Greater (CoordType x1, CoordType x2, bool proper) |
bool | _GreaterEq (CoordType x1, CoordType x2, bool proper) |
template<int dim> | |
bool | Intersect (const Polygon< dim > &r, const Point< dim > &p, bool proper) |
template<int dim> | |
bool | Contains (const Point< dim > &p, const Polygon< dim > &r, bool proper) |
template<int dim> | |
bool | Intersect (const Polygon< dim > &p, const AxisBox< dim > &b, bool proper) |
template<int dim> | |
bool | Contains (const Polygon< dim > &p, const AxisBox< dim > &b, bool proper) |
template<int dim> | |
bool | Contains (const AxisBox< dim > &b, const Polygon< dim > &p, bool proper) |
template<int dim> | |
bool | Intersect (const Polygon< dim > &p, const Ball< dim > &b, bool proper) |
template<int dim> | |
bool | Contains (const Polygon< dim > &p, const Ball< dim > &b, bool proper) |
template<int dim> | |
bool | Contains (const Ball< dim > &b, const Polygon< dim > &p, bool proper) |
template<int dim> | |
bool | Intersect (const Polygon< dim > &p, const Segment< dim > &s, bool proper) |
template<int dim> | |
bool | Contains (const Polygon< dim > &p, const Segment< dim > &s, bool proper) |
template<int dim> | |
bool | Contains (const Segment< dim > &s, const Polygon< dim > &p, bool proper) |
template<int dim> | |
bool | Intersect (const Polygon< dim > &p, const RotBox< dim > &r, bool proper) |
template<int dim> | |
bool | Contains (const Polygon< dim > &p, const RotBox< dim > &r, bool proper) |
template<int dim> | |
bool | Contains (const RotBox< dim > &r, const Polygon< dim > &p, bool proper) |
template<int dim> | |
bool | Intersect (const Polygon< dim > &p1, const Polygon< dim > &p2, bool proper) |
template<int dim> | |
bool | Contains (const Polygon< dim > &outer, const Polygon< dim > &inner, bool proper) |
std::ostream & | operator<< (std::ostream &os, MTRand const &mtrand) |
std::istream & | operator>> (std::istream &is, MTRand &mtrand) |
template CoordType | SquaredDistance< 3 > (const Point< 3 > &, const Point< 3 > &) |
template CoordType | SquaredDistance< 2 > (const Point< 2 > &, const Point< 2 > &) |
template Point< 3 > | Midpoint< 3 > (const Point< 3 > &, const Point< 3 > &, CoordType) |
template Point< 2 > | Midpoint< 2 > (const Point< 2 > &, const Point< 2 > &, CoordType) |
template Point< 3 > | Barycenter< 3, std::vector > (const std::vector< Point< 3 > > &) |
template Point< 3 > | Barycenter< 3, std::vector, std::list > (const std::vector< Point< 3 > > &, const std::list< CoordType > &) |
template Point< 2 > | Barycenter< 2, std::vector > (const std::vector< Point< 2 > > &) |
template Point< 2 > | Barycenter< 2, std::vector, std::list > (const std::vector< Point< 2 > > &, const std::list< CoordType > &) |
template Vector< 3 > | operator-<3 > (const Point< 3 > &, const Point< 3 > &) |
template Vector< 2 > | operator-<2 > (const Point< 2 > &, const Point< 2 > &) |
template Point< 3 > | operator-<3 > (const Point< 3 > &, const Vector< 3 > &) |
template Point< 2 > | operator-<2 > (const Point< 2 > &, const Vector< 2 > &) |
template Point< 3 > & | operator-=<3 > (Point< 3 > &, const Vector< 3 > &) |
template Point< 2 > & | operator-=<2 > (Point< 2 > &, const Vector< 2 > &) |
template Point< 3 > | operator+<3 > (const Vector< 3 > &, const Point< 3 > &) |
template Point< 2 > | operator+<2 > (const Vector< 2 > &, const Point< 2 > &) |
template Point< 3 > | operator+<3 > (const Point< 3 > &, const Vector< 3 > &) |
template Point< 2 > | operator+<2 > (const Point< 2 > &, const Vector< 2 > &) |
template Point< 3 > & | operator+=<3 > (Point< 3 > &, const Vector< 3 > &) |
template Point< 2 > & | operator+=<2 > (Point< 2 > &, const Vector< 2 > &) |
template<int dim> | |
Point< dim > & | operator+= (Point< dim > &p, const Vector< dim > &v) |
template<int dim> | |
Point< dim > & | operator-= (Point< dim > &p, const Vector< dim > &v) |
template<int dim> | |
Vector< dim > | operator- (const Point< dim > &c1, const Point< dim > &c2) |
template<int dim> | |
Point< dim > | operator+ (const Point< dim > &c, const Vector< dim > &v) |
template<int dim> | |
Point< dim > | operator+ (const Vector< dim > &v, const Point< dim > &c) |
template<int dim> | |
Point< dim > | operator- (const Point< dim > &c, const Vector< dim > &v) |
template<int dim> | |
CoordType | SquaredDistance (const Point< dim > &p1, const Point< dim > &p2) |
template<int dim> | |
CoordType | Distance (const Point< dim > &p1, const Point< dim > &p2) |
template<int dim> | |
CoordType | SloppyDistance (const Point< dim > &p1, const Point< dim > &p2) |
template<int dim, template< class, class > class container> | |
Point< dim > | Barycenter (const container< Point< dim >, std::allocator< Point< dim > > > &c) |
Find the center of a set of points, all weighted equally. More... | |
template<int dim, template< class, class > class container, template< class, class > class container2> | |
Point< dim > | Barycenter (const container< Point< dim >, std::allocator< Point< dim > > > &c, const container2< CoordType, std::allocator< CoordType > > &weights) |
Find the center of a set of points with the given weights. More... | |
template<int dim> | |
Point< dim > | Midpoint (const Point< dim > &p1, const Point< dim > &p2, CoordType dist=0.5) |
template<int dim> | |
std::ostream & | operator<< (std::ostream &os, const Point< dim > &m) |
template<int dim> | |
std::istream & | operator>> (std::istream &is, Point< dim > &m) |
template<int dim> | |
std::ostream & | operator<< (std::ostream &os, const Polygon< dim > &r) |
template<int dim> | |
std::istream & | operator>> (std::istream &is, Polygon< dim > &r) |
template<int dim> | |
int | Intersect (const Poly2Orient< dim > &, const Poly2Orient< dim > &, Poly2OrientIntersectData &) |
template<int dim> | |
bool | _PolyContainsBox (const Poly2Orient< dim > &orient, const Polygon< 2 > &poly, const Point< dim > &corner, const Vector< dim > &size, bool proper) |
bool | PolyPolyIntersect (const Polygon< 2 > &poly1, const Polygon< 2 > &poly2, int intersect_dim, const Poly2OrientIntersectData &data, bool proper) |
bool | PolyPolyContains (const Polygon< 2 > &outer, const Polygon< 2 > &inner, int intersect_dim, const Poly2OrientIntersectData &data, bool proper) |
template bool | Intersect< Point< 2 >, Polygon< 2 > > (const Point< 2 > &, const Polygon< 2 > &, bool) |
template bool | Intersect< Point< 3 >, Polygon< 3 > > (const Point< 3 > &, const Polygon< 3 > &, bool) |
template bool | Contains< 3 > (const Point< 3 > &, const Polygon< 3 > &, bool) |
template bool | Intersect< 3 > (const Polygon< 3 > &, const Point< 3 > &, bool) |
template bool | Contains< 3 > (const Polygon< 3 > &, const Point< 3 > &, bool) |
template bool | Intersect< AxisBox< 2 >, Polygon< 2 > > (const AxisBox< 2 > &, const Polygon< 2 > &, bool) |
template bool | Intersect< AxisBox< 3 >, Polygon< 3 > > (const AxisBox< 3 > &, const Polygon< 3 > &, bool) |
template bool | Contains< 3 > (const AxisBox< 3 > &, const Polygon< 3 > &, bool) |
template bool | Intersect< 3 > (const Polygon< 3 > &, const AxisBox< 3 > &, bool) |
template bool | Contains< 3 > (const Polygon< 3 > &, const AxisBox< 3 > &, bool) |
template bool | Intersect< Ball< 2 >, Polygon< 2 > > (const Ball< 2 > &, const Polygon< 2 > &, bool) |
template bool | Intersect< Ball< 3 >, Polygon< 3 > > (const Ball< 3 > &, const Polygon< 3 > &, bool) |
template bool | Contains< 3 > (const Ball< 3 > &, const Polygon< 3 > &, bool) |
template bool | Intersect< 3 > (const Polygon< 3 > &, const Ball< 3 > &, bool) |
template bool | Contains< 3 > (const Polygon< 3 > &, const Ball< 3 > &, bool) |
template bool | Intersect< Segment< 2 >, Polygon< 2 > > (const Segment< 2 > &, const Polygon< 2 > &, bool) |
template bool | Intersect< Segment< 3 >, Polygon< 3 > > (const Segment< 3 > &, const Polygon< 3 > &, bool) |
template bool | Contains< 3 > (const Segment< 3 > &, const Polygon< 3 > &, bool) |
template bool | Intersect< 3 > (const Polygon< 3 > &, const Segment< 3 > &, bool) |
template bool | Contains< 3 > (const Polygon< 3 > &, const Segment< 3 > &, bool) |
template bool | Intersect< RotBox< 2 >, Polygon< 2 > > (const RotBox< 2 > &, const Polygon< 2 > &, bool) |
template bool | Intersect< RotBox< 3 >, Polygon< 3 > > (const RotBox< 3 > &, const Polygon< 3 > &, bool) |
template bool | Contains< 3 > (const RotBox< 3 > &, const Polygon< 3 > &, bool) |
template bool | Intersect< 3 > (const Polygon< 3 > &, const RotBox< 3 > &, bool) |
template bool | Contains< 3 > (const Polygon< 3 > &, const RotBox< 3 > &, bool) |
template bool | Intersect< 3 > (const Polygon< 3 > &, const Polygon< 3 > &, bool) |
template bool | Contains< 3 > (const Polygon< 3 > &, const Polygon< 3 > &, bool) |
template<> | |
bool | Intersect< 2 > (const Polygon< 2 > &r, const Point< 2 > &p, bool proper) |
template<> | |
bool | Contains< 2 > (const Point< 2 > &p, const Polygon< 2 > &r, bool proper) |
template<> | |
bool | Intersect< 2 > (const Polygon< 2 > &p, const AxisBox< 2 > &b, bool proper) |
template<> | |
bool | Contains< 2 > (const Polygon< 2 > &p, const AxisBox< 2 > &b, bool proper) |
template<> | |
bool | Contains< 2 > (const AxisBox< 2 > &b, const Polygon< 2 > &p, bool proper) |
template<> | |
bool | Intersect< 2 > (const Polygon< 2 > &p, const Ball< 2 > &b, bool proper) |
template<> | |
bool | Contains< 2 > (const Polygon< 2 > &p, const Ball< 2 > &b, bool proper) |
template<> | |
bool | Contains< 2 > (const Ball< 2 > &b, const Polygon< 2 > &p, bool proper) |
template<> | |
bool | Intersect< 2 > (const Polygon< 2 > &p, const Segment< 2 > &s, bool proper) |
template<> | |
bool | Contains< 2 > (const Polygon< 2 > &p, const Segment< 2 > &s, bool proper) |
template<> | |
bool | Contains< 2 > (const Segment< 2 > &s, const Polygon< 2 > &p, bool proper) |
template<> | |
bool | Intersect< 2 > (const Polygon< 2 > &p, const RotBox< 2 > &r, bool proper) |
template<> | |
bool | Contains< 2 > (const Polygon< 2 > &p, const RotBox< 2 > &r, bool proper) |
template<> | |
bool | Contains< 2 > (const RotBox< 2 > &r, const Polygon< 2 > &p, bool proper) |
template<> | |
bool | Intersect< 2 > (const Polygon< 2 > &p1, const Polygon< 2 > &p2, bool proper) |
template<> | |
bool | Contains< 2 > (const Polygon< 2 > &outer, const Polygon< 2 > &inner, bool proper) |
template<> | |
bool | Intersect (const Polygon< 2 > &r, const Point< 2 > &p, bool proper) |
template<> | |
bool | Contains (const Point< 2 > &p, const Polygon< 2 > &r, bool proper) |
template<> | |
bool | Intersect (const Polygon< 2 > &p, const AxisBox< 2 > &b, bool proper) |
template<> | |
bool | Contains (const Polygon< 2 > &p, const AxisBox< 2 > &b, bool proper) |
template<> | |
bool | Contains (const AxisBox< 2 > &b, const Polygon< 2 > &p, bool proper) |
template<> | |
bool | Intersect (const Polygon< 2 > &p, const Ball< 2 > &b, bool proper) |
template<> | |
bool | Contains (const Polygon< 2 > &p, const Ball< 2 > &b, bool proper) |
template<> | |
bool | Contains (const Ball< 2 > &b, const Polygon< 2 > &p, bool proper) |
template<> | |
bool | Intersect (const Polygon< 2 > &p, const Segment< 2 > &s, bool proper) |
template<> | |
bool | Contains (const Polygon< 2 > &p, const Segment< 2 > &s, bool proper) |
template<> | |
bool | Contains (const Segment< 2 > &s, const Polygon< 2 > &p, bool proper) |
template<> | |
bool | Intersect (const Polygon< 2 > &p, const RotBox< 2 > &r, bool proper) |
template<> | |
bool | Contains (const Polygon< 2 > &p, const RotBox< 2 > &r, bool proper) |
template<> | |
bool | Contains (const RotBox< 2 > &r, const Polygon< 2 > &p, bool proper) |
template<> | |
bool | Intersect (const Polygon< 2 > &p1, const Polygon< 2 > &p2, bool proper) |
template<> | |
bool | Contains (const Polygon< 2 > &outer, const Polygon< 2 > &inner, bool proper) |
template<typename FloatT > | |
FloatT | GaussianConditional (FloatT mean, FloatT stddev, FloatT val) |
Gives the conditional probability of the Gaussian distribution at position val. More... | |
template<typename FloatT > | |
FloatT | Gaussian (FloatT mean, FloatT stddev, FloatT val) |
Gives the value of the Gaussian distribution at position val. More... | |
template<typename FloatT > | |
FloatT | PoissonConditional (FloatT mean, unsigned int step) |
Gives the conditional probability of the Poisson distribution at position step. More... | |
template<typename FloatT > | |
FloatT | Poisson (FloatT mean, unsigned int step) |
Gives the value of the Poisson distribution at position step. More... | |
template<typename FloatT > | |
FloatT | Factorial (unsigned int n) |
Gives n! More... | |
template<typename FloatT > | |
FloatT | LogFactorial (unsigned int n) |
Gives the natural log of n! More... | |
template<typename FloatT > | |
FloatT | Gamma (FloatT z) |
Euler's Gamma function. More... | |
template<typename FloatT > | |
FloatT | LogGamma (FloatT z) |
The natural log of Euler's Gamma function. More... | |
template float | GaussianConditional< float > (float mean, float stddev, float val) |
template float | Gaussian< float > (float mean, float stddev, float val) |
template float | PoissonConditional< float > (float mean, unsigned int step) |
template float | Poisson< float > (float mean, unsigned int step) |
template float | LogFactorial< float > (unsigned int n) |
template float | Factorial< float > (unsigned int n) |
template float | LogGamma< float > (float z) |
template float | Gamma< float > (float z) |
template double | GaussianConditional< double > (double mean, double stddev, double val) |
template double | Gaussian< double > (double mean, double stddev, double val) |
template double | PoissonConditional< double > (double mean, unsigned int step) |
template double | Poisson< double > (double mean, unsigned int step) |
template double | LogFactorial< double > (unsigned int n) |
template double | Factorial< double > (unsigned int n) |
template double | LogGamma< double > (double z) |
template double | Gamma< double > (double z) |
template<int dim> | |
std::ostream & | operator<< (std::ostream &os, const RotBox< dim > &r) |
template<int dim> | |
std::istream & | operator>> (std::istream &is, RotBox< dim > &r) |
bool | _MatrixSetValsImpl (const int size, CoordType *vals, bool &flip, CoordType *buf1, CoordType *buf2, CoordType precision) |
bool | _MatrixInverseImpl (const int size, CoordType *in, CoordType *out) |
template RotMatrix< 2 > | operator*<2 > (RotMatrix< 2 > const &, RotMatrix< 2 > const &) |
template RotMatrix< 3 > | operator*<3 > (RotMatrix< 3 > const &, RotMatrix< 3 > const &) |
template RotMatrix< 2 > | ProdInv< 2 > (RotMatrix< 2 > const &, RotMatrix< 2 > const &) |
template RotMatrix< 3 > | ProdInv< 3 > (RotMatrix< 3 > const &, RotMatrix< 3 > const &) |
template Vector< 2 > | operator*<2 > (Vector< 2 > const &, RotMatrix< 2 > const &) |
template Vector< 3 > | operator*<3 > (Vector< 3 > const &, RotMatrix< 3 > const &) |
template Vector< 2 > | operator*<2 > (RotMatrix< 2 > const &, Vector< 2 > const &) |
template Vector< 3 > | operator*<3 > (RotMatrix< 3 > const &, Vector< 3 > const &) |
template Vector< 2 > | ProdInv< 2 > (Vector< 2 > const &, RotMatrix< 2 > const &) |
template Vector< 3 > | ProdInv< 3 > (Vector< 3 > const &, RotMatrix< 3 > const &) |
template Vector< 3 > | Prod< 3 > (Vector< 3 > const &, RotMatrix< 3 > const &) |
template Vector< 2 > | Prod< 2 > (Vector< 2 > const &, RotMatrix< 2 > const &) |
template RotMatrix< 3 > | Prod< 3 > (RotMatrix< 3 > const &, RotMatrix< 3 > const &) |
template RotMatrix< 2 > | Prod< 2 > (RotMatrix< 2 > const &, RotMatrix< 2 > const &) |
template<int dim> | |
RotMatrix< dim > | Prod (const RotMatrix< dim > &m1, const RotMatrix< dim > &m2) |
returns m1 * m2 More... | |
template<int dim> | |
RotMatrix< dim > | ProdInv (const RotMatrix< dim > &m1, const RotMatrix< dim > &m2) |
returns m1 * m2^-1 More... | |
template<int dim> | |
RotMatrix< dim > | InvProd (const RotMatrix< dim > &m1, const RotMatrix< dim > &m2) |
returns m1^-1 * m2 More... | |
template<int dim> | |
RotMatrix< dim > | InvProdInv (const RotMatrix< dim > &m1, const RotMatrix< dim > &m2) |
returns m1^-1 * m2^-1 More... | |
template<int dim> | |
Vector< dim > | Prod (const RotMatrix< dim > &m, const Vector< dim > &v) |
returns m * v More... | |
template<int dim> | |
Vector< dim > | InvProd (const RotMatrix< dim > &m, const Vector< dim > &v) |
returns m^-1 * v More... | |
template<int dim> | |
Vector< dim > | Prod (const Vector< dim > &v, const RotMatrix< dim > &m) |
returns v * m More... | |
template<int dim> | |
Vector< dim > | ProdInv (const Vector< dim > &v, const RotMatrix< dim > &m) |
return v * m^-1 More... | |
template<int dim> | |
RotMatrix< dim > | operator* (const RotMatrix< dim > &m1, const RotMatrix< dim > &m2) |
returns m1 * m2 More... | |
template<int dim> | |
Vector< dim > | operator* (const RotMatrix< dim > &m, const Vector< dim > &v) |
template<int dim> | |
Vector< dim > | operator* (const Vector< dim > &v, const RotMatrix< dim > &m) |
template<int dim> | |
std::ostream & | operator<< (std::ostream &os, const RotMatrix< dim > &m) |
template<int dim> | |
std::istream & | operator>> (std::istream &is, RotMatrix< dim > &m) |
template<int dim> | |
std::ostream & | operator<< (std::ostream &os, const Segment< dim > &s) |
template<int dim> | |
std::istream & | operator>> (std::istream &is, Segment< dim > &s) |
template<class C > | |
void | Shuffle (std::vector< C > &v) |
Randomly reorder the contents of a std::vector. More... | |
template std::ostream & | operator<<< 3 > (std::ostream &os, const Vector< 3 > &r) |
template std::istream & | operator>>< 3 > (std::istream &is, Vector< 3 > &r) |
template std::ostream & | operator<<< 2 > (std::ostream &os, const Vector< 2 > &r) |
template std::istream & | operator>>< 2 > (std::istream &is, Vector< 2 > &r) |
template std::ostream & | operator<<< 3 > (std::ostream &os, const Point< 3 > &r) |
template std::istream & | operator>>< 3 > (std::istream &is, Point< 3 > &r) |
template std::ostream & | operator<<< 2 > (std::ostream &os, const Point< 2 > &r) |
template std::istream & | operator>>< 2 > (std::istream &is, Point< 2 > &r) |
template std::ostream & | operator<<< 3 > (std::ostream &os, const RotMatrix< 3 > &r) |
template std::istream & | operator>>< 3 > (std::istream &is, RotMatrix< 3 > &r) |
template std::ostream & | operator<<< 2 > (std::ostream &os, const RotMatrix< 2 > &r) |
template std::istream & | operator>>< 2 > (std::istream &is, RotMatrix< 2 > &r) |
template std::ostream & | operator<<< 3 > (std::ostream &os, const AxisBox< 3 > &r) |
template std::istream & | operator>>< 3 > (std::istream &is, AxisBox< 3 > &r) |
template std::ostream & | operator<<< 2 > (std::ostream &os, const AxisBox< 2 > &r) |
template std::istream & | operator>>< 2 > (std::istream &is, AxisBox< 2 > &r) |
template std::ostream & | operator<<< 3 > (std::ostream &os, const Ball< 3 > &r) |
template std::istream & | operator>>< 3 > (std::istream &is, Ball< 3 > &r) |
template std::ostream & | operator<<< 2 > (std::ostream &os, const Ball< 2 > &r) |
template std::istream & | operator>>< 2 > (std::istream &is, Ball< 2 > &r) |
template std::ostream & | operator<<< 3 > (std::ostream &os, const Segment< 3 > &r) |
template std::istream & | operator>>< 3 > (std::istream &is, Segment< 3 > &r) |
template std::ostream & | operator<<< 2 > (std::ostream &os, const Segment< 2 > &r) |
template std::istream & | operator>>< 2 > (std::istream &is, Segment< 2 > &r) |
template std::ostream & | operator<<< 3 > (std::ostream &os, const RotBox< 3 > &r) |
template std::istream & | operator>>< 3 > (std::istream &is, RotBox< 3 > &r) |
template std::ostream & | operator<<< 2 > (std::ostream &os, const RotBox< 2 > &r) |
template std::istream & | operator>>< 2 > (std::istream &is, RotBox< 2 > &r) |
template std::ostream & | operator<<< 3 > (std::ostream &os, const Polygon< 3 > &r) |
template std::istream & | operator>>< 3 > (std::istream &is, Polygon< 3 > &r) |
void | WriteCoordList (std::ostream &os, const CoordType *d, const int num) |
void | ReadCoordList (std::istream &is, CoordType *d, const int num) |
CoordType | GetEpsilon (std::istream &is) |
template<> | |
std::ostream & | operator<< (std::ostream &os, const Polygon< 2 > &r) |
template<> | |
std::istream & | operator>> (std::istream &is, Polygon< 2 > &r) |
std::ostream & | operator<< (std::ostream &os, const Quaternion &q) |
std::istream & | operator>> (std::istream &is, Quaternion &q) |
template<class C > | |
std::string | ToString (const C &c, std::streamsize precision=6) |
Output a WFMath type as a string. More... | |
template<class C > | |
void | FromString (C &c, const std::string &s, std::streamsize=6) |
Parse a WFMath type from a string. More... | |
template<int dim> | |
std::ostream & | operator<< (std::ostream &os, const Vector< dim > &v) |
template<int dim> | |
std::istream & | operator>> (std::istream &is, Vector< dim > &v) |
template<int dim> | |
std::ostream & | operator<< (std::ostream &os, const Line< dim > &r) |
TimeDiff & | operator+= (TimeDiff &val, const TimeDiff &d) |
TimeDiff & | operator-= (TimeDiff &val, const TimeDiff &d) |
TimeDiff | operator+ (const TimeDiff &a, const TimeDiff &b) |
TimeDiff | operator- (const TimeDiff &a, const TimeDiff &b) |
bool | operator< (const TimeDiff &a, const TimeDiff &b) |
bool | operator== (const TimeDiff &a, const TimeDiff &b) |
bool | operator< (const TimeStamp &a, const TimeStamp &b) |
bool | operator== (const TimeStamp &a, const TimeStamp &b) |
TimeStamp & | operator+= (TimeStamp &a, const TimeDiff &d) |
TimeStamp & | operator-= (TimeStamp &a, const TimeDiff &d) |
TimeStamp | operator+ (const TimeStamp &a, const TimeDiff &d) |
TimeStamp | operator- (const TimeStamp &a, const TimeDiff &d) |
TimeDiff | operator- (const TimeStamp &a, const TimeStamp &b) |
bool | operator> (const TimeDiff &a, const TimeDiff &b) |
bool | operator<= (const TimeDiff &a, const TimeDiff &b) |
bool | operator>= (const TimeDiff &a, const TimeDiff &b) |
bool | operator!= (const TimeDiff &a, const TimeDiff &b) |
TimeStamp | operator+ (TimeDiff msec, const TimeStamp &a) |
bool | operator> (const TimeStamp &a, const TimeStamp &b) |
bool | operator<= (const TimeStamp &a, const TimeStamp &b) |
bool | operator>= (const TimeStamp &a, const TimeStamp &b) |
bool | operator!= (const TimeStamp &a, const TimeStamp &b) |
CoordType | Cross (const Vector< 2 > &v1, const Vector< 2 > &v2) |
2D only: get the z component of the cross product of two vectors More... | |
Vector< 3 > | Cross (const Vector< 3 > &v1, const Vector< 3 > &v2) |
3D only: get the cross product of two vectors More... | |
template Vector< 3 > & | operator-= (Vector< 3 > &v1, const Vector< 3 > &v2) |
template Vector< 2 > & | operator-= (Vector< 2 > &v1, const Vector< 2 > &v2) |
template Vector< 3 > & | operator+= (Vector< 3 > &v1, const Vector< 3 > &v2) |
template Vector< 2 > & | operator+= (Vector< 2 > &v1, const Vector< 2 > &v2) |
template Vector< 3 > & | operator*= (Vector< 3 > &v1, CoordType d) |
template Vector< 2 > & | operator*= (Vector< 2 > &v1, CoordType d) |
template Vector< 3 > & | operator/= (Vector< 3 > &v1, CoordType d) |
template Vector< 2 > & | operator/= (Vector< 2 > &v1, CoordType d) |
template CoordType | Dot< 3 > (const Vector< 3 > &, const Vector< 3 > &) |
template CoordType | Dot< 2 > (const Vector< 2 > &, const Vector< 2 > &) |
template CoordType | Angle< 3 > (const Vector< 3 > &, const Vector< 3 > &) |
template Vector< 3 > | operator-<3 > (const Vector< 3 > &) |
template Vector< 3 > | operator*<3 > (CoordType, const Vector< 3 > &) |
template Vector< 2 > | operator*<2 > (CoordType, const Vector< 2 > &) |
template Vector< 3 > | operator*<3 > (const Vector< 3 > &, CoordType) |
template Vector< 2 > | operator*<2 > (const Vector< 2 > &, CoordType) |
template Vector< 3 > | operator/<3 > (const Vector< 3 > &, CoordType) |
template Vector< 2 > | operator/<2 > (const Vector< 2 > &, CoordType) |
template Vector< 3 > | operator+<3 > (const Vector< 3 > &, const Vector< 3 > &) |
template Vector< 2 > | operator+<2 > (const Vector< 2 > &, const Vector< 2 > &) |
template Vector< 3 > | operator-<3 > (const Vector< 3 > &, const Vector< 3 > &) |
template Vector< 2 > | operator-<2 > (const Vector< 2 > &, const Vector< 2 > &) |
template<int dim> | |
Vector< dim > & | operator+= (Vector< dim > &v1, const Vector< dim > &v2) |
template<int dim> | |
Vector< dim > & | operator-= (Vector< dim > &v1, const Vector< dim > &v2) |
template<int dim> | |
Vector< dim > & | operator*= (Vector< dim > &v, CoordType d) |
template<int dim> | |
Vector< dim > & | operator/= (Vector< dim > &v, CoordType d) |
template<int dim> | |
Vector< dim > | operator+ (const Vector< dim > &v1, const Vector< dim > &v2) |
template<int dim> | |
Vector< dim > | operator- (const Vector< dim > &v1, const Vector< dim > &v2) |
template<int dim> | |
Vector< dim > | operator- (const Vector< dim > &v) |
template<int dim> | |
Vector< dim > | operator* (CoordType d, const Vector< dim > &v) |
template<int dim> | |
Vector< dim > | operator* (const Vector< dim > &v, CoordType d) |
template<int dim> | |
Vector< dim > | operator/ (const Vector< dim > &v, CoordType d) |
template<int dim> | |
CoordType | Dot (const Vector< dim > &v1, const Vector< dim > &v2) |
template<int dim> | |
CoordType | Angle (const Vector< dim > &v, const Vector< dim > &u) |
template<int dim> | |
bool | Parallel (const Vector< dim > &v1, const Vector< dim > &v2, bool &same_dir) |
Check if two vectors are parallel. More... | |
template<int dim> | |
bool | Parallel (const Vector< dim > &v1, const Vector< dim > &v2) |
Check if two vectors are parallel. More... | |
template<int dim> | |
bool | Perpendicular (const Vector< dim > &v1, const Vector< dim > &v2) |
Check if two vectors are perpendicular. More... | |
Generic library namespace.
Timing related primitives in a portable fashion - note this is for interval / elapsed time measurement, not displaying a human readable time.
typedef double WFMath::CoordType |
Point< dim > WFMath::Barycenter | ( | const container< Point< dim >, std::allocator< Point< dim > > > & | c | ) |
Find the center of a set of points, all weighted equally.
Definition at line 186 of file point_funcs.h.
References Barycenter().
Referenced by Barycenter(), and WFMath::Line< dim >::getCenter().
Point< dim > WFMath::Barycenter | ( | const container< Point< dim >, std::allocator< Point< dim > > > & | c, |
const container2< CoordType, std::allocator< CoordType > > & | weights | ||
) |
Find the center of a set of points with the given weights.
If the number of points and the number of weights are not equal, the excess of either is ignored. The weights (or that subset which is used, if there are more weights than points), must not sum to zero.
Definition at line 138 of file point_funcs.h.
References Barycenter(), and WFMath::Point< dim >::setValid().
AxisBox< dim > WFMath::BoundingBox | ( | const container< AxisBox< dim >, std::allocator< AxisBox< dim > > > & | c | ) |
Get the axis-aligned bounding box for a set of boxes.
Definition at line 130 of file axisbox_funcs.h.
References WFMath::Point< dim >::setValid().
AxisBox< dim > WFMath::BoundingBox | ( | const container< Point< dim >, std::allocator< Point< dim > > > & | c | ) |
Get the axis-aligned bounding box for a set of points.
Definition at line 158 of file axisbox_funcs.h.
References WFMath::Point< dim >::setValid().
Ball< dim > WFMath::BoundingSphere | ( | const container< Point< dim >, std::allocator< Point< dim > > > & | c | ) |
get the minimal bounding sphere for a set of points
Definition at line 57 of file ball_funcs.h.
References WFMath::Point< dim >::setValid().
Ball< dim > WFMath::BoundingSphereSloppy | ( | const container< Point< dim >, std::allocator< Point< dim > > > & | c | ) |
get a bounding sphere for a set of points
Definition at line 92 of file ball_funcs.h.
References Midpoint(), and WFMath::Point< dim >::setValid().
2D only: get the z component of the cross product of two vectors
Definition at line 102 of file vector.cpp.
Referenced by WFMath::Quaternion::rotation().
3D only: get the cross product of two vectors
Definition at line 109 of file vector.cpp.
|
inline |
Test for equality up to precision epsilon.
Returns true if the difference between the numbers is less than epsilon. Note that epsilon is multiplied by 2 raised to the power of the exponent of the smaller number. So, for example, Equal(0.00010000, 0.00010002, 1.0e-4) will not compare equal, but Equal(0.00010000, 0.00010002, 1.0e-3) will.
FloatT WFMath::Factorial | ( | unsigned int | n | ) |
|
inline |
FloatT WFMath::Gamma | ( | FloatT | z | ) |
Euler's Gamma function.
Definition at line 173 of file probability.cpp.
References LogGamma(), and WFMath::numeric_constants< FloatType >::pi().
FloatT WFMath::Gaussian | ( | FloatT | mean, |
FloatT | stddev, | ||
FloatT | val | ||
) |
Gives the value of the Gaussian distribution at position val.
Definition at line 78 of file probability.cpp.
References WFMath::numeric_constants< FloatType >::sqrt2(), and WFMath::numeric_constants< FloatType >::sqrt_pi().
Referenced by GaussianConditional().
FloatT WFMath::GaussianConditional | ( | FloatT | mean, |
FloatT | stddev, | ||
FloatT | val | ||
) |
Gives the conditional probability of the Gaussian distribution at position val.
The probability that a Gaussian random variable will fall between val and val + delta, given that it is already known to be not less than val, is given by this function multiplied by delta (for small delta).
Definition at line 51 of file probability.cpp.
References Gaussian().
|
inline |
returns m^-1 * v
Definition at line 177 of file rotmatrix_funcs.h.
|
inline |
returns m1^-1 * m2^-1
Definition at line 138 of file rotmatrix_funcs.h.
FloatT WFMath::LogFactorial | ( | unsigned int | n | ) |
FloatT WFMath::LogGamma | ( | FloatT | z | ) |
The natural log of Euler's Gamma function.
Definition at line 184 of file probability.cpp.
References WFMath::numeric_constants< FloatType >::log2(), and WFMath::numeric_constants< FloatType >::log_pi().
Referenced by Factorial(), Gamma(), and LogFactorial().
|
inline |
The default value of 0.5 for dist gives the midpoint. A value of 0 gives p1, and 1 gives p2. Values of dist outside the [0, 1] range are allowed, and give points on the line which are not on the segment bounded by p1 and p2.
Definition at line 219 of file point_funcs.h.
Referenced by BoundingSphereSloppy().
|
inline |
Check if two vectors are parallel.
Convienience wrapper if you don't care about same_dir
Definition at line 462 of file vector.h.
References Parallel().
|
inline |
Check if two vectors are parallel.
Returns true if the vectors are parallel. For parallel vectors, same_dir is set to true if they point the same direction, and false if they point opposite directions
Definition at line 450 of file vector.h.
References Parallel(), and WFMath::Vector< dim >::sqrMag().
Referenced by Parallel().
Check if two vectors are perpendicular.
Definition at line 231 of file vector_funcs.h.
References Perpendicular().
Referenced by Perpendicular().
FloatT WFMath::Poisson | ( | FloatT | mean, |
unsigned int | step | ||
) |
Gives the value of the Poisson distribution at position step.
Definition at line 109 of file probability.cpp.
Referenced by PoissonConditional().
FloatT WFMath::PoissonConditional | ( | FloatT | mean, |
unsigned int | step | ||
) |
Gives the conditional probability of the Poisson distribution at position step.
Returns the probability that a Poisson random variable will have value step, given that it is already known not to be less than step.
Definition at line 90 of file probability.cpp.
References Poisson().
|
inline |
returns m * v
Definition at line 160 of file rotmatrix_funcs.h.
|
inline |
returns m1 * m2
Definition at line 72 of file rotmatrix_funcs.h.
Referenced by WFMath::Quaternion::fromRotMatrix(), operator*(), ProdInv(), WFMath::Point< dim >::rotate(), and WFMath::Vector< dim >::rotate().
|
inline |
returns v * m
This is the function to use to rotate a Vector v using a Matrix m
Definition at line 194 of file rotmatrix_funcs.h.
References InvProd().
|
inline |
returns m1 * m2^-1
Definition at line 94 of file rotmatrix_funcs.h.
void WFMath::Shuffle | ( | std::vector< C > & | v | ) |