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

Class representing SDFObject transformation in space. More...

#include <models3.h>

Inheritance diagram for RayMarching::TransformataObject:
RayMarching::SDFObject

Public Member Functions

 TransformataObject (std::unique_ptr< SDFObject > object)
 
 ~TransformataObject () override=default
 
void rotate (double x, double y, double z)
 
void setRotation (double x, double y, double z)
 
void scale (double s)
 
void setScale (double s)
 
double getScale () const
 
void translate (const Eigen::Vector3d &p)
 
void setTranslation (const Eigen::Vector3d &p)
 
Eigen::Vector3d getTranslation () const
 
double getDist (const Eigen::Vector3d &p) const override
 
color_t getColor (const Eigen::Vector3d &p) const override
 
- Public Member Functions inherited from RayMarching::SDFObject
virtual ~SDFObject ()=default
 
Line getReflection (const Line &ray) const
 

Protected Member Functions

void applyZeroRotation ()
 

Detailed Description

Class representing SDFObject transformation in space.

Class responsible for rotating, moving and other geometric transformations upon the provided SDFObject

Constructor & Destructor Documentation

◆ TransformataObject()

RayMarching::TransformataObject::TransformataObject ( std::unique_ptr< SDFObject object)
inline

Generates new transform for provided SDFObject

Parameters
objectoriginal object

◆ ~TransformataObject()

RayMarching::TransformataObject::~TransformataObject ( )
overridedefault

Default destructor

Member Function Documentation

◆ getColor()

color_t RayMarching::TransformataObject::getColor ( const Eigen::Vector3d &  p) const
overridevirtual

Color getter

Parameters
pRequesting point
Returns
Closest color to the point from the SDFObject

Implements RayMarching::SDFObject.

◆ getDist()

double RayMarching::TransformataObject::getDist ( const Eigen::Vector3d &  p) const
overridevirtual

SDF implementation

Parameters
pRequesting point
Returns
Distance between SDFObject and the p

Implements RayMarching::SDFObject.

◆ getScale()

double RayMarching::TransformataObject::getScale ( ) const
inline

Scaling getter

Returns
current scale ratio

◆ getTranslation()

Eigen::Vector3d RayMarching::TransformataObject::getTranslation ( ) const
inline

Translation Vector3d getter

Returns
Current translation

◆ rotate()

void RayMarching::TransformataObject::rotate ( double  x,
double  y,
double  z 
)

Rotate object

Parameters
xX-axis rotation in degrees
yY-axis rotation in degrees
zZ-axis rotation in degrees

◆ scale()

void RayMarching::TransformataObject::scale ( double  s)
inline

Applies scaling operation on a object

Parameters
sscaling factor

◆ setRotation()

void RayMarching::TransformataObject::setRotation ( double  x,
double  y,
double  z 
)

Sets object rotation

Parameters
xX-axis rotation in degrees
yY-axis rotation in degrees
zZ-axis rotation in degrees

◆ setScale()

void RayMarching::TransformataObject::setScale ( double  s)
inline

Sets desired scaling factor

Parameters
sscaling factor

◆ setTranslation()

void RayMarching::TransformataObject::setTranslation ( const Eigen::Vector3d &  p)
inline

Sets new translation on object

Parameters
pTranslation's vector

◆ translate()

void RayMarching::TransformataObject::translate ( const Eigen::Vector3d &  p)
inline

Applies translation upon object

Parameters
pTranslation's vector

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