JT: next steps.
parent
6ed4f5d936
commit
6b3d6c3b8f
|
@ -27,7 +27,7 @@ namespace {
|
||||||
}
|
}
|
||||||
|
|
||||||
enum SegmentType {
|
enum SegmentType {
|
||||||
SceneGraph = 1,
|
LogicalSceneGraph = 1,
|
||||||
JT_B_Rep,
|
JT_B_Rep,
|
||||||
PMI_Data,
|
PMI_Data,
|
||||||
MetaData,
|
MetaData,
|
||||||
|
@ -134,7 +134,7 @@ TokenEntry* JTImporter::FindTokenEntryByGuid(GUID& guid) {
|
||||||
|
|
||||||
static bool SupportsZlibCompression(SegmentType type) {
|
static bool SupportsZlibCompression(SegmentType type) {
|
||||||
switch (type) {
|
switch (type) {
|
||||||
case SceneGraph:
|
case LogicalSceneGraph:
|
||||||
case JT_B_Rep:
|
case JT_B_Rep:
|
||||||
case PMI_Data:
|
case PMI_Data:
|
||||||
case MetaData:
|
case MetaData:
|
||||||
|
@ -179,6 +179,67 @@ void JTImporter::ReadDataSegmentHeader(BinReader& reader) {
|
||||||
reader.readGUID(mCurrentDataSegment->m_DataSegmentHeader.guid);
|
reader.readGUID(mCurrentDataSegment->m_DataSegmentHeader.guid);
|
||||||
reader.readI32(mCurrentDataSegment->m_DataSegmentHeader.type);
|
reader.readI32(mCurrentDataSegment->m_DataSegmentHeader.type);
|
||||||
reader.readI32(mCurrentDataSegment->m_DataSegmentHeader.length);
|
reader.readI32(mCurrentDataSegment->m_DataSegmentHeader.length);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void JTImporter::ReadLogicalElementHeaderZLib(BinReader& reader) {
|
||||||
|
i32 compressionFlag;
|
||||||
|
reader.readI32(compressionFlag);
|
||||||
|
i32 compressedLen;
|
||||||
|
reader.readI32(compressedLen);
|
||||||
|
u8 compressionAlgo;
|
||||||
|
reader.readUChar(compressionAlgo);
|
||||||
|
}
|
||||||
|
|
||||||
|
void JTImporter::ReadSegmentType(BinReader& reader) {
|
||||||
|
SegmentType type = static_cast<SegmentType>(mCurrentDataSegment->m_DataSegmentHeader.type);
|
||||||
|
switch (type) {
|
||||||
|
case LogicalSceneGraph:
|
||||||
|
ReadLSG(reader);
|
||||||
|
break;
|
||||||
|
case JT_B_Rep:
|
||||||
|
break;
|
||||||
|
case PMI_Data:
|
||||||
|
break;
|
||||||
|
case MetaData:
|
||||||
|
break;
|
||||||
|
case Shape:
|
||||||
|
break;
|
||||||
|
case Shape_LOD0:
|
||||||
|
break;
|
||||||
|
case Shape_LOD1:
|
||||||
|
break;
|
||||||
|
case Shape_LOD2:
|
||||||
|
break;
|
||||||
|
case Shape_LOD3:
|
||||||
|
break;
|
||||||
|
case Shape_LOD4:
|
||||||
|
break;
|
||||||
|
case Shape_LOD5:
|
||||||
|
break;
|
||||||
|
case Shape_LOD6:
|
||||||
|
break;
|
||||||
|
case Shape_LOD7:
|
||||||
|
break;
|
||||||
|
case Shape_LOD8:
|
||||||
|
break;
|
||||||
|
case Shape_LOD9:
|
||||||
|
break;
|
||||||
|
case XT_B_Rep:
|
||||||
|
break;
|
||||||
|
case Wireframe_Rep:
|
||||||
|
break;
|
||||||
|
case ULP:
|
||||||
|
break;
|
||||||
|
case LWPA:
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void JTImporter::ReadLSG(BinReader& reader) {
|
||||||
|
ReadLogicalElementHeaderZLib(reader);
|
||||||
}
|
}
|
||||||
|
|
||||||
} // end namespace Assimp
|
} // end namespace Assimp
|
||||||
|
|
|
@ -192,6 +192,9 @@ protected:
|
||||||
TokenEntry* FindTokenEntryByGuid(GUID& id);
|
TokenEntry* FindTokenEntryByGuid(GUID& id);
|
||||||
void ReadDataSegment(BinReader& reader);
|
void ReadDataSegment(BinReader& reader);
|
||||||
void ReadDataSegmentHeader(BinReader& reader);
|
void ReadDataSegmentHeader(BinReader& reader);
|
||||||
|
void ReadLogicalElementHeaderZLib(BinReader& reader);
|
||||||
|
void ReadSegmentType(BinReader& reader);
|
||||||
|
void ReadLSG(BinReader& reader);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
JTModel mJTModel;
|
JTModel mJTModel;
|
||||||
|
|
Loading…
Reference in New Issue