Main Page Class Hierarchy Compound List File List Compound Members File Members
HRElem Class Reference
#include <HRElem.h>
Inheritance diagram for HRElem:
List of all members.
Public Members |
 |  | | HRElem () |
 |  | virtual | ~HRElem () |
 |  | virtual Void | Reset () |
 |  | Bool | Refine () |
 |  | | Refines any links whose error is too high, both
in this element and its children. More...
|
 |  | Bool | RefineLink (HRLink *link, Int levels) |
 |  | | Refines a particular link.
|
 |  | Void | RefineFurther (Void*) |
 |  | | Internal routine for Refine().
|
 |  | Void | PushPull (Void *v = 0) |
 |  | | Transform irradiances into radiosity at all levels.
|
 |  | Void | GatherAll (Void *v = 0) |
 |  | | Gather radiosity to self and all children.
|
 |  | Void | Gather () |
 |  | | Gather radiosity to self.
|
 |  | virtual Bool | IsLeaf () = 0 |
 |  | | 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.
|
 |  | virtual Void | MakeChildLinks (HRElem *other, HRLink *link, Int which, Int levels) = 0 |
 |  | | Create links from children to 'other'.
|
 |  | virtual Void | DistributeColours () |
 |  | | Use basis functions to colour underlying mesh/model
for display or saving mesh.
|
 |  | virtual Void | DistributeColoursBest (ShadeInfo &shadeInfo) |
 |  | | Use basis functions to colour underlying mesh/model
for display or saving mesh.
|
 |  | virtual GCLReal | Error () = 0 |
 |  | | Returns error of a push/pull traversal.
|
 |  | virtual Void | Add () = 0 |
 |  | | Add received (gathered) energy R to current irradiance B.
|
 |  | virtual Void | Push () = 0 |
 |  | | Push accumulated irradiance to children.
|
 |  | virtual Void | Pull () = 0 |
 |  | | Pull up radiosity from children.
|
 |  | virtual Void | ClearB () = 0 |
 |  | | Prepare for a push/pull: clear B.
|
 |  | virtual Void | ClearR () = 0 |
 |  | | Get ready for a gather: clear R.
|
 |  | virtual Void | CalcLeafRadiosity () = 0 |
 |  | | transforms irradiance in B to radiosity.
|
 |  | virtual Void | InitRad () |
 |  | | initialise radiosity.
|
 |  | Void | DrawMatrix (Renderer &r, Int baseNum) |
 |  | virtual Void | DrawMatrixRec (Void *dmi) |
 |  | Void | DrawContributors (Renderer &r) |
 |  | | Draw contributors to patch.
|
 |  | Void | DrawContributorsRec (Void *r) |
 |  | Void | DrawElem (Renderer &r) |
 |  | | Draw the element (top-level routine).
|
 |  | virtual Void | DrawNodeElem (Renderer &r) = 0 |
 |  | | Draw the node at this level.
|
 |  | virtual Void | DrawLeafElem (Renderer &r) = 0 |
 |  | | Draw the node by drawing corresponding leaves.
|
 |  | Void | CalcStats (Void *statsIn) |
 |  | | fill in HRStats record.
|
 |  | Void | DumpHierarchy (Void *v = 0) |
 |  | Bool | IsPatch () |
 |  | Bool | IsCluster () |
 |  | Bool | IsFaceClus () |
 |  | GCLReal | EltVis (HRElem *toElt) |
 |  | GCLReal | EltVisToPoint (Point &p) |
 |  | | These both use EltSetVisPoints to estimate visibility.
|
 |  | virtual Void | EltSetVisPoints (HRElem *to, Point p[]) = 0 |
 |  | | return 16 points suitable for vis. sampling.
|
 |  | virtual Void | EltUpdateBounds (Point &min, Point &max) = 0 |
 |  | | update min/max to include element.
|
 |  | virtual GCLReal | EltProjArea (const Vector &v) = 0 |
 |  | | and cluster stuff.
|
 |  | virtual GCLReal | EltArea () = 0 |
 |  | | Total area of the element.
|
 |  | virtual Point | EltCentre () = 0 |
 |  | | Centre of element, used mainly for vis. stuff.
|
 |  | virtual Colour | EltRho () = 0 |
 |  | | Average reflectance of element.
|
 |  | virtual Void | EltSampleTransport (Int numSamples, Point p[], Vector n[], Matd &coeffs) = 0 |
 |  | | Find coeffs such that coeffs * src_radiosity =
irradiance at p[], n[]. More...
|
 |  | virtual GCLReal | EltCalcTransport (HRElem *from, Matd &coeffs) = 0 |
 |  | | Use EltSampleTransport to find coeffs s.t. More...
|
 |  | virtual Int | NumCoeffs () |
 |  | virtual Colour* | R_Coeffs () = 0 |
 |  | | radiosity coefficients.
|
 |  | virtual Colour* | B_Coeffs () = 0 |
 |  | | radiosity coefficients.
|
 |  | virtual Colour | EltE () = 0 |
 |  | virtual Colour | EltBA () |
 |  | | Return average power of elem. Used by cluster radiosity. More...
|
 |  | virtual Void | AddIrradiance (const Colour &E, const Vector &m) = 0 |
 |  | virtual Void | AddChanIrradiance (const Colour &E, Int chan) |
 |  | virtual Colour | GetPower (const Vector &m) = 0 |
 |  | virtual Void | EltGetSamples (Int numSamples, Point pts[]) = 0 |
 |  | virtual GCLReal | EltMaxProjArea (const Vector &v) |
 |  | | vector radiosity stuff.
|
 |  | virtual Void | DebugInfo () |
 |  | Flags16 | flags |
 |  | HRLinkList | links |
 |  | UInt32 | id |
Static Public Members |
 |  | UInt32 | gID = 0 |
 |  | ostream* | out = &cout |
Detailed Description
Definition at line 59 of file HRElem.h.
Constructor & Destructor Documentation
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.
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]
|
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
UInt32 HRElem::gID = 0 [static]
|
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
1.1.0 written by Dimitri van Heesch,
© 1997-2000