#include <GeomAlgoAPI_XAOImport.h>
-#include <cassert>
-
#include <TopoDS_Shape.hxx>
#include <XAO_XaoExporter.hxx>
*/
//=============================================================================
std::shared_ptr<GeomAPI_Shape> XAOImport(const std::string& theFileName,
- const std::string&,
std::string& theError,
XAO::Xao* theXao)
{
- assert(theXao);
-
#ifdef _DEBUG
std::cout << "Import XAO from file " << theFileName << std::endl;
#endif
+ if (theFileName.empty() || !theXao) {
+ theError = "An invalid argument.";
+ return std::shared_ptr<GeomAPI_Shape>();
+ }
+
TopoDS_Shape aShape;
try {
-// XAO::Xao aXao;
- if (XAO::XaoExporter::readFromFile(theFileName, theXao/*&aXao*/)) {
- XAO::Geometry* aGeometry = /*aXao*/theXao->getGeometry();
+ if (XAO::XaoExporter::readFromFile(theFileName, theXao)) {
+ XAO::Geometry* aGeometry = theXao->getGeometry();
XAO::Format aFormat = aGeometry->getFormat();
if (aFormat == XAO::BREP) {
if (XAO::BrepGeometry* aBrepGeometry = dynamic_cast<XAO::BrepGeometry*>(aGeometry))