|
| | 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.