Implement XcBrush – brush geometry utilities
This commit is contained in:
parent
1eb340aaea
commit
d92098571e
@ -6,10 +6,8 @@ XCBrush::XCBrush()
|
||||
, mContents(0)
|
||||
, mMaxs()
|
||||
, mNumsides()
|
||||
, mSidesPtr()
|
||||
, mSides()
|
||||
, mAxialMaterialNum()
|
||||
, mBaseAdjacentSidePtr()
|
||||
, mBaseAdjacentSide()
|
||||
, mFirstAdjacentSideOffsets()
|
||||
, mEdgeCount()
|
||||
@ -24,7 +22,59 @@ XCBrush::~XCBrush()
|
||||
|
||||
void XCBrush::ParseData(QDataStream *aStream)
|
||||
{
|
||||
|
||||
if (GetPtr() == -1)
|
||||
{
|
||||
qint32 sidesPtr, baseAdjacentSidePtr;
|
||||
*aStream
|
||||
>> mMins[0]
|
||||
>> mMins[1]
|
||||
>> mMins[2]
|
||||
>> mContents
|
||||
>> mMaxs[0]
|
||||
>> mMaxs[1]
|
||||
>> mMaxs[2]
|
||||
>> mNumsides
|
||||
>> sidesPtr;
|
||||
|
||||
for (int i = 0; i < 3; i++)
|
||||
{
|
||||
*aStream
|
||||
>> mAxialMaterialNum[i][0]
|
||||
>> mAxialMaterialNum[i][1]
|
||||
>> mAxialMaterialNum[i][2];
|
||||
}
|
||||
|
||||
*aStream >> baseAdjacentSidePtr;
|
||||
|
||||
for (int i = 0; i < 3; i++)
|
||||
{
|
||||
*aStream
|
||||
>> mFirstAdjacentSideOffsets[i][0]
|
||||
>> mFirstAdjacentSideOffsets[i][1]
|
||||
>> mFirstAdjacentSideOffsets[i][2];
|
||||
}
|
||||
for (int i = 0; i < 3; i++)
|
||||
{
|
||||
*aStream
|
||||
>> mEdgeCount[i][0]
|
||||
>> mEdgeCount[i][1]
|
||||
>> mEdgeCount[i][2];
|
||||
}
|
||||
|
||||
aStream->skipRawData(10);
|
||||
|
||||
if (sidesPtr == -1)
|
||||
{
|
||||
XCBrushSide newSize;
|
||||
newSize.ParseData(aStream);
|
||||
}
|
||||
|
||||
if (baseAdjacentSidePtr == -1)
|
||||
{
|
||||
XCBrushSide newSize;
|
||||
newSize.ParseData(aStream);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void XCBrush::Clear()
|
||||
@ -33,10 +83,8 @@ void XCBrush::Clear()
|
||||
mContents = 0;
|
||||
mMaxs = QVector3D();
|
||||
mNumsides = 0;
|
||||
mSidesPtr = 0;
|
||||
mSides = QVector<XCBrushSide>();
|
||||
mAxialMaterialNum = QVector<QVector3D>();
|
||||
mBaseAdjacentSidePtr = 0;
|
||||
mBaseAdjacentSide = 0;
|
||||
mFirstAdjacentSideOffsets = QVector<QVector3D>();
|
||||
mEdgeCount = QVector<QVector3D>();
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user