CubbyFlow::ImplicitSurface2 Class Referenceabstract

Abstract base class for 2-D implicit surface. More...

#include <Core/Surface/ImplicitSurface2.h>

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

Public Member Functions

 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...
 

Protected Member Functions

virtual double SignedDistanceLocal (const Vector2D &otherPoint) const =0
 Returns signed distance from the given point otherPoint in local space. More...
 
- Protected Member Functions inherited from CubbyFlow::Surface2
virtual Vector2D ClosestPointLocal (const Vector2D &otherPoint) const =0
 
virtual BoundingBox2D BoundingBoxLocal () const =0
 Returns the bounding box of this surface object in local frame. More...
 
virtual SurfaceRayIntersection2 ClosestIntersectionLocal (const Ray2D &ray) const =0
 Returns the closest intersection point for given ray in local frame. More...
 
virtual Vector2D ClosestNormalLocal (const Vector2D &otherPoint) const =0
 
virtual bool IntersectsLocal (const Ray2D &ray) const
 

Additional Inherited Members

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

Detailed Description

Abstract base class for 2-D implicit surface.

Constructor & Destructor Documentation

◆ ImplicitSurface2() [1/2]

CubbyFlow::ImplicitSurface2::ImplicitSurface2 ( const Transform2 transform = Transform2(),
bool  isNormalFlipped = false 
)

Default constructor.

◆ ImplicitSurface2() [2/2]

CubbyFlow::ImplicitSurface2::ImplicitSurface2 ( const ImplicitSurface2 other)

Copy constructor.

◆ ~ImplicitSurface2()

virtual CubbyFlow::ImplicitSurface2::~ImplicitSurface2 ( )
virtual

Default destructor.

Member Function Documentation

◆ SignedDistance()

double CubbyFlow::ImplicitSurface2::SignedDistance ( const Vector2D otherPoint) const

Returns signed distance from the given point otherPoint.

◆ SignedDistanceLocal()

virtual double CubbyFlow::ImplicitSurface2::SignedDistanceLocal ( const Vector2D otherPoint) const
protectedpure virtual

Returns signed distance from the given point otherPoint in local space.

Implemented in CubbyFlow::SurfaceToImplicit2.


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