Handle(StepRepr_HArray1OfRepresentationItem) newItems =
new StepRepr_HArray1OfRepresentationItem(1, oldItems->Length() + 1);
Standard_Integer el = 1;
- for (Standard_Integer i = 1; i <= oldItems->Length(); i++)
- newItems->SetValue( el++, oldItems->Value(i) );
+ for (Standard_Integer i = 1; i <= oldItems->Length(); i++)
+ newItems->SetValue(el++, oldItems->Value(i));
newItems->SetValue( el, items->Value( items->Length() ) );
shapeRep->SetItems(newItems);
}
return resbind;
} else return FP->Find(start);
-}
+ }
//=======================================================================
//function : TransferCompound
Handle(Transfer_SimpleBinderOfTransient) bx =
Handle(Transfer_SimpleBinderOfTransient)::DownCast(bnd);
if ( !bx.IsNull() ) {
- // Single SDR is created for a non-manifold group (ssv: 12.11.2010)
- if (!isManifold && i > 1)
- break;
- else
- binder->AddResult( TransientResult( bx->Result() ) );
+ binder->AddResult( TransientResult( bx->Result() ) );
}
bnd = bnd->NextResult();
}
Handle(Transfer_Binder) resprod = TransientResult(sdr); //KA - OCC7141(skl 10.11.2004)
bool isJustTransferred = false;
if ( ! iasdr || resbind.IsNull() ) {
- resbind = TransferShape(mapper, sdr, FP, shapeGroup, isManifold, theProgress);
- if (resbind.IsNull())
- return resbind;
+ Handle(Transfer_Binder) resbind1 = TransferShape(mapper, sdr, FP, shapeGroup, isManifold, theProgress);
+ if (resbind1.IsNull() || sdr->UsedRepresentation().IsNull())
+ return Handle(Transfer_Binder)();
+ resbind = resbind1;
Handle(Transfer_Binder) oldbind = FP->Find ( mapper );
if ( ! oldbind.IsNull() && !resbind.IsNull()) resbind->AddResult ( oldbind );
isJustTransferred = true;
--- /dev/null
+puts "==================================================="
+puts " 0032914: Data Exchange - Some parts of compound are lost while writing STEP in nonmanifold mode "
+puts "==================================================="
+puts ""
+
+set BugNumber OCC32914
+
+set filepath [locate_data_file ${BugNumber}.brep]
+
+restore ${filepath} s
+
+param write.step.nonmanifold 1
+stepwrite 0 s ${imagedir}/${BugNumber}.step
+
+testreadstep ${imagedir}/${BugNumber}.step result
+
+checknbshapes result -vertex 16 -edge 17 -wire 7 -face 7 -shell 2 -solid 0 -compsolid 0 -compound 4 -shape 53
+
+checkview -display result -2d -path ${imagedir}/${test_image}.png