XPlor/libs/xassets/xcollisionaabbtree.cpp

77 lines
1.5 KiB
C++
Raw Normal View History

2025-08-17 13:14:17 -04:00
#include "xcollisionaabbtree.h"
XCollisionAabbTree::XCollisionAabbTree()
2025-09-05 18:35:17 -04:00
: XAsset()
, mOrigin()
, mHalfSize()
, mMaterialIndex(0)
, mChildCount(0)
, mTreeIndex()
{
}
XCollisionAabbTree::~XCollisionAabbTree()
{
2025-08-17 13:14:17 -04:00
}
void XCollisionAabbTree::ParseData(QDataStream *aStream) {
if (GetPtr() == -1) {
2025-09-05 18:35:17 -04:00
*aStream
>> mOrigin[0]
>> mOrigin[1]
>> mOrigin[2]
>> mHalfSize[0]
>> mHalfSize[1]
>> mHalfSize[2]
>> mMaterialIndex
>> mChildCount;
2025-08-17 13:14:17 -04:00
// Parse union
2025-09-05 18:35:17 -04:00
mTreeIndex.ParseData(aStream);
2025-08-17 13:14:17 -04:00
}
}
2025-09-05 18:35:17 -04:00
QVector3D XCollisionAabbTree::GetOrigin() const {
2025-08-17 13:14:17 -04:00
return mOrigin;
}
2025-09-05 18:35:17 -04:00
void XCollisionAabbTree::SetOrigin(QVector3D aOrigin) {
mOrigin = aOrigin;
2025-08-17 13:14:17 -04:00
}
2025-09-05 18:35:17 -04:00
QVector3D XCollisionAabbTree::GetHalfSize() const {
2025-08-17 13:14:17 -04:00
return mHalfSize;
}
2025-09-05 18:35:17 -04:00
void XCollisionAabbTree::SetHalfSize(QVector3D aHalfSize) {
mHalfSize = aHalfSize;
2025-08-17 13:14:17 -04:00
}
quint16 XCollisionAabbTree::GetMaterialIndex() const {
return mMaterialIndex;
}
2025-09-05 18:35:17 -04:00
void XCollisionAabbTree::SetMaterialIndex(quint16 aIndex) {
mMaterialIndex = aIndex;
2025-08-17 13:14:17 -04:00
}
quint16 XCollisionAabbTree::GetChildCount() const {
return mChildCount;
}
void XCollisionAabbTree::SetChildCount(quint16 count) {
mChildCount = count;
}
2025-09-05 18:35:17 -04:00
XCollisionAabbTreeIndex& XCollisionAabbTree::GetTreeIndex() {
return mTreeIndex;
2025-08-17 13:14:17 -04:00
}
2025-09-05 18:35:17 -04:00
void XCollisionAabbTree::SetTreeIndex(const XCollisionAabbTreeIndex& aTreeIndex) {
mTreeIndex = aTreeIndex;
2025-08-17 13:14:17 -04:00
}