IgsIO.h 880 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. #ifndef IGSIO_H
  2. #define IGSIO_H
  3. #include "BaseIO.h"
  4. #include <IGESCAFControl_Reader.hxx>
  5. #include <BinXCAFDrivers.hxx>
  6. #include <XCAFApp_Application.hxx>
  7. class IgsIO : public BaseIO
  8. {
  9. public:
  10. IgsIO() {}
  11. virtual void Read(string fileName);
  12. };
  13. inline void IgsIO::Read(string fileName)
  14. {
  15. cout << "ReadStep fileName: " << fileName << endl;
  16. Handle(XCAFApp_Application) anApp = XCAFApp_Application::GetApplication();
  17. BinXCAFDrivers::DefineFormat(anApp);
  18. anApp->NewDocument("BinXCAF", doc);
  19. IGESCAFControl_Reader aStepReader;
  20. aStepReader.SetColorMode(true);
  21. aStepReader.SetNameMode(true);
  22. aStepReader.ReadFile(fileName.c_str());
  23. aStepReader.Transfer(doc);
  24. #ifdef OCCTEST
  25. PCDM_StoreStatus sstate = anApp->SaveAs(doc, "F:/test.xbf");
  26. if (sstate != PCDM_SS_OK)
  27. {
  28. cout << "Save Failed" << endl;
  29. }
  30. #endif
  31. cout << "ReadStep fileName Successed" << endl;
  32. }
  33. #endif