StepFile: introduce generated parser code.

This commit is contained in:
Kim Kulling
2018-10-05 19:41:52 +02:00
parent 26e9591cc9
commit aceaecaed7
13 changed files with 18251 additions and 29 deletions

View File

@@ -724,6 +724,9 @@ SET( Step_SRCS
STEPFile.h
Importer/StepFile/StepFileImporter.h
Importer/StepFile/StepFileImporter.cpp
Importer/StepFile/StepFileGen1.cpp
Importer/StepFile/StepFileGen2.cpp
Importer/StepFile/StepReaderGen.h
StepExporter.h
StepExporter.cpp
)

View File

View File

@@ -49,7 +49,9 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#include <assimp/DefaultIOSystem.h>
namespace Assimp {
namespace STEP {
namespace StepFile {
using namespace STEP;
static const aiImporterDesc desc = { "StepFile Importer",
"",
@@ -105,7 +107,7 @@ void StepFileImporter::InternReadFile(const std::string &file, aiScene* pScene,
}
}
} // Namespace STEP
} // Namespace StepFile
} // Namespace Assimp
#endif // ASSIMP_BUILD_NO_STEPFILE_IMPORTER

View File

@@ -48,7 +48,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#include <assimp/BaseImporter.h>
namespace Assimp {
namespace STEP {
namespace StepFile {
class StepFileImporter : public BaseImporter {
public:
@@ -63,7 +63,7 @@ protected:
private:
};
} // Namespace STEP
} // Namespace StepFile
} // Namespace Assimp
#endif // ASSIMP_BUILD_NO_STEPFILE_IMPORTER

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -356,7 +356,7 @@ void GetImporterInstanceList(std::vector< BaseImporter* >& out)
out.push_back( new MMDImporter() );
#endif
#ifndef ASSIMP_BUILD_NO_STEPFILE_IMPORTER
out.push_back(new STEP::StepFileImporter());
out.push_back(new StepFile::StepFileImporter());
#endif
}

View File

@@ -164,7 +164,6 @@ namespace STEP {
class DataType
{
public:
typedef std::shared_ptr<const DataType> Out;
public:
@@ -357,6 +356,18 @@ namespace STEP {
MemberList members;
};
class BINARY : public PrimitiveDataType<uint32_t> {
public:
BINARY(uint32_t val)
: PrimitiveDataType<uint32_t>(val) {
// empty
}
BINARY()
: PrimitiveDataType<uint32_t>(TypeError::ENTITY_NOT_SPECIFIED) {
// empty
}
};
// -------------------------------------------------------------------------------
/* Not exactly a full EXPRESS schema but rather a list of conversion functions