|
| SurfaceToImplicit (std::shared_ptr< Surface< N >> surface, const Transform< N > &_transform=Transform< N >{}, bool _isNormalFlipped=false) |
| Constructs an instance with generic Surface2 instance. More...
|
|
| ~SurfaceToImplicit () override=default |
| Default virtual destructor. More...
|
|
| SurfaceToImplicit (const SurfaceToImplicit &other) |
| Copy constructor. More...
|
|
| SurfaceToImplicit (SurfaceToImplicit &&other) noexcept |
| Move constructor. More...
|
|
SurfaceToImplicit & | operator= (const SurfaceToImplicit &other) |
| Copy assignment operator. More...
|
|
SurfaceToImplicit & | operator= (SurfaceToImplicit &&other) noexcept |
| Move assignment operator. More...
|
|
void | UpdateQueryEngine () override |
| Updates internal spatial query engine. More...
|
|
bool | IsBounded () const override |
| Returns true if bounding box can be defined. More...
|
|
bool | IsValidGeometry () const override |
| Returns true if the surface is a valid geometry. More...
|
|
std::shared_ptr< Surface< N > > | GetSurface () const |
| Returns the raw surface instance. More...
|
|
| ImplicitSurface (const Transform< N > &_transform=Transform< N >{}, bool _isNormalFlipped=false) |
| Constructs an implicit surface with normal direction. More...
|
|
| ~ImplicitSurface () override=default |
| Default virtual destructor. More...
|
|
| ImplicitSurface (const ImplicitSurface &other) |
| Copy constructor. More...
|
|
| ImplicitSurface (ImplicitSurface &&other) noexcept |
| Move constructor. More...
|
|
ImplicitSurface & | operator= (const ImplicitSurface &other) |
| Copy assignment operator. More...
|
|
ImplicitSurface & | operator= (ImplicitSurface &&other) noexcept |
| Move assignment operator. More...
|
|
double | SignedDistance (const Vector< double, N > &otherPoint) const |
| Returns signed distance from the given point otherPoint . More...
|
|
| Surface (const Transform< N > &transform=Transform< N >(), bool isNormalFlipped=false) |
| Constructs a surface with normal direction. More...
|
|
virtual | ~Surface ()=default |
| Default virtual destructor. More...
|
|
| Surface (const Surface &other) |
| Copy constructor. More...
|
|
| Surface (Surface &&other) noexcept |
| Move constructor. More...
|
|
Surface & | operator= (const Surface &other) |
| Copy assignment operator. More...
|
|
Surface & | operator= (Surface &&other) noexcept |
| Move assignment operator. More...
|
|
Vector< double, N > | ClosestPoint (const Vector< double, N > &otherPoint) const |
|
BoundingBox< double, N > | GetBoundingBox () const |
| Returns the bounding box of this surface object. More...
|
|
bool | Intersects (const Ray< double, N > &ray) const |
| Returns true if the given ray intersects with this surface object. More...
|
|
double | ClosestDistance (const Vector< double, N > &otherPoint) const |
|
SurfaceRayIntersection< N > | ClosestIntersection (const Ray< double, N > &ray) const |
| Returns the closest intersection point for given ray . More...
|
|
Vector< double, N > | ClosestNormal (const Vector< double, N > &otherPoint) const |
|
bool | IsInside (const Vector< double, N > &otherPoint) const |
|
|
Vector< double, N > | ClosestPointLocal (const Vector< double, N > &otherPoint) const override |
|
double | ClosestDistanceLocal (const Vector< double, N > &otherPoint) const override |
|
bool | IntersectsLocal (const Ray< double, N > &ray) const override |
|
BoundingBox< double, N > | BoundingBoxLocal () const override |
| Returns the bounding box of this surface object in local frame. More...
|
|
Vector< double, N > | ClosestNormalLocal (const Vector< double, N > &otherPoint) const override |
|
double | SignedDistanceLocal (const Vector< double, N > &otherPoint) const override |
|
SurfaceRayIntersection< N > | ClosestIntersectionLocal (const Ray< double, N > &ray) const override |
| Returns the closest intersection point for given ray in local frame. More...
|
|
virtual bool | IsInsideLocal (const Vector< double, N > &otherPoint) const |
|
template<size_t N>
class CubbyFlow::SurfaceToImplicit< N >
N-D implicit surface wrapper for generic Surface instance.
This class represents N-D implicit surface that converts Surface instance to an ImplicitSurface object. The conversion is made by evaluating closest point and normal from a given point for the given (explicit) surface. Thus, this conversion won't work for every single surfaces. Use this class only for the basic primitives such as Sphere or Box.