lux::DifferentialGeometry Class Reference

#include <raydifferential.h>

Collaboration diagram for lux::DifferentialGeometry:
[legend]

List of all members.

Public Member Functions

 DifferentialGeometry ()
 DifferentialGeometry (const Point &P, const Vector &DPDU, const Vector &DPDV, const Normal &DNDU, const Normal &DNDV, float uu, float vv, const void *pr)
 DifferentialGeometry (const Point &P, const Normal &NN, const Vector &DPDU, const Vector &DPDV, const Normal &DNDU, const Normal &DNDV, float uu, float vv, const void *pr)
void AdjustNormal (bool ro, bool swapsHandedness)
void ComputeDifferentials (const RayDifferential &r) const

Public Attributes

Point p
Normal nn
Vector dpdu
Vector dpdv
Normal dndu
Normal dndv
Vector dpdx
Vector dpdy
float u
float v
const void * handle
float dudx
float dvdx
float dudy
float dvdy
float time
union {
   float   triangleBaryCoords [3]
}; 

Detailed Description

Definition at line 55 of file raydifferential.h.


Constructor & Destructor Documentation

lux::DifferentialGeometry::DifferentialGeometry (  )  [inline]

Definition at line 57 of file raydifferential.h.

References handle, u, and v.

DifferentialGeometry::DifferentialGeometry ( const Point P,
const Vector DPDU,
const Vector DPDV,
const Normal DNDU,
const Normal DNDV,
float  uu,
float  vv,
const void *  pr 
)

Definition at line 29 of file raydifferential.cpp.

References lux::Cross(), dpdu, dpdv, dudx, dudy, dvdx, dvdy, handle, nn, lux::Normalize(), u, and v.

DifferentialGeometry::DifferentialGeometry ( const Point P,
const Normal NN,
const Vector DPDU,
const Vector DPDV,
const Normal DNDU,
const Normal DNDV,
float  uu,
float  vv,
const void *  pr 
)

Definition at line 43 of file raydifferential.cpp.

References dudx, dudy, dvdx, dvdy, handle, u, and v.


Member Function Documentation

void lux::DifferentialGeometry::AdjustNormal ( bool  ro,
bool  swapsHandedness 
) [inline]
void DifferentialGeometry::ComputeDifferentials ( const RayDifferential r  )  const

Member Data Documentation

union { ... }

Definition at line 82 of file raydifferential.h.

Referenced by AdjustNormal(), lux::BSDF::BSDF(), lux::Material::Bump(), lux::SunLight::checkPortals(), ComputeDifferentials(), DifferentialGeometry(), generateEyePath(), generateLightPath(), lux::BidirIntegrator::generatePath(), lux::RealisticCamera::GenerateRay(), lux::UberMaterial::GetBSDF(), lux::Translucent::GetBSDF(), lux::Skin::GetBSDF(), lux::ShinyMetal::GetBSDF(), lux::RoughGlass::GetBSDF(), lux::Primer::GetBSDF(), lux::Null::GetBSDF(), lux::MixMaterial::GetBSDF(), lux::Mirror::GetBSDF(), lux::Metal::GetBSDF(), lux::MatteTranslucent::GetBSDF(), lux::Matte::GetBSDF(), lux::Glossy::GetBSDF(), lux::Glass::GetBSDF(), lux::Felt::GetBSDF(), lux::Clay::GetBSDF(), lux::CarPaint::GetBSDF(), lux::BrushedMetal::GetBSDF(), lux::BluePaint::GetBSDF(), getDirectLight(), lux::MotionPrimitive::GetShadingGeometry(), lux::InstancePrimitive::GetShadingGeometry(), lux::MeshQuadrilateral::GetShadingGeometry(), lux::IrradianceCache::IndirectLo(), lux::MotionPrimitive::Intersect(), lux::InstancePrimitive::Intersect(), lux::AreaLight::L(), lux::LightPhotonMap::LDiffusePhoton(), lux::SunLight::Le(), lux::SkyLight::Le(), lux::InfiniteAreaLight::Le(), lux::WhittedIntegrator::Li(), lux::PhotonIntegrator::Li(), lux::PathIntegrator::Li(), lux::MLTPathIntegrator::Li(), lux::IrradianceCache::Li(), lux::IGIIntegrator::Li(), lux::ExPhotonIntegrator::Li(), lux::DebugIntegrator::Li(), lux::ExPhotonIntegrator::LiDirectLightingMode(), lux::DistributedPath::LiInternal(), lux::DirectLightingIntegrator::LiInternal(), lux::ExPhotonIntegrator::LiPathMode(), lux::PhotonIntegrator::LPhoton(), lux::LightPhotonMap::LPhoton(), lux::RadiancePhotonMap::LPhoton(), lux::ExPhotonIntegrator::LPhoton(), lux::LightPhotonMap::LPhotonDiffuseApprox(), lux::SkyLight::Pdf(), SkyPortalBxDF::Pdf(), lux::Primitive::Pdf(), lux::InfiniteAreaLight::Pdf(), InfinitePortalBxDF::Pdf(), lux::PhotonIntegrator::Preprocess(), lux::IGIIntegrator::Preprocess(), lux::ExPhotonIntegrator::Preprocess(), lux::Shape::Sample(), lux::MotionPrimitive::Sample(), lux::InstancePrimitive::Sample(), lux::MeshWaldTriangle::Sample(), lux::MeshBaryTriangle::Sample(), lux::MeshQuadrilateral::Sample(), SkyPortalBxDF::Sample_f(), InfinitePortalBxDF::Sample_f(), lux::SunLight::Sample_L(), lux::SkyLight::Sample_L(), lux::InfiniteAreaLight::Sample_L(), lux::AreaLight::Sample_L(), and lux::VisibilityTester::TestOcclusion().

Definition at line 81 of file raydifferential.h.

Referenced by lux::Material::Bump(), ComputeDifferentials(), lux::Checkerboard3D< T >::Evaluate(), lux::Checkerboard2D< T >::Evaluate(), generateEyePath(), generateLightPath(), lux::BidirIntegrator::generatePath(), getDirectLight(), lux::MotionPrimitive::GetShadingGeometry(), lux::InstancePrimitive::GetShadingGeometry(), lux::MeshQuadrilateral::GetShadingGeometry(), lux::MeshBaryTriangle::GetShadingGeometry(), lux::IrradianceCache::IndirectLo(), lux::MotionPrimitive::Intersect(), lux::InstancePrimitive::Intersect(), lux::AreaLight::L(), lux::LightPhotonMap::LDiffusePhoton(), lux::SunLight::Le(), lux::SkyLight::Le(), lux::InfiniteAreaLight::Le(), lux::WhittedIntegrator::Li(), lux::PhotonIntegrator::Li(), lux::PathIntegrator::Li(), lux::MLTPathIntegrator::Li(), lux::IrradianceCache::Li(), lux::IGIIntegrator::Li(), lux::ExPhotonIntegrator::Li(), lux::ExPhotonIntegrator::LiDirectLightingMode(), lux::DistributedPath::LiInternal(), lux::DirectLightingIntegrator::LiInternal(), lux::ExPhotonIntegrator::LiPathMode(), lux::PhotonIntegrator::LPhoton(), lux::LightPhotonMap::LPhoton(), lux::RadiancePhotonMap::LPhoton(), lux::ExPhotonIntegrator::LPhoton(), lux::LightPhotonMap::LPhotonDiffuseApprox(), lux::IdentityMapping3D::Map(), lux::PlanarMapping2D::Map(), lux::CylindricalMapping2D::Map(), lux::SphericalMapping2D::Map(), lux::SkyLight::Pdf(), SkyPortalBxDF::Pdf(), lux::InfiniteAreaLight::Pdf(), InfinitePortalBxDF::Pdf(), lux::PhotonIntegrator::Preprocess(), lux::IGIIntegrator::Preprocess(), lux::ExPhotonIntegrator::Preprocess(), lux::Shape::Sample(), lux::MotionPrimitive::Sample(), lux::InstancePrimitive::Sample(), lux::MeshWaldTriangle::Sample(), lux::MeshBaryTriangle::Sample(), lux::MeshQuadrilateral::Sample(), SkyPortalBxDF::Sample_f(), InfinitePortalBxDF::Sample_f(), lux::SunLight::Sample_L(), lux::SkyLight::Sample_L(), lux::InfiniteAreaLight::Sample_L(), and lux::AreaLight::Sample_L().


The documentation for this class was generated from the following files:
Generated by  doxygen 1.6.2-20100208