SurfaceToImplicit3.h
Go to the documentation of this file.
72 class SurfaceToImplicit3::Builder final : public SurfaceBuilderBase3<SurfaceToImplicit3::Builder>
SurfaceToImplicit3 Build() const
Builds SurfaceToImplicit3.
BoundingBox3D BoundingBoxLocal() const override
Returns the bounding box of this surface object in local frame.
static Builder GetBuilder()
Returns builder for SurfaceToImplicit3.
SurfaceRayIntersection3 ClosestIntersectionLocal(const Ray3D &ray) const override
Returns the closest intersection point for given ray in local frame.
Structure that represents ray-surface intersection point.
Definition: Surface3.h:23
SurfaceToImplicit3Ptr MakeShared() const
Builds shared pointer of SurfaceToImplicit3 instance.
Front-end to create SurfaceToImplicit3 objects step by step.
Definition: SurfaceToImplicit3.h:72
double SignedDistanceLocal(const Vector3D &otherPoint) const override
Returns signed distance from the given point otherPoint in local space.
Definition: pybind11Utils.h:24
Builder & WithSurface(const Surface3Ptr &surface)
Returns builder with surface.
std::shared_ptr< SurfaceToImplicit3 > SurfaceToImplicit3Ptr
Shared pointer for the SurfaceToImplicit3.
Definition: SurfaceToImplicit3.h:67
Transform3 transform
Local-to-world transform.
Definition: Surface3.h:36
std::shared_ptr< Surface3 > Surface3Ptr
Shared pointer for the Surface3 type.
Definition: Surface3.h:100
double ClosestDistanceLocal(const Vector3D &otherPoint) const override
Surface3Ptr GetSurface() const
Returns the raw surface instance.
bool isNormalFlipped
Flips normal when calling Surface3::closestNormal(...).
Definition: Surface3.h:39
Abstract base class for 3-D implicit surface.
Definition: ImplicitSurface3.h:17
Vector3D ClosestNormalLocal(const Vector3D &ohterPoint) const override
bool IntersectsLocal(const Ray3D &ray) const override
3-D implicit surface wrapper for generic Surface3 instance.
Definition: SurfaceToImplicit3.h:27
SurfaceToImplicit3(const Surface3Ptr &surface, const Transform3 &transform=Transform3(), bool isNormalFlipped=false)
Constructs an instance with generic Surface3 instance.
Vector3D ClosestPointLocal(const Vector3D &otherPoint) const override