Go to the documentation of this file.
7 #ifndef INCLUDE_JET_SURFACE_TO_IMPLICIT2_H_
8 #define INCLUDE_JET_SURFACE_TO_IMPLICIT2_H_
62 const Vector2D& otherPoint)
const override;
67 const Ray2D& ray)
const override;
100 #endif // INCLUDE_JET_SURFACE_TO_IMPLICIT2_H_
bool isInsideLocal(const Vector2D &otherPoint) const override
Struct that represents ray-surface intersection point.
Definition: surface2.h:19
bool isNormalFlipped
Flips normal.
Definition: surface2.h:33
Builder & withSurface(const Surface2Ptr &surface)
Returns builder with surface.
SurfaceToImplicit2Ptr makeShared() const
Builds shared pointer of SurfaceToImplicit2 instance.
Surface2Ptr surface() const
Returns the raw surface instance.
double signedDistanceLocal(const Vector2D &otherPoint) const override
SurfaceToImplicit2(const SurfaceToImplicit2 &other)
Copy constructor.
Class for 2-D ray.
Definition: ray2.h:21
Vector2D closestPointLocal(const Vector2D &otherPoint) const override
double closestDistanceLocal(const Vector2D &otherPoint) const override
void updateQueryEngine() override
Updates internal spatial query engine.
Vector2D closestNormalLocal(const Vector2D &otherPoint) const override
SurfaceToImplicit2 build() const
Builds SurfaceToImplicit2.
SurfaceRayIntersection2 closestIntersectionLocal(const Ray2D &ray) const override
Returns the closest intersection point for given ray in local frame.
Definition: advection_solver2.h:18
Transform2 transform
Local-to-world transform.
Definition: surface2.h:30
2-D implicit surface wrapper for generic Surface2 instance.
Definition: surface_to_implicit2.h:24
std::shared_ptr< Surface2 > Surface2Ptr
Shared pointer for the Surface2 type.
Definition: surface2.h:109
BoundingBox2D boundingBoxLocal() const override
Returns the bounding box of this surface object in local frame.
bool isBounded() const override
Returns true if bounding box can be defined.
2-D vector class.
Definition: vector2.h:24
Base class for 2-D surface builder.
Definition: surface2.h:115
std::shared_ptr< SurfaceToImplicit2 > SurfaceToImplicit2Ptr
Shared pointer for the SurfaceToImplicit2 type.
Definition: surface_to_implicit2.h:76
static Builder builder()
Returns builder fox SurfaceToImplicit2.
2-D axis-aligned bounding box class.
Definition: bounding_box2.h:41
SurfaceToImplicit2(const Surface2Ptr &surface, const Transform2 &transform=Transform2(), bool isNormalFlipped=false)
Constructs an instance with generic Surface2 instance.
bool intersectsLocal(const Ray2D &ray) const override
Front-end to create SurfaceToImplicit2 objects step by step.
Definition: surface_to_implicit2.h:83
Abstract base class for 2-D implicit surface.
Definition: implicit_surface2.h:15
bool isValidGeometry() const override
Returns true if the surface is a valid geometry.