HRElem Class Reference
#include <HRElem.h>
Inheritance diagram for HRElem:
List of all members.
Public Members
Refines any links whose error is too high, both
in this element and its children. More...
Refines a particular link.
Internal routine for Refine().
Transform irradiances into radiosity at all levels.
Gather radiosity to self and all children.
Gather radiosity to self.
Is this a leaf element in the solution?
virtual Void
ApplyToChildren (Void (HRElem::*method)(Void*), Void *ref = 0) = 0
Call given method on all children.
Create links from children to 'other'.
Use basis functions to colour underlying mesh/model
for display or saving mesh.
Use basis functions to colour underlying mesh/model
for display or saving mesh.
virtual GCLReal
Error () = 0
Returns error of a push/pull traversal.
Add received (gathered) energy R to current irradiance B.
Push accumulated irradiance to children.
Pull up radiosity from children.
Prepare for a push/pull: clear B.
Get ready for a gather: clear R.
transforms irradiance in B to radiosity.
initialise radiosity.
Draw contributors to patch.
Draw the element (top-level routine).
Draw the node at this level.
Draw the node by drawing corresponding leaves.
GCLReal
EltVis (HRElem *toElt)
These both use EltSetVisPoints to estimate visibility.
return 16 points suitable for vis. sampling.
update min/max to include element.
and cluster stuff.
Total area of the element.
Centre of element, used mainly for vis. stuff.
Average reflectance of element.
Find coeffs such that coeffs * src_radiosity =
irradiance at p[], n[]. More...
Use EltSampleTransport to find coeffs s.t. More...
radiosity coefficients.
radiosity coefficients.
virtual Colour
EltE () = 0
Return average power of elem. Used by cluster radiosity. More...
virtual Void
AddIrradiance (const Colour &E, const Vector &m) = 0
virtual Colour
GetPower (const Vector &m) = 0
vector radiosity stuff.
Static Public Members
Detailed Description
Definition at line 59 of file HRElem.h.
Constructor & Destructor Documentation
HRElem::HRElem ()
HRElem::~HRElem () [virtual]
Member Function Documentation
Void HRElem::Add () [inline, pure virtual]
Add received (gathered) energy R to current irradiance B.
Reimplemented in Cluster, and HaarElem.
Void HRElem::AddChanIrradiance (const Colour & E, Int chan) [virtual]
virtual Void HRElem::AddIrradiance (const Colour & E, const Vector & m) [pure virtual]
Void HRElem::ApplyToChildren (Void(HRElem::* method)(Void *), Void * ref = 0) [inline, pure virtual]
Colour * HRElem::B_Coeffs () [inline, pure virtual]
Void HRElem::CalcLeafRadiosity () [inline, pure virtual]
transforms irradiance in B to radiosity.
Reimplemented in Cluster, and HaarElem.
Void HRElem::CalcStats (Void * statsIn)
Void HRElem::ClearB () [inline, pure virtual]
Void HRElem::ClearR () [inline, pure virtual]
Void HRElem::DebugInfo () [virtual]
Void HRElem::DistributeColours () [inline, virtual]
Use basis functions to colour underlying mesh/model
for display or saving mesh.
Reimplemented in Cluster, and HaarElem.
Definition at line 136 of file HRElem.cc.
Void HRElem::DistributeColoursBest (ShadeInfo & shadeInfo) [inline, virtual]
Use basis functions to colour underlying mesh/model
for display or saving mesh.
Reimplemented in Cluster, and HaarElem.
Definition at line 140 of file HRElem.cc.
Void HRElem::DrawContributors (Renderer & r)
Draw contributors to patch.
Definition at line 101 of file HRElem.cc.
Void HRElem::DrawContributorsRec (Void * r)
Void HRElem::DrawElem (Renderer & r)
Draw the element (top-level routine).
Definition at line 45 of file HRElem.cc.
Void HRElem::DrawLeafElem (Renderer & r) [inline, pure virtual]
Draw the node by drawing corresponding leaves.
Reimplemented in Cluster, and HRMeshElem.
Void HRElem::DrawMatrix (Renderer & r, Int baseNum)
Void HRElem::DrawMatrixRec (Void * dmi) [virtual]
Void HRElem::DrawNodeElem (Renderer & r) [inline, pure virtual]
Void HRElem::DumpHierarchy (Void * v = 0)
GCLReal HRElem::EltArea () [inline, pure virtual]
Colour HRElem::EltBA () [inline, virtual]
Return average power of elem. Used by cluster radiosity.
Defaults to returning EltArea() times first coefficient.
Definition at line 526 of file HRElem.cc.
GCLReal HRElem::EltCalcTransport (HRElem * from, Matd & coeffs) [inline, pure virtual]
Use EltSampleTransport to find coeffs s.t.
to->R_Coeffs += from->B_Coeffs * coeffs.
Returns an error estimate.
Reimplemented in Cluster, and HaarElem.
Point HRElem::EltCentre () [inline, pure virtual]
Centre of element, used mainly for vis. stuff.
Reimplemented in Cluster, and HRMeshElem.
virtual Colour HRElem::EltE () [pure virtual]
virtual Void HRElem::EltGetSamples (Int numSamples, Point pts[]) [pure virtual]
GCLReal HRElem::EltMaxProjArea (const Vector & n) [inline, virtual]
GCLReal HRElem::EltProjArea (const Vector & v) [inline, pure virtual]
Colour HRElem::EltRho () [inline, pure virtual]
Void HRElem::EltSampleTransport (Int numSamples, Point p[], Vector n[], Matd & coeffs) [inline, pure virtual]
Find coeffs such that coeffs * src_radiosity =
irradiance at p[], n[].
If n = 0, calculate
isotropic point irradiance at each point.
Reimplemented in Cluster, and HaarElem.
Void HRElem::EltSetVisPoints (HRElem * to, Point p[]) [inline, pure virtual]
return 16 points suitable for vis. sampling.
Reimplemented in Cluster, and HRMeshElem.
Void HRElem::EltUpdateBounds (Point & min, Point & max) [inline, pure virtual]
GCLReal HRElem::EltVis (HRElem * to)
GCLReal HRElem::EltVisToPoint (Point & p)
These both use EltSetVisPoints to estimate visibility.
Definition at line 423 of file HRElem.cc.
GCLReal HRElem::Error () [inline, pure virtual]
Returns error of a push/pull traversal.
Reimplemented in Cluster, and HaarElem.
Void HRElem::Gather ()
Gather radiosity to self.
Definition at line 329 of file HRElem.cc.
Void HRElem::GatherAll (Void * v = 0)
Gather radiosity to self and all children.
Definition at line 349 of file HRElem.cc.
virtual Colour HRElem::GetPower (const Vector & m) [pure virtual]
Void HRElem::InitRad () [inline, virtual]
Bool HRElem::IsCluster () [inline]
Bool HRElem::IsFaceClus () [inline]
Bool HRElem::IsLeaf () [inline, pure virtual]
Bool HRElem::IsPatch () [inline]
Void HRElem::MakeChildLinks (HRElem * other, HRLink * link, Int which, Int levels) [inline, pure virtual]
Int HRElem::NumCoeffs () [inline, virtual]
Void HRElem::Pull () [inline, pure virtual]
Void HRElem::Push () [inline, pure virtual]
Push accumulated irradiance to children.
Reimplemented in Cluster, and HaarElem.
Void HRElem::PushPull (Void * v = 0)
Transform irradiances into radiosity at all levels.
Definition at line 402 of file HRElem.cc.
Colour * HRElem::R_Coeffs () [inline, pure virtual]
Bool HRElem::Refine ()
Refines any links whose error is too high, both
in this element and its children.
Returns true
if any links were refined.
Definition at line 241 of file HRElem.cc.
Void HRElem::RefineFurther (Void * result)
Bool HRElem::RefineLink (HRLink * link, Int levels)
Refines a particular link.
Definition at line 149 of file HRElem.cc.
Void HRElem::Reset () [virtual]
Member Data Documentation
Flags16 HRElem::flags
UInt32 HRElem::gID = 0 [static]
UInt32 HRElem::id
ostream * HRElem::out = &cout [static]
The documentation for this class was generated from the following files:
Generated at Sat Aug 5 00:26:56 2000 for Radiator by
doxygen 1.1.0 written by Dimitri van Heesch,
© 1997-2000