XPlor/libs/xassets/xcstaticmodels.h

57 lines
1.3 KiB
C
Raw Normal View History

2025-08-17 13:14:17 -04:00
#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