#include <Utils_ExceptHandlers.hxx>
+#include <Basics_OCCTVersion.hxx>
+
// OCCT Includes
#include <BRepMesh_IncrementalMesh.hxx>
// skl 30.06.2008
// additional workaround for bugs 19899, 19908 and 19910 from Mantis
+#if OCC_VERSION_LARGE < 0x07070000
aResult = GEOMUtils::GetMinDistanceSingular(theShape1, theShape2, thePnt1, thePnt2);
+#endif
/*
if (dist > -1.0) {
// KERNEL includes
#include <utilities.h>
#include <Basics_Utils.hxx>
+#include <Basics_OCCTVersion.hxx>
// GEOM includes
#include "GEOM_Function.hxx"
// OOCT includes
#include <IGESControl_Controller.hxx>
#include <IGESControl_Writer.hxx>
+#include <IGESData_IGESModel.hxx>
#include <Interface_Static.hxx>
+#include <XSAlgo.hxx>
+#include <XSAlgo_AlgoContainer.hxx>
+
#include <TopoDS_Shape.hxx>
#include <TopoDS_Iterator.hxx>
+#include <UnitsMethods.hxx>
+
//=============================================================================
/*!
* KindOfBRep
IGESControl_Writer ICW( "M", aBrepMode ); // export explicitly in meters
Interface_Static::SetCVal( "xstep.cascade.unit", "M" );
+#if OCC_VERSION_LARGE >= 0x07070000
+ Interface_Static::SetCVal("write.iges.unit", "M");
+ XSAlgo::AlgoContainer()->PrepareForTransfer(); // update unit info
+ Standard_Real aScaleFactorMM = UnitsMethods::GetCasCadeLengthUnit();
+ ICW.Model()->ChangeGlobalSection().SetCascadeUnit(aScaleFactorMM);
+#endif
+
// 09.03.2010 skl for bug 0020726
// change default value "Average" to "Max"
Interface_Static::SetCVal( "write.precision.mode", "Max" );
// KERNEL includes
#include <utilities.h>
#include <Basics_Utils.hxx>
+#include <Basics_OCCTVersion.hxx>
// GEOM includes
#include "GEOM_Function.hxx"
// Set "C" numeric locale to save numbers correctly
Kernel_Utils::Localizer loc;
- IFSelect_ReturnStatus status ;
- //VRV: OCC 4.0 migration
+#if OCC_VERSION_LARGE < 0x07070000
STEPControl_Writer aWriter;
Interface_Static::SetCVal("xstep.cascade.unit","M");
Interface_Static::SetCVal("write.step.unit", aWriteUnit.ToCString());
Interface_Static::SetIVal("write.step.nonmanifold", 1);
- status = aWriter.Transfer( aShape, STEPControl_AsIs );
- //VRV: OCC 4.0 migration
+#else
+ STEPControl_Writer aWriterTmp;
+ Interface_Static::SetCVal("xstep.cascade.unit","M");
+ Interface_Static::SetCVal("write.step.unit", aWriteUnit.ToCString());
+ Interface_Static::SetIVal("write.step.nonmanifold", 1);
+ STEPControl_Writer aWriter;
+#endif
+
+ IFSelect_ReturnStatus status = aWriter.Transfer( aShape, STEPControl_AsIs );
if( status == IFSelect_RetDone )
status = aWriter.Write( aFileName.ToCString() );
}
catch (Standard_Failure&)
{
- //THROW_SALOME_CORBA_EXCEPTION("Exception caught in STEPExport", SALOME::BAD_PARAM);
+ //THROW_SALOME_CORBA_EXCEPTION("Exception caught in STEPExport", SALOME::BAD_PARAM);
}
return 0;
}