diff --git a/src/RWStepShape/RWStepShape_RWManifoldSolidBrep.cxx b/src/RWStepShape/RWStepShape_RWManifoldSolidBrep.cxx index 91313b9ff7..6f6eaf0537 100644 --- a/src/RWStepShape/RWStepShape_RWManifoldSolidBrep.cxx +++ b/src/RWStepShape/RWStepShape_RWManifoldSolidBrep.cxx @@ -43,9 +43,9 @@ void RWStepShape_RWManifoldSolidBrep::ReadStep // --- own field : outer --- - Handle(StepShape_ClosedShell) aOuter; + Handle(StepShape_ConnectedFaceSet) aOuter; //szv#4:S4163:12Mar99 `Standard_Boolean stat2 =` not needed - data->ReadEntity(num, 2,"outer", ach, STANDARD_TYPE(StepShape_ClosedShell), aOuter); + data->ReadEntity(num, 2,"outer", ach, STANDARD_TYPE(StepShape_ConnectedFaceSet), aOuter); //--- Initialisation of the read entity --- diff --git a/src/STEPCAFControl/STEPCAFControl_Reader.cxx b/src/STEPCAFControl/STEPCAFControl_Reader.cxx index 73f8577798..57202a010a 100644 --- a/src/STEPCAFControl/STEPCAFControl_Reader.cxx +++ b/src/STEPCAFControl/STEPCAFControl_Reader.cxx @@ -2184,7 +2184,7 @@ void STEPCAFControl_Reader::ExpandManifoldSolidBrep(TDF_Label& ShapeLab, { // Access outer shell Handle(StepShape_ManifoldSolidBrep) aMSB = Handle(StepShape_ManifoldSolidBrep)::DownCast(Repr); - Handle(StepShape_ClosedShell) aShell = aMSB->Outer(); + Handle(StepShape_ConnectedFaceSet) aShell = aMSB->Outer(); // Expand shell contents to CAF tree ExpandShell(aShell, ShapeLab, TP, ShapeTool); diff --git a/src/StepShape/StepShape_ManifoldSolidBrep.cdl b/src/StepShape/StepShape_ManifoldSolidBrep.cdl index ef0186ec84..71e524fdd4 100644 --- a/src/StepShape/StepShape_ManifoldSolidBrep.cdl +++ b/src/StepShape/StepShape_ManifoldSolidBrep.cdl @@ -20,6 +20,7 @@ inherits SolidModel from StepShape uses + ConnectedFaceSet from StepShape, ClosedShell from StepShape, HAsciiString from TCollection is @@ -35,13 +36,17 @@ is aName : HAsciiString from TCollection; aOuter : ClosedShell from StepShape) is virtual; + Init (me : mutable; + aName : HAsciiString from TCollection; + aOuter : ConnectedFaceSet from StepShape) is virtual; + -- Specific Methods for Field Data Access -- - SetOuter(me : mutable; aOuter : ClosedShell); - Outer (me) returns ClosedShell; + SetOuter(me : mutable; aOuter : ConnectedFaceSet); + Outer (me) returns ConnectedFaceSet; fields - outer : ClosedShell from StepShape; + outer : ConnectedFaceSet from StepShape; end ManifoldSolidBrep; diff --git a/src/StepShape/StepShape_ManifoldSolidBrep.cxx b/src/StepShape/StepShape_ManifoldSolidBrep.cxx index ab6e04d9cc..46f491faef 100644 --- a/src/StepShape/StepShape_ManifoldSolidBrep.cxx +++ b/src/StepShape/StepShape_ManifoldSolidBrep.cxx @@ -23,9 +23,19 @@ void StepShape_ManifoldSolidBrep::Init( StepRepr_RepresentationItem::Init(aName); } +void StepShape_ManifoldSolidBrep::Init( + const Handle(TCollection_HAsciiString)& aName, + const Handle(StepShape_ClosedShell)& aOuter) +{ + // --- classe own fields --- + outer = aOuter; + // --- classe inherited fields --- + StepRepr_RepresentationItem::Init(aName); +} + void StepShape_ManifoldSolidBrep::Init( const Handle(TCollection_HAsciiString)& aName, - const Handle(StepShape_ClosedShell)& aOuter) + const Handle(StepShape_ConnectedFaceSet)& aOuter) { // --- classe own fields --- outer = aOuter; @@ -33,13 +43,12 @@ void StepShape_ManifoldSolidBrep::Init( StepRepr_RepresentationItem::Init(aName); } - -void StepShape_ManifoldSolidBrep::SetOuter(const Handle(StepShape_ClosedShell)& aOuter) +void StepShape_ManifoldSolidBrep::SetOuter(const Handle(StepShape_ConnectedFaceSet)& aOuter) { outer = aOuter; } -Handle(StepShape_ClosedShell) StepShape_ManifoldSolidBrep::Outer() const +Handle(StepShape_ConnectedFaceSet) StepShape_ManifoldSolidBrep::Outer() const { return outer; } diff --git a/src/StepToTopoDS/StepToTopoDS_Builder.cxx b/src/StepToTopoDS/StepToTopoDS_Builder.cxx index e2a27eab98..60a57d908d 100644 --- a/src/StepToTopoDS/StepToTopoDS_Builder.cxx +++ b/src/StepToTopoDS/StepToTopoDS_Builder.cxx @@ -192,15 +192,15 @@ void StepToTopoDS_Builder::Init // Start Mapping - Handle(StepShape_ClosedShell) aCShell; - aCShell = aManifoldSolid->Outer(); + Handle(StepShape_ConnectedFaceSet) aShell; + aShell = aManifoldSolid->Outer(); StepToTopoDS_TranslateShell myTranShell; myTranShell.SetPrecision(Precision()); myTranShell.SetMaxTol(MaxTol()); // Non-manifold topology is not referenced by ManifoldSolidBrep (ssv; 14.11.2010) StepToTopoDS_NMTool dummyNMTool; - myTranShell.Init(aCShell, myTool, dummyNMTool); + myTranShell.Init(aShell, myTool, dummyNMTool); if (myTranShell.IsDone()) { TopoDS_Shape Sh = myTranShell.Value(); @@ -234,7 +234,7 @@ void StepToTopoDS_Builder::Init ResetPreci (S, MaxTol()); } else { - TP->AddWarning(aCShell," OuterShell from ManifoldSolidBrep not mapped to TopoDS"); + TP->AddWarning(aShell," OuterShell from ManifoldSolidBrep not mapped to TopoDS"); myError = StepToTopoDS_BuilderOther; done = Standard_False; } @@ -273,7 +273,7 @@ void StepToTopoDS_Builder::Init myTranShell.SetMaxTol(MaxTol()); // OuterBound - aCShell = aBRepWithVoids->Outer(); + aCShell = Handle(StepShape_ClosedShell)::DownCast(aBRepWithVoids->Outer()); // Non-manifold topology is not referenced by BrepWithVoids (ssv; 14.11.2010) StepToTopoDS_NMTool dummyNMTool; myTranShell.Init(aCShell, myTool, dummyNMTool); @@ -360,7 +360,7 @@ void StepToTopoDS_Builder::Init(const Handle(StepShape_FacetedBrep)& aFB, // Start Mapping Handle(StepShape_ClosedShell) aCShell; - aCShell = aFB->Outer(); + aCShell = Handle(StepShape_ClosedShell)::DownCast(aFB->Outer()); TopoDS_Shape Sh; StepToTopoDS_TranslateShell myTranShell; @@ -411,7 +411,7 @@ void StepToTopoDS_Builder::Init // Start Mapping Handle(StepShape_ClosedShell) aCShell; - aCShell = aFBABWV->Outer(); + aCShell = Handle(StepShape_ClosedShell)::DownCast(aFBABWV->Outer()); TopoDS_Shape Sh; StepToTopoDS_TranslateShell myTranShell;