Implement XcBrush – brush geometry utilities
This commit is contained in:
parent
1eb340aaea
commit
d92098571e
@ -6,10 +6,8 @@ XCBrush::XCBrush()
|
|||||||
, mContents(0)
|
, mContents(0)
|
||||||
, mMaxs()
|
, mMaxs()
|
||||||
, mNumsides()
|
, mNumsides()
|
||||||
, mSidesPtr()
|
|
||||||
, mSides()
|
, mSides()
|
||||||
, mAxialMaterialNum()
|
, mAxialMaterialNum()
|
||||||
, mBaseAdjacentSidePtr()
|
|
||||||
, mBaseAdjacentSide()
|
, mBaseAdjacentSide()
|
||||||
, mFirstAdjacentSideOffsets()
|
, mFirstAdjacentSideOffsets()
|
||||||
, mEdgeCount()
|
, mEdgeCount()
|
||||||
@ -24,7 +22,59 @@ XCBrush::~XCBrush()
|
|||||||
|
|
||||||
void XCBrush::ParseData(QDataStream *aStream)
|
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()
|
void XCBrush::Clear()
|
||||||
@ -33,10 +83,8 @@ void XCBrush::Clear()
|
|||||||
mContents = 0;
|
mContents = 0;
|
||||||
mMaxs = QVector3D();
|
mMaxs = QVector3D();
|
||||||
mNumsides = 0;
|
mNumsides = 0;
|
||||||
mSidesPtr = 0;
|
|
||||||
mSides = QVector<XCBrushSide>();
|
mSides = QVector<XCBrushSide>();
|
||||||
mAxialMaterialNum = QVector<QVector3D>();
|
mAxialMaterialNum = QVector<QVector3D>();
|
||||||
mBaseAdjacentSidePtr = 0;
|
|
||||||
mBaseAdjacentSide = 0;
|
mBaseAdjacentSide = 0;
|
||||||
mFirstAdjacentSideOffsets = QVector<QVector3D>();
|
mFirstAdjacentSideOffsets = QVector<QVector3D>();
|
||||||
mEdgeCount = QVector<QVector3D>();
|
mEdgeCount = QVector<QVector3D>();
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user