57 lines
1.3 KiB
C++
57 lines
1.3 KiB
C++
|
|
|
|
|
|
|
|
|
|
|
|
#ifndef XCSTATICMODELS_H
|
|
#define XCSTATICMODELS_H
|
|
|
|
#include "xasset.h"
|
|
#include "xcstaticmodelwritable.h"
|
|
|
|
class XModel; // Forward declaration
|
|
|
|
class XCStaticModel_s : public XAsset
|
|
{
|
|
public:
|
|
explicit XCStaticModel_s();
|
|
|
|
void ParseData(QDataStream *aStream) override;
|
|
|
|
const XCStaticModelWritable& GetWritable() const;
|
|
void SetWritable(const XCStaticModelWritable& writable);
|
|
|
|
// Note: In a real implementation, we would have an XModel class
|
|
// For now, we'll just use a pointer to Model as a placeholder
|
|
void* GetXModel() const;
|
|
void SetXModel(void* model);
|
|
|
|
const float* GetOrigin() const;
|
|
void SetOrigin(const float* origin, size_t count = 3);
|
|
|
|
const float* GetInvScaledAxis() const;
|
|
void SetInvScaledAxis(const float* axis, size_t rows = 3, size_t cols = 3);
|
|
|
|
const float* GetAbsmin() const;
|
|
void SetAbsmin(const float* absmin, size_t count = 3);
|
|
|
|
const float* GetAbsmax() const;
|
|
void SetAbsmax(const float* absmax, size_t count = 3);
|
|
|
|
private:
|
|
XCStaticModelWritable mWritable;
|
|
void* mXModel = nullptr; // Placeholder for Model*
|
|
float mOrigin[3] = {0.0f, 0.0f, 0.0f};
|
|
float mInvScaledAxis[3][3] = {{0.0f}};
|
|
float mAbsmin[3] = {0.0f, 0.0f, 0.0f};
|
|
float mAbsmax[3] = {0.0f, 0.0f, 0.0f};
|
|
};
|
|
|
|
#endif // XCSTATICMODELS_H
|
|
|
|
|
|
|
|
|
|
|