geomc 1.0
A c++ linear algebra template library
|
A N-dimensional circle, sphere, or hypersphere. More...
#include <geomc/shape/SphericalSector.h>
Public Types | |
typedef ptype::point_t | point_t |
using | elem_t |
The coordinate type of this object. | |
Public Member Functions | |
constexpr | SphericalSector () |
constexpr | SphericalSector (const Sphere< T, N > &s, Vec< T, N > v, T cos_a) |
constexpr | SphericalSector (const point_t &c, T r, Vec< T, N > v, T cos_a) |
Rect< T, N > | bounds () const |
bool | contains (point_t p) const |
Shape-point intersection test. | |
point_t | convex_support (point_t d) const |
T | sdf (point_t p) const |
point_t | project (point_t p) const |
xxx todo | |
point_t | normal (point_t p) const |
Rect< T, 1 > | intersect (const Ray< T, N > &ray) const |
bool | intersects (const Convex< T, N, Shape > &other) const |
Convex shape overlap test. | |
Vec< T, N > | clip (Vec< T, N > p) const |
Nearest point on the interior of the shape. | |
Public Attributes | |
T | half_angle_radians |
Opening half-angle of the sector, between 0 and π. | |
T | radius |
Radius of the sphere. | |
Static Public Attributes | |
static constexpr index_t | N |
The dimension of this object. | |
A N-dimensional circle, sphere, or hypersphere.
|
inlineconstexpr |
Construct a spherical sector at the origin with radius 1 and an opening half-angle of 45 degrees.
|
inlineconstexpr |
Construct a spherical sector with center at the origin, having radius r
.
r | Radius of spehre. |
|
inlineconstexpr |
Construct a sphere with center at the point c
, having radius r
.
c | Center of sphere. |
r | Radius of spehre. |
Nearest point on the interior of the shape.
If p
is on the interior of the shape, return p
unaltered; otherwise orthogonally project p
to the shape's surface.
xxx todo Shape-ray intersection test.
Convex shape overlap test.
other
; false otherwise. xxx todo Outward-facing direction.
xxx todo
Return the point p
orthogonally projected onto the surface of the shape.
|
inline |
xxx todo Signed distance function.