OpenStructure
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Namespaces | Data Structures | Typedefs | Functions | Variables
geom Namespace Reference

Namespaces

namespace  Axis

Data Structures

class  AlignedCuboid
 axis-aligned cuboid More...
class  Line2
 Line2. More...
class  Rectangle2
class  Polygon2
class  Ellipse2
class  Hyperbola2
class  Circle2
class  Line3
 Line3. More...
class  Plane
class  Sphere
class  CuboidAxis
 cuboid axis defined by a normalized direction vector and a half extent More...
class  Cuboid
 arbitrary oriented bounding cuboid More...
class  Rotation3
class  GeomException
class  DivideByZeroException
class  OutOfRangeException
class  VectorAdditions
class  Mat2
class  Mat3
class  Mat4
class  PointCloud
class  PointCloudManager
class  Quat
 unit quaternion More...
class  Vec2
class  Vec3
 Three dimensional vector class, using Real precision. More...
class  Vec3List
class  Vec4

Typedefs

typedef std::vector< Rotation3Rotation3List
typedef boost::shared_ptr
< PointCloud
PointCloudPtr
typedef std::vector< Vec2Vec2List

Functions

std::ostream & operator<< (std::ostream &os, const AlignedCuboid &c)
AlignedCuboid DLLIMPORT Union (const AlignedCuboid &lhs, const AlignedCuboid &rhs)
Real DLLEXPORT_OST_GEOM Angle (const Line2 &l1, const Line2 &l2)
Vec2 DLLEXPORT_OST_GEOM IntersectionPoint (const Line2 &l1, const Line2 &l2)
Real DLLEXPORT_OST_GEOM Distance (const Line2 &l, const Vec2 &v)
bool DLLEXPORT_OST_GEOM IsOnLine (const Line2 &l, const Vec2 &v, Real ephilon=EPSILON)
bool DLLEXPORT_OST_GEOM operator== (const Line2 &l1, const Line2 &l2)
bool DLLEXPORT_OST_GEOM Equal (const Line2 &l1, const Line2 &l2, Real ephilon=EPSILON)
bool DLLEXPORT_OST_GEOM EqualPosition (const Line2 &l1, const Line2 &l2, Real ephilon=EPSILON)
bool DLLEXPORT_OST_GEOM AreParallel (const Line2 &l1, const Line2 &l2, Real ephilon=EPSILON)
DLLEXPORT_OST_GEOM bool IsInPolygon (const Polygon2 &p, const Vec2 &v)
DLLEXPORT_OST_GEOM Polygon2 SimplifyPolygon (const Polygon2 &p)
DLLEXPORT_OST_GEOM bool IsInRectangle (const Rectangle2 &r, const Vec2 &v)
DLLEXPORT_OST_GEOM bool IsInCircle (const Circle2 &c, const Vec2 &v)
std::ostream & operator<< (std::ostream &s, const Line3 &l)
DLLEXPORT Rotation3List ImportEulerAngles (const boost::filesystem::path &loc)
DLLEXPORT void ExportEulerAngles (const Rotation3List &rot_list, const boost::filesystem::path &loc)
Real DLLEXPORT_OST_GEOM Angle (const Line3 &l1, const Line3 &l2)
Real DLLEXPORT_OST_GEOM Angle (const Plane &p1, const Plane &p2)
Real DLLEXPORT_OST_GEOM Angle (const Plane &p, const Line3 &l)
Vec3 DLLEXPORT_OST_GEOM IntersectionPoint (const Line3 &l1, const Line3 &l2)
Vec3 DLLEXPORT_OST_GEOM IntersectionPoint (const Line3 &l, const Plane &p)
Vec3 DLLEXPORT_OST_GEOM IntersectionPoint (const Plane &p, const Line3 &l)
Line3 DLLEXPORT_OST_GEOM IntersectionLine (const Plane &p1, const Plane &p2)
Real DLLEXPORT_OST_GEOM Distance (const Line3 &l1, const Line3 &l2)
Real DLLEXPORT_OST_GEOM Distance (const Line3 &l, const Vec3 &v)
Real DLLEXPORT_OST_GEOM Distance (const Plane &p, const Vec3 &v)
bool DLLEXPORT_OST_GEOM IsOnLine (const Line3 &l, const Vec3 &v, Real ephilon=EPSILON)
bool DLLEXPORT_OST_GEOM IsInPlane (const Plane &p, const Vec3 &v, Real ephilon=EPSILON)
bool DLLEXPORT_OST_GEOM IsInPlane (const Plane &p, const Line3 &l, Real ephilon=EPSILON)
int DLLEXPORT_OST_GEOM RelativePosition (const Plane &p, const Vec3 &v, Real ephilon=EPSILON)
bool DLLEXPORT_OST_GEOM operator== (const Line3 &l1, const Line3 &l2)
bool DLLEXPORT_OST_GEOM Equal (const Line3 &l1, const Line3 &l2, Real ephilon=EPSILON)
bool DLLEXPORT_OST_GEOM EqualPosition (const Line3 &l1, const Line3 &l2, Real ephilon=EPSILON)
bool DLLEXPORT_OST_GEOM operator== (const Plane &p1, const Plane &p2)
bool DLLEXPORT_OST_GEOM Equal (const Plane &p1, const Plane &p2, Real ephilon=EPSILON)
bool DLLEXPORT_OST_GEOM EqualPosition (const Plane &p1, const Plane &p2, Real ephilon=EPSILON)
bool DLLEXPORT_OST_GEOM AreParallel (const Plane &p, const Line3 &l, Real ephilon=EPSILON)
bool DLLEXPORT_OST_GEOM AreParallel (const Plane &p1, const Plane &p2, Real ephilon=EPSILON)
bool DLLEXPORT_OST_GEOM AreParallel (const Line3 &l1, const Line3 &l2, Real ephilon=EPSILON)
bool DLLEXPORT_OST_GEOM AreIntersecting (const Line3 &l1, const Line3 &l2, Real ephilon=EPSILON)
DLLEXPORT bool IsInSphere (const Sphere &p, const Vec3 &v)
DLLEXPORT_OST_GEOM std::ostream & operator<< (std::ostream &os, const Mat2 &m)
DLLEXPORT_OST_GEOM std::ostream & operator<< (std::ostream &o, const Mat3 &m)
DLLEXPORT_OST_GEOM std::ostream & operator<< (std::ostream &os, const Mat4 &m)
Quat DLLEXPORT_OST_GEOM Conjugate (const Quat &q)
Real DLLEXPORT_OST_GEOM Dot (const Quat &q0, const Quat &q1)
Quat DLLEXPORT_OST_GEOM Slerp (const Quat &q0, const Quat &q1, Real t)
Quat DLLEXPORT_OST_GEOM Inv (const Quat &q)
Quat DLLEXPORT_OST_GEOM Exp (const Quat &q)
Quat DLLEXPORT_OST_GEOM Log (const Quat &q)
Quat DLLEXPORT_OST_GEOM Normalize (const Quat &q)
DLLEXPORT_OST_GEOM std::ostream & operator<< (std::ostream &str, const Quat &q)
Vec2 operator/ (Real d, const Vec2 &v)
std::ostream & operator<< (std::ostream &os, const Vec2 &v)
Vec3 operator/ (Real d, const Vec3 &v)
std::ostream & operator<< (std::ostream &os, const Vec3 &v)
Vec4 operator/ (Real d, const Vec4 &v)
std::ostream & operator<< (std::ostream &os, const Vec4 &v)
Real Length2 (const Vec2 &v)
Real Length (const Vec2 &v)
bool Equal (const Vec2 &v1, const Vec2 &v2, Real ephilon=EPSILON)
bool Equal (const Mat2 &m1, const Mat2 &m2, Real ephilon=EPSILON)
Real Dot (const Vec2 &v1, const Vec2 &v2)
Vec2 Normalize (const Vec2 &v)
Vec2 CompMultiply (const Vec2 &v1, const Vec2 &v2)
Vec2 CompDivide (const Vec2 &v1, const Vec2 &v2)
Vec2 operator* (const Vec2 &v, const Mat2 &m)
Vec2 operator* (const Mat2 &m, const Vec2 &v)
Real DLLEXPORT_OST_GEOM Det (const Mat2 &m)
Mat2 DLLEXPORT_OST_GEOM Transpose (const Mat2 &m)
Mat2 DLLEXPORT_OST_GEOM Invert (const Mat2 &m)
Real DLLEXPORT_OST_GEOM Angle (const Vec2 &v1, const Vec2 &v2)
Real DLLEXPORT_OST_GEOM SignedAngle (const Vec2 &v1, const Vec2 &v2)
Mat2 operator* (const Mat2 &m1, const Mat2 &m2)
Vec2 Min (const Vec2 &v1, const Vec2 &v2)
Vec2 Max (const Vec2 &v1, const Vec2 &v2)
DLLEXPORT Vec2 Rotate (const Vec2 &v, Real ang)
Real Length2 (const Vec3 &v)
Real Length (const Vec3 &v)
bool Equal (const Vec3 &v1, const Vec3 &v2, Real ephilon=EPSILON)
bool Equal (const Mat3 &m1, const Mat3 &m2, Real ephilon=EPSILON)
Real Dot (const Vec3 &v1, const Vec3 &v2)
Vec3 Normalize (const Vec3 &v)
Vec3 Cross (const Vec3 &v1, const Vec3 &v2)
Vec3 CompMultiply (const Vec3 &v1, const Vec3 &v2)
Vec3 CompDivide (const Vec3 &v1, const Vec3 &v2)
Vec3 operator* (const Vec3 &v, const Mat3 &m)
Vec3 operator* (const Mat3 &m, const Vec3 &v)
Mat3 operator* (const Mat3 &m1, const Mat3 &m2)
Mat3 DLLEXPORT_OST_GEOM Invert (const Mat3 &m)
Mat3 DLLEXPORT_OST_GEOM Transpose (const Mat3 &m)
Real DLLEXPORT_OST_GEOM Comp (const Mat3 &m, unsigned int i, unsigned int j)
Real DLLEXPORT_OST_GEOM Minor (const Mat3 &m, unsigned int i, unsigned int j)
Real DLLEXPORT_OST_GEOM Det (const Mat3 &m)
Real DLLEXPORT_OST_GEOM Angle (const Vec3 &v1, const Vec3 &v2)
Real DLLEXPORT_OST_GEOM SignedAngle (const Vec3 &v1, const Vec3 &v2, const Vec3 &ref)
Mat3 DLLEXPORT_OST_GEOM EulerTransformation (Real theta, Real phi, Real xi)
Mat3 DLLEXPORT_OST_GEOM AxisRotation (const Vec3 &axis, Real angle)
Vec3 DLLEXPORT_OST_GEOM OrthogonalVector (const Vec3 &axis)
Real DLLEXPORT_OST_GEOM DihedralAngle (const Vec3 &p1, const Vec3 &p2, const Vec3 &p3, const Vec3 &p4)
Vec3 Min (const Vec3 &v1, const Vec3 &v2)
Vec3 Max (const Vec3 &v1, const Vec3 &v2)
Real Distance (const Vec3 &p1, const Vec3 &p2)
Real Distance2WithPBC (const Vec3 &v1, const Vec3 &v2, const Vec3 &basis_vec)
Real DistanceWithPBC (const Vec3 &v1, const Vec3 &v2, const Vec3 &basis_vec)
Real MinDistance (const Vec3List &l1, const Vec3List &l2)
Real MinDistanceWithPBC (const Vec3List &l1, const Vec3List &l2, Vec3 &basis_vec)
Vec3 WrapVec3 (const Vec3 &v1, const Vec3 &box_center, const Vec3 &basis_vec)
Vec3List WrapVec3List (const Vec3List &vl, const Vec3 &box_center, const Vec3 &basis_vec)
Real Length2 (const Vec4 &v)
Real Length (const Vec4 &v)
bool Equal (const Vec4 &v1, const Vec4 &v2, Real epsilon=EPSILON)
bool Equal (const Mat4 &m1, const Mat4 &m2, Real epsilon=EPSILON)
Real Dot (const Vec4 &v1, const Vec4 &v2)
Vec4 Normalize (const Vec4 &v)
Vec4 CompMultiply (const Vec4 &v1, const Vec4 &v2)
Vec4 CompDivide (const Vec4 &v1, const Vec4 &v2)
Vec4 operator* (const Vec4 &v, const Mat4 &m)
Vec4 operator* (const Mat4 &m, const Vec4 &v)
Real DLLEXPORT_OST_GEOM Comp (const Mat4 &m, unsigned int i, unsigned int j)
Real DLLEXPORT_OST_GEOM Minor (const Mat4 &m, unsigned int i, unsigned int j)
Real DLLEXPORT_OST_GEOM Det (const Mat4 &m)
Mat4 DLLEXPORT_OST_GEOM Transpose (const Mat4 &m)
Mat4 DLLEXPORT_OST_GEOM Invert (const Mat4 &m)
Mat4 DLLEXPORT_OST_GEOM operator* (const Mat4 &m1, const Mat4 &m2)
Real DLLEXPORT_OST_GEOM Angle (const Vec4 &v1, const Vec4 &v2)
Vec4 Min (const Vec4 &v1, const Vec4 &v2)
Vec4 Max (const Vec4 &v1, const Vec4 &v2)

Variables

static const Real EPSILON = 1e-6

Typedef Documentation

typedef boost::shared_ptr<PointCloud> PointCloudPtr

Definition at line 60 of file point_cloud.hh.

typedef std::vector<Rotation3> Rotation3List

Definition at line 185 of file composite3.hh.

typedef std::vector<Vec2> Vec2List

Definition at line 191 of file vec2.hh.


Function Documentation

Real DLLEXPORT_OST_GEOM geom::Angle ( const Line3 &  l1,
const Line3 &  l2 
)
Real DLLEXPORT_OST_GEOM geom::Angle ( const Line2 &  l1,
const Line2 &  l2 
)
Real DLLEXPORT_OST_GEOM geom::Angle ( const Plane &  p1,
const Plane &  p2 
)
Real DLLEXPORT_OST_GEOM geom::Angle ( const Plane &  p,
const Line3 &  l 
)
Real DLLEXPORT_OST_GEOM geom::Angle ( const Vec2 &  v1,
const Vec2 &  v2 
)

angle beetwen two vectors

Real DLLEXPORT_OST_GEOM geom::Angle ( const Vec4 &  v1,
const Vec4 &  v2 
)
Real DLLEXPORT_OST_GEOM geom::Angle ( const Vec3 &  v1,
const Vec3 &  v2 
)
bool DLLEXPORT_OST_GEOM geom::AreIntersecting ( const Line3 &  l1,
const Line3 &  l2,
Real  ephilon = EPSILON 
)
bool DLLEXPORT_OST_GEOM geom::AreParallel ( const Line2 &  l1,
const Line2 &  l2,
Real  ephilon = EPSILON 
)
bool DLLEXPORT_OST_GEOM geom::AreParallel ( const Plane &  p,
const Line3 &  l,
Real  ephilon = EPSILON 
)
bool DLLEXPORT_OST_GEOM geom::AreParallel ( const Plane &  p1,
const Plane &  p2,
Real  ephilon = EPSILON 
)
bool DLLEXPORT_OST_GEOM geom::AreParallel ( const Line3 &  l1,
const Line3 &  l2,
Real  ephilon = EPSILON 
)
Mat3 DLLEXPORT_OST_GEOM geom::AxisRotation ( const Vec3 &  axis,
Real  angle 
)
Real DLLEXPORT_OST_GEOM geom::Comp ( const Mat4 &  m,
unsigned int  i,
unsigned int  j 
)
Real DLLEXPORT_OST_GEOM geom::Comp ( const Mat3 &  m,
unsigned int  i,
unsigned int  j 
)
Vec2 geom::CompDivide ( const Vec2 &  v1,
const Vec2 &  v2 
)
inline

divide each component of v1 by that of v2

Definition at line 86 of file vecmat2_op.hh.

Vec4 geom::CompDivide ( const Vec4 &  v1,
const Vec4 &  v2 
)
inline

divide each component of v1 by that of v2

Definition at line 98 of file vecmat4_op.hh.

Vec3 geom::CompDivide ( const Vec3 &  v1,
const Vec3 &  v2 
)
inline

divide each component of v1 by that of v2

Definition at line 101 of file vecmat3_op.hh.

Vec2 geom::CompMultiply ( const Vec2 &  v1,
const Vec2 &  v2 
)
inline

multiply each component of v1 with that of v2

Definition at line 79 of file vecmat2_op.hh.

Vec4 geom::CompMultiply ( const Vec4 &  v1,
const Vec4 &  v2 
)
inline

multiply each component of v1 with that of v2

Definition at line 91 of file vecmat4_op.hh.

Vec3 geom::CompMultiply ( const Vec3 &  v1,
const Vec3 &  v2 
)
inline

multiply each component of v1 with that of v2

Definition at line 94 of file vecmat3_op.hh.

Quat DLLEXPORT_OST_GEOM geom::Conjugate ( const Quat &  q)
Vec3 geom::Cross ( const Vec3 &  v1,
const Vec3 &  v2 
)
inline

vector cross product

Definition at line 85 of file vecmat3_op.hh.

Real DLLEXPORT_OST_GEOM geom::Det ( const Mat2 &  m)

determinant

Real DLLEXPORT_OST_GEOM geom::Det ( const Mat4 &  m)
Real DLLEXPORT_OST_GEOM geom::Det ( const Mat3 &  m)
Real DLLEXPORT_OST_GEOM geom::DihedralAngle ( const Vec3 &  p1,
const Vec3 &  p2,
const Vec3 &  p3,
const Vec3 &  p4 
)
Real DLLEXPORT_OST_GEOM geom::Distance ( const Line2 &  l,
const Vec2 &  v 
)
Real DLLEXPORT_OST_GEOM geom::Distance ( const Line3 &  l1,
const Line3 &  l2 
)
Real DLLEXPORT_OST_GEOM geom::Distance ( const Line3 &  l,
const Vec3 &  v 
)
Real DLLEXPORT_OST_GEOM geom::Distance ( const Plane &  p,
const Vec3 &  v 
)
Real geom::Distance ( const Vec3 &  p1,
const Vec3 &  p2 
)
inline

returns the distance between two points

Definition at line 192 of file vecmat3_op.hh.

Real geom::Distance2WithPBC ( const Vec3 &  v1,
const Vec3 &  v2,
const Vec3 &  basis_vec 
)
inline

return the squared distance between two points with periodic boundaries in x,y,z given in basis_vec

Definition at line 199 of file vecmat3_op.hh.

Real geom::DistanceWithPBC ( const Vec3 &  v1,
const Vec3 &  v2,
const Vec3 &  basis_vec 
)
inline

return the distance between two points with periodic boundaries in x,y,z given in basis_vec

Definition at line 210 of file vecmat3_op.hh.

Real geom::Dot ( const Vec2 &  v1,
const Vec2 &  v2 
)
inline

vector dot product

Definition at line 63 of file vecmat2_op.hh.

Real geom::Dot ( const Vec3 &  v1,
const Vec3 &  v2 
)
inline

vector dot product

Definition at line 69 of file vecmat3_op.hh.

Real geom::Dot ( const Vec4 &  v1,
const Vec4 &  v2 
)
inline

vector dot product

Definition at line 76 of file vecmat4_op.hh.

Real DLLEXPORT_OST_GEOM geom::Dot ( const Quat &  q0,
const Quat &  q1 
)
bool DLLEXPORT_OST_GEOM geom::Equal ( const Line2 &  l1,
const Line2 &  l2,
Real  ephilon = EPSILON 
)
bool DLLEXPORT_OST_GEOM geom::Equal ( const Line3 &  l1,
const Line3 &  l2,
Real  ephilon = EPSILON 
)
bool geom::Equal ( const Vec3 &  v1,
const Vec3 &  v2,
Real  ephilon = EPSILON 
)
inline

return true if components differ not more than epsilon

Definition at line 45 of file vecmat3_op.hh.

bool geom::Equal ( const Vec4 &  v1,
const Vec4 &  v2,
Real  epsilon = EPSILON 
)
inline

return true if components differ not more than ephilon

Definition at line 46 of file vecmat4_op.hh.

bool geom::Equal ( const Vec2 &  v1,
const Vec2 &  v2,
Real  ephilon = EPSILON 
)
inline

return true if components differ not more than ephilon

Definition at line 47 of file vecmat2_op.hh.

bool DLLEXPORT_OST_GEOM geom::Equal ( const Plane &  p1,
const Plane &  p2,
Real  ephilon = EPSILON 
)
bool geom::Equal ( const Mat2 &  m1,
const Mat2 &  m2,
Real  ephilon = EPSILON 
)
inline

return true if components differ not more than ephilon

Definition at line 54 of file vecmat2_op.hh.

bool geom::Equal ( const Mat3 &  m1,
const Mat3 &  m2,
Real  ephilon = EPSILON 
)
inline

return true if components differ not more than ephilon

Definition at line 54 of file vecmat3_op.hh.

bool geom::Equal ( const Mat4 &  m1,
const Mat4 &  m2,
Real  epsilon = EPSILON 
)
inline

return true if components differ not more than ephilon

Definition at line 55 of file vecmat4_op.hh.

bool DLLEXPORT_OST_GEOM geom::EqualPosition ( const Line2 &  l1,
const Line2 &  l2,
Real  ephilon = EPSILON 
)
bool DLLEXPORT_OST_GEOM geom::EqualPosition ( const Line3 &  l1,
const Line3 &  l2,
Real  ephilon = EPSILON 
)
bool DLLEXPORT_OST_GEOM geom::EqualPosition ( const Plane &  p1,
const Plane &  p2,
Real  ephilon = EPSILON 
)
Mat3 DLLEXPORT_OST_GEOM geom::EulerTransformation ( Real  theta,
Real  phi,
Real  xi 
)
Quat DLLEXPORT_OST_GEOM geom::Exp ( const Quat &  q)
DLLEXPORT void geom::ExportEulerAngles ( const Rotation3List &  rot_list,
const boost::filesystem::path &  loc 
)
DLLEXPORT Rotation3List geom::ImportEulerAngles ( const boost::filesystem::path &  loc)
Line3 DLLEXPORT_OST_GEOM geom::IntersectionLine ( const Plane &  p1,
const Plane &  p2 
)
Vec2 DLLEXPORT_OST_GEOM geom::IntersectionPoint ( const Line2 &  l1,
const Line2 &  l2 
)
Vec3 DLLEXPORT_OST_GEOM geom::IntersectionPoint ( const Line3 &  l1,
const Line3 &  l2 
)
Vec3 DLLEXPORT_OST_GEOM geom::IntersectionPoint ( const Line3 &  l,
const Plane &  p 
)
Vec3 DLLEXPORT_OST_GEOM geom::IntersectionPoint ( const Plane &  p,
const Line3 &  l 
)
Quat DLLEXPORT_OST_GEOM geom::Inv ( const Quat &  q)
Mat2 DLLEXPORT_OST_GEOM geom::Invert ( const Mat2 &  m)

Matrix inversion.

Mat4 DLLEXPORT_OST_GEOM geom::Invert ( const Mat4 &  m)
Mat3 DLLEXPORT_OST_GEOM geom::Invert ( const Mat3 &  m)
DLLEXPORT_OST_GEOM bool geom::IsInCircle ( const Circle2 &  c,
const Vec2 &  v 
)
bool DLLEXPORT_OST_GEOM geom::IsInPlane ( const Plane &  p,
const Vec3 &  v,
Real  ephilon = EPSILON 
)
bool DLLEXPORT_OST_GEOM geom::IsInPlane ( const Plane &  p,
const Line3 &  l,
Real  ephilon = EPSILON 
)
DLLEXPORT_OST_GEOM bool geom::IsInPolygon ( const Polygon2 &  p,
const Vec2 &  v 
)
DLLEXPORT_OST_GEOM bool geom::IsInRectangle ( const Rectangle2 &  r,
const Vec2 &  v 
)
DLLEXPORT bool geom::IsInSphere ( const Sphere &  p,
const Vec3 &  v 
)
bool DLLEXPORT_OST_GEOM geom::IsOnLine ( const Line2 &  l,
const Vec2 &  v,
Real  ephilon = EPSILON 
)
bool DLLEXPORT_OST_GEOM geom::IsOnLine ( const Line3 &  l,
const Vec3 &  v,
Real  ephilon = EPSILON 
)
Real geom::Length ( const Vec3 &  v)
inline

returns length of vector

Definition at line 39 of file vecmat3_op.hh.

Real geom::Length ( const Vec4 &  v)
inline

returns length of vector

Definition at line 40 of file vecmat4_op.hh.

Real geom::Length ( const Vec2 &  v)
inline

returns length of vector

Definition at line 41 of file vecmat2_op.hh.

Real geom::Length2 ( const Vec3 &  v)
inline

returns squared length of vector

Definition at line 33 of file vecmat3_op.hh.

Real geom::Length2 ( const Vec4 &  v)
inline

returns squared length of vector

Definition at line 34 of file vecmat4_op.hh.

Real geom::Length2 ( const Vec2 &  v)
inline

returns squared length of vector

Definition at line 35 of file vecmat2_op.hh.

Quat DLLEXPORT_OST_GEOM geom::Log ( const Quat &  q)
Vec4 geom::Max ( const Vec4 &  v1,
const Vec4 &  v2 
)
inline

returns std::max of each component

Definition at line 147 of file vecmat4_op.hh.

Vec2 geom::Max ( const Vec2 &  v1,
const Vec2 &  v2 
)
inline

Definition at line 150 of file vecmat2_op.hh.

Vec3 geom::Max ( const Vec3 &  v1,
const Vec3 &  v2 
)
inline

returns std::max of each component

Definition at line 183 of file vecmat3_op.hh.

Vec4 geom::Min ( const Vec4 &  v1,
const Vec4 &  v2 
)
inline

returns std::min of each component

Definition at line 137 of file vecmat4_op.hh.

Vec2 geom::Min ( const Vec2 &  v1,
const Vec2 &  v2 
)
inline

Definition at line 143 of file vecmat2_op.hh.

Vec3 geom::Min ( const Vec3 &  v1,
const Vec3 &  v2 
)
inline

returns std::min of each component

Definition at line 174 of file vecmat3_op.hh.

Real geom::MinDistance ( const Vec3List &  l1,
const Vec3List &  l2 
)

returns the minimal distance between the points in two Vec3List

Real geom::MinDistanceWithPBC ( const Vec3List &  l1,
const Vec3List &  l2,
Vec3 &  basis_vec 
)

returns the minimal distance between the points in two Vec3List

Real DLLEXPORT_OST_GEOM geom::Minor ( const Mat4 &  m,
unsigned int  i,
unsigned int  j 
)
Real DLLEXPORT_OST_GEOM geom::Minor ( const Mat3 &  m,
unsigned int  i,
unsigned int  j 
)
Vec2 geom::Normalize ( const Vec2 &  v)
inline

Normalize vector.

Definition at line 69 of file vecmat2_op.hh.

Vec3 geom::Normalize ( const Vec3 &  v)
inline

Normalize.

Definition at line 75 of file vecmat3_op.hh.

Vec4 geom::Normalize ( const Vec4 &  v)
inline

Definition at line 81 of file vecmat4_op.hh.

Quat DLLEXPORT_OST_GEOM geom::Normalize ( const Quat &  q)
Vec2 geom::operator* ( const Vec2 &  v,
const Mat2 &  m 
)
inline

vector matrix multiplication

This corresponds to

    |a b|

(x,y) * |c d| = (ax+cy, bx+dy)

Definition at line 99 of file vecmat2_op.hh.

Vec4 geom::operator* ( const Vec4 &  v,
const Mat4 &  m 
)
inline

vector matrix multiplication

Definition at line 105 of file vecmat4_op.hh.

Vec3 geom::operator* ( const Vec3 &  v,
const Mat3 &  m 
)
inline

vector matrix multiplication

Definition at line 108 of file vecmat3_op.hh.

Vec2 geom::operator* ( const Mat2 &  m,
const Vec2 &  v 
)
inline

vector matrix multiplication

This corresponds to

|a b| (x) (ax+by) |c d| * (y) =(cx+dy)

Definition at line 113 of file vecmat2_op.hh.

Vec4 geom::operator* ( const Mat4 &  m,
const Vec4 &  v 
)
inline

vector matrix multiplication

Definition at line 115 of file vecmat4_op.hh.

Vec3 geom::operator* ( const Mat3 &  m,
const Vec3 &  v 
)
inline

vector matrix multiplication

Definition at line 117 of file vecmat3_op.hh.

Mat3 geom::operator* ( const Mat3 &  m1,
const Mat3 &  m2 
)
inline

matrix matrix multiplication

Definition at line 126 of file vecmat3_op.hh.

Mat4 DLLEXPORT_OST_GEOM geom::operator* ( const Mat4 &  m1,
const Mat4 &  m2 
)
Mat2 geom::operator* ( const Mat2 &  m1,
const Mat2 &  m2 
)
inline

matrix matrix multiplication

Definition at line 134 of file vecmat2_op.hh.

Vec2 geom::operator/ ( Real  d,
const Vec2 &  v 
)
inline

Definition at line 160 of file vec2.hh.

Vec3 geom::operator/ ( Real  d,
const Vec3 &  v 
)
inline

Definition at line 181 of file vec3.hh.

Vec4 geom::operator/ ( Real  d,
const Vec4 &  v 
)
inline

Definition at line 184 of file vec4.hh.

std::ostream& geom::operator<< ( std::ostream &  s,
const Line3 &  l 
)
std::ostream& geom::operator<< ( std::ostream &  os,
const AlignedCuboid &  c 
)
inline

Definition at line 57 of file aligned_cuboid.hh.

DLLEXPORT_OST_GEOM std::ostream& geom::operator<< ( std::ostream &  os,
const Mat2 &  m 
)
DLLEXPORT_OST_GEOM std::ostream& geom::operator<< ( std::ostream &  os,
const Mat4 &  m 
)
DLLEXPORT_OST_GEOM std::ostream& geom::operator<< ( std::ostream &  str,
const Quat &  q 
)
std::ostream& geom::operator<< ( std::ostream &  os,
const Vec2 &  v 
)
inline

Definition at line 165 of file vec2.hh.

std::ostream& geom::operator<< ( std::ostream &  os,
const Vec3 &  v 
)
inline

Definition at line 187 of file vec3.hh.

std::ostream& geom::operator<< ( std::ostream &  os,
const Vec4 &  v 
)
inline

Definition at line 190 of file vec4.hh.

DLLEXPORT_OST_GEOM std::ostream& geom::operator<< ( std::ostream &  o,
const Mat3 &  m 
)
bool DLLEXPORT_OST_GEOM geom::operator== ( const Line2 &  l1,
const Line2 &  l2 
)
bool DLLEXPORT_OST_GEOM geom::operator== ( const Line3 &  l1,
const Line3 &  l2 
)
bool DLLEXPORT_OST_GEOM geom::operator== ( const Plane &  p1,
const Plane &  p2 
)
Vec3 DLLEXPORT_OST_GEOM geom::OrthogonalVector ( const Vec3 &  axis)

get arbitrary vector orthogonal to axis

The returned vector is of length 1

int DLLEXPORT_OST_GEOM geom::RelativePosition ( const Plane &  p,
const Vec3 &  v,
Real  ephilon = EPSILON 
)
DLLEXPORT Vec2 geom::Rotate ( const Vec2 &  v,
Real  ang 
)

Rotation.

Real DLLEXPORT_OST_GEOM geom::SignedAngle ( const Vec2 &  v1,
const Vec2 &  v2 
)

angle beetwen two vectors (honors sign)

Real DLLEXPORT_OST_GEOM geom::SignedAngle ( const Vec3 &  v1,
const Vec3 &  v2,
const Vec3 &  ref 
)
DLLEXPORT_OST_GEOM Polygon2 geom::SimplifyPolygon ( const Polygon2 &  p)
Quat DLLEXPORT_OST_GEOM geom::Slerp ( const Quat &  q0,
const Quat &  q1,
Real  t 
)
Mat2 DLLEXPORT_OST_GEOM geom::Transpose ( const Mat2 &  m)

Transpose.

Mat4 DLLEXPORT_OST_GEOM geom::Transpose ( const Mat4 &  m)
Mat3 DLLEXPORT_OST_GEOM geom::Transpose ( const Mat3 &  m)
AlignedCuboid DLLIMPORT geom::Union ( const AlignedCuboid &  lhs,
const AlignedCuboid &  rhs 
)
Vec3 geom::WrapVec3 ( const Vec3 &  v1,
const Vec3 &  box_center,
const Vec3 &  basis_vec 
)

wraps a vector in a box with periodic boundaries

Vec3List geom::WrapVec3List ( const Vec3List &  vl,
const Vec3 &  box_center,
const Vec3 &  basis_vec 
)

wraps all the verctors in a Vec3List in a box with periodic boundaries


Variable Documentation

const Real EPSILON = 1e-6
static

Definition at line 28 of file constants.hh.