|
| | Torus (const Vector &, const Vector &, const double &=1.0, const double &=1.0) |
| | Creates a torus.
|
| | Torus (const Circle &, const double &=1.0) |
| | Create a torus.
|
| | Torus (const double &, const double &=1.0) |
| | Create a horizontal torus centered at origin.
|
|
| ~Torus () |
| | Empty.
|
| int | Intersect (const Ray &, double *, Vector *) const |
| | Computes the intersection depths and the normals between a ray and a torus.
|
| bool | Inside (const Vector &) const |
| | Check if a point is inside or outside the torus.
|
|
Box | GetBox () const |
| | Computes the bounding box of a torus.
|
| double | R (const Vector &) const |
| | Compute the squared Euclidean distance between a point and the torus.
|
| double | Signed (const Vector &) const |
| | Compute the signed Euclidean distance between a point and the torus.
|
| Vector | Normal (const Vector &) const |
| | Computes the distance vector between a torus and a given point.
|
|
double | Area () const |
| | Compute the surface area of a torus.
|
|
double | Volume () const |
| | Compute the volume of a torus.
|
| double | Small () const |
| | Return the small radius of the torus.
|
| void | Scale (const double &) |
| | Uniformly scales a torus.
|
| Vector | RandomInside (Random &=Random::R239) const |
| | Generate a random vector inside the dodecahedron.
|
|
| Circle () |
| | Empty.
|
| | Circle (const double &) |
| | Creates a circle.
|
| | Circle (const Vector &, const Vector &, const double &) |
| | Creates a circle.
|
| | Circle (const Vector &, const Vector &, const Vector &) |
| | Creates a circle given three points.
|
|
| ~Circle () |
| | Empty.
|
| bool | Intersect (const Ray &, double &) const |
| | Compute the ray-disc intersection.
|
|
Vector | Center () const |
| | Gets the center of a circle.
|
|
Vector | Axis () const |
| | Axis of the circle.
|
|
double | Radius () const |
| | Radius of the circle.
|
| double | R (const Vector &) const |
| | Compute the distance between a point and a circle.
|
| Vector | Normal (const Vector &) const |
| | Computes the distance vector between a circle and a point.
|
| void | Rotate (const Matrix &) |
| | Rotates a circle.
|
| void | Translate (const Vector &) |
| | Translates a circle.
|
| void | Scale (const double &) |
| | Uniformly scales a circle.
|
| Box | GetBox () const |
| | Compute the axis aligned bounding box of a circle.
|
| double | Area () const |
| | Area of a circle.
|
| Vector | RandomInside (Random &=Random::R239) const |
| | Generate a random vector inside the circle.
|
| Vector | RandomOn (Random &=Random::R239) const |
| | Generate a random vector on the circle.
|
| Vector | Vogel (int, int) const |
| | Generate a spiraling vector in the disc.
|
A simple torus.
The structure does not store the squared radius of the torus so as to save memory.
Rotation and translation are inherited from Circle.