CubbyFlow::CustomImplicitSurface2 Class Referencefinal

Custom 2-D implicit surface using arbitrary function. More...

#include <Core/Surface/CustomImplicitSurface2.h>

Inheritance diagram for CubbyFlow::CustomImplicitSurface2:
CubbyFlow::ImplicitSurface2 CubbyFlow::Surface2

Classes

class  Builder
 Front-end to create CustomImplicitSurface2 objects step by step. More...
 

Public Member Functions

 CustomImplicitSurface2 (const std::function< double(const Vector2D &)> &func, const BoundingBox2D &domain=BoundingBox2D(), double resolution=1e-3, double rayMarchingResolution=1e-6, unsigned int maxNumberOfIterations=5, const Transform2 &transform=Transform2(), bool isNormalFlipped=false)
 
virtual ~CustomImplicitSurface2 ()
 Destructor. More...
 
- Public Member Functions inherited from CubbyFlow::ImplicitSurface2
 ImplicitSurface2 (const Transform2 &transform=Transform2(), bool isNormalFlipped=false)
 Default constructor. More...
 
 ImplicitSurface2 (const ImplicitSurface2 &other)
 Copy constructor. More...
 
virtual ~ImplicitSurface2 ()
 Default destructor. More...
 
double SignedDistance (const Vector2D &otherPoint) const
 Returns signed distance from the given point otherPoint. More...
 
- Public Member Functions inherited from CubbyFlow::Surface2
 Surface2 (const Transform2 &transform=Transform2(), bool isNormalFlipped=false)
 Constructs a surface with normal direction. More...
 
 Surface2 (const Surface2 &other)
 Copy constructor. More...
 
virtual ~Surface2 ()
 Default destructor. More...
 
Vector2D ClosestPoint (const Vector2D &otherPoint) const
 Returns the closest point from the given point otherPoint to the surface. More...
 
BoundingBox2D BoundingBox () const
 Returns the bounding box of this surface object. More...
 
bool Intersects (const Ray2D &ray) const
 Returns true if the given ray intersects with this surface object. More...
 
double ClosestDistance (const Vector2D &otherPoint) const
 
SurfaceRayIntersection2 ClosestIntersection (const Ray2D &ray) const
 Returns the closest intersection point for given ray. More...
 
Vector2D ClosestNormal (const Vector2D &otherPoint) const
 
virtual void UpdateQueryEngine ()
 Updates internal spatial query engine. More...
 

Static Public Member Functions

static Builder GetBuilder ()
 Returns builder for CustomImplicitSurface2. More...
 

Additional Inherited Members

- Public Attributes inherited from CubbyFlow::Surface2
Transform2 transform
 Local-to-world transform. More...
 
bool isNormalFlipped = false
 Flips normal. More...
 

Detailed Description

Custom 2-D implicit surface using arbitrary function.

Constructor & Destructor Documentation

◆ CustomImplicitSurface2()

CubbyFlow::CustomImplicitSurface2::CustomImplicitSurface2 ( const std::function< double(const Vector2D &)> &  func,
const BoundingBox2D domain = BoundingBox2D(),
double  resolution = 1e-3,
double  rayMarchingResolution = 1e-6,
unsigned int  maxNumberOfIterations = 5,
const Transform2 transform = Transform2(),
bool  isNormalFlipped = false 
)

Constructs an implicit surface using the given signed-distance function.

Parameters
funcCustom SDF function object.
domainBounding box of the SDF if exists.
resolutionFinite differencing resolution for derivatives.
rayMarchingResolutionRay marching resolution for ray tests.
maxNumberOfIterationsNumber of iterations for closest point search.
transformLocal-to-world transform.
isNormalFlippedTrue if normal is flipped.

◆ ~CustomImplicitSurface2()

virtual CubbyFlow::CustomImplicitSurface2::~CustomImplicitSurface2 ( )
virtual

Destructor.

Member Function Documentation

◆ GetBuilder()

static Builder CubbyFlow::CustomImplicitSurface2::GetBuilder ( )
static

Returns builder for CustomImplicitSurface2.


The documentation for this class was generated from the following file: