|
versor
3.0
C++11 library for Geometric algebra
|
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) |
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> )
|
static |
constructs a Pair on Sphere s in v direction
| s | vsr::cga::DualSphere; |
| v | vsr::cga::Vec; |
1.8.10