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

MRFaceCluster.h

Go to the documentation of this file.
00001 /*
00002     File:       MRFaceCluster.h
00003 
00004     Function:   
00005 
00006     Author:     Andrew Willmott
00007 
00008     Copyright:  (c) 2000, Andrew Willmott
00009 */
00010 
00011 #ifndef __MRFaceCluster__
00012 #define __MRFaceCluster__
00013 
00014 #include "gcl/Renderer.h"
00015 #include "gcl/Quaternion.h"
00016 #include "cl/NArray.h"
00017 
00018 class FaceCluster
00019 {
00020 public: 
00021     FaceCluster();
00022 
00023     Bool            IsLeaf()
00024                     { return(child[0] < 0); }
00025 
00026     Int             child[2];       
00027 
00028     Quaternion      axesQuat;
00033     Point           min;            
00034     Point           max;            
00035 
00036     Vector          areaNormal;
00037     GCLReal         totArea;
00038     Byte            sideArea[6];
00039 
00040     Void            GetAxes(VecTrans &axes) const
00041                     { axes.MakeRot(axesQuat); }
00042     Void            SetAxes(const VecTrans &axes)
00043                     { axesQuat = MakeQuat(axes); };
00044 
00045     Void            Draw(Renderer &r);
00046     Void            DrawSideAreas(Renderer &r);
00047     Void            DrawPlane(Renderer &r);
00048     Void            DrawBox(Renderer &r, Bool solid);
00049 };
00050 
00051 typedef NArray<FaceCluster> FaceClusList;
00052 
00053 #endif

Generated at Sat Aug 5 00:17:00 2000 for Graphics Class Library by doxygen 1.1.0 written by Dimitri van Heesch, © 1997-2000