versor  3.0
C++11 library for Geometric algebra
Static Public Member Functions | List of all members
vsr::cga::Construct Struct Reference

constructive syntactic sugar for making geometric elements More...

#include <vsr_cga3D_op.h>

Static Public Member Functions

static Pair pair (const DualSphere &s, const Vec &v)
 constructs a Pair on Sphere s in v direction More...
 
static Pair pair (VSR_PRECISION x, VSR_PRECISION y, VSR_PRECISION z, Vec vec=Vec::y, VSR_PRECISION r=1.0)
 Point Pair at x,y,z with direction vec (default Y) and radius r (default 1)
 
static Point pointA (const Pair &pp)
 First point of point pair pp.
 
static Point pointB (const Pair &pp)
 Second point of point pair pp.
 
static Point point (const Circle &c, VSR_PRECISION t)
 Point on Circle at theta t.
 
static Point point (const DualSphere &s, const Vec &v)
 Point on Sphere in v direction.
 
static Point point (VSR_PRECISION x, VSR_PRECISION y, VSR_PRECISION z)
 Point from x,y,z.
 
static Point point (const Vec &v)
 Point from vec.
 
static Point point (const Line &, const Point &)
 Point on line l closest to p.
 
static Point point (const DualLine &, const Point &)
 Point on dualline l closest to p.
 
static Circle circle (const Point &a, const Point &b, const Point &c)
 Circle through three points.
 
static Circle circle (const Point &p, VSR_PRECISION r, const Biv &biv=Biv::xy)
 Circle at point p with radius r, facing direction biv.
 
static Circle circle (const Biv &B)
 Circle at origin in plane of bivector B.
 
static Circle circle (const Vec &v, VSR_PRECISION r=1.0)
 
static Circle circle (VSR_PRECISION x, VSR_PRECISION y, VSR_PRECISION z, Biv biv=Biv::xy, VSR_PRECISION r=1.0)
 
static Sphere sphere (const Pnt &a, const Pnt &b, const Pnt &c, const Pnt &d)
 
static DualSphere sphere (VSR_PRECISION x, VSR_PRECISION y, VSR_PRECISION z, VSR_PRECISION r=1.0)
 
static DualSphere sphere (const Point &p, VSR_PRECISION r=1.0)
 
static DualPlane plane (VSR_PRECISION a, VSR_PRECISION b, VSR_PRECISION c, VSR_PRECISION d=0.0)
 Dual plane with normal and distance from center.
 
static DualPlane plane (const Vec &v, VSR_PRECISION d=0.0)
 Dual plane from vec and distance from center.
 
static Plane plane (const Pnt &a, const Pnt &b, const Pnt &c)
 Direct plane through three points.
 
static DualLine axis (const Cir &c)
 DualLine axis of circle c.
 
static Line line (const Vec &a, const Vec &b)
 Direct line through points a and b.
 
static Line line (VSR_PRECISION x, VSR_PRECISION y, VSR_PRECISION z)
 Direct line through origin.
 
static Line dualLine (VSR_PRECISION x, VSR_PRECISION y, VSR_PRECISION z)
 Dual line through origin.
 
static Line line (const Point &a, const Point &b)
 Direct line through two points.
 
static Line line (const Point &a, const Vec &b)
 Direct line through point a in direction b.
 
static Circle hline (const Point &a, const Point &b)
 Hyperbolic line through two points.
 
static Circle sline (const Point &a, const Point &b)
 Spherical line through two points.
 
static VSR_PRECISION distance (const Lin &lin, const Pnt &pnt)
 Squared Distance between a line and a point.
 
static Circle meet (const Dls &s, const Dls &d)
 circle intersection of dual spheres
 
static Circle meet (const Dls &s, const Dlp &d)
 circle intersection of dual sphere and direct plane
 
static Circle meet (const Dls &s, const Pln &d)
 circle intersection of dual spehre and direct plane
 
static Circle meet (const Sphere &s, const DualPlane &d)
 circle intersection of direct sphere and dual plane
 
static Circle meet (const Sphere &s, const Plane &d)
 circle intersection of direct sphere and direct plane
 
static Point meet (const Line &lin, const DualPlane &)
 normalized and nulled point intersection of line and dual plane
 
static Point meet (const DualLine &, const DualPlane &)
 normalized and nulled point intersection of dualline and dual plane
 
static Point meet (const Line &la, const Line &lb)
 Point intersection of two lines.
 
static Pair meet (const Cir &cir, const Dlp &dlp)
 point pair intersection of circle and Dual plane
 
static Pair meet (const Cir &cir, const Dls &s)
 point pair intersection of circle and Dual sphere
 
static bool hit (const Point &, const Pair &)
 hit tests between point and pair (treats pair as an "edge")
 
static bool hit (const Point &, const Circle &)
 hit tests between point and circle (treats circle as "disc")
 
static double squaredDistance (const Point &a, const Point &b)
 
static Point hnorm (const Pnt &p)
 hyperbolic normalization of a conformal point
 
static double hdist (const Pnt &pa, const Pnt &pb)
 hyperbolic distance between two conformal points
 
static Pair hgen (const Pnt &pa, const Pnt &pb, double amt)
 hyperbolic translation transformation generator between two conformal points
 
static Point hspin (const Pnt &pa, const Pnt &pb, double amt)
 hyperbolic spin transformation from pa to pb by amt (0,1)
 
template<class A , class B >
static Point affine (const A &a, const B &b, VSR_PRECISION t)
 

Detailed Description

constructive syntactic sugar for making geometric elements

if we are in namespace cga we can just write

Construct::point(x,y,z) 

or to help create a generic generator

Construct::gen( <some bivector element> )

Member Function Documentation

static Pair vsr::cga::Construct::pair ( const DualSphere s,
const Vec v 
)
static

constructs a Pair on Sphere s in v direction

Parameters
svsr::cga::DualSphere;
vvsr::cga::Vec;
Returns
vsr::cga::Pair;

The documentation for this struct was generated from the following file: