1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-09-08 14:17:06 +03:00

0031711: Data Exchange - STEPCAFControl_Reader hangs on attached file in an infinite loop

Add check if .step external file is the same main file.
This commit is contained in:
dpasukhi
2020-09-01 10:47:20 +03:00
committed by bugmaster
parent 2fa0e902f0
commit 2547d97917
4 changed files with 49 additions and 1 deletions

View File

@@ -468,6 +468,16 @@ Handle(StepBasic_ProductDefinition) STEPConstruct_ExternRefs::ProdDef (const Sta
return Handle(StepBasic_ProductDefinition)::DownCast( myShapes(num) );
}
//=======================================================================
//function : DocFile
//purpose :
//=======================================================================
Handle(StepBasic_DocumentFile) STEPConstruct_ExternRefs::DocFile(const Standard_Integer num) const
{
return Handle(StepBasic_DocumentFile)::DownCast(myDocFiles.Value(num));
}
//=======================================================================
//function : Format
//purpose :

View File

@@ -82,6 +82,11 @@ public:
//! is not associated to SDR in a proper way.
Standard_EXPORT Handle(StepBasic_ProductDefinition) ProdDef (const Standard_Integer num) const;
//! Returns DocumentFile to which numth extern reference
//! is associated.
//! Returns Null if cannot be detected.
Standard_EXPORT Handle(StepBasic_DocumentFile) DocFile (const Standard_Integer num) const;
//! Returns format identification string for the extern document
//! Returns Null handle if format is not defined
Standard_EXPORT Handle(TCollection_HAsciiString) Format (const Standard_Integer num) const;