 C4 Engine API Documentation

## class Round3D

Defined in:  `TSRound3D.h`
The `Round3D` class encapsulates a 3D round point in conformal geometric algebra.
Definition

`class Round3D`

Member Functions
 `Round3D::Set` Sets all five components of a round point.
Constructor

`Round3D();`

`Round3D(float ax, float ay, float az, float aw, float au);`

`Round3D(const Point3D& p);`

Parameters
 `ax,ay,az,aw,au` The coordinates of the round point. `p` An ordinary 3D point.
Description
The `Round3D` class is used to store a three-dimensional round point with a five-dimensional vector representation in conformal geometric algebra.

The default constructor leaves the components of the round point undefined. If the initialization values are supplied, then they are assigned to the five coordinates of the round point.

If the `p` parameter is supplied, then its three coordinates are assigned to the x, y, and z coordinates of the round point. In this case, the w coordinate is set to 1.0, and the `u` coordinates is set to (x2 + y2 + z2) / 2.
 `float& operator [](machine k);` Returns a reference to the `k`-th scalar component of a round point. The value of `k` must be 0, 1, 2, 3, or 4. `const float& operator [](machine k) const;` Returns a constant reference to the `k`-th scalar component of a round point. The value of `k` must be 0, 1, 2, 3, or 4.
 `bool operator ==(const Round3D& a, const Round3D& b) const;` Returns a boolean value indicating whether the two round points `a` and `b` are equal. `bool operator !=(const Round3D& a, const Round3D& b) const;` Returns a boolean value indicating whether the two round points `a` and `b` are not equal. `Round3D operator -(const Round3D& a);` Returns the negation of the round point `a`. `Round3D operator *(const Round3D& a, float n);` Returns the product of the round point `a` and the scalar `n`. `Round3D operator *(float n, const Round3D& a);` Returns the product of the round point `a` and the scalar `n`. `Round3D operator /(const Round3D& a, float n);` Returns the product of the round point `a` and the inverse of the scalar `n`. `const Round3D& Reverse(const Round3D& a);` Returns the reverse of the round point `a`. `Vector4D Carrier(const Round3D& a);` Returns the carrier of the round point `a`. `Round3D Center(const Round3D& a);` Returns the center of the round point `a`. `Point3D FlatCenter(const Round3D& a);` Returns the flat center of the round point `a`. `Sphere3D Container(const Round3D& a);` Returns the container of the round point `a`. `Round3D Partner(const Round3D& a);` Returns the partner of the round point `a`. `float SquaredRadiusNorm(const Round3D& a);` Returns the squared radius of the round point `a`. `float SquaredCenterNorm(const Round3D& a);` Returns the squared distance from the origin to the center of the round point `a`. `float SquaredWeightNorm(const Round3D& a);` Returns the squared weight of the round point `a`.
`Dipole3D`
`Circle3D`
`Sphere3D`