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

AnaMesh.cc

Go to the documentation of this file.
00001 /*
00002     File:           AnaMesh.cc
00003 
00004     Function:       See header file
00005 
00006     Author(s):      Andrew Willmott
00007 
00008     Copyright:      (c) 1997-2000, Andrew Willmott
00009 
00010 */
00011 
00012 #include "AnaMesh.h"
00013 #include "AnaRad.h"
00014 
00015 Colour AnaGrid::Sample(Coord c)
00016 // calculate radiosity using PatchFactor directly
00017 {
00018     Int     i, j;
00019     Colour  patchCol;
00020     GCLReal s = c[0];
00021     GCLReal t = c[1];       
00022     AnaRad  *rad = (AnaRad*) gRadControl->radObject;
00023 
00024     Point   p = Vertex(1) + s * (Vertex(2) - Vertex(1)) 
00025         + t * (Vertex(0) - Vertex(1));
00026 
00027     patchCol = cBlack;
00028         
00029     for (j = 0; j < rad->lights.NumItems(); j++)    
00030         patchCol += rad->lights[j]->Emittance()
00031             * rad->lights[j]->PatchFactor(p, Normal());
00032         
00033     patchCol *= Reflectance();
00034     patchCol += Emittance();
00035     
00036     return(patchCol);
00037 }

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