Photon Engine 2.0.0-beta
A physically based renderer.
Loading...
Searching...
No Matches
ph::GTriangle Class Reference

#include <GTriangle.h>

Inheritance diagram for ph::GTriangle:
ph::Geometry ph::TSdlResourceBase< ESdlTypeCategory::Ref_Geometry > ph::SdlResourceBase ph::ISdlResource

Public Member Functions

void storeCooked (CookedGeometry &out_geometry, const CookingContext &ctx) const override
 Store data suitable for rendering into out_geometry.
 
void genPrimitive (const PrimitiveBuildingMaterial &data, std::vector< std::unique_ptr< Primitive > > &out_primitives) const override
 
std::shared_ptr< GeometrygenTransformed (const math::StaticAffineTransform &transform) const override
 
bool isDegenerate () const
 
const math::Vector3RgetVa () const
 
const math::Vector3RgetVb () const
 
const math::Vector3RgetVc () const
 
const math::Vector3RgetNa () const
 
const math::Vector3RgetNb () const
 
const math::Vector3RgetNc () const
 
const math::Vector3RgetUVWa () const
 
const math::Vector3RgetUVWb () const
 
const math::Vector3RgetUVWc () const
 
GTrianglesetNa (const math::Vector3R &nA)
 
GTrianglesetNb (const math::Vector3R &nB)
 
GTrianglesetNc (const math::Vector3R &nC)
 
GTrianglesetUVWa (const math::Vector3R &uvwA)
 
GTrianglesetUVWb (const math::Vector3R &uvwB)
 
GTrianglesetUVWc (const math::Vector3R &uvwC)
 
GTrianglesetVertices (const math::Vector3R &vA, const math::Vector3R &vB, const math::Vector3R &vC)
 
 PH_DEFINE_SDL_CLASS (TSdlOwnerClass< GTriangle >)
 
- Public Member Functions inherited from ph::Geometry
virtual std::shared_ptr< GeometrygenTriangulated () const
 
CookedGeometrycreateCooked (const CookingContext &ctx) const
 Create a CookedGeometry that contains data suitable for rendering.
 
 PH_DEFINE_SDL_CLASS (TSdlOwnerClass< Geometry >)
 
- Public Member Functions inherited from ph::TSdlResourceBase< ESdlTypeCategory::Ref_Geometry >
ESdlTypeCategory getDynamicCategory () const override
 
- Public Member Functions inherited from ph::SdlResourceBase
SdlResourceId getId () const override
 Get the unique ID of this resource. The returned ID is guaranteed to be unique in the current process. Newly created resource cannot have an ID that has been used by a previous resource, even if the previous resource has ended its life cycle. See SdlResourceId.h for some utilities.
 
- Public Member Functions inherited from ph::ISdlResource
 ISdlResource (const ISdlResource &other)=default
 
 ISdlResource (ISdlResource &&other)=default
 
virtual ~ISdlResource ()=default
 
ISdlResourceoperator= (const ISdlResource &rhs)=default
 
ISdlResourceoperator= (ISdlResource &&rhs)=default
 
virtual const SdlClassgetDynamicSdlClass () const
 Get runtime SDL class of the resource.
 
virtual bool isInlinable () const
 

Additional Inherited Members

- Static Public Attributes inherited from ph::TSdlResourceBase< ESdlTypeCategory::Ref_Geometry >
static constexpr ESdlTypeCategory CATEGORY
 Static category information of the resource. This static category information is required by ISdlResource. See its documentation for more details.
 
- Protected Member Functions inherited from ph::TSdlResourceBase< ESdlTypeCategory::Ref_Geometry >
 TSdlResourceBase ()=default
 
 TSdlResourceBase (const TSdlResourceBase &other)=default
 
 TSdlResourceBase (TSdlResourceBase &&other)=default
 
TSdlResourceBaseoperator= (const TSdlResourceBase &rhs)=default
 
TSdlResourceBaseoperator= (TSdlResourceBase &&rhs)=default
 
- Protected Member Functions inherited from ph::SdlResourceBase
 SdlResourceBase ()
 
 SdlResourceBase (const SdlResourceBase &other)
 
 SdlResourceBase (SdlResourceBase &&other)=default
 
SdlResourceBaseoperator= (const SdlResourceBase &rhs)
 
SdlResourceBaseoperator= (SdlResourceBase &&rhs)=default
 
- Protected Member Functions inherited from ph::ISdlResource
 ISdlResource ()=default
 

Member Function Documentation

◆ genPrimitive()

void ph::GTriangle::genPrimitive ( const PrimitiveBuildingMaterial & data,
std::vector< std::unique_ptr< Primitive > > & out_primitives ) const
overridevirtual

Implements ph::Geometry.

◆ genTransformed()

std::shared_ptr< Geometry > ph::GTriangle::genTransformed ( const math::StaticAffineTransform & transform) const
overridevirtual

Reimplemented from ph::Geometry.

◆ getNa()

const math::Vector3R & ph::GTriangle::getNa ( ) const
inline

◆ getNb()

const math::Vector3R & ph::GTriangle::getNb ( ) const
inline

◆ getNc()

const math::Vector3R & ph::GTriangle::getNc ( ) const
inline

◆ getUVWa()

const math::Vector3R & ph::GTriangle::getUVWa ( ) const
inline

◆ getUVWb()

const math::Vector3R & ph::GTriangle::getUVWb ( ) const
inline

◆ getUVWc()

const math::Vector3R & ph::GTriangle::getUVWc ( ) const
inline

◆ getVa()

const math::Vector3R & ph::GTriangle::getVa ( ) const
inline

◆ getVb()

const math::Vector3R & ph::GTriangle::getVb ( ) const
inline

◆ getVc()

const math::Vector3R & ph::GTriangle::getVc ( ) const
inline

◆ isDegenerate()

bool ph::GTriangle::isDegenerate ( ) const

◆ PH_DEFINE_SDL_CLASS()

ph::GTriangle::PH_DEFINE_SDL_CLASS ( TSdlOwnerClass< GTriangle > )
inline

◆ setNa()

GTriangle & ph::GTriangle::setNa ( const math::Vector3R & nA)
inline

◆ setNb()

GTriangle & ph::GTriangle::setNb ( const math::Vector3R & nB)
inline

◆ setNc()

GTriangle & ph::GTriangle::setNc ( const math::Vector3R & nC)
inline

◆ setUVWa()

GTriangle & ph::GTriangle::setUVWa ( const math::Vector3R & uvwA)
inline

◆ setUVWb()

GTriangle & ph::GTriangle::setUVWb ( const math::Vector3R & uvwB)
inline

◆ setUVWc()

GTriangle & ph::GTriangle::setUVWc ( const math::Vector3R & uvwC)
inline

◆ setVertices()

GTriangle & ph::GTriangle::setVertices ( const math::Vector3R & vA,
const math::Vector3R & vB,
const math::Vector3R & vC )
inline

◆ storeCooked()

void ph::GTriangle::storeCooked ( CookedGeometry & out_geometry,
const CookingContext & ctx ) const
overridevirtual

Store data suitable for rendering into out_geometry.

Implements ph::Geometry.


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