{
if (thelibrary.IsNull()) return IFSelect_RetVoid;
if (theprotocol.IsNull()) return IFSelect_RetVoid;
- Handle(Interface_InterfaceModel) model;
+ Handle(Interface_InterfaceModel) model =myModel;
IFSelect_ReturnStatus status = IFSelect_RetVoid;
try {
OCC_CATCH_SIGNALS
{
Standard_Integer effect = 0;
if (transf.IsNull() || !IsLoaded()) return effect;
+
Handle(Interface_InterfaceModel) newmod; // Null au depart
Interface_CheckIterator checks;
checks.SetName("X-STEP WorkSession : RunTransformer");
Standard_Boolean res = transf->Perform
- (thegraph->Graph(),theprotocol,checks,newmod);
+ (thegraph->Graph(),theprotocol,checks,myModel);
if (!checks.IsEmpty(Standard_False)) {
Handle(Message_Messenger) sout = Message::DefaultMessenger();
long status = 1;
DeclareAndCast(StepData_Protocol,stepro,protocol);
if (stepro.IsNull()) return 1;
- Handle(StepData_StepModel) stepmodel = new StepData_StepModel;
- model = stepmodel;
+
+ Handle(StepData_StepModel) stepmodel;
+ if(!model.IsNull())
+ stepmodel = Handle(StepData_StepModel)::DownCast(model);
+ if(stepmodel.IsNull())
+ {
+ stepmodel = new StepData_StepModel;
+ model = stepmodel;
+ }
+
StepFile_ReadTrace (0);
char *pName=(char *)name;
status = StepFile_Read (pName,stepmodel,stepro);