Loading...
Searching...
No Matches
Surface.hpp
Go to the documentation of this file.
Definition Matrix.hpp:30
Definition Transform.hpp:23
DerivedBuilder & WithOrientation(const Orientation< N > &orientation)
Returns builder with orientation.
Definition Surface.hpp:189
DerivedBuilder & WithTransform(const Transform< N > &transform)
Returns builder with transform.
Definition Surface.hpp:196
DerivedBuilder & WithIsNormalFlipped(bool isNormalFlipped)
Returns builder with flipped normal flag.
Definition Surface.hpp:174
DerivedBuilder & WithTranslation(const Vector< double, N > &translation)
Returns builder with translation.
Definition Surface.hpp:181
Surface(const Transform< N > &transform=Transform< N >(), bool isNormalFlipped=false)
Constructs a surface with normal direction.
Vector< double, N > ClosestPoint(const Vector< double, N > &otherPoint) const
virtual bool IsInsideLocal(const Vector< double, N > &otherPoint) const
virtual bool IntersectsLocal(const Ray< double, N > &ray) const
virtual bool IsValidGeometry() const
Returns true if the surface is a valid geometry.
virtual void UpdateQueryEngine()
Updates internal spatial query engine.
bool IsInside(const Vector< double, N > &otherPoint) const
virtual BoundingBox< double, N > BoundingBoxLocal() const =0
Returns the bounding box of this surface object in local frame.
double ClosestDistance(const Vector< double, N > &otherPoint) const
virtual Vector< double, N > ClosestNormalLocal(const Vector< double, N > &otherPoint) const =0
virtual bool IsBounded() const
Returns true if bounding box can be defined.
bool Intersects(const Ray< double, N > &ray) const
Returns true if the given ray intersects with this surface object.
Vector< double, N > ClosestNormal(const Vector< double, N > &otherPoint) const
Transform< N > transform
Local-to-world transform.
Definition Surface.hpp:99
virtual double ClosestDistanceLocal(const Vector< double, N > &otherPoint) const
virtual SurfaceRayIntersection< N > ClosestIntersectionLocal(const Ray< double, N > &ray) const =0
Returns the closest intersection point for given ray in local frame.
SurfaceRayIntersection< N > ClosestIntersection(const Ray< double, N > &ray) const
Returns the closest intersection point for given ray.
BoundingBox< double, N > GetBoundingBox() const
Returns the bounding box of this surface object.
virtual Vector< double, N > ClosestPointLocal(const Vector< double, N > &otherPoint) const =0
Definition pybind11Utils.hpp:21
std::shared_ptr< Surface3 > Surface3Ptr
Shared pointer for the Surface3 type.
Definition Surface.hpp:147
std::shared_ptr< Surface2 > Surface2Ptr
Shared pointer for the Surface2 type.
Definition Surface.hpp:144
Struct that represents ray-surface intersection point.
Definition Surface.hpp:26
1.9.8