C4 Engine API Documentation

## class Dipole3D

Defined in:  `TSDipole3D.h`
The `Dipole3D` class encapsulates a 3D dipole in conformal geometric algebra.
Definition

`class Dipole3D`

Member Functions
 `Dipole3D::Set` Sets all ten components of a dipole.
Constructor

`Dipole3D();`

`Dipole3D(float vx, float vy, float vz, float mx, float my, float mz, float px, float py, float pz, float pw);`

`Dipole3D(const Vector3D& direction, const Bivector3D& moment, const Vector4D& point);`

Parameters
 `vx,vy,vz` The coordinates of the direction of the carrier line. `mx,my,mz` The coordinates of the moment of the carrier line. `px,py,pz,pw` The coordinates of the flat point component. `direction` The direction of the carrier line. `moment` The moment of the carrier line. `point` The flat point component.
Description
The `Dipole3D` class is used to store a three-dimensional dipole with a five-dimensional bivector representation in conformal geometric algebra.

The default constructor leaves the components of the dipole undefined. If the initialization values are supplied, then they are assigned to the ten coordinates of the dipole.
Nonmember Operations
 `bool operator ==(const Dipole3D& d, const Dipole3D& f) const;` Returns a boolean value indicating whether the two dipoles `d` and `f` are equal. `bool operator !=(const Dipole3D& d, const Dipole3D& f) const;` Returns a boolean value indicating whether the two dipoles `d` and `f` are not equal. `Dipole3D operator -(const Dipole3D& d);` Returns the negation of the dipole `d`. `Dipole3D operator *(const Dipole3D& d, float n);` Returns the product of the dipole `d` and the scalar `n`. `Dipole3D operator *(float n, const Dipole3D& d);` Returns the product of the dipole `d` and the scalar `n`. `Dipole3D operator /(const Dipole3D& d, float n);` Returns the product of the dipole `d` and the inverse of the scalar `n`. `Dipole3D Reverse(const Dipole3D& d);` Returns the reverse of the dipole `d`. `Circle3D Dual(const Dipole3D& d);` Returns the reverse of the dipole `d`. `Line3D Carrier(const Dipole3D& d);` Returns the carrier of the dipole `d`. `Plane3D Anticarrier(const Dipole3D& d);` Returns the anticarrier of the dipole `d`. `Round3D Attitude(const Dipole3D& d);` Returns the attitude of the dipole `d`. `Round3D Center(const Dipole3D& d);` Returns the center of the dipole `d`. `Point3D FlatCenter(const Dipole3D& d);` Returns the flat center of the dipole `d`. `Sphere3D Container(const Dipole3D& d);` Returns the container of the dipole `d`. `Dipole3D Partner(const Dipole3D& d);` Returns the partner of the dipole `d`. `float SquaredRadiusNorm(const Dipole3D& d);` Returns the squared radius of the dipole `d`. `float SquaredCenterNorm(const Dipole3D& d);` Returns the squared distance from the origin to the center of the dipole `d`. `float SquaredWeightNorm(const Dipole3D& d);` Returns the squared weight of the dipole `d`.
`Round3D`
`Circle3D`
`Sphere3D`