|
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
1.8.10