]> OCCT Git - occt-copy.git/commitdiff
Fix reading name of shape from subtype of PRODUCT_DEFINITION STEP entity
authornds <nds@opencascade.com>
Thu, 27 Sep 2018 14:41:16 +0000 (17:41 +0300)
committernds <nds@opencascade.com>
Tue, 30 Apr 2019 11:41:44 +0000 (14:41 +0300)
(cherry picked from commit 87fc89a8b83565eba0616eebba1f6ce655777461)
(cherry picked from commit 7526e6c9e4be37c35236888d7df496ad0ac28c2e)

# Conflicts:
# src/STEPCAFControl/STEPCAFControl_Reader.cxx

src/STEPCAFControl/STEPCAFControl_Reader.cxx

index 49c0472ba6de420177a29f7616fc5d53631cb0d0..5b58f859c1e47d0b2fece1aa54ed6fe3ed90de95 100644 (file)
@@ -39,6 +39,7 @@
 #include <StepBasic_ProductDefinition.hxx>
 #include <StepBasic_ProductDefinitionFormation.hxx>
 #include <StepBasic_ProductDefinitionRelationship.hxx>
+#include <StepBasic_ProductDefinitionWithAssociatedDocuments.hxx>
 #include <StepBasic_SiUnit.hxx>
 #include <StepBasic_SiUnitAndLengthUnit.hxx>
 #include <StepBasic_Unit.hxx>
@@ -1131,6 +1132,7 @@ Standard_Boolean STEPCAFControl_Reader::ReadNames(const Handle(XSControl_WorkSes
   Standard_Integer nb = Model->NbEntities();
   Handle(Standard_Type) tNAUO = STANDARD_TYPE(StepRepr_NextAssemblyUsageOccurrence);
   Handle(Standard_Type) tPD = STANDARD_TYPE(StepBasic_ProductDefinition);
+  Handle(Standard_Type) tPDWAD = STANDARD_TYPE(StepBasic_ProductDefinitionWithAssociatedDocuments);
   Handle(TCollection_HAsciiString) name;
   TDF_Label L;
   for (Standard_Integer i = 1; i <= nb; i++) {
@@ -1163,7 +1165,7 @@ Standard_Boolean STEPCAFControl_Reader::ReadNames(const Handle(XSControl_WorkSes
     }
 
     // for PD get name of associated product
-    if (enti->DynamicType() == tPD) {
+    if (enti->DynamicType() == tPD || enti->DynamicType() == tPDWAD) {
       L.Nullify();
       Handle(StepBasic_ProductDefinition) PD =
         Handle(StepBasic_ProductDefinition)::DownCast(enti);