GranOO  3.0
A robust and versatile workbench to build 3D dynamic simulations based on the Discrete Element Method
Classes | Functions
GranOO3::Geom Namespace Reference

This namespace group the entire Geom library. More...

Classes

struct  X
 
struct  Y
 
struct  Z
 
struct  R
 
struct  XX
 
struct  XY
 
struct  XZ
 
struct  YX
 
struct  YY
 
struct  YZ
 
struct  ZX
 
struct  ZY
 
struct  ZZ
 
struct  axis
 
struct  constant
 
struct  global
 
struct  null
 
class  EulerAngle
 
class  Frame
 
class  Plane
 
class  Point
 
class  Quaternion
 
class  Ray
 
class  SymTensor
 
class  Tensor
 
class  Vector
 

Functions

bool operator== (const EulerAngle &, const EulerAngle &)
 
bool operator!= (const EulerAngle &, const EulerAngle &)
 
std::ostream & operator<< (std::ostream &, const EulerAngle &)
 
std::ostream & operator<< (std::ostream &o, const Frame &f)
 
bool operator== (const Frame &f1, const Frame &f2)
 
bool operator!= (const Frame &f1, const Frame &f2)
 
bool intersect (const Ray &ray, const Plane &plane, Geom::Point &intersection_pt)
 
bool operator== (const Point &, const Point &)
 
bool operator!= (const Point &, const Point &)
 
std::ostream & operator<< (std::ostream &, const Point &)
 
std::ostream & operator<< (std::ostream &o, const SymTensor &m)
 
Vector operator* (const SymTensor &m, const Vector &v)
 
SymTensor operator* (const double &d, const SymTensor &m)
 
SymTensor operator* (const SymTensor &m, const double &d)
 
double operator* (const SymTensor &m1, const SymTensor &m2)
 
Tensor operator* (const SymTensor &m1, const Tensor &m2)
 
Tensor operator* (const Tensor &m1, const SymTensor &m2)
 
SymTensor operator/ (const SymTensor &m, const double &d)
 
SymTensor operator- (const SymTensor &m1, const SymTensor &m2)
 
SymTensor operator+ (const SymTensor &m1, const SymTensor &m2)
 
bool operator== (const SymTensor &m1, const SymTensor &m2)
 
std::ostream & operator<< (std::ostream &o, const Tensor &m)
 
Vector operator* (const Tensor &m, const Vector &v)
 
Tensor operator* (const double &d, const Tensor &m)
 
Tensor operator* (const Tensor &m, const double &d)
 
Tensor operator* (const Tensor &m1, const Tensor &m2)
 
Tensor operator/ (const Tensor &m, const double &d)
 
Tensor operator- (const Tensor &m1, const Tensor &m2)
 
Tensor operator+ (const Tensor &m1, const Tensor &m2)
 
bool operator== (const Tensor &m1, const Tensor &m2)
 
std::ostream & operator<< (std::ostream &os, const Vector &v)
 
std::istream & operator>> (std::istream &in, Vector &v)
 
Vector operator+ (const Vector &v1, const Vector &v2)
 
Vector operator- (const Vector &v1, const Vector &v2)
 
Vector operator- (const Vector &v)
 
Vector operator* (const Vector &v, const double &a)
 
Vector operator* (const double &a, const Vector &v)
 
Vector operator/ (const Vector &v, const double &a)
 
double operator* (const Vector &v1, const Vector &v2)
 
Vector operator^ (const Vector &v1, const Vector &v2)
 
bool operator!= (const Vector &v1, const Vector &v2)
 
bool operator== (const Vector &v1, const Vector &v2)
 
Vector double_cross (const Vector &v1, const Vector &v2)
 
double get_angle_between_unit_vector (const Vector &a, const Vector &b)
 

Detailed Description

This namespace group the entire Geom library.

Function Documentation

◆ double_cross()

Vector GranOO3::Geom::double_cross ( const Vector v1,
const Vector v2 
)

◆ get_angle_between_unit_vector()

double GranOO3::Geom::get_angle_between_unit_vector ( const Vector a,
const Vector b 
)

◆ intersect()

bool GranOO3::Geom::intersect ( const Ray ray,
const Plane plane,
Geom::Point intersection_pt 
)
inline

◆ operator!=() [1/4]

bool GranOO3::Geom::operator!= ( const EulerAngle ,
const EulerAngle  
)

◆ operator!=() [2/4]

bool GranOO3::Geom::operator!= ( const Frame f1,
const Frame f2 
)

◆ operator!=() [3/4]

bool GranOO3::Geom::operator!= ( const Point ,
const Point  
)

◆ operator!=() [4/4]

bool GranOO3::Geom::operator!= ( const Vector v1,
const Vector v2 
)

◆ operator*() [1/13]

Vector GranOO3::Geom::operator* ( const double &  a,
const Vector v 
)

◆ operator*() [2/13]

SymTensor GranOO3::Geom::operator* ( const double &  d,
const SymTensor m 
)

◆ operator*() [3/13]

Tensor GranOO3::Geom::operator* ( const double &  d,
const Tensor m 
)

◆ operator*() [4/13]

SymTensor GranOO3::Geom::operator* ( const SymTensor m,
const double &  d 
)

◆ operator*() [5/13]

Vector GranOO3::Geom::operator* ( const SymTensor m,
const Vector v 
)

◆ operator*() [6/13]

double GranOO3::Geom::operator* ( const SymTensor m1,
const SymTensor m2 
)

◆ operator*() [7/13]

Tensor GranOO3::Geom::operator* ( const SymTensor m1,
const Tensor m2 
)

◆ operator*() [8/13]

Tensor GranOO3::Geom::operator* ( const Tensor m,
const double &  d 
)

◆ operator*() [9/13]

Vector GranOO3::Geom::operator* ( const Tensor m,
const Vector v 
)

◆ operator*() [10/13]

Tensor GranOO3::Geom::operator* ( const Tensor m1,
const SymTensor m2 
)

◆ operator*() [11/13]

Tensor GranOO3::Geom::operator* ( const Tensor m1,
const Tensor m2 
)

◆ operator*() [12/13]

Vector GranOO3::Geom::operator* ( const Vector v,
const double &  a 
)

◆ operator*() [13/13]

double GranOO3::Geom::operator* ( const Vector v1,
const Vector v2 
)

◆ operator+() [1/3]

SymTensor GranOO3::Geom::operator+ ( const SymTensor m1,
const SymTensor m2 
)

◆ operator+() [2/3]

Tensor GranOO3::Geom::operator+ ( const Tensor m1,
const Tensor m2 
)

◆ operator+() [3/3]

Vector GranOO3::Geom::operator+ ( const Vector v1,
const Vector v2 
)

◆ operator-() [1/4]

SymTensor GranOO3::Geom::operator- ( const SymTensor m1,
const SymTensor m2 
)

◆ operator-() [2/4]

Tensor GranOO3::Geom::operator- ( const Tensor m1,
const Tensor m2 
)

◆ operator-() [3/4]

Vector GranOO3::Geom::operator- ( const Vector v)

◆ operator-() [4/4]

Vector GranOO3::Geom::operator- ( const Vector v1,
const Vector v2 
)

◆ operator/() [1/3]

SymTensor GranOO3::Geom::operator/ ( const SymTensor m,
const double &  d 
)

◆ operator/() [2/3]

Tensor GranOO3::Geom::operator/ ( const Tensor m,
const double &  d 
)

◆ operator/() [3/3]

Vector GranOO3::Geom::operator/ ( const Vector v,
const double &  a 
)

◆ operator<<() [1/6]

std::ostream& GranOO3::Geom::operator<< ( std::ostream &  ,
const EulerAngle  
)

◆ operator<<() [2/6]

std::ostream& GranOO3::Geom::operator<< ( std::ostream &  ,
const Point  
)

◆ operator<<() [3/6]

std::ostream & GranOO3::Geom::operator<< ( std::ostream &  o,
const Frame f 
)

◆ operator<<() [4/6]

std::ostream& GranOO3::Geom::operator<< ( std::ostream &  o,
const SymTensor m 
)

◆ operator<<() [5/6]

std::ostream& GranOO3::Geom::operator<< ( std::ostream &  o,
const Tensor m 
)

◆ operator<<() [6/6]

std::ostream& GranOO3::Geom::operator<< ( std::ostream &  os,
const Vector v 
)

◆ operator==() [1/6]

bool GranOO3::Geom::operator== ( const EulerAngle ,
const EulerAngle  
)

◆ operator==() [2/6]

bool GranOO3::Geom::operator== ( const Frame f1,
const Frame f2 
)

◆ operator==() [3/6]

bool GranOO3::Geom::operator== ( const Point ,
const Point  
)

◆ operator==() [4/6]

bool GranOO3::Geom::operator== ( const SymTensor m1,
const SymTensor m2 
)

◆ operator==() [5/6]

bool GranOO3::Geom::operator== ( const Tensor m1,
const Tensor m2 
)

◆ operator==() [6/6]

bool GranOO3::Geom::operator== ( const Vector v1,
const Vector v2 
)

◆ operator>>()

std::istream& GranOO3::Geom::operator>> ( std::istream &  in,
Vector v 
)

◆ operator^()

Vector GranOO3::Geom::operator^ ( const Vector v1,
const Vector v2 
)