Euphoria
eu::core::raytracer::SphereObject Struct Reference
Inheritance diagram for eu::core::raytracer::SphereObject:
eu::core::raytracer::Object

Public Member Functions

 SphereObject (const core::Sphere &asphere, const vec3f &aposition, std::shared_ptr< raytracer::Material > amaterial)
 
std::optional< Collisionget_collision (const UnitRay3f &ray, const Range< float > &range) const override
 
- Public Member Functions inherited from eu::core::raytracer::Object
 Object ()=default
 
virtual ~Object ()=default
 
 Object (const Object &)=delete
 
 Object (Object &&)=delete
 
void operator= (const Object &)=delete
 
void operator= (Object &&)=delete
 

Public Attributes

core::Sphere sphere
 
vec3f position
 
std::shared_ptr< raytracer::Materialmaterial
 

Detailed Description

Definition at line 32 of file raytracer.cc.

Constructor & Destructor Documentation

◆ SphereObject()

eu::core::raytracer::SphereObject::SphereObject ( const core::Sphere asphere,
const vec3f aposition,
std::shared_ptr< raytracer::Material amaterial 
)
inline

Definition at line 38 of file raytracer.cc.

Member Function Documentation

◆ get_collision()

std::optional<Collision> eu::core::raytracer::SphereObject::get_collision ( const UnitRay3f ray,
const Range< float > &  range 
) const
inlineoverridevirtual

Implements eu::core::raytracer::Object.

Definition at line 51 of file raytracer.cc.

Member Data Documentation

◆ material

std::shared_ptr<raytracer::Material> eu::core::raytracer::SphereObject::material

Definition at line 36 of file raytracer.cc.

◆ position

vec3f eu::core::raytracer::SphereObject::position

Definition at line 35 of file raytracer.cc.

◆ sphere

core::Sphere eu::core::raytracer::SphereObject::sphere

Definition at line 34 of file raytracer.cc.


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