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  Transform
 basic and essential transformation class, including translation, rotation and center of rotation More...
class  Vec2
class  Vec3
 Three dimensional vector class, using Real precision. More...
class  Vec3List
class  Vec4

Typedefs

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

Functions

std::ostream & operator<< (std::ostream &os, const AlignedCuboid &c)
AlignedCuboid DLLEXPORT_OST_GEOM 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)
DLLEXPORT_OST_GEOM std::ostream & operator<< (std::ostream &s, const Line3 &l)
DLLEXPORT_OST_GEOM Rotation3List ImportEulerAngles (const boost::filesystem::path &loc)
DLLEXPORT_OST_GEOM 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 DLLIMPORT Conjugate (const Quat &q)
Real DLLIMPORT Dot (const Quat &q0, const Quat &q1)
Quat DLLIMPORT Slerp (const Quat &q0, const Quat &q1, Real t)
Quat DLLIMPORT Inv (const Quat &q)
Quat DLLIMPORT Exp (const Quat &q)
Quat DLLIMPORT Log (const Quat &q)
Quat DLLIMPORT Normalize (const Quat &q)
DLLIMPORT 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 DLLIMPORT Det (const Mat2 &m)
Mat2 DLLIMPORT Transpose (const Mat2 &m)
Mat2 DLLIMPORT Invert (const Mat2 &m)
Real DLLIMPORT Angle (const Vec2 &v1, const Vec2 &v2)
Real DLLIMPORT 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 DLLIMPORT Invert (const Mat3 &m)
Mat3 DLLIMPORT Transpose (const Mat3 &m)
Real DLLIMPORT Comp (const Mat3 &m, unsigned int i, unsigned int j)
Real DLLIMPORT Minor (const Mat3 &m, unsigned int i, unsigned int j)
Real DLLIMPORT Det (const Mat3 &m)
Real DLLIMPORT Angle (const Vec3 &v1, const Vec3 &v2)
Real DLLIMPORT SignedAngle (const Vec3 &v1, const Vec3 &v2, const Vec3 &ref)
Mat3 DLLIMPORT EulerTransformation (Real theta, Real phi, Real xi)
Mat3 DLLIMPORT AxisRotation (const Vec3 &axis, Real angle)
Vec3 DLLIMPORT OrthogonalVector (const Vec3 &axis)
Real 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 &ucell_size)
Real DistanceWithPBC (const Vec3 &v1, const Vec3 &v2, const Vec3 &ucell_size)
Real DLLIMPORT MinDistance (const Vec3List &l1, const Vec3List &l2)
Real DLLIMPORT MinDistanceWithPBC (const Vec3List &l1, const Vec3List &l2, Vec3 &ucell_size)
std::vector< unsigned int >
DLLIMPORT 
MinDistanceIndices (const Vec3List &l1, const Vec3List &l2)
Vec3List DLLIMPORT CalculateUnitCellVectors (const Vec3 &ucell_size, const Vec3 &ucell_angles)
Vec3 DLLIMPORT WrapVec3 (const Vec3 &v1, const Vec3 &box_center, const Vec3 &ucell_size)
Vec3List DLLIMPORT WrapVec3List (const Vec3List &vl, const Vec3 &box_center, const Vec3 &ucell_size)
Vec3 DLLIMPORT WrapVec3 (const Vec3 &v1, const Vec3 &box_center, const Vec3 &ucell_size, const Vec3 &ucell_angles)
Vec3List DLLIMPORT WrapVec3List (const Vec3List &vl, const Vec3 &box_center, const Vec3 &ucell_size, const Vec3 &ucell_angles)
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 DLLIMPORT Comp (const Mat4 &m, unsigned int i, unsigned int j)
Real DLLIMPORT Minor (const Mat4 &m, unsigned int i, unsigned int j)
Real DLLIMPORT Det (const Mat4 &m)
Mat4 DLLIMPORT Transpose (const Mat4 &m)
Mat4 DLLIMPORT Invert (const Mat4 &m)
Mat4 DLLIMPORT operator* (const Mat4 &m1, const Mat4 &m2)
Real DLLIMPORT 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 std::vector<Mat4> Mat4List

Definition at line 140 of file mat4.hh.

typedef boost::shared_ptr<PointCloud> PointCloudPtr

Definition at line 60 of file point_cloud.hh.

typedef std::vector<Rotation3> Rotation3List

Definition at line 186 of file composite3.hh.

typedef std::vector<Vec2> Vec2List

Definition at line 202 of file vec2.hh.


Function Documentation

Real DLLIMPORT geom::Angle ( const Vec4 &  v1,
const Vec4 &  v2 
)
Real DLLIMPORT geom::Angle ( const Vec3 &  v1,
const Vec3 &  v2 
)
Real DLLIMPORT geom::Angle ( const Vec2 &  v1,
const Vec2 &  v2 
)

angle beetwen two vectors

Real DLLEXPORT_OST_GEOM geom::Angle ( const Plane &  p,
const Line3 &  l 
)
Real DLLEXPORT_OST_GEOM geom::Angle ( const Plane &  p1,
const Plane &  p2 
)
Real DLLEXPORT_OST_GEOM geom::Angle ( const Line3 &  l1,
const Line3 &  l2 
)
Real DLLEXPORT_OST_GEOM geom::Angle ( const Line2 &  l1,
const Line2 &  l2 
)
bool DLLEXPORT_OST_GEOM geom::AreIntersecting ( const Line3 &  l1,
const Line3 &  l2,
Real  ephilon = EPSILON 
)
bool DLLEXPORT_OST_GEOM geom::AreParallel ( const Line3 &  l1,
const Line3 &  l2,
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 Plane &  p,
const Line3 &  l,
Real  ephilon = EPSILON 
)
bool DLLEXPORT_OST_GEOM geom::AreParallel ( const Line2 &  l1,
const Line2 &  l2,
Real  ephilon = EPSILON 
)
Mat3 DLLIMPORT geom::AxisRotation ( const Vec3 &  axis,
Real  angle 
)
Vec3List DLLIMPORT geom::CalculateUnitCellVectors ( const Vec3 &  ucell_size,
const Vec3 &  ucell_angles 
)

Calculates the Unit Cell Vectors from their sizes and angles (given as Vec3(gamma,beta,alpha)).

Real DLLIMPORT geom::Comp ( const Mat4 &  m,
unsigned int  i,
unsigned int  j 
)
Real DLLIMPORT geom::Comp ( const Mat3 &  m,
unsigned int  i,
unsigned int  j 
)
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::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::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.

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.

Quat DLLIMPORT 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 DLLIMPORT geom::Det ( const Mat4 &  m  ) 
Real DLLIMPORT geom::Det ( const Mat3 &  m  ) 
Real DLLIMPORT geom::Det ( const Mat2 &  m  ) 

determinant

Real geom::DihedralAngle ( const Vec3 &  p1,
const Vec3 &  p2,
const Vec3 &  p3,
const Vec3 &  p4 
) [inline]

Get dihedral angle for p1-p2-p3-p4.

Definition at line 170 of file vecmat3_op.hh.

Real geom::Distance ( const Vec3 &  p1,
const Vec3 &  p2 
) [inline]

returns the distance between two points

Definition at line 199 of file vecmat3_op.hh.

Real DLLEXPORT_OST_GEOM geom::Distance ( const Plane &  p,
const Vec3 &  v 
)
Real DLLEXPORT_OST_GEOM geom::Distance ( const Line3 &  l,
const Vec3 &  v 
)
Real DLLEXPORT_OST_GEOM geom::Distance ( const Line3 &  l1,
const Line3 &  l2 
)
Real DLLEXPORT_OST_GEOM geom::Distance ( const Line2 &  l,
const Vec2 &  v 
)
Real geom::Distance2WithPBC ( const Vec3 &  v1,
const Vec3 &  v2,
const Vec3 &  ucell_size 
) [inline]

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

Definition at line 206 of file vecmat3_op.hh.

Real geom::DistanceWithPBC ( const Vec3 &  v1,
const Vec3 &  v2,
const Vec3 &  ucell_size 
) [inline]

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

Definition at line 217 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 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 Vec2 &  v1,
const Vec2 &  v2 
) [inline]

vector dot product

Definition at line 63 of file vecmat2_op.hh.

Real DLLIMPORT geom::Dot ( const Quat &  q0,
const Quat &  q1 
)
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 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 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 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 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 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 DLLEXPORT_OST_GEOM geom::Equal ( const Line3 &  l1,
const Line3 &  l2,
Real  ephilon = EPSILON 
)
bool DLLEXPORT_OST_GEOM geom::Equal ( const Line2 &  l1,
const Line2 &  l2,
Real  ephilon = EPSILON 
)
bool DLLEXPORT_OST_GEOM geom::EqualPosition ( const Plane &  p1,
const Plane &  p2,
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 Line2 &  l1,
const Line2 &  l2,
Real  ephilon = EPSILON 
)
Mat3 DLLIMPORT geom::EulerTransformation ( Real  theta,
Real  phi,
Real  xi 
)
Quat DLLIMPORT geom::Exp ( const Quat &  q  ) 
DLLEXPORT_OST_GEOM void geom::ExportEulerAngles ( const Rotation3List &  rot_list,
const boost::filesystem::path &  loc 
)
DLLEXPORT_OST_GEOM Rotation3List geom::ImportEulerAngles ( const boost::filesystem::path &  loc  ) 
Line3 DLLEXPORT_OST_GEOM geom::IntersectionLine ( const Plane &  p1,
const Plane &  p2 
)
Vec3 DLLEXPORT_OST_GEOM geom::IntersectionPoint ( const Plane &  p,
const Line3 &  l 
)
Vec3 DLLEXPORT_OST_GEOM geom::IntersectionPoint ( const Line3 &  l,
const Plane &  p 
)
Vec3 DLLEXPORT_OST_GEOM geom::IntersectionPoint ( const Line3 &  l1,
const Line3 &  l2 
)
Vec2 DLLEXPORT_OST_GEOM geom::IntersectionPoint ( const Line2 &  l1,
const Line2 &  l2 
)
Quat DLLIMPORT geom::Inv ( const Quat &  q  ) 
Mat4 DLLIMPORT geom::Invert ( const Mat4 &  m  ) 
Mat3 DLLIMPORT geom::Invert ( const Mat3 &  m  ) 
Mat2 DLLIMPORT geom::Invert ( const Mat2 &  m  ) 

Matrix inversion.

DLLEXPORT_OST_GEOM bool geom::IsInCircle ( const Circle2 &  c,
const Vec2 &  v 
)
bool DLLEXPORT_OST_GEOM geom::IsInPlane ( const Plane &  p,
const Line3 &  l,
Real  ephilon = EPSILON 
)
bool DLLEXPORT_OST_GEOM geom::IsInPlane ( const Plane &  p,
const Vec3 &  v,
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 Line3 &  l,
const Vec3 &  v,
Real  ephilon = EPSILON 
)
bool DLLEXPORT_OST_GEOM geom::IsOnLine ( const Line2 &  l,
const Vec2 &  v,
Real  ephilon = EPSILON 
)
Real geom::Length ( const Vec4 &  v  )  [inline]

returns length of vector

Definition at line 40 of file vecmat4_op.hh.

Real geom::Length ( const Vec3 &  v  )  [inline]

returns length of vector

Definition at line 39 of file vecmat3_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 Vec4 &  v  )  [inline]

returns squared length of vector

Definition at line 34 of file vecmat4_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 Vec2 &  v  )  [inline]

returns squared length of vector

Definition at line 35 of file vecmat2_op.hh.

Quat DLLIMPORT 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.

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

returns std::max of each component

Definition at line 190 of file vecmat3_op.hh.

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

Definition at line 150 of file vecmat2_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.

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

returns std::min of each component

Definition at line 181 of file vecmat3_op.hh.

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

Definition at line 143 of file vecmat2_op.hh.

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

returns the minimal distance between the points in two Vec3List

std::vector<unsigned int> DLLIMPORT geom::MinDistanceIndices ( const Vec3List &  l1,
const Vec3List &  l2 
)

returns the indices index1, index2 corresponding to the points in the Vec3List l1 and l2 having the minimal distance.

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

returns the minimal distance between the points in two Vec3List

Real DLLIMPORT geom::Minor ( const Mat4 &  m,
unsigned int  i,
unsigned int  j 
)
Real DLLIMPORT geom::Minor ( const Mat3 &  m,
unsigned int  i,
unsigned int  j 
)
Vec4 geom::Normalize ( const Vec4 &  v  )  [inline]

Definition at line 81 of file vecmat4_op.hh.

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

Normalize.

Definition at line 75 of file vecmat3_op.hh.

Vec2 geom::Normalize ( const Vec2 &  v  )  [inline]

Normalize vector.

Definition at line 69 of file vecmat2_op.hh.

Quat DLLIMPORT geom::Normalize ( const Quat &  q  ) 
Mat4 DLLIMPORT geom::operator* ( const Mat4 &  m1,
const Mat4 &  m2 
)
Vec4 geom::operator* ( const Mat4 &  m,
const Vec4 &  v 
) [inline]

vector matrix multiplication

Definition at line 115 of file vecmat4_op.hh.

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

vector matrix multiplication

Definition at line 105 of file vecmat4_op.hh.

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

matrix matrix multiplication

Definition at line 126 of file vecmat3_op.hh.

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

vector matrix multiplication

Definition at line 117 of file vecmat3_op.hh.

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

vector matrix multiplication

Definition at line 108 of file vecmat3_op.hh.

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* ( 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.

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/ ( Real  d,
const Vec4 &  v 
) [inline]

Definition at line 196 of file vec4.hh.

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

Definition at line 192 of file vec3.hh.

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

Definition at line 171 of file vec2.hh.

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

Definition at line 202 of file vec4.hh.

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

Definition at line 202 of file vec3.hh.

std::ostream& geom::operator<< ( std::ostream &  os,
const Vec2 &  v 
) [inline]

Definition at line 176 of file vec2.hh.

DLLIMPORT std::ostream& geom::operator<< ( std::ostream &  str,
const Quat &  q 
)
DLLEXPORT_OST_GEOM std::ostream& geom::operator<< ( std::ostream &  os,
const Mat4 &  m 
)
DLLEXPORT_OST_GEOM std::ostream& geom::operator<< ( std::ostream &  o,
const Mat3 &  m 
)
DLLEXPORT_OST_GEOM std::ostream& geom::operator<< ( std::ostream &  os,
const Mat2 &  m 
)
DLLEXPORT_OST_GEOM 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.

bool DLLEXPORT_OST_GEOM geom::operator== ( const Plane &  p1,
const Plane &  p2 
)
bool DLLEXPORT_OST_GEOM geom::operator== ( const Line3 &  l1,
const Line3 &  l2 
)
bool DLLEXPORT_OST_GEOM geom::operator== ( const Line2 &  l1,
const Line2 &  l2 
)
Vec3 DLLIMPORT 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 DLLIMPORT geom::SignedAngle ( const Vec3 &  v1,
const Vec3 &  v2,
const Vec3 &  ref 
)
Real DLLIMPORT geom::SignedAngle ( const Vec2 &  v1,
const Vec2 &  v2 
)

angle beetwen two vectors (honors sign)

DLLEXPORT_OST_GEOM Polygon2 geom::SimplifyPolygon ( const Polygon2 &  p  ) 
Quat DLLIMPORT geom::Slerp ( const Quat &  q0,
const Quat &  q1,
Real  t 
)
Mat4 DLLIMPORT geom::Transpose ( const Mat4 &  m  ) 
Mat3 DLLIMPORT geom::Transpose ( const Mat3 &  m  ) 
Mat2 DLLIMPORT geom::Transpose ( const Mat2 &  m  ) 

Transpose.

AlignedCuboid DLLEXPORT_OST_GEOM geom::Union ( const AlignedCuboid &  lhs,
const AlignedCuboid &  rhs 
)
Vec3 DLLIMPORT geom::WrapVec3 ( const Vec3 &  v1,
const Vec3 &  box_center,
const Vec3 &  ucell_size,
const Vec3 &  ucell_angles 
)

wraps a vector in a non-rothogonal box with periodic boundaries

Vec3 DLLIMPORT geom::WrapVec3 ( const Vec3 &  v1,
const Vec3 &  box_center,
const Vec3 &  ucell_size 
)

wraps a vector in a box with periodic boundaries

Vec3List DLLIMPORT geom::WrapVec3List ( const Vec3List &  vl,
const Vec3 &  box_center,
const Vec3 &  ucell_size,
const Vec3 &  ucell_angles 
)

wraps all the vectors in a Vec3List in a non-rothogonal box with periodic boundaries

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

wraps all the vectors 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.

 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines

Generated on 1 Mar 2018 for OpenStructure by  doxygen 1.6.1