85 lines
2.1 KiB
C++
85 lines
2.1 KiB
C++
#include "xcollisionaabbtree.h"
|
|
|
|
XCollisionAabbTree::XCollisionAabbTree()
|
|
: XAsset()
|
|
, mOrigin()
|
|
, mHalfSize()
|
|
, mMaterialIndex(0)
|
|
, mChildCount(0)
|
|
, mTreeIndex()
|
|
{
|
|
SetName("Collision AABB Tree");
|
|
}
|
|
|
|
XCollisionAabbTree::~XCollisionAabbTree()
|
|
{
|
|
}
|
|
|
|
void XCollisionAabbTree::ParseData(XDataStream *aStream)
|
|
{
|
|
if (GetPtr() == -1)
|
|
{
|
|
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())));
|
|
|
|
mHalfSize.setX(aStream->ParseSingle(QString("%1 half size x").arg(GetName())));
|
|
mHalfSize.setY(aStream->ParseSingle(QString("%1 half size y").arg(GetName())));
|
|
mHalfSize.setZ(aStream->ParseSingle(QString("%1 half size z").arg(GetName())));
|
|
|
|
mMaterialIndex = aStream->ParseUInt32(QString("%1 material index").arg(GetName()));
|
|
mChildCount = aStream->ParseUInt32(QString("%1 child count").arg(GetName()));
|
|
|
|
mTreeIndex.ParseData(aStream);
|
|
}
|
|
}
|
|
|
|
void XCollisionAabbTree::Clear()
|
|
{
|
|
mOrigin = QVector3D();
|
|
mHalfSize = QVector3D();
|
|
mMaterialIndex = 0;
|
|
mChildCount = 0;
|
|
mTreeIndex.Clear();
|
|
}
|
|
|
|
QVector3D XCollisionAabbTree::GetOrigin() const {
|
|
return mOrigin;
|
|
}
|
|
|
|
void XCollisionAabbTree::SetOrigin(QVector3D aOrigin) {
|
|
mOrigin = aOrigin;
|
|
}
|
|
|
|
QVector3D XCollisionAabbTree::GetHalfSize() const {
|
|
return mHalfSize;
|
|
}
|
|
|
|
void XCollisionAabbTree::SetHalfSize(QVector3D aHalfSize) {
|
|
mHalfSize = aHalfSize;
|
|
}
|
|
|
|
quint32 XCollisionAabbTree::GetMaterialIndex() const {
|
|
return mMaterialIndex;
|
|
}
|
|
|
|
void XCollisionAabbTree::SetMaterialIndex(quint32 aIndex) {
|
|
mMaterialIndex = aIndex;
|
|
}
|
|
|
|
quint32 XCollisionAabbTree::GetChildCount() const {
|
|
return mChildCount;
|
|
}
|
|
|
|
void XCollisionAabbTree::SetChildCount(quint32 count) {
|
|
mChildCount = count;
|
|
}
|
|
|
|
XCollisionAabbTreeIndex& XCollisionAabbTree::GetTreeIndex() {
|
|
return mTreeIndex;
|
|
}
|
|
|
|
void XCollisionAabbTree::SetTreeIndex(const XCollisionAabbTreeIndex& aTreeIndex) {
|
|
mTreeIndex = aTreeIndex;
|
|
}
|