versor
3.0
C++11 library for Geometric algebra
|
the versor library namespace More...
Namespaces | |
cga | |
3D Conformal Geometric Algebra Namespace | |
ega | |
3D Euclidean Geometric Algebra NamespaceNote that ega assumes 3D case for other dimensions we'll use ega2D ( | |
nga | |
ND Generic Operations. | |
Classes | |
struct | algebra |
An algebra instance is templated on: More... | |
struct | algebra_impl |
struct | algebra_impl< Algebra, false, false > |
struct | algebra_impl< Algebra, false, true > |
struct | algebra_impl< Algebra, true, false > |
struct | all_blades |
all blades within a spatial dim upto and including maxgrade More... | |
struct | all_blades< dim, 0 > |
limiting case of grade 0 (scalar) More... | |
struct | blade |
metafunction to construct a basis blade type from spatial dimension and subspace grade More... | |
struct | blade< dim, 0 > |
limiting case of grade 0 (scalar) More... | |
class | Conic |
conic transforms More... | |
struct | Constraint |
struct | ConvexHull |
convex (and other assorted) hulls assembled into a half edge graph More... | |
struct | CubeEdge |
class | CubicLattice |
Discretized Volume Indexing (Isometric Cubic Lattice w/o data) More... | |
class | Data |
class | Distance |
class | DoubleData |
struct | Eval |
class | Field |
A Basic 3D Field (slowly porting this over from the now defunct vsr_lattice class) Use to Evaluate Neighbors, Tensors, etc. More... | |
struct | GAE |
struct | Group |
A Group of Operations called with group( sometype t ) or group( vector<sometype> t) V are versors any dimension, etc DualLines in cga2D or DualPlanes in cga3D or Circles . More... | |
struct | HEGraph |
Templated half edge structure (pointers to any type) Navigates references to surface topology of data only (DOES NOT STORE DATA) More... | |
class | Interp |
struct | Lattice |
ND lattice, on a metric specified by V's type. Not a group, but a group can be made from it. More... | |
struct | Math |
struct | Multivector |
Generic Geometric Number Types (templated on an algebra and a basis ) More... | |
struct | named_types |
struct | named_types< algebra_impl< alg, false, true > > |
struct | named_types< algebra_impl< alg, true, false > > |
class | Nbr |
Data Structure of Neighbors in a cartesian volume (left, right, bottom, top, front, back) More... | |
struct | NCube |
ND Cube. More... | |
struct | NCube< 1 > |
1D Cube More... | |
class | NData |
class | NData< 1, T > |
struct | NE |
struct | Patch |
Info Container for Euler integration of a 2d Field. More... | |
struct | PointGroup2D |
struct | PointGroup3D |
struct | Rand |
Probability Density Functions. More... | |
struct | Root |
goal is to use generators to collect all the unique transformations of the group, so we can apply them easily later. More... | |
class | Set |
struct | SimpleGroup |
Simple Reflection Group (no translating or gliding spinors) More... | |
struct | Simplex |
struct | SpaceGroup2D |
struct | SpaceGroup3D |
class | Stat |
class | Verlet |
struct | VPatch |
Volume Patch Info Container for Euler integration of a 3d Field. More... | |
class | Vxl |
Typedefs | |
template<typename algebra > | |
using | GASca = Multivector< algebra, typename algebra::types::sca > |
template<typename algebra > | |
using | GAVec = Multivector< algebra, typename algebra::types::vec > |
template<typename algebra > | |
using | GABiv = Multivector< algebra, typename algebra::types::biv > |
template<typename algebra > | |
using | GATri = Multivector< algebra, typename algebra::types::tri > |
template<typename algebra > | |
using | GAPnt = Multivector< algebra, typename algebra::types::pnt > |
template<typename algebra > | |
using | GADls = Multivector< algebra, typename algebra::types::dls > |
template<typename algebra > | |
using | GAPar = Multivector< algebra, typename algebra::types::par > |
template<typename algebra > | |
using | GACir = Multivector< algebra, typename algebra::types::cir > |
template<typename algebra > | |
using | GASph = Multivector< algebra, typename algebra::types::sph > |
template<typename algebra > | |
using | GAFlp = Multivector< algebra, typename algebra::types::flp > |
template<typename algebra > | |
using | GADll = Multivector< algebra, typename algebra::types::dll > |
template<typename algebra > | |
using | GALin = Multivector< algebra, typename algebra::types::lin > |
template<typename algebra > | |
using | GADlp = Multivector< algebra, typename algebra::types::dlp > |
template<typename algebra > | |
using | GAPln = Multivector< algebra, typename algebra::types::pln > |
template<typename algebra > | |
using | GAMnk = Multivector< algebra, typename algebra::types::mnk > |
template<typename algebra > | |
using | GAInf = Multivector< algebra, typename algebra::types::inf > |
template<typename algebra > | |
using | GAOri = Multivector< algebra, typename algebra::types::ori > |
template<typename algebra > | |
using | GAPss = Multivector< algebra, typename algebra::types::pss > |
template<typename algebra > | |
using | GATnv = Multivector< algebra, typename algebra::types::tnv > |
template<typename algebra > | |
using | GADrv = Multivector< algebra, typename algebra::types::drv > |
template<typename algebra > | |
using | GATnb = Multivector< algebra, typename algebra::types::tnb > |
template<typename algebra > | |
using | GADrb = Multivector< algebra, typename algebra::types::drb > |
template<typename algebra > | |
using | GATnt = Multivector< algebra, typename algebra::types::tnt > |
template<typename algebra > | |
using | GADrt = Multivector< algebra, typename algebra::types::drt > |
template<typename algebra > | |
using | GARot = Multivector< algebra, typename algebra::types::rot > |
template<typename algebra > | |
using | GATrs = Multivector< algebra, typename algebra::types::trs > |
template<typename algebra > | |
using | GADil = Multivector< algebra, typename algebra::types::dil > |
template<typename algebra > | |
using | GAMot = Multivector< algebra, typename algebra::types::mot > |
template<typename algebra > | |
using | GABst = Multivector< algebra, typename algebra::types::bst > |
template<typename algebra > | |
using | GATrv = Multivector< algebra, typename algebra::types::trv > |
template<typename algebra > | |
using | GACon = Multivector< algebra, typename algebra::types::con > |
template<typename algebra > | |
using | GATsd = Multivector< algebra, typename algebra::types::tsd > |
template<typename algebra > | |
using | GAEucPss = Multivector< algebra, typename algebra::types::eucpss > |
template<bits::type N, typename T = VSR_PRECISION> | |
using | euclidean = algebra< metric< N >, T > |
template<bits::type N, typename T = VSR_PRECISION> | |
using | conformal = algebra< metric< N-1, 1, true >, T > |
template<bits::type N, typename T = VSR_PRECISION> | |
using | NESca = GASca< euclidean< N, T > > |
template<bits::type N, typename T = VSR_PRECISION> | |
using | NEVec = GAVec< euclidean< N, T > > |
template<bits::type N, typename T = VSR_PRECISION> | |
using | NEBiv = GABiv< euclidean< N, T > > |
template<bits::type N, typename T = VSR_PRECISION> | |
using | NETri = GATri< euclidean< N, T > > |
template<bits::type N, typename T = VSR_PRECISION> | |
using | NERot = GARot< euclidean< N, T > > |
template<bits::type dim, typename T = VSR_PRECISION> | |
using | euclidean_vector = GAVec< euclidean< dim, T > > |
template<bits::type dim, typename T = VSR_PRECISION> | |
using | euclidean_bivector = GABiv< euclidean< dim, T > > |
template<bits::type dim, typename T = VSR_PRECISION> | |
using | euclidean_trivector = GATri< euclidean< dim, T > > |
template<bits::type dim, typename T = VSR_PRECISION> | |
using | euclidean_rotor = GARot< euclidean< dim, T > > |
template<bits::type N, typename T = VSR_PRECISION> | |
using | NSca = GASca< conformal< N, T >> |
*--------------------------------------------------------------------------— | |
template<bits::type N, typename T = VSR_PRECISION> | |
using | NVec = GAVec< conformal< N, T >> |
template<bits::type N, typename T = VSR_PRECISION> | |
using | NBiv = GABiv< conformal< N, T >> |
template<bits::type N, typename T = VSR_PRECISION> | |
using | NPnt = GAPnt< conformal< N, T >> |
template<bits::type N, typename T = VSR_PRECISION> | |
using | NBst = GABst< conformal< N, T >> |
template<bits::type N, typename T = VSR_PRECISION> | |
using | NPar = GAPar< conformal< N, T >> |
template<bits::type N, typename T = VSR_PRECISION> | |
using | NCir = GACir< conformal< N, T >> |
template<bits::type N, typename T = VSR_PRECISION> | |
using | NRot = GARot< conformal< N, T >> |
template<bits::type N, typename T = VSR_PRECISION> | |
using | NTnv = GATnv< conformal< N, T >> |
template<bits::type N, typename T = VSR_PRECISION> | |
using | NTrv = GATrv< conformal< N, T >> |
template<bits::type N, typename T = VSR_PRECISION> | |
using | NTrs = GATrs< conformal< N, T >> |
template<bits::type N, typename T = VSR_PRECISION> | |
using | NDrv = GADrv< conformal< N, T >> |
template<bits::type N, typename T = VSR_PRECISION> | |
using | NDil = GADil< conformal< N, T >> |
template<bits::type N, typename T = VSR_PRECISION> | |
using | NTsd = GATsd< conformal< N, T >> |
template<bits::type N, typename T = VSR_PRECISION> | |
using | NOri = GAOri< conformal< N, T >> |
template<bits::type N, typename T = VSR_PRECISION> | |
using | NInf = GAInf< conformal< N, T >> |
template<bits::type N, typename T = VSR_PRECISION> | |
using | NDls = GADls< conformal< N, T >> |
template<bits::type N, typename T = VSR_PRECISION> | |
using | NDll = GADll< conformal< N, T >> |
template<bits::type N, typename T = VSR_PRECISION> | |
using | NLin = GALin< conformal< N, T >> |
template<bits::type N, typename T = VSR_PRECISION> | |
using | NMnk = GAMnk< conformal< N, T >> |
template<bits::type N, typename T = VSR_PRECISION> | |
using | NPss = GAPss< conformal< N, T >> |
template<bits::type N, typename T = VSR_PRECISION> | |
using | NSph = GASph< conformal< N, T >> |
template<bits::type N, typename T = VSR_PRECISION> | |
using | NTri = GATri< conformal< N, T >> |
template<bits::type N, typename T = VSR_PRECISION> | |
using | NFlp = GAFlp< conformal< N, T >> |
template<bits::type N, typename T = VSR_PRECISION> | |
using | NPln = GAPln< conformal< N, T >> |
template<bits::type N, typename T = VSR_PRECISION> | |
using | NDlp = GADlp< conformal< N, T >> |
template<bits::type N, typename T = VSR_PRECISION> | |
using | NDrb = GADrb< conformal< N, T >> |
template<bits::type N, typename T = VSR_PRECISION> | |
using | NTnb = GATnb< conformal< N, T >> |
template<bits::type N, typename T = VSR_PRECISION> | |
using | NTnt = GATnt< conformal< N, T >> |
template<bits::type N, typename T = VSR_PRECISION> | |
using | NDrt = GADrt< conformal< N, T >> |
template<bits::type N, typename T = VSR_PRECISION> | |
using | NMot = GAMot< conformal< N, T >> |
template<bits::type N, typename T = VSR_PRECISION> | |
using | NCon = GACon< conformal< N, T >> |
template<bits::type N, typename T = VSR_PRECISION> | |
using | conformal_scalar = GASca< conformal< N, T >> |
template<bits::type N, typename T = VSR_PRECISION> | |
using | conformal_vector = GAVec< conformal< N, T >> |
template<bits::type N, typename T = VSR_PRECISION> | |
using | conformal_Biv = GABiv< conformal< N, T >> |
template<bits::type N, typename T = VSR_PRECISION> | |
using | conformal_Pnt = GAPnt< conformal< N, T >> |
template<bits::type N, typename T = VSR_PRECISION> | |
using | conformal_Bst = GABst< conformal< N, T >> |
template<bits::type N, typename T = VSR_PRECISION> | |
using | conformal_Par = GAPar< conformal< N, T >> |
template<bits::type N, typename T = VSR_PRECISION> | |
using | conformal_Cir = GACir< conformal< N, T >> |
template<bits::type N, typename T = VSR_PRECISION> | |
using | conformal_Rot = GARot< conformal< N, T >> |
template<bits::type N, typename T = VSR_PRECISION> | |
using | conformal_Tnv = GATnv< conformal< N, T >> |
template<bits::type N, typename T = VSR_PRECISION> | |
using | conformal_Trv = GATrv< conformal< N, T >> |
template<bits::type N, typename T = VSR_PRECISION> | |
using | conformal_Trs = GATrs< conformal< N, T >> |
template<bits::type N, typename T = VSR_PRECISION> | |
using | conformal_Drv = GADrv< conformal< N, T >> |
template<bits::type N, typename T = VSR_PRECISION> | |
using | conformal_Dil = GADil< conformal< N, T >> |
template<bits::type N, typename T = VSR_PRECISION> | |
using | conformal_Tsd = GATsd< conformal< N, T >> |
template<bits::type N, typename T = VSR_PRECISION> | |
using | conformal_Ori = GAOri< conformal< N, T >> |
template<bits::type N, typename T = VSR_PRECISION> | |
using | conformal_Inf = GAInf< conformal< N, T >> |
template<bits::type N, typename T = VSR_PRECISION> | |
using | conformal_Dls = GADls< conformal< N, T >> |
template<bits::type N, typename T = VSR_PRECISION> | |
using | conformal_Dll = GADll< conformal< N, T >> |
template<bits::type N, typename T = VSR_PRECISION> | |
using | conformal_Lin = GALin< conformal< N, T >> |
template<bits::type N, typename T = VSR_PRECISION> | |
using | conformal_Mnk = GAMnk< conformal< N, T >> |
template<bits::type N, typename T = VSR_PRECISION> | |
using | conformal_Pss = GAPss< conformal< N, T >> |
template<bits::type N, typename T = VSR_PRECISION> | |
using | conformal_Sph = GASph< conformal< N, T >> |
template<bits::type N, typename T = VSR_PRECISION> | |
using | conformal_Tri = GATri< conformal< N, T >> |
template<bits::type N, typename T = VSR_PRECISION> | |
using | conformal_Flp = GAFlp< conformal< N, T >> |
template<bits::type N, typename T = VSR_PRECISION> | |
using | conformal_Pln = GAPln< conformal< N, T >> |
template<bits::type N, typename T = VSR_PRECISION> | |
using | conformal_Dlp = GADlp< conformal< N, T >> |
template<bits::type N, typename T = VSR_PRECISION> | |
using | conformal_Drb = GADrb< conformal< N, T >> |
template<bits::type N, typename T = VSR_PRECISION> | |
using | conformal_Tnb = GATnb< conformal< N, T >> |
template<bits::type N, typename T = VSR_PRECISION> | |
using | conformal_Tnt = GATnt< conformal< N, T >> |
template<bits::type N, typename T = VSR_PRECISION> | |
using | conformal_Drt = GADrt< conformal< N, T >> |
template<bits::type N, typename T = VSR_PRECISION> | |
using | conformal_Mot = GAMot< conformal< N, T >> |
template<bits::type N, typename T = VSR_PRECISION> | |
using | conformal_Con = GACon< conformal< N, T >> |
typedef MGAMV< STA::Metric, STA::Vec > | Vec |
typedef MGAMV< STA::Metric, STA::Sca > | Sca |
typedef MGAMV< STA::Metric, STA::Y0 > | Y0 |
typedef MGAMV< STA::Metric, STA::Y1 > | Y1 |
typedef MGAMV< STA::Metric, STA::Y2 > | Y2 |
typedef MGAMV< STA::Metric, STA::Y3 > | Y3 |
typedef MGAMV< STA::Metric, STA::O1 > | O1 |
typedef MGAMV< STA::Metric, STA::O2 > | O2 |
typedef MGAMV< STA::Metric, STA::O3 > | O3 |
typedef MGAMV< STA::Metric, STA::I > | I |
typedef MGAMV< STA::Metric, STA::P3 > | P3 |
typedef MGAMV< STA::Metric, STA::Event > | Event |
typedef MGAMV< STA::Metric, STA::Split > | Split |
using | vec4 = NEVec< 4, int > |
typedef std::map< const char *, int > | NameMap |
Functions | |
template<class A > | |
void | Draw (const A &s, float r=1, float g=1, float b=1, float a=1) |
Rot | AA (const Vec &s) |
void | Immediate (const Vec &s) |
ega::Rot | AA (const ega::Vec &s) |
void | Immediate (const ega::Vec &s) |
template<int N> | |
void | Draw (const Simplex< N > &s, float r=1.0, float g=1.0, float b=1.0, float a=1.0) |
template<typename T > | |
T | Diff (const T &a, const T &b) |
template<typename T > | |
VT | Dist (const T &a, const T &b) |
Squared Distances. | |
template<TT DIM> | |
VT | Dist (const NPnt< DIM > &a, const NPnt< DIM > &b) |
ostream & | operator<< (ostream &os, const Nbr &m) |
ostream & | operator<< (ostream &os, const Vxl &m) |
NameMap | create_types () |
the versor library namespace