OpenStructure
Namespaces | Data Structures | Typedefs | Functions | Variables
geom Namespace Reference

Namespaces

 Axis
 

Data Structures

class  AlignedCuboid
 
class  Line2
 
class  Rectangle2
 
class  Polygon2
 
class  Ellipse2
 
class  Hyperbola2
 
class  Circle2
 
class  Line3
 
class  Plane
 
class  Sphere
 
class  CuboidAxis
 
class  Cuboid
 
class  Rotation3
 
class  GeomException
 
class  DivideByZeroException
 
class  OutOfRangeException
 
class  VectorAdditions
 
class  Mat2
 
class  Mat3
 
class  Mat4
 
class  PointCloud
 
class  PointCloudManager
 
class  Quat
 
class  Transform
 
class  Vec2
 
class  Vec3
 
class  Vec3List
 
class  Vec4
 

Typedefs

typedef std::vector< Rotation3Rotation3List
 
typedef std::vector< Mat4Mat4List
 
typedef boost::shared_ptr< PointCloudPointCloudPtr
 
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)
 
DLLIMPORT std::ostream & operator<< (std::ostream &s, const Line3 &l)
 
DLLIMPORT Rotation3List ImportEulerAngles (const boost::filesystem::path &loc)
 
DLLIMPORT void ExportEulerAngles (const Rotation3List &rot_list, const boost::filesystem::path &loc)
 
Real DLLIMPORT Angle (const Line3 &l1, const Line3 &l2)
 
Real DLLIMPORT Angle (const Plane &p1, const Plane &p2)
 
Real DLLIMPORT Angle (const Plane &p, const Line3 &l)
 
Vec3 DLLIMPORT IntersectionPoint (const Line3 &l1, const Line3 &l2)
 
Vec3 DLLIMPORT IntersectionPoint (const Line3 &l, const Plane &p)
 
Vec3 DLLIMPORT IntersectionPoint (const Plane &p, const Line3 &l)
 
Line3 DLLIMPORT IntersectionLine (const Plane &p1, const Plane &p2)
 
Real DLLIMPORT Distance (const Line3 &l1, const Line3 &l2)
 
Real DLLIMPORT Distance (const Line3 &l, const Vec3 &v)
 
Real DLLIMPORT Distance (const Plane &p, const Vec3 &v)
 
bool DLLIMPORT IsOnLine (const Line3 &l, const Vec3 &v, Real ephilon=EPSILON)
 
bool DLLIMPORT IsInPlane (const Plane &p, const Vec3 &v, Real ephilon=EPSILON)
 
bool DLLIMPORT IsInPlane (const Plane &p, const Line3 &l, Real ephilon=EPSILON)
 
int DLLIMPORT RelativePosition (const Plane &p, const Vec3 &v, Real ephilon=EPSILON)
 
bool DLLIMPORT operator== (const Line3 &l1, const Line3 &l2)
 
bool DLLIMPORT Equal (const Line3 &l1, const Line3 &l2, Real ephilon=EPSILON)
 
bool DLLIMPORT EqualPosition (const Line3 &l1, const Line3 &l2, Real ephilon=EPSILON)
 
bool DLLIMPORT operator== (const Plane &p1, const Plane &p2)
 
bool DLLIMPORT Equal (const Plane &p1, const Plane &p2, Real ephilon=EPSILON)
 
bool DLLIMPORT EqualPosition (const Plane &p1, const Plane &p2, Real ephilon=EPSILON)
 
bool DLLIMPORT AreParallel (const Plane &p, const Line3 &l, Real ephilon=EPSILON)
 
bool DLLIMPORT AreParallel (const Plane &p1, const Plane &p2, Real ephilon=EPSILON)
 
bool DLLIMPORT AreParallel (const Line3 &l1, const Line3 &l2, Real ephilon=EPSILON)
 
bool DLLIMPORT 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 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 DLLEXPORT_OST_GEOM MinDistance (const Vec3List &l1, const Vec3List &l2)
 
Real DLLEXPORT_OST_GEOM MinDistanceWithPBC (const Vec3List &l1, const Vec3List &l2, Vec3 &ucell_size)
 
std::vector< unsigned int > DLLEXPORT_OST_GEOM MinDistanceIndices (const Vec3List &l1, const Vec3List &l2)
 
Vec3List DLLEXPORT_OST_GEOM CalculateUnitCellVectors (const Vec3 &ucell_size, const Vec3 &ucell_angles)
 
Vec3 DLLEXPORT_OST_GEOM WrapVec3 (const Vec3 &v1, const Vec3 &box_center, const Vec3 &ucell_size)
 
Vec3List DLLEXPORT_OST_GEOM WrapVec3List (const Vec3List &vl, const Vec3 &box_center, const Vec3 &ucell_size)
 
Vec3 DLLEXPORT_OST_GEOM WrapVec3 (const Vec3 &v1, const Vec3 &box_center, const Vec3 &ucell_size, const Vec3 &ucell_angles)
 
Vec3List DLLEXPORT_OST_GEOM 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 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

◆ Mat4List

typedef std::vector<Mat4> Mat4List

Definition at line 141 of file mat4.hh.

◆ PointCloudPtr

typedef boost::shared_ptr<PointCloud> PointCloudPtr

Definition at line 60 of file point_cloud.hh.

◆ Rotation3List

typedef std::vector<Rotation3> Rotation3List

Definition at line 186 of file composite3.hh.

◆ Vec2List

typedef std::vector<Vec2> Vec2List

Definition at line 202 of file vec2.hh.

Function Documentation

◆ Angle() [1/7]

Real DLLEXPORT_OST_GEOM geom::Angle ( const Line2 l1,
const Line2 l2 
)

◆ Angle() [2/7]

Real DLLIMPORT geom::Angle ( const Line3 l1,
const Line3 l2 
)

◆ Angle() [3/7]

Real DLLIMPORT geom::Angle ( const Plane p,
const Line3 l 
)

◆ Angle() [4/7]

Real DLLIMPORT geom::Angle ( const Plane p1,
const Plane p2 
)

◆ Angle() [5/7]

Real DLLEXPORT_OST_GEOM geom::Angle ( const Vec2 v1,
const Vec2 v2 
)

angle beetwen two vectors

◆ Angle() [6/7]

Real DLLEXPORT_OST_GEOM geom::Angle ( const Vec3 v1,
const Vec3 v2 
)

◆ Angle() [7/7]

Real DLLEXPORT_OST_GEOM geom::Angle ( const Vec4 v1,
const Vec4 v2 
)

◆ AreIntersecting()

bool DLLIMPORT geom::AreIntersecting ( const Line3 l1,
const Line3 l2,
Real  ephilon = EPSILON 
)

◆ AreParallel() [1/4]

bool DLLEXPORT_OST_GEOM geom::AreParallel ( const Line2 l1,
const Line2 l2,
Real  ephilon = EPSILON 
)

◆ AreParallel() [2/4]

bool DLLIMPORT geom::AreParallel ( const Line3 l1,
const Line3 l2,
Real  ephilon = EPSILON 
)

◆ AreParallel() [3/4]

bool DLLIMPORT geom::AreParallel ( const Plane p,
const Line3 l,
Real  ephilon = EPSILON 
)

◆ AreParallel() [4/4]

bool DLLIMPORT geom::AreParallel ( const Plane p1,
const Plane p2,
Real  ephilon = EPSILON 
)

◆ AxisRotation()

Mat3 DLLEXPORT_OST_GEOM geom::AxisRotation ( const Vec3 axis,
Real  angle 
)

◆ CalculateUnitCellVectors()

Vec3List DLLEXPORT_OST_GEOM 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)).

◆ Comp() [1/2]

Real DLLEXPORT_OST_GEOM geom::Comp ( const Mat3 m,
unsigned int  i,
unsigned int  j 
)

◆ Comp() [2/2]

Real DLLEXPORT_OST_GEOM geom::Comp ( const Mat4 m,
unsigned int  i,
unsigned int  j 
)

◆ CompDivide() [1/3]

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.

◆ CompDivide() [2/3]

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.

◆ CompDivide() [3/3]

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.

◆ CompMultiply() [1/3]

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.

◆ CompMultiply() [2/3]

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.

◆ CompMultiply() [3/3]

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.

◆ Conjugate()

Quat DLLEXPORT_OST_GEOM geom::Conjugate ( const Quat q)

◆ Cross()

Vec3 geom::Cross ( const Vec3 v1,
const Vec3 v2 
)
inline

vector cross product

Definition at line 85 of file vecmat3_op.hh.

◆ Det() [1/3]

Real DLLEXPORT_OST_GEOM geom::Det ( const Mat2 m)

determinant

◆ Det() [2/3]

Real DLLEXPORT_OST_GEOM geom::Det ( const Mat3 m)

◆ Det() [3/3]

Real DLLEXPORT_OST_GEOM geom::Det ( const Mat4 m)

◆ DihedralAngle()

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.

◆ Distance() [1/5]

Real DLLEXPORT_OST_GEOM geom::Distance ( const Line2 l,
const Vec2 v 
)

◆ Distance() [2/5]

Real DLLIMPORT geom::Distance ( const Line3 l,
const Vec3 v 
)

◆ Distance() [3/5]

Real DLLIMPORT geom::Distance ( const Line3 l1,
const Line3 l2 
)

◆ Distance() [4/5]

Real DLLIMPORT geom::Distance ( const Plane p,
const Vec3 v 
)

◆ Distance() [5/5]

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.

◆ Distance2WithPBC()

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.

◆ DistanceWithPBC()

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.

◆ Dot() [1/4]

Real DLLEXPORT_OST_GEOM geom::Dot ( const Quat q0,
const Quat q1 
)

◆ Dot() [2/4]

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

vector dot product

Definition at line 63 of file vecmat2_op.hh.

◆ Dot() [3/4]

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

vector dot product

Definition at line 69 of file vecmat3_op.hh.

◆ Dot() [4/4]

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

vector dot product

Definition at line 76 of file vecmat4_op.hh.

◆ Equal() [1/9]

bool DLLEXPORT_OST_GEOM geom::Equal ( const Line2 l1,
const Line2 l2,
Real  ephilon = EPSILON 
)

◆ Equal() [2/9]

bool DLLIMPORT geom::Equal ( const Line3 l1,
const Line3 l2,
Real  ephilon = EPSILON 
)

◆ Equal() [3/9]

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.

◆ Equal() [4/9]

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.

◆ Equal() [5/9]

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.

◆ Equal() [6/9]

bool DLLIMPORT geom::Equal ( const Plane p1,
const Plane p2,
Real  ephilon = EPSILON 
)

◆ Equal() [7/9]

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.

◆ Equal() [8/9]

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.

◆ Equal() [9/9]

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.

◆ EqualPosition() [1/3]

bool DLLEXPORT_OST_GEOM geom::EqualPosition ( const Line2 l1,
const Line2 l2,
Real  ephilon = EPSILON 
)

◆ EqualPosition() [2/3]

bool DLLIMPORT geom::EqualPosition ( const Line3 l1,
const Line3 l2,
Real  ephilon = EPSILON 
)

◆ EqualPosition() [3/3]

bool DLLIMPORT geom::EqualPosition ( const Plane p1,
const Plane p2,
Real  ephilon = EPSILON 
)

◆ EulerTransformation()

Mat3 DLLEXPORT_OST_GEOM geom::EulerTransformation ( Real  theta,
Real  phi,
Real  xi 
)

◆ Exp()

Quat DLLEXPORT_OST_GEOM geom::Exp ( const Quat q)

◆ ExportEulerAngles()

DLLIMPORT void geom::ExportEulerAngles ( const Rotation3List rot_list,
const boost::filesystem::path &  loc 
)

◆ ImportEulerAngles()

DLLIMPORT Rotation3List geom::ImportEulerAngles ( const boost::filesystem::path &  loc)

◆ IntersectionLine()

Line3 DLLIMPORT geom::IntersectionLine ( const Plane p1,
const Plane p2 
)

◆ IntersectionPoint() [1/4]

Vec2 DLLEXPORT_OST_GEOM geom::IntersectionPoint ( const Line2 l1,
const Line2 l2 
)

◆ IntersectionPoint() [2/4]

Vec3 DLLIMPORT geom::IntersectionPoint ( const Line3 l,
const Plane p 
)

◆ IntersectionPoint() [3/4]

Vec3 DLLIMPORT geom::IntersectionPoint ( const Line3 l1,
const Line3 l2 
)

◆ IntersectionPoint() [4/4]

Vec3 DLLIMPORT geom::IntersectionPoint ( const Plane p,
const Line3 l 
)

◆ Inv()

Quat DLLEXPORT_OST_GEOM geom::Inv ( const Quat q)

◆ Invert() [1/3]

Mat2 DLLEXPORT_OST_GEOM geom::Invert ( const Mat2 m)

Matrix inversion.

◆ Invert() [2/3]

Mat3 DLLEXPORT_OST_GEOM geom::Invert ( const Mat3 m)

◆ Invert() [3/3]

Mat4 DLLEXPORT_OST_GEOM geom::Invert ( const Mat4 m)

◆ IsInCircle()

DLLEXPORT_OST_GEOM bool geom::IsInCircle ( const Circle2 c,
const Vec2 v 
)

◆ IsInPlane() [1/2]

bool DLLIMPORT geom::IsInPlane ( const Plane p,
const Line3 l,
Real  ephilon = EPSILON 
)

◆ IsInPlane() [2/2]

bool DLLIMPORT geom::IsInPlane ( const Plane p,
const Vec3 v,
Real  ephilon = EPSILON 
)

◆ IsInPolygon()

DLLEXPORT_OST_GEOM bool geom::IsInPolygon ( const Polygon2 p,
const Vec2 v 
)

◆ IsInRectangle()

DLLEXPORT_OST_GEOM bool geom::IsInRectangle ( const Rectangle2 r,
const Vec2 v 
)

◆ IsInSphere()

DLLEXPORT bool geom::IsInSphere ( const Sphere p,
const Vec3 v 
)

◆ IsOnLine() [1/2]

bool DLLEXPORT_OST_GEOM geom::IsOnLine ( const Line2 l,
const Vec2 v,
Real  ephilon = EPSILON 
)

◆ IsOnLine() [2/2]

bool DLLIMPORT geom::IsOnLine ( const Line3 l,
const Vec3 v,
Real  ephilon = EPSILON 
)

◆ Length() [1/3]

Real geom::Length ( const Vec2 v)
inline

returns length of vector

Definition at line 41 of file vecmat2_op.hh.

◆ Length() [2/3]

Real geom::Length ( const Vec3 v)
inline

returns length of vector

Definition at line 39 of file vecmat3_op.hh.

◆ Length() [3/3]

Real geom::Length ( const Vec4 v)
inline

returns length of vector

Definition at line 40 of file vecmat4_op.hh.

◆ Length2() [1/3]

Real geom::Length2 ( const Vec2 v)
inline

returns squared length of vector

Definition at line 35 of file vecmat2_op.hh.

◆ Length2() [2/3]

Real geom::Length2 ( const Vec3 v)
inline

returns squared length of vector

Definition at line 33 of file vecmat3_op.hh.

◆ Length2() [3/3]

Real geom::Length2 ( const Vec4 v)
inline

returns squared length of vector

Definition at line 34 of file vecmat4_op.hh.

◆ Log()

Quat DLLEXPORT_OST_GEOM geom::Log ( const Quat q)

◆ Max() [1/3]

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

Definition at line 150 of file vecmat2_op.hh.

◆ Max() [2/3]

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.

◆ Max() [3/3]

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.

◆ Min() [1/3]

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

Definition at line 143 of file vecmat2_op.hh.

◆ Min() [2/3]

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.

◆ Min() [3/3]

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.

◆ MinDistance()

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

returns the minimal distance between the points in two Vec3List

◆ MinDistanceIndices()

std::vector<unsigned int> DLLEXPORT_OST_GEOM 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.

◆ MinDistanceWithPBC()

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

returns the minimal distance between the points in two Vec3List

◆ Minor() [1/2]

Real DLLEXPORT_OST_GEOM geom::Minor ( const Mat3 m,
unsigned int  i,
unsigned int  j 
)

◆ Minor() [2/2]

Real DLLEXPORT_OST_GEOM geom::Minor ( const Mat4 m,
unsigned int  i,
unsigned int  j 
)

◆ Normalize() [1/4]

Quat DLLEXPORT_OST_GEOM geom::Normalize ( const Quat q)

◆ Normalize() [2/4]

Vec2 geom::Normalize ( const Vec2 v)
inline

Normalize vector.

Definition at line 69 of file vecmat2_op.hh.

◆ Normalize() [3/4]

Vec3 geom::Normalize ( const Vec3 v)
inline

Normalize.

Definition at line 75 of file vecmat3_op.hh.

◆ Normalize() [4/4]

Vec4 geom::Normalize ( const Vec4 v)
inline

Definition at line 81 of file vecmat4_op.hh.

◆ operator*() [1/9]

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.

◆ operator*() [2/9]

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

matrix matrix multiplication

Definition at line 134 of file vecmat2_op.hh.

◆ operator*() [3/9]

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

vector matrix multiplication

Definition at line 117 of file vecmat3_op.hh.

◆ operator*() [4/9]

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

matrix matrix multiplication

Definition at line 126 of file vecmat3_op.hh.

◆ operator*() [5/9]

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

vector matrix multiplication

Definition at line 115 of file vecmat4_op.hh.

◆ operator*() [6/9]

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

◆ operator*() [7/9]

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.

◆ operator*() [8/9]

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

vector matrix multiplication

Definition at line 108 of file vecmat3_op.hh.

◆ operator*() [9/9]

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

vector matrix multiplication

Definition at line 105 of file vecmat4_op.hh.

◆ operator/() [1/3]

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

Definition at line 171 of file vec2.hh.

◆ operator/() [2/3]

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

Definition at line 211 of file vec3.hh.

◆ operator/() [3/3]

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

Definition at line 196 of file vec4.hh.

◆ operator<<() [1/9]

DLLEXPORT_OST_GEOM std::ostream& geom::operator<< ( std::ostream &  o,
const Mat3 m 
)

◆ operator<<() [2/9]

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

Definition at line 57 of file aligned_cuboid.hh.

◆ operator<<() [3/9]

DLLEXPORT_OST_GEOM std::ostream& geom::operator<< ( std::ostream &  os,
const Mat2 m 
)

◆ operator<<() [4/9]

DLLEXPORT_OST_GEOM std::ostream& geom::operator<< ( std::ostream &  os,
const Mat4 m 
)

◆ operator<<() [5/9]

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

Definition at line 176 of file vec2.hh.

◆ operator<<() [6/9]

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

Definition at line 221 of file vec3.hh.

◆ operator<<() [7/9]

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

Definition at line 202 of file vec4.hh.

◆ operator<<() [8/9]

DLLIMPORT std::ostream& geom::operator<< ( std::ostream &  s,
const Line3 l 
)

◆ operator<<() [9/9]

DLLEXPORT_OST_GEOM std::ostream& geom::operator<< ( std::ostream &  str,
const Quat q 
)

◆ operator==() [1/3]

bool DLLEXPORT_OST_GEOM geom::operator== ( const Line2 l1,
const Line2 l2 
)

◆ operator==() [2/3]

bool DLLIMPORT geom::operator== ( const Line3 l1,
const Line3 l2 
)

◆ operator==() [3/3]

bool DLLIMPORT geom::operator== ( const Plane p1,
const Plane p2 
)

◆ OrthogonalVector()

Vec3 DLLEXPORT_OST_GEOM geom::OrthogonalVector ( const Vec3 axis)

get arbitrary vector orthogonal to axis

The returned vector is of length 1

◆ RelativePosition()

int DLLIMPORT geom::RelativePosition ( const Plane p,
const Vec3 v,
Real  ephilon = EPSILON 
)

◆ Rotate()

DLLEXPORT Vec2 geom::Rotate ( const Vec2 v,
Real  ang 
)

Rotation.

◆ SignedAngle() [1/2]

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

angle beetwen two vectors (honors sign)

◆ SignedAngle() [2/2]

Real DLLEXPORT_OST_GEOM geom::SignedAngle ( const Vec3 v1,
const Vec3 v2,
const Vec3 ref 
)

◆ SimplifyPolygon()

DLLEXPORT_OST_GEOM Polygon2 geom::SimplifyPolygon ( const Polygon2 p)

◆ Slerp()

Quat DLLEXPORT_OST_GEOM geom::Slerp ( const Quat q0,
const Quat q1,
Real  t 
)

◆ Transpose() [1/3]

Mat2 DLLEXPORT_OST_GEOM geom::Transpose ( const Mat2 m)

Transpose.

◆ Transpose() [2/3]

Mat3 DLLEXPORT_OST_GEOM geom::Transpose ( const Mat3 m)

◆ Transpose() [3/3]

Mat4 DLLEXPORT_OST_GEOM geom::Transpose ( const Mat4 m)

◆ Union()

AlignedCuboid DLLIMPORT geom::Union ( const AlignedCuboid lhs,
const AlignedCuboid rhs 
)

◆ WrapVec3() [1/2]

Vec3 DLLEXPORT_OST_GEOM geom::WrapVec3 ( const Vec3 v1,
const Vec3 box_center,
const Vec3 ucell_size 
)

wraps a vector in a box with periodic boundaries

◆ WrapVec3() [2/2]

Vec3 DLLEXPORT_OST_GEOM 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

◆ WrapVec3List() [1/2]

Vec3List DLLEXPORT_OST_GEOM 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

◆ WrapVec3List() [2/2]

Vec3List DLLEXPORT_OST_GEOM 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

Variable Documentation

◆ EPSILON

const Real EPSILON =1e-6
static

Definition at line 28 of file constants.hh.