www

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs

lod.hh (670B)


      1 #ifndef _LOD_HH_
      2 #define _LOD_HH_
      3 
      4 #include "all_includes.hh"
      5 
      6 class Lod {
      7 private :
      8 	Heap merge[6];    // {xMin, xMax, yMin, yMax, zMin, zMax}.
      9 	Heap splitIn[6];  // {xMinIn, xMaxIn, yMinIn, yMaxIn, zMinIn, zMaxIn}.
     10 	Heap splitOut[6]; // {xMinOut, xMaxOut, yMinOut, yMaxOut, zMinOut, zMaxOut}.
     11 	float camera[3];
     12 private:
     13 	void doSplit(Chose* c);
     14 	void doMerge(Chose* c);
     15 	void doSubMerge(Chose* c);
     16 public :
     17 	Lod(Vertex camera, Chose* root);
     18 	void addMergeCube(Chose* chose);
     19 	void addSplitCube(Chose* chose);
     20 	void setCamera(Vertex camera);
     21 };
     22 
     23 struct LodNode {
     24 	float aabb[6];
     25 	float splitBox[6];
     26 	float mergeBox[6];
     27     int inCounter;
     28 	bool firstBBPoint;
     29 };
     30 
     31 #endif