|
template<class A , class B > |
static constexpr GAPnt< A > | null (const Multivector< A, B > &v) |
| Null Point from Arbitrary Multivector.
|
|
template<class... T> |
static constexpr NPnt< sizeof...(T)+2 > | null (T...v) |
| Or Null Point from Coordinates (x,y,z,...)
|
|
template<class... T> |
static constexpr NPnt< sizeof...(T)+2 > | point (T...v) |
| Null Point from Coordinates.
|
|
template<class... T> |
static auto | dls (VSR_PRECISION r, T...v) -> NPnt< sizeof...(T)+2 > |
| Dual Sphere from Radius FIRST and Coordinate Center. More...
|
|
template<class... T> |
static auto | dualSphere (VSR_PRECISION r, T...v) -> auto |
|
template<class A , class B > |
static auto | dls (const Multivector< A, B > &v, VSR_PRECISION r=1.0) -> GAPnt< A > |
| Dual Sphere from Element FIRST and Radius. More...
|
|
template<class T > |
static auto | dualSphere (const T &t, VSR_PRECISION r=1.0) -> auto |
|
template<class S > |
static auto | sphere (const S &v, VSR_PRECISION r=1.0) -> auto |
| Dual Sphere from Element FIRST and Radius. More...
|
|
template<class A > |
static GADls< A > | dls_pnt (const GAPnt< A > &p, VSR_PRECISION r=1.0) |
| Dual Sphere from Point and Radius (faster) More...
|
|
template<class A , class B > |
static constexpr GAPnt< A > | center (const Multivector< A, B > &s) |
| Simple Center of A Round Element (not normalized – use loc or location method)
|
|
template<class A , class B > |
static constexpr GAPnt< A > | cen (const Multivector< A, B > &s) |
| Simple Center of A Round Element (shorthand) More...
|
|
template<class A > |
static constexpr A::space::point | location (const A &s) |
| Location of A Round Element (normalized) (Shorthand)
|
|
template<class A > |
static constexpr A::space::point | loc (const A &s) |
|
template<class A > |
static VSR_PRECISION | size (const A &r, bool dual) |
| Squared Size of a General Round Element (could be negative) More...
|
|
template<class T > |
static constexpr VSR_PRECISION | radius (const T &s) |
| Radius of Round.
|
|
template<class T > |
static constexpr VSR_PRECISION | rad (const T &t) |
|
template<class A > |
static VSR_PRECISION | curvature (const A &s) |
| Curvature of Round. More...
|
|
template<class T > |
static constexpr VSR_PRECISION | cur (const T &t) |
| Curvature of Round. More...
|
|
template<class A > |
static constexpr VSR_PRECISION | dsize (const GAPnt< A > &dls) |
| Squared Size of Normalized Dual Sphere (faster than general case) More...
|
|
template<class A > |
static constexpr VSR_PRECISION | squaredDistance (const GAPnt< A > &a, const GAPnt< A > b) |
| Squared distance between two points.
|
|
template<class A > |
static constexpr VSR_PRECISION | sqd (const A &a, const A &b) |
|
template<class A > |
static constexpr VSR_PRECISION | distance (const GAPnt< A > &a, const GAPnt< A > b) |
| Distance between points a and b.
|
|
template<class A > |
static constexpr VSR_PRECISION | dist (const A &a, const A &b) |
|
template<class A > |
static std::vector< GAPnt< A > > | split (const GAPar< A > &pp) |
| Split Points from Point Pair. More...
|
|
template<class A > |
static std::vector< GAPnt< A > > | splitLocation (const GAPar< A > &pp) |
| Split Points from Point Pair and normalize. More...
|
|
template<class A > |
static GAPnt< A > | split (const GAPar< A > &pp, bool bFirst) |
| Split a point pair. More...
|
|
template<class A > |
static std::vector< GAPnt< A > > | split (const GACir< A > &nc) |
| Split A Circle into its dual point pair poles.
|
|
template<class A > |
static constexpr auto | direction (const A &s) -> auto |
| Direction of Direct Round Element. More...
|
|
template<class A > |
static constexpr auto | dir (const A &s) -> auto |
| Direction of Round Element (shorthand) More...
|
|
template<class A > |
static constexpr auto | carrier (const A &s) -> auto |
| Carrier Flat of Direct Round Element. More...
|
|
template<class A > |
static constexpr auto | car (const A &s) -> auto |
| Carrier Flat of Direct? Round Element (Shorthand)
|
|
template<class A > |
static constexpr A::space::dual_sphere | surround (const A &s) |
| Dual Surround of a Direct or Dual Round Element.
|
|
template<class A > |
static constexpr auto | sur (const A &s) -> auto |
| Dual Surround of a Direct or Dual Round Element (Shorthand)
|
|
template<class A , class S > |
static constexpr auto | produce (const A &dls, const S &flat) -> auto |
| Direct Round From Dual Sphere and Euclidean Bivector Note: round will be imaginary if dual sphere is real . More...
|
|
template<class A > |
static constexpr auto | real (const A &s) -> auto |
| Creates a real / imaginary round from an imaginary / real round.
|
|
template<class A > |
static constexpr auto | imag (const A &s) -> auto |
| Creates an imaginary round from an real round.
|
|
template<class A > |
static constexpr GADls< A > | at (const GADls< A > &c, const GADls< A > &p) |
| Dual Round from Center and Point on Surface. More...
|
|
template<class A > |
static constexpr GAPnt< A > | pnt (const GADls< A > &dls, const GAVec< A > &flat) |
| Direct Round From coordinates and Euclidean Bivector Note: round will be imaginary if dual sphere is real . More...
|
|
template<class A > |
static GAVec< A > | vec (const GACir< A > &c, VSR_PRECISION theta=0) |
| Direct Point From Dual Sphere and Euclidean Carrier Flat. More...
|
|
template<class A > |
static GAPar< A > | par_cir (const GACir< A > &c, VSR_PRECISION t) |
| Point Pair on Direct Circle at angle t.
|
|
template<class A > |
static GAPnt< A > | pnt_cir (const GACir< A > &c, VSR_PRECISION t) |
| Point on Circle at angle t.
|
|
Operations on Round types (Points, Point Pairs, Circles, Spheres, N-Spheres)