geomc 1.0
A c++ linear algebra template library
Loading...
Searching...
No Matches
geom::ProjectableObject Concept Reference

A shape which can perform an orthogonal projection to its boundary. More...

#include <geomc/shape/ShapeTypes.h>

Concept definition

template<typename Shape>
requires (const Shape s, typename Shape::point_t p)
{
{ s.project(p) } -> std::convertible_to<typename Shape::point_t>;
{ s.normal(p) } -> std::convertible_to<typename Shape::point_t>;
{ s.clip(p) } -> std::convertible_to<typename Shape::point_t>;
}
Concept for an object or operation that exists in a certain dimension with a certain coordinate type.
Definition LinalgTypes.h:338
A shape which can perform an orthogonal projection to its boundary.
Definition ShapeTypes.h:248
A shape which can report its exact signed distance field.
Definition ShapeTypes.h:195

Detailed Description

A shape which can perform an orthogonal projection to its boundary.

ProjectionObjects can also report their normal vectors— the direction away from the surface at any given point— and can implelement a clip(), which projects a point onto the surface if and only if it is outside.

ProjectionObject implies SdfObject, because the projection function can be used to implement the signed distance field.