Main Page Class Hierarchy Compound List File List Compound Members File Members

Haar.h

Go to the documentation of this file.
00001 /*
00002 File: Haar.h
00003 
00004 Function: Implements haar wavelet basis over an element
00005 
00006 Author: Andrew Willmott
00007 
00008 Copyright: (c) 1996-2000, Andrew Willmott
00009 */
00010 
00011 #ifndef __Haar__
00012 #define __Haar__
00013 
00014 #include "HRMesh.h"
00015 
00016 class HaarElem;
00017 
00018  class HaarLink : public HRLink
00019 {
00020 public:
00021  HRLink *New() { return new HaarLink; };
00022 
00023  HaarElem *To() { return((HaarElem*) to); };
00024  HaarElem *From() { return((HaarElem*) from); };
00025 
00026 Void Gather(); 
00027 Bool CalcTransport();
00028 Bool CalcVisibility(HRLink *parent, Bool reuse);
00029 GCLReal Error();
00030 GCLReal BFAError();
00031 
00032 Void Print(ostream &s);
00033 Void DrawLink(Renderer &r, 
00034 GCLReal left, GCLReal top,
00035 GCLReal right, GCLReal bottom, 
00036 GCLReal weight
00037 );
00038 
00039  GCLReal Strength() { return(transport); };
00040 
00041  GCLReal transport;
00042  GCLReal error;
00043 };
00044 
00045  class HaarElem : public HRMeshElem
00046 {
00047 public:
00048 Void SetParent(HierElem &parent);
00049  StrConst Name() { return("haar"); };
00050  HierElem *New() { return(new HaarElem); };
00051 
00052 Colour SampleLeaf(Coord c);
00053 Void Print(ostream &s);
00054 Void PrintSelf(ostream &s);
00055 Void ParseSelf(istream &s);
00056 
00057 Void DistributeColours();
00058 Void DistributeColoursBest(ShadeInfo &shadeInfo);
00059 
00060 Void Add();
00061 Void Push();
00062 Void Pull();
00063 Void CalcLeafRadiosity();
00064 GCLReal Error();
00065 Void ClearB();
00066 Void ClearR();
00067 
00068  HaarElem *Child(Int i)
00069 { return((HaarElem*) child[i]); };
00070 
00071 // gen wave stuff
00072 Void EltSampleTransport(Int numSamples, Point p[], Vector n[],
00073 Matd &coeffs);
00074 GCLReal EltCalcTransport(HRElem *from, Matd &coeffs);
00075 
00076 Void AddIrradiance(const Colour &E, const Vector &m);
00077 Colour GetPower(const Vector &m);
00078 
00079  Int NumCoeffs() { return(1); };
00080  Colour *B_Coeffs() { return(&B); };
00081  Colour *R_Coeffs() { return(&R); };
00082 
00083 // Fields
00084  Colour B;
00085  Colour R;
00086  static Colour lastB;
00087 
00088 };
00089 
00090 #endif

Generated at Sat Aug 5 00:26:51 2000 for Radiator by doxygen 1.1.0 written by Dimitri van Heesch, © 1997-2000

AltStyle によって変換されたページ (->オリジナル) /