11 #ifndef CUBBYFLOW_PLANE_HPP 12 #define CUBBYFLOW_PLANE_HPP 33 bool _isNormalFlipped =
false);
38 bool _isNormalFlipped =
false);
41 ~Plane()
override =
default;
56 [[nodiscard]]
bool IsBounded()
const override;
71 [[nodiscard]]
bool IntersectsLocal(
113 std::shared_ptr<Plane<N>> MakeShared()
const;
117 using Base::m_isNormalFlipped;
118 using Base::m_transform;
Class for N-D ray.
Definition: Ray.hpp:25
std::shared_ptr< Plane3 > Plane3Ptr
Shared pointer for the Plane3 type.
Definition: Plane.hpp:93
N-D plane geometry.
Definition: Plane.hpp:25
Plane(const Transform< N > &_transform=Transform< N >{}, bool _isNormalFlipped=false)
Vector< double, N > point
Point that lies on the plane.
Definition: Plane.hpp:65
Vector< double, N > normal
Plane normal.
Definition: Plane.hpp:62
Definition: Matrix.hpp:27
Definition: pybind11Utils.hpp:20
static Builder GetBuilder()
Returns builder fox Plane.
Abstract base class for N-D surface.
Definition: Surface.hpp:38
Struct that represents ray-surface intersection point.
Definition: Surface.hpp:25
std::shared_ptr< Plane2 > Plane2Ptr
Shared pointer for the Plane2 type.
Definition: Plane.hpp:90
bool IsBounded() const override
Returns true if bounding box can be defined.
Plane & operator=(const Plane &other)
Copy assignment operator.
Front-end to create Plane objects step by step.
Definition: Plane.hpp:99
Base class for N-D surface builder.
Definition: Surface.hpp:153
~Plane() override=default
Default virtual destructor.