8#include <Common/assertion.h>
57 bool m_isBasesComputed{
false};
100 PH_ASSERT(m_isBasesComputed);
101 return m_geometryBasis;
106 PH_ASSERT(m_isBasesComputed);
107 return m_shadingBasis;
116 m_geometryBasis.
setYAxis(geometryNormal);
117 m_shadingBasis.
setYAxis(shadingNormal);
120 m_isBasesComputed =
false;
136 m_isBasesComputed =
false;
169 "m_geometryBasis.getYAxis() = " + m_geometryBasis.
getYAxis().
toString() +
"\n"
170 "m_shadingBasis.getYAxis() = " + m_shadingBasis.
getYAxis().
toString() +
"\n");
173 m_isBasesComputed =
true;
General information for a ray-primitive intersection.
Definition HitInfo.h:18
math::Vector3R getShadingNormal() const
Definition HitInfo.h:68
math::Vector3R getdNdU() const
Definition HitInfo.h:88
const math::Basis3R & getShadingBasis() const
Definition HitInfo.h:104
math::Vector3R getPos() const
Definition HitInfo.h:63
void computeBases()
Definition HitInfo.h:140
HitInfo()
Definition HitInfo.cpp:11
const math::Basis3R & getGeometryBasis() const
Definition HitInfo.h:98
math::Vector3R getGeometryNormal() const
Definition HitInfo.h:73
void setDerivatives(const math::Vector3R &dPdU, const math::Vector3R &dPdV, const math::Vector3R &dNdU, const math::Vector3R &dNdV)
Definition HitInfo.h:124
math::Vector3R getdPdU() const
Definition HitInfo.h:78
math::Vector3R getdNdV() const
Definition HitInfo.h:93
math::Vector3R getdPdV() const
Definition HitInfo.h:83
void setAttributes(const math::Vector3R &pos, const math::Vector3R &geometryNormal, const math::Vector3R &shadingNormal)
Definition HitInfo.h:110
TVector3< T > getYAxis() const
Definition TOrthonormalBasis3.ipp:272
static TOrthonormalBasis3 makeFromUnitY(const TVector3< real > &unitYAxis)
Definition TOrthonormalBasis3.ipp:16
TVector3< T > getXAxis() const
Definition TOrthonormalBasis3.ipp:266
TOrthonormalBasis3 & setXAxis(const TVector3< T > &axis)
Definition TOrthonormalBasis3.ipp:229
TOrthonormalBasis3 & setZAxis(const TVector3< T > &axis)
Definition TOrthonormalBasis3.ipp:245
TOrthonormalBasis3 & renormalizeXAxis()
Definition TOrthonormalBasis3.ipp:205
TOrthonormalBasis3 & setYAxis(const TVector3< T > &axis)
Definition TOrthonormalBasis3.ipp:237
TVector3 cross(const TVector3 &rhs) const
Definition TVector3.ipp:75
std::string toString() const
Definition TArithmeticArrayBase.ipp:825
bool isFinite() const
Definition TArithmeticArrayBase.ipp:585
T lengthSquared() const
Definition TVectorNBase.ipp:44
Miscellaneous math utilities.
The root for all renderer implementations.
Definition EEngineProject.h:6