versor
3.0
C++11 library for Geometric algebra

Geometric Entities in Conformal Metrics. More...
Modules  
Multivector Types  
3D CGA Instantiations of the Multivector Template class  
Euclidean  
A Euclidean Element is a Multivector whose blades are basis elements of a positive \(\mathbb{R}^p\) metric  
Flat  
A Flat Element is a Round Element wedged with Infinity.  
Round  
Direction  
Tangent  
A Tangent is a Euclidean wedged with the Origin.  
Rotor  
Geometric Entities in Conformal Metrics.
Group names like Round and Flat are not actual types but categories of types which can be operated on by the similarly named static methods. For instance, vsr::cga::Round methods can be applied to Multivector Types of the Round category. To determine the direction of a Circle:
Circle c = CXY(1); ... vsr::cga::Round::direction(c)
There is no inheritance or introspection which lets a Multivector know whether it is a Round or not, so the user of the library is responsible for feeding the right arguments to the right functions.
For ease of use, the documentation is specifically geared to 3D cga (as is the vsr::cga namespace) However, most operations can also be applied to higher (or lower) dimensions by using identically named methods in the vsr::nga namespace. If you're new to this document, stick to the vsr::cga namespace.