1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-08-09 13:22:24 +03:00

0032681: Data Exchange - Missed dimension after STEP export

Changed level of detalisation (TopAbs_EDGE -> TopAbs_VERTEX by default)
This commit is contained in:
ichesnok
2023-03-23 09:54:10 +00:00
parent 3421323164
commit 2a0420be1d
7 changed files with 44 additions and 12 deletions

View File

@@ -92,7 +92,8 @@ TopoDS_Shape XSAlgo_AlgoContainer::ProcessShape(const TopoDS_Shape& theShape,
Handle(Standard_Transient)& theInfo,
const Handle(ShapeBuild_ReShape)& theReShape,
const Message_ProgressRange& theProgress,
const Standard_Boolean theNonManifold) const
const Standard_Boolean theNonManifold,
const TopAbs_ShapeEnum theDetalisationLevel) const
{
if (theShape.IsNull())
{
@@ -114,7 +115,7 @@ TopoDS_Shape XSAlgo_AlgoContainer::ProcessShape(const TopoDS_Shape& theShape,
aRscfile = thePrscfile;
aContext = new ShapeProcess_ShapeContext(theShape, aRscfile);
}
aContext->SetDetalisation(TopAbs_EDGE);
aContext->SetDetalisation(theDetalisationLevel);
}
aContext->SetNonManifold(theNonManifold);
theInfo = aContext;
@@ -199,12 +200,13 @@ TopoDS_Shape XSAlgo_AlgoContainer::ProcessShape(const TopoDS_Shape& theShape,
const Standard_CString thePseq,
Handle(Standard_Transient)& theInfo,
const Message_ProgressRange& theProgress,
const Standard_Boolean theNonManifold) const
const Standard_Boolean theNonManifold,
const TopAbs_ShapeEnum theDetalisationLevel) const
{
Handle(ShapeBuild_ReShape) aReShape = new ShapeBuild_ReShape();
return ProcessShape(theShape, thePrec, theMaxTol, thePrscfile,
thePseq, theInfo, aReShape, theProgress,
theNonManifold);
theNonManifold, theDetalisationLevel);
}
//=======================================================================

View File

@@ -19,9 +19,10 @@
#include <Standard.hxx>
#include <Standard_Type.hxx>
#include <Standard_Transient.hxx>
#include <Standard_Integer.hxx>
#include <Message_ProgressRange.hxx>
#include <Standard_Integer.hxx>
#include <Standard_Transient.hxx>
#include <TopAbs_ShapeEnum.hxx>
class ShapeBuild_ReShape;
class XSAlgo_ToolContainer;
@@ -71,7 +72,8 @@ public:
const Standard_CString thePseq,
Handle(Standard_Transient)& theInfo,
const Message_ProgressRange& theProgress = Message_ProgressRange(),
const Standard_Boolean theNonManifold = Standard_False) const;
const Standard_Boolean theNonManifold = Standard_False,
const TopAbs_ShapeEnum theDetalisationLevel = TopAbs_VERTEX) const;
//! Does shape processing with specified tolerances
//! @param[in] theShape shape to process
@@ -92,7 +94,8 @@ public:
Handle(Standard_Transient)& theInfo,
const Handle(ShapeBuild_ReShape)& theReShape,
const Message_ProgressRange& theProgress = Message_ProgressRange(),
const Standard_Boolean theNonManifold = Standard_False) const;
const Standard_Boolean theNonManifold = Standard_False,
const TopAbs_ShapeEnum theDetalisationLevel = TopAbs_VERTEX) const;
//! Checks quality of pcurve of the edge on the given face,
//! and corrects it if necessary.