mirror of
https://github.com/PrimeDecomp/prime.git
synced 2026-07-12 18:18:56 -07:00
36 lines
1.0 KiB
C++
36 lines
1.0 KiB
C++
#ifndef _CDRAWABLEPLANEOBJECT
|
|
#define _CDRAWABLEPLANEOBJECT
|
|
|
|
#include "types.h"
|
|
|
|
#include "Kyoto/Graphics/CDrawable.hpp"
|
|
#include "Kyoto/Math/CAABox.hpp"
|
|
#include "Kyoto/Math/CPlane.hpp"
|
|
|
|
class CDrawablePlaneObject : public CDrawable {
|
|
public:
|
|
CDrawablePlaneObject(EDrawableType dtype, float closeDist, float farDist, const CAABox& aabb,
|
|
bool invertTest, const CPlane& plane, bool zOnly, const void* data)
|
|
: CDrawable(dtype, 0, closeDist, aabb, data)
|
|
, x24_targetBucket(0)
|
|
, x28_farDist(farDist)
|
|
, x2c_plane(plane)
|
|
, x3c_24_invertTest(invertTest)
|
|
, x3c_25_zOnly(zOnly) {}
|
|
|
|
ushort GetBucketIndex() const { return x24_targetBucket; }
|
|
void SetBucketIndex(ushort idx) { x24_targetBucket = idx; }
|
|
const CPlane& GetPlane() const { return x2c_plane; }
|
|
bool IsViewInFront() const { return x3c_24_invertTest; }
|
|
bool IsOptimalPlane() const { return x3c_25_zOnly; }
|
|
|
|
private:
|
|
ushort x24_targetBucket;
|
|
float x28_farDist;
|
|
CPlane x2c_plane;
|
|
bool x3c_24_invertTest : 1;
|
|
bool x3c_25_zOnly : 1;
|
|
};
|
|
|
|
#endif // _CDRAWABLEPLANEOBJECT
|