2023-02-12 19:20:24 +00:00
|
|
|
#ifndef _CPVSVISOCTREE
|
|
|
|
#define _CPVSVISOCTREE
|
|
|
|
|
|
|
|
#include "Kyoto/Math/CAABox.hpp"
|
|
|
|
#include "Kyoto/Math/CVector3f.hpp"
|
|
|
|
#include "rstl/auto_ptr.hpp"
|
|
|
|
|
|
|
|
class CPVSVisOctree {
|
|
|
|
public:
|
|
|
|
int IterateSearch(uchar a, const CVector3f& pos) const;
|
|
|
|
uint GetNumChildren(uchar a) const;
|
2023-10-24 16:24:51 +00:00
|
|
|
uint GetNumObjects() const { return mNumObjects; }
|
|
|
|
uint GetNumLights() const { return mNumLights; }
|
2023-02-12 19:20:24 +00:00
|
|
|
|
2023-10-20 04:15:38 +00:00
|
|
|
static CPVSVisOctree MakePVSVisOctree(const char* data, int len);
|
|
|
|
|
2023-02-12 19:20:24 +00:00
|
|
|
private:
|
|
|
|
CAABox mBounds;
|
|
|
|
uint mNumObjects;
|
|
|
|
uint mNumLights;
|
|
|
|
rstl::auto_ptr< uchar > mOctreeData;
|
|
|
|
uint _28;
|
|
|
|
CAABox mSearchBounds;
|
|
|
|
};
|
|
|
|
|
|
|
|
#endif // _CPVSVISOCTREE
|