XPlor/libs/xassets/xcstaticmodel.cpp

61 lines
1.8 KiB
C++
Raw Normal View History

2025-09-05 21:24:54 +00:00
#include "xcstaticmodel.h"
XCStaticModel::XCStaticModel()
: XAsset()
, mWritable()
2025-09-07 13:13:27 -04:00
, mModel()
2025-09-05 21:24:54 +00:00
, mOrigin()
, mInvScaledAxis()
, mAbsmin()
, mAbsmax()
{
2025-09-10 21:58:26 -04:00
SetName("C Static Model");
2025-09-05 21:24:54 +00:00
}
2025-09-07 13:13:27 -04:00
XCStaticModel::~XCStaticModel()
{
}
2025-09-10 21:58:26 -04:00
void XCStaticModel::ParseData(XDataStream *aStream)
{
if (GetPtr() == -1)
{
2025-09-05 21:24:54 +00:00
mWritable.ParseData(aStream);
2025-09-07 12:36:08 -04:00
aStream->skipRawData(2);
2025-09-05 21:24:54 +00:00
2025-09-10 21:58:26 -04:00
qint32 xModelPtr = aStream->ParseInt32(QString("%1 model ptr").arg(GetName()));
mOrigin.setX(aStream->ParseSingle(QString("%1 origin x").arg(GetName())));
mOrigin.setY(aStream->ParseSingle(QString("%1 origin y").arg(GetName())));
mOrigin.setZ(aStream->ParseSingle(QString("%1 origin z").arg(GetName())));
if (xModelPtr)
{
mModel.ParsePtr(aStream, false);
mModel.ParseData(aStream);
2025-09-05 21:24:54 +00:00
}
2025-09-10 21:58:26 -04:00
for (int i = 0; i < 3; ++i)
{
mInvScaledAxis[i].setX(aStream->ParseSingle(QString("%1 inv scaled axis[%2] x").arg(GetName()).arg(i)));
mInvScaledAxis[i].setY(aStream->ParseSingle(QString("%1 inv scaled axis[%2] y").arg(GetName()).arg(i)));
mInvScaledAxis[i].setZ(aStream->ParseSingle(QString("%1 inv scaled axis[%2] z").arg(GetName()).arg(i)));
}
mAbsmin.setX(aStream->ParseSingle(QString("%1 absmin x").arg(GetName())));
mAbsmin.setY(aStream->ParseSingle(QString("%1 absmin y").arg(GetName())));
mAbsmin.setZ(aStream->ParseSingle(QString("%1 absmin z").arg(GetName())));
mAbsmax.setX(aStream->ParseSingle(QString("%1 absmax x").arg(GetName())));
mAbsmax.setY(aStream->ParseSingle(QString("%1 absmax y").arg(GetName())));
mAbsmax.setZ(aStream->ParseSingle(QString("%1 absmax z").arg(GetName())));
2025-09-05 21:24:54 +00:00
}
}
void XCStaticModel::Clear()
{
}