#include <Cluster.h>
Inheritance diagram for Cluster:
Public Members | |||
![]() | ![]() | Cluster () | |
![]() | ![]() | virtual | ~Cluster () |
![]() | ![]() | Void | SetElems (HRElemList *elemIn) |
![]() | ![]() | Cluster* | CreateHierarchy () |
![]() | ![]() | Void | PushElems () |
![]() | ![]() | Void | CreateBounds () |
![]() | ![]() | Void | DrawNodeElem (Renderer &r) |
![]() | ![]() | Draw the node at this level. | |
![]() | ![]() | Void | DrawLeafElem (Renderer &r) |
![]() | ![]() | Draw the node by drawing corresponding leaves. | |
![]() | ![]() | Void | DrawPatches (Renderer &r) |
![]() | ![]() | Void | Print (ostream &s) |
![]() | ![]() | Void | Reset () |
![]() | ![]() | Bool | IsLeaf () |
![]() | ![]() | Is this a leaf element in the solution? | |
![]() | ![]() | Void | ApplyToChildren (Void (HRElem::*method)(Void*), Void *ref = 0) |
![]() | ![]() | Call given method on all children. | |
![]() | ![]() | Void | EltUpdateBounds (Point &, Point &) |
![]() | ![]() | update min/max to include element. | |
![]() | ![]() | GCLReal | EltArea () |
![]() | ![]() | Total area of the element. | |
![]() | ![]() | GCLReal | EltProjArea (const Vector &n) |
![]() | ![]() | find projected area of the cluster in the direction of n. | |
![]() | ![]() | GCLReal | EltMaxProjArea (const Vector &n) |
![]() | ![]() | find max projected area of the cluster in the direction of n. | |
![]() | ![]() | Point | EltCentre () |
![]() | ![]() | Centre of element, used mainly for vis. stuff. | |
![]() | ![]() | Colour | EltE () |
![]() | ![]() | Colour | EltRho () |
![]() | ![]() | Average reflectance of element. | |
![]() | ![]() | Void | EltSampleTransport (Int numSamples, Point p[], Vector n[], Matd &coeffs) |
![]() | ![]() | Find coeffs such that coeffs * src_radiosity =
irradiance at p[], n[]. More... | |
![]() | ![]() | GCLReal | EltCalcTransport (HRElem *from, Matd &coeffs) |
![]() | ![]() | Use EltSampleTransport to find coeffs s.t. More... | |
![]() | ![]() | Void | AddIrradiance (const Colour &E, const Vector &m) |
![]() | ![]() | Colour | GetPower (const Vector &m) |
![]() | ![]() | Void | EltGetSamples (Int numSamples, Point pts[]) |
![]() | ![]() | Void | DistributeColours () |
![]() | ![]() | Use basis functions to colour underlying mesh/model
for display or saving mesh. | |
![]() | ![]() | Void | DistributeColoursBest (ShadeInfo &shadeInfo) |
![]() | ![]() | Use basis functions to colour underlying mesh/model
for display or saving mesh. | |
![]() | ![]() | GCLReal | Error () |
![]() | ![]() | Returns error of a push/pull traversal. | |
![]() | ![]() | Void | Add () |
![]() | ![]() | Add received (gathered) energy R to current irradiance B. | |
![]() | ![]() | Void | Push () |
![]() | ![]() | Push accumulated irradiance to children. | |
![]() | ![]() | Void | Pull () |
![]() | ![]() | Pull up radiosity from children. | |
![]() | ![]() | Void | ClearB () |
![]() | ![]() | Prepare for a push/pull: clear B. | |
![]() | ![]() | Void | ClearR () |
![]() | ![]() | Get ready for a gather: clear R. | |
![]() | ![]() | Void | CalcLeafRadiosity () |
![]() | ![]() | transforms irradiance in B to radiosity. | |
![]() | ![]() | Void | InitRad () |
![]() | ![]() | initialise radiosity. | |
![]() | ![]() | Void | MakeChildLinks (HRElem *other, HRLink *link, Int which, Int levels) |
![]() | ![]() | Create links from children to 'other'. | |
![]() | ![]() | Void | EltSetVisPoints (HRElem *to, Point p[]) |
![]() | ![]() | return 16 points suitable for vis. sampling. | |
![]() | ![]() | Int | NumCoeffs () |
![]() | ![]() | Colour* | B_Coeffs () |
![]() | ![]() | radiosity coefficients. | |
![]() | ![]() | Colour* | R_Coeffs () |
![]() | ![]() | radiosity coefficients. | |
![]() | ![]() | Point | min |
![]() | ![]() | Point | max |
![]() | ![]() | Point | centre |
![]() | ![]() | Int | level |
![]() | ![]() | HRElemList | elems |
![]() | ![]() | Cluster* | child [8] |
![]() | ![]() | GCLReal | clusterVol |
![]() | ![]() | GCLReal | clusterArea |
![]() | ![]() | Colour | maxRho |
![]() | ![]() | Colour | E |
![]() | ![]() | Colour | B |
![]() | ![]() | Colour | R |
Static Public Members | |||
![]() | ![]() | Colour | lastB |
Definition at line 17 of file Cluster.h.
Cluster::Cluster () |
Definition at line 34 of file Cluster.cc.
Cluster::~Cluster () [virtual]
|
Definition at line 46 of file Cluster.cc.
Void Cluster::Add () [virtual]
|
Add received (gathered) energy R to current irradiance B.
Reimplemented from HRElem.
Definition at line 307 of file Cluster.cc.
Void Cluster::AddIrradiance (const Colour & srcR, const Vector & r) [virtual]
|
Void Cluster::ApplyToChildren (Void(HRElem::* method)(Void *), Void * ref = 0) [virtual]
|
Call given method on all children.
Reimplemented from HRElem.
Definition at line 454 of file Cluster.cc.
Colour * Cluster::B_Coeffs () [inline, virtual]
|
Void Cluster::CalcLeafRadiosity () [virtual]
|
transforms irradiance in B to radiosity.
Reimplemented from HRElem.
Definition at line 364 of file Cluster.cc.
Void Cluster::ClearB () [virtual]
|
Prepare for a push/pull: clear B.
Reimplemented from HRElem.
Definition at line 358 of file Cluster.cc.
Void Cluster::ClearR () [virtual]
|
Get ready for a gather: clear R.
Reimplemented from HRElem.
Definition at line 389 of file Cluster.cc.
Void Cluster::CreateBounds () |
Definition at line 66 of file Cluster.cc.
Cluster * Cluster::CreateHierarchy () |
Definition at line 146 of file Cluster.cc.
Void Cluster::DistributeColours () [virtual]
|
Use basis functions to colour underlying mesh/model for display or saving mesh.
Reimplemented from HRElem.
Definition at line 713 of file Cluster.cc.
Void Cluster::DistributeColoursBest (ShadeInfo & shadeInfo) [virtual]
|
Use basis functions to colour underlying mesh/model for display or saving mesh.
Reimplemented from HRElem.
Definition at line 725 of file Cluster.cc.
Void Cluster::DrawLeafElem (Renderer & r) [virtual]
|
Draw the node by drawing corresponding leaves.
Reimplemented from HRElem.
Definition at line 265 of file Cluster.cc.
Void Cluster::DrawNodeElem (Renderer & r) [virtual]
|
Void Cluster::DrawPatches (Renderer & r) |
Definition at line 291 of file Cluster.cc.
GCLReal Cluster::EltArea () [inline, virtual]
|
GCLReal Cluster::EltCalcTransport (HRElem * from, Matd & coeffs) [virtual]
|
Use EltSampleTransport to find coeffs s.t.
to->R_Coeffs += from->B_Coeffs * coeffs. Returns an error estimate.
Reimplemented from HRElem.
Definition at line 545 of file Cluster.cc.
Point Cluster::EltCentre () [inline, virtual]
|
Colour Cluster::EltE () [inline, virtual]
|
Void Cluster::EltGetSamples (Int numSamples, Point p[]) [virtual]
|
GCLReal Cluster::EltMaxProjArea (const Vector & n) [virtual]
|
find max projected area of the cluster in the direction of n.
Reimplemented from HRElem.
Definition at line 682 of file Cluster.cc.
GCLReal Cluster::EltProjArea (const Vector & n) [virtual]
|
find projected area of the cluster in the direction of n.
Reimplemented from HRElem.
Definition at line 648 of file Cluster.cc.
Colour Cluster::EltRho () [inline, virtual]
|
Void Cluster::EltSampleTransport (Int numSamples, Point p[], Vector n[], Matd & coeffs) [virtual]
|
Find coeffs such that coeffs * src_radiosity = irradiance at p[], n[].
If n = 0, calculate isotropic point irradiance at each point.
Reimplemented from HRElem.
Definition at line 470 of file Cluster.cc.
Void Cluster::EltSetVisPoints (HRElem * to, Point p[]) [virtual]
|
Void Cluster::EltUpdateBounds (Point & min, Point & max) [inline, virtual]
|
GCLReal Cluster::Error () [virtual]
|
Returns error of a push/pull traversal.
Reimplemented from HRElem.
Definition at line 384 of file Cluster.cc.
Colour Cluster::GetPower (const Vector & m) [virtual]
|
Void Cluster::InitRad () [virtual]
|
Bool Cluster::IsLeaf () [virtual]
|
Is this a leaf element in the solution?
Reimplemented from HRElem.
Definition at line 449 of file Cluster.cc.
Void Cluster::MakeChildLinks (HRElem * other, HRLink * link, Int which, Int levels) [virtual]
|
Create links from children to 'other'.
Reimplemented from HRElem.
Definition at line 397 of file Cluster.cc.
Int Cluster::NumCoeffs () [inline, virtual]
|
Void Cluster::Print (ostream & s) |
Definition at line 241 of file Cluster.cc.
Void Cluster::Pull () [virtual]
|
Pull up radiosity from children.
Reimplemented from HRElem.
Definition at line 331 of file Cluster.cc.
Void Cluster::Push () [virtual]
|
Push accumulated irradiance to children.
Reimplemented from HRElem.
Definition at line 314 of file Cluster.cc.
Void Cluster::PushElems () |
Definition at line 89 of file Cluster.cc.
Colour * Cluster::R_Coeffs () [inline, virtual]
|
Void Cluster::Reset () [virtual]
|
Void Cluster::SetElems (HRElemList * elemsIn) |
Definition at line 77 of file Cluster.cc.
Colour Cluster::B |
Colour Cluster::E |
Colour Cluster::R |
Point Cluster::centre |
Cluster * Cluster::child[8] |
GCLReal Cluster::clusterArea |
GCLReal Cluster::clusterVol |
HRElemList Cluster::elems |
Colour Cluster::lastB [static]
|
Int Cluster::level |
Point Cluster::max |
Colour Cluster::maxRho |
Point Cluster::min |