#include <Plane.hpp>
Public Member Functions | |
| Plane (const Math::Point3D &point, const Math::Vector3D &normal, std::shared_ptr< IMaterial > material) | |
| ~Plane () override=default | |
| void | translate (const Math::Vector3D &v) override |
| void | rotate (const Math::Vector3D &axis, double angleDegrees) override |
| std::shared_ptr< IMaterial > | getMaterial () const override |
| bool | intersect (const Ray &ray, double &t, Math::Point3D &hitPoint, Math::Vector3D &normal) const override |
Public Member Functions inherited from RayTracer::IPrimitive | |
| virtual | ~IPrimitive ()=default |
| Color | getBaseColor () const |
Private Attributes | |
| Math::Point3D | _point |
| Math::Vector3D | _normal |
| std::shared_ptr< IMaterial > | _material |
| RayTracer::Plane::Plane | ( | const Math::Point3D & | point, |
| const Math::Vector3D & | normal, | ||
| std::shared_ptr< IMaterial > | material ) |
|
overridedefault |
|
overridevirtual |
|
overridevirtual |
Implements RayTracer::IPrimitive.
Definition at line 29 of file Plane.cpp.
References _normal, _point, RayTracer::Ray::direction, and RayTracer::Ray::origin.
|
overridevirtual |
Implements RayTracer::IPrimitive.
Definition at line 19 of file Plane.cpp.
References _normal, and Math::rotateVector().
|
overridevirtual |
|
private |
|
private |
|
private |