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