Go to the documentation of this file.
7 #ifndef INCLUDE_JET_SURFACE_TO_IMPLICIT3_H_
8 #define INCLUDE_JET_SURFACE_TO_IMPLICIT3_H_
67 const Ray3D& ray)
const override;
99 #endif // INCLUDE_JET_SURFACE_TO_IMPLICIT3_H_
Surface3Ptr surface() const
Returns the raw surface instance.
std::shared_ptr< SurfaceToImplicit3 > SurfaceToImplicit3Ptr
Shared pointer for the SurfaceToImplicit3 type.
Definition: surface_to_implicit3.h:76
Vector3D closestNormalLocal(const Vector3D &otherPoint) const override
static Builder builder()
Returns builder fox SurfaceToImplicit3.
3-D axis-aligned bounding box class.
Definition: bounding_box3.h:41
3-D implicit surface wrapper for generic Surface3 instance.
Definition: surface_to_implicit3.h:26
Abstract base class for 3-D implicit surface.
Definition: implicit_surface3.h:15
Base class for 3-D surface builder.
Definition: surface3.h:115
bool isNormalFlipped
Flips normal when calling Surface3::closestNormal(...).
Definition: surface3.h:33
std::shared_ptr< Surface3 > Surface3Ptr
Shared pointer for the Surface3 type.
Definition: surface3.h:109
SurfaceToImplicit3 build() const
Builds SurfaceToImplicit3.
Definition: advection_solver2.h:18
double signedDistanceLocal(const Vector3D &otherPoint) const override
double closestDistanceLocal(const Vector3D &otherPoint) const override
bool isValidGeometry() const override
Returns true if the surface is a valid geometry.
Front-end to create SurfaceToImplicit3 objects step by step.
Definition: surface_to_implicit3.h:82
SurfaceToImplicit3(const SurfaceToImplicit3 &other)
Copy constructor.
Transform3 transform
Local-to-world transform.
Definition: surface3.h:30
Class for 2-D ray.
Definition: ray3.h:21
SurfaceToImplicit3Ptr makeShared() const
Builds shared pointer of SurfaceToImplicit3 instance.
Struct that represents ray-surface intersection point.
Definition: surface3.h:19
SurfaceRayIntersection3 closestIntersectionLocal(const Ray3D &ray) const override
Returns the closest intersection point for given ray in local frame.
Vector3D closestPointLocal(const Vector3D &otherPoint) const override
3-D vector class.
Definition: vector3.h:25
bool isBounded() const override
Returns true if bounding box can be defined.
bool intersectsLocal(const Ray3D &ray) const override
SurfaceToImplicit3(const Surface3Ptr &surface, const Transform3 &transform=Transform3(), bool isNormalFlipped=false)
Constructs an instance with generic Surface3 instance.
BoundingBox3D boundingBoxLocal() const override
Returns the bounding box of this surface object in local frame.
void updateQueryEngine() override
Updates internal spatial query engine.
bool isInsideLocal(const Vector3D &otherPoint) const override
Builder & withSurface(const Surface3Ptr &surface)
Returns builder with surface.