XPlor/libs/xassets/xcleaf.cpp
2025-08-17 13:14:17 -04:00

98 lines
1.9 KiB
C++

#include "xcleaf.h"
XCLeaf::XCLeaf()
: XAsset() {
}
void XCLeaf::ParseData(QDataStream *aStream) {
if (GetPtr() == -1) {
aStream->read((char*)&mFirstCollAabbIndex, sizeof(quint16));
aStream->read((char*)&mCollAabbCount, sizeof(quint16));
aStream->read((char*)&mBrushContents, sizeof(int));
aStream->read((char*)&mTerrainContents, sizeof(int));
aStream->read((char*)mMins, 3 * sizeof(float));
aStream->read((char*)mMaxs, 3 * sizeof(float));
aStream->read((char*)&mLeafBrushNode, sizeof(int));
aStream->read((char*)&mCluster, sizeof(qint16));
}
}
quint16 XCLeaf::GetFirstCollAabbIndex() const {
return mFirstCollAabbIndex;
}
void XCLeaf::SetFirstCollAabbIndex(quint16 index) {
mFirstCollAabbIndex = index;
}
quint16 XCLeaf::GetCollAabbCount() const {
return mCollAabbCount;
}
void XCLeaf::SetCollAabbCount(quint16 count) {
mCollAabbCount = count;
}
int XCLeaf::GetBrushContents() const {
return mBrushContents;
}
void XCLeaf::SetBrushContents(int contents) {
mBrushContents = contents;
}
int XCLeaf::GetTerrainContents() const {
return mTerrainContents;
}
void XCLeaf::SetTerrainContents(int contents) {
mTerrainContents = contents;
}
const float* XCLeaf::GetMins() const {
return mMins;
}
void XCLeaf::SetMins(const float* mins, size_t count) {
if (count <= 3) {
memcpy(mMins, mins, count * sizeof(float));
}
}
const float* XCLeaf::GetMaxs() const {
return mMaxs;
}
void XCLeaf::SetMaxs(const float* maxs, size_t count) {
if (count <= 3) {
memcpy(mMaxs, maxs, count * sizeof(float));
}
}
int XCLeaf::GetLeafBrushNode() const {
return mLeafBrushNode;
}
void XCLeaf::SetLeafBrushNode(int node) {
mLeafBrushNode = node;
}
qint16 XCLeaf::GetCluster() const {
return mCluster;
}
void XCLeaf::SetCluster(qint16 cluster) {
mCluster = cluster;
}