Loading...
Searching...
No Matches
SurfaceToImplicit.hpp
Go to the documentation of this file.
Abstract base class for N-D implicit surface.
Definition ImplicitSurface.hpp:21
Definition Matrix.hpp:30
Transform< N > transform
Local-to-world transform.
Definition Surface.hpp:99
Front-end to create SurfaceToImplicit objects step by step.
Definition SurfaceToImplicit.hpp:116
SurfaceToImplicit Build() const
Builds SurfaceToImplicit.
Builder & WithSurface(const std::shared_ptr< Surface< N > > &surface)
Returns builder with surface.
std::shared_ptr< SurfaceToImplicit > MakeShared() const
Builds shared pointer of SurfaceToImplicit instance.
N-D implicit surface wrapper for generic Surface instance.
Definition SurfaceToImplicit.hpp:31
SurfaceToImplicit(const SurfaceToImplicit &other)
Copy constructor.
BoundingBox< double, N > BoundingBoxLocal() const override
Returns the bounding box of this surface object in local frame.
double ClosestDistanceLocal(const Vector< double, N > &otherPoint) const override
Vector< double, N > ClosestNormalLocal(const Vector< double, N > &otherPoint) const override
static Builder GetBuilder()
Returns builder fox SurfaceToImplicit.
double SignedDistanceLocal(const Vector< double, N > &otherPoint) const override
std::shared_ptr< Surface< N > > GetSurface() const
Returns the raw surface instance.
bool IsValidGeometry() const override
Returns true if the surface is a valid geometry.
SurfaceToImplicit & operator=(const SurfaceToImplicit &other)
Copy assignment operator.
void UpdateQueryEngine() override
Updates internal spatial query engine.
SurfaceToImplicit(SurfaceToImplicit &&other) noexcept
Move constructor.
SurfaceToImplicit(std::shared_ptr< Surface< N > > surface, const Transform< N > &_transform=Transform< N >{}, bool _isNormalFlipped=false)
Constructs an instance with generic Surface2 instance.
SurfaceToImplicit & operator=(SurfaceToImplicit &&other) noexcept
Move assignment operator.
~SurfaceToImplicit() override=default
Default virtual destructor.
bool IntersectsLocal(const Ray< double, N > &ray) const override
bool IsBounded() const override
Returns true if bounding box can be defined.
SurfaceRayIntersection< N > ClosestIntersectionLocal(const Ray< double, N > &ray) const override
Returns the closest intersection point for given ray in local frame.
Vector< double, N > ClosestPointLocal(const Vector< double, N > &otherPoint) const override
Definition pybind11Utils.hpp:21
std::shared_ptr< SurfaceToImplicit2 > SurfaceToImplicit2Ptr
Shared pointer for the SurfaceToImplicit2 type.
Definition SurfaceToImplicit.hpp:105
std::shared_ptr< SurfaceToImplicit3 > SurfaceToImplicit3Ptr
Shared pointer for the SurfaceToImplicit3 type.
Definition SurfaceToImplicit.hpp:108
Struct that represents ray-surface intersection point.
Definition Surface.hpp:26
1.9.8