Files
prime/include/Kyoto/Graphics/CDrawablePlaneObject.hpp

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