MobileRT  1.0
A multi platform C++ CPU progressive Ray Tracer.
MobileRT::Triangle::Builder Class Referencefinal

#include <Triangle.hpp>

Collaboration diagram for MobileRT::Triangle::Builder:
Collaboration graph

Public Member Functions

 Builder (const ::glm::vec3 &pointA, const ::glm::vec3 &pointB, const ::glm::vec3 &pointC) noexcept
 
Builder withNormals (const ::glm::vec3 &normalA, const ::glm::vec3 &normalB, const ::glm::vec3 &normalC)
 
Builder withTexCoords (const ::glm::vec2 &texCoordA, const ::glm::vec2 &texCoordB, const ::glm::vec2 &texCoordC)
 
Builder withMaterialIndex (::std::int32_t materialIndex)
 
Triangle build ()
 

Private Attributes

::glm::vec3 AC_ {}
 
::glm::vec3 AB_ {}
 
::glm::vec3 pointA_ {}
 
::glm::vec3 normalA_ {}
 
::glm::vec3 normalB_ {}
 
::glm::vec3 normalC_ {}
 
::glm::vec2 texCoordA_ {-1}
 
::glm::vec2 texCoordB_ {-1}
 
::glm::vec2 texCoordC_ {-1}
 
::std::int32_t materialIndex_ {-1}
 

Friends

class Triangle
 

Constructor & Destructor Documentation

◆ Builder()

Triangle::Builder::Builder ( const ::glm::vec3 &  pointA,
const ::glm::vec3 &  pointB,
const ::glm::vec3 &  pointC 
)
explicitnoexcept

The constructor.

Parameters
pointAA vertex of the triangle.
pointBA vertex of the triangle.
pointCA vertex of the triangle.
Here is the call graph for this function:

Member Function Documentation

◆ build()

Triangle Triangle::Builder::build ( )

The build method.

Returns
A new instance of a triangle.

◆ withMaterialIndex()

Triangle::Builder Triangle::Builder::withMaterialIndex ( ::std::int32_t  materialIndex)

The constructor.

Parameters
materialIndexThe index of the material for the triangle.
Returns
A builder for the triangle.

◆ withNormals()

Triangle::Builder Triangle::Builder::withNormals ( const ::glm::vec3 &  normalA,
const ::glm::vec3 &  normalB,
const ::glm::vec3 &  normalC 
)

The constructor.

Parameters
normalAA normal of the triangle.
normalBA normal of the triangle.
normalCA normal of the triangle.
Returns
A builder for the triangle.

◆ withTexCoords()

Triangle::Builder Triangle::Builder::withTexCoords ( const ::glm::vec2 &  texCoordA,
const ::glm::vec2 &  texCoordB,
const ::glm::vec2 &  texCoordC 
)

The constructor.

Parameters
texCoordAA texture coordinate of the triangle.
texCoordBA texture coordinate of the triangle.
texCoordCA texture coordinate of the triangle.
Returns
A builder for the triangle.

Friends And Related Function Documentation

◆ Triangle

friend class Triangle
friend

Member Data Documentation

◆ AB_

::glm::vec3 MobileRT::Triangle::Builder::AB_ {}
private

◆ AC_

::glm::vec3 MobileRT::Triangle::Builder::AC_ {}
private

◆ materialIndex_

::std::int32_t MobileRT::Triangle::Builder::materialIndex_ {-1}
private

◆ normalA_

::glm::vec3 MobileRT::Triangle::Builder::normalA_ {}
private

◆ normalB_

::glm::vec3 MobileRT::Triangle::Builder::normalB_ {}
private

◆ normalC_

::glm::vec3 MobileRT::Triangle::Builder::normalC_ {}
private

◆ pointA_

::glm::vec3 MobileRT::Triangle::Builder::pointA_ {}
private

◆ texCoordA_

::glm::vec2 MobileRT::Triangle::Builder::texCoordA_ {-1}
private

◆ texCoordB_

::glm::vec2 MobileRT::Triangle::Builder::texCoordB_ {-1}
private

◆ texCoordC_

::glm::vec2 MobileRT::Triangle::Builder::texCoordC_ {-1}
private

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