RayMarching  0.0.1
Simple 3D engine based on a ray marching rendering
Public Member Functions | List of all members
RayMarching::SDFObject Class Referenceabstract

Virtual class describing abstract shapes. More...

#include <models3.h>

Inheritance diagram for RayMarching::SDFObject:
RayMarching::SDFCombination RayMarching::Shape RayMarching::TransformataObject RayMarching::Cube RayMarching::Cylinder RayMarching::Sphere

Public Member Functions

virtual ~SDFObject ()=default
 
virtual double getDist (Eigen::Vector3d const &p) const =0
 
virtual color_t getColor (Eigen::Vector3d const &p) const =0
 
Line getReflection (const Line &ray) const
 

Detailed Description

Virtual class describing abstract shapes.

Interface defining required behavior for the Shape implementation

Constructor & Destructor Documentation

◆ ~SDFObject()

virtual RayMarching::SDFObject::~SDFObject ( )
virtualdefault

Virtual destructor for the inheritance safety

Member Function Documentation

◆ getColor()

virtual color_t RayMarching::SDFObject::getColor ( Eigen::Vector3d const &  p) const
pure virtual

Returns closest color from the given position

Parameters
pRequesting point
Returns
color_t structure

Implemented in RayMarching::TransformataObject, RayMarching::Shape, and RayMarching::SDFCombination.

◆ getDist()

virtual double RayMarching::SDFObject::getDist ( Eigen::Vector3d const &  p) const
pure virtual

SDF function for the SDFObject

Parameters
pRequesting point
Returns
signed distance from the object

Implemented in RayMarching::TransformataObject, RayMarching::Cylinder, RayMarching::Cube, RayMarching::Sphere, and RayMarching::SDFCombination.

◆ getReflection()

Line RayMarching::SDFObject::getReflection ( const Line ray) const

Returns reflected ray from the object

Parameters
rayLine pointing from the object
Returns
Reflected Line

The documentation for this class was generated from the following files: