00001 /*
00002 File: HProgRad.h
00003
00004 Function: Provides a class for lighting a scene using progressive
00005 radiosity with hierarchical refinement.
00006
00007 Author(s): Andrew Willmott
00008
00009 Copyright: (c) 1997-2000, Andrew Willmott
00010 */
00011
00012
00013 #ifndef __HProgRad__
00014 #define __HProgRad__
00015
00016 #include "ProgRad.h"
00017
00018 class HProgRad : public ProgRad
00019 {
00020 public:
00021 Void ResetOptions();
00022
00023 Bool Render();
00024 RadElem *NewMesh();
00025 Int Stage(Int stage);
00026 Void DrawMatrix(Renderer &r);
00027 Void DumpStats();
00028 PatchList *GetElements();
00029 Void ColourVertices();
00030 Void DumpMemoryUse();
00031
00032 PatchList elements; // elements
00033 IndexList eltParents; // indices of parent patches.
00034
00035 #ifdef RAD_VIS
00036 Array<PatchList> FFElts;
00037 #endif
00038
00039 static Void *New() { return(new HProgRad); };
00040 };
00041
00042 #endif