Surface2.h
Go to the documentation of this file.
virtual SurfaceRayIntersection2 ClosestIntersectionLocal(const Ray2D &ray) const =0
Returns the closest intersection point for given ray in local frame.
DerivedBuilder & WithTranslation(const Vector2D &translation)
Returns builder with translation.
Definition: Surface2.h:134
virtual BoundingBox2D BoundingBoxLocal() const =0
Returns the bounding box of this surface object in local frame.
DerivedBuilder & WithOrientation(double orientation)
Returns builder with orientation.
Definition: Surface2.h:141
DerivedBuilder & WithTransform(const Transform2 &transform)
Returns builder with transform.
Definition: Surface2.h:148
virtual void UpdateQueryEngine()
Updates internal spatial query engine.
double ClosestDistance(const Vector2D &otherPoint) const
Transform2 transform
Local-to-world transform.
Definition: Surface2.h:36
virtual Vector2D ClosestPointLocal(const Vector2D &otherPoint) const =0
Structure that represents ray-surface intersection point.
Definition: Surface2.h:23
bool Intersects(const Ray2D &ray) const
Returns true if the given ray intersects with this surface object.
Vector2D ClosestNormal(const Vector2D &otherPoint) const
Vector2D ClosestPoint(const Vector2D &otherPoint) const
Returns the closest point from the given point otherPoint to the surface.
Definition: pybind11Utils.h:24
virtual bool IntersectsLocal(const Ray2D &ray) const
virtual double ClosestDistanceLocal(const Vector2D &otherPoint) const
Surface2(const Transform2 &transform=Transform2(), bool isNormalFlipped=false)
Constructs a surface with normal direction.
DerivedBuilder & WithIsNormalFlipped(bool isNormalFlipped)
Returns builder with flipped normal flag.
Definition: Surface2.h:127
std::shared_ptr< Surface2 > Surface2Ptr
Shared pointer for the Surface2 type.
Definition: Surface2.h:100
SurfaceRayIntersection2 ClosestIntersection(const Ray2D &ray) const
Returns the closest intersection point for given ray.
BoundingBox2D BoundingBox() const
Returns the bounding box of this surface object.
virtual Vector2D ClosestNormalLocal(const Vector2D &otherPoint) const =0