mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-04-03 17:56:21 +03:00
0026005: Problem with transient TFunction_Logbook
This commit is contained in:
parent
8156ddddc7
commit
f486f64d86
@ -48,7 +48,7 @@ OCAFSample_CommonDriver::OCAFSample_CommonDriver()
|
||||
//purpose :
|
||||
//=======================================================================
|
||||
|
||||
Standard_Integer OCAFSample_CommonDriver::Execute(TFunction_Logbook& theLogbook) const
|
||||
Standard_Integer OCAFSample_CommonDriver::Execute(Handle(TFunction_Logbook)& theLogbook) const
|
||||
{
|
||||
Handle(TDF_Reference) aReference;
|
||||
TopoDS_Shape aMaster, aTool;
|
||||
@ -77,14 +77,14 @@ Standard_Integer OCAFSample_CommonDriver::Execute(TFunction_Logbook& theLogbook)
|
||||
|
||||
TDocStd_Modified::Add(aNode->Father()->Label());
|
||||
|
||||
theLogbook.SetImpacted(Label());
|
||||
theLogbook->SetImpacted(Label());
|
||||
TDocStd_Modified::Add(Label());
|
||||
|
||||
theLogbook.SetImpacted(ResultLabel);
|
||||
theLogbook->SetImpacted(ResultLabel);
|
||||
|
||||
TDF_ChildIterator anIterator(ResultLabel);
|
||||
for(; anIterator.More(); anIterator.Next()) {
|
||||
theLogbook.SetImpacted(anIterator.Value());
|
||||
theLogbook->SetImpacted(anIterator.Value());
|
||||
}
|
||||
|
||||
return OK_OPERATION;
|
||||
|
@ -55,7 +55,7 @@ public:
|
||||
// Methods PUBLIC
|
||||
//
|
||||
Standard_EXPORT OCAFSample_CommonDriver();
|
||||
Standard_EXPORT virtual Standard_Integer Execute(TFunction_Logbook& theLogbook) const;
|
||||
Standard_EXPORT virtual Standard_Integer Execute(Handle(TFunction_Logbook)& theLogbook) const;
|
||||
Standard_EXPORT ~OCAFSample_CommonDriver();
|
||||
|
||||
|
||||
|
@ -59,8 +59,8 @@ public:
|
||||
// Methods PUBLIC
|
||||
//
|
||||
Standard_EXPORT void Validate(TFunction_Logbook& log) const;
|
||||
Standard_EXPORT virtual Standard_Boolean MustExecute(const TFunction_Logbook& log) const;
|
||||
Standard_EXPORT virtual Standard_Integer Execute(TFunction_Logbook& log) const;
|
||||
Standard_EXPORT virtual Standard_Boolean MustExecute(const Handle(TFunction_Logbook)& log) const;
|
||||
Standard_EXPORT virtual Standard_Integer Execute(Handle(TFunction_Logbook)& log) const;
|
||||
Standard_EXPORT virtual Standard_Boolean Arguments(TDF_LabelMap& theArgs) const;
|
||||
Standard_EXPORT virtual Standard_Boolean Results(TDF_LabelMap& theRes) const;
|
||||
Standard_EXPORT ~OCAFSample_Driver();
|
||||
|
@ -336,7 +336,7 @@ void COcafDoc::OnModify()
|
||||
Standard_GUID myDriverID=TFF->GetDriverGUID();
|
||||
|
||||
Handle(TDocStd_Document) D = GetOcafDoc();
|
||||
TFunction_Logbook log;
|
||||
Handle(TFunction_Logbook) log = TFunction_Logbook::Set(D->Main());
|
||||
|
||||
TCollection_AsciiString Message("\
|
||||
// Modification and recomputation of the selected object \n\
|
||||
@ -607,7 +607,7 @@ D->CommitCommand(); \n\
|
||||
// Recompute the cut object if it must be (look at the MustExecute function code)
|
||||
// if (myCutDriver->MustExecute(log))
|
||||
// {
|
||||
log.SetTouched(LabObject);
|
||||
log->SetTouched(LabObject);
|
||||
if(myCutDriver->Execute(log))
|
||||
MessageBoxW (AfxGetApp()->m_pMainWnd->m_hWnd, L"Recompute failed", L"Modify cut", MB_ICONEXCLAMATION);
|
||||
// }
|
||||
|
@ -37,10 +37,10 @@ TOcafFunction_BoxDriver::TOcafFunction_BoxDriver()
|
||||
//purpose : Validation of the object label, its arguments and its results.
|
||||
//=======================================================================
|
||||
|
||||
void TOcafFunction_BoxDriver::Validate(TFunction_Logbook& log) const
|
||||
void TOcafFunction_BoxDriver::Validate(Handle(TFunction_Logbook)& log) const
|
||||
{
|
||||
// We validate the object label ( Label() ), all the arguments and the results of the object:
|
||||
log.SetValid(Label(), Standard_True);
|
||||
log->SetValid(Label(), Standard_True);
|
||||
}
|
||||
|
||||
//=======================================================================
|
||||
@ -49,10 +49,10 @@ void TOcafFunction_BoxDriver::Validate(TFunction_Logbook& log) const
|
||||
// : be invoked. If the object label or an argument is modified,
|
||||
// : we must recompute the object - to call the method Execute().
|
||||
//=======================================================================
|
||||
Standard_Boolean TOcafFunction_BoxDriver::MustExecute(const TFunction_Logbook& log) const
|
||||
Standard_Boolean TOcafFunction_BoxDriver::MustExecute(const Handle(TFunction_Logbook)& log) const
|
||||
{
|
||||
// If the object's label is modified:
|
||||
if (log.IsModified(Label())) return Standard_True;
|
||||
if (log->IsModified(Label())) return Standard_True;
|
||||
|
||||
// Cut (in our simple case) has two arguments: The original shape, and the tool shape.
|
||||
// They are on the child labels of the box's label:
|
||||
@ -60,12 +60,12 @@ Standard_Boolean TOcafFunction_BoxDriver::MustExecute(const TFunction_Logbook& l
|
||||
// ToolNShape - is attached to the second child label.
|
||||
//
|
||||
// Let's check them:
|
||||
if (log.IsModified(Label().FindChild(1))) return Standard_True; // width.
|
||||
if (log.IsModified(Label().FindChild(2))) return Standard_True; // length,
|
||||
if (log.IsModified(Label().FindChild(3))) return Standard_True; // width.
|
||||
if (log.IsModified(Label().FindChild(4))) return Standard_True; // length,
|
||||
if (log.IsModified(Label().FindChild(5))) return Standard_True; // width.
|
||||
if (log.IsModified(Label().FindChild(6))) return Standard_True; // length,
|
||||
if (log->IsModified(Label().FindChild(1))) return Standard_True; // width.
|
||||
if (log->IsModified(Label().FindChild(2))) return Standard_True; // length,
|
||||
if (log->IsModified(Label().FindChild(3))) return Standard_True; // width.
|
||||
if (log->IsModified(Label().FindChild(4))) return Standard_True; // length,
|
||||
if (log->IsModified(Label().FindChild(5))) return Standard_True; // width.
|
||||
if (log->IsModified(Label().FindChild(6))) return Standard_True; // length,
|
||||
|
||||
// if there are no any modifications concerned the box,
|
||||
// it's not necessary to recompute (to call the method Execute()):
|
||||
@ -83,7 +83,7 @@ Standard_Boolean TOcafFunction_BoxDriver::MustExecute(const TFunction_Logbook& l
|
||||
// : if there are no any mistakes occurred we return 0:
|
||||
// : 0 - no mistakes were found.
|
||||
//=======================================================================
|
||||
Standard_Integer TOcafFunction_BoxDriver::Execute(TFunction_Logbook& /*log*/) const
|
||||
Standard_Integer TOcafFunction_BoxDriver::Execute(Handle(TFunction_Logbook)& /*log*/) const
|
||||
{
|
||||
// Get the values of dimension and position attributes
|
||||
Handle(TDataStd_Real) TSR;
|
||||
|
@ -56,9 +56,9 @@ public:
|
||||
//
|
||||
Standard_EXPORT static const Standard_GUID& GetID() ;
|
||||
Standard_EXPORT TOcafFunction_BoxDriver();
|
||||
Standard_EXPORT virtual void Validate(TFunction_Logbook& log) const;
|
||||
Standard_EXPORT virtual Standard_Boolean MustExecute(const TFunction_Logbook& log) const;
|
||||
Standard_EXPORT virtual Standard_Integer Execute(TFunction_Logbook& log) const;
|
||||
Standard_EXPORT virtual void Validate(Handle(TFunction_Logbook)& log) const;
|
||||
Standard_EXPORT virtual Standard_Boolean MustExecute(const Handle(TFunction_Logbook)& log) const;
|
||||
Standard_EXPORT virtual Standard_Integer Execute(Handle(TFunction_Logbook)& log) const;
|
||||
Standard_EXPORT ~TOcafFunction_BoxDriver();
|
||||
|
||||
|
||||
|
@ -42,10 +42,10 @@ TOcafFunction_CutDriver::TOcafFunction_CutDriver()
|
||||
//purpose : Validation of the object label, its arguments and its results.
|
||||
//=======================================================================
|
||||
|
||||
void TOcafFunction_CutDriver::Validate(TFunction_Logbook& log) const
|
||||
void TOcafFunction_CutDriver::Validate(Handle(TFunction_Logbook)& log) const
|
||||
{
|
||||
// We validate the object label ( Label() ), all the arguments and the results of the object:
|
||||
log.SetValid(Label(), Standard_True);
|
||||
log->SetValid(Label(), Standard_True);
|
||||
}
|
||||
|
||||
//=======================================================================
|
||||
@ -55,10 +55,10 @@ void TOcafFunction_CutDriver::Validate(TFunction_Logbook& log) const
|
||||
// : we must recompute the object - to call the method Execute().
|
||||
//=======================================================================
|
||||
|
||||
Standard_Boolean TOcafFunction_CutDriver::MustExecute(const TFunction_Logbook& log) const
|
||||
Standard_Boolean TOcafFunction_CutDriver::MustExecute(const Handle(TFunction_Logbook)& log) const
|
||||
{
|
||||
// If the object's label is modified:
|
||||
if (log.IsModified(Label())) return Standard_True;
|
||||
if (log->IsModified(Label())) return Standard_True;
|
||||
|
||||
// Cut (in our simple case) has two arguments: The original shape, and the tool shape.
|
||||
// They are on the child labels of the cut's label:
|
||||
@ -76,11 +76,11 @@ Standard_Boolean TOcafFunction_CutDriver::MustExecute(const TFunction_Logbook& l
|
||||
TDF_Tool::Entry(Label(), aEntry);
|
||||
cout << "Entry: "<<aEntry.ToCString()<<endl;
|
||||
Label().FindChild(1).FindAttribute(TDF_Reference::GetID(),OriginalRef);
|
||||
if (log.IsModified(OriginalRef->Get())) return Standard_True; // Original shape.
|
||||
if (log->IsModified(OriginalRef->Get())) return Standard_True; // Original shape.
|
||||
|
||||
Handle(TDF_Reference) ToolRef;
|
||||
Label().FindChild(2).FindAttribute(TDF_Reference::GetID(),ToolRef);
|
||||
if (log.IsModified(ToolRef->Get())) return Standard_True; // Tool shape.
|
||||
if (log->IsModified(ToolRef->Get())) return Standard_True; // Tool shape.
|
||||
|
||||
// if there are no any modifications concerned the cut,
|
||||
// it's not necessary to recompute (to call the method Execute()):
|
||||
@ -99,7 +99,7 @@ Standard_Boolean TOcafFunction_CutDriver::MustExecute(const TFunction_Logbook& l
|
||||
// : 0 - no mistakes were found.
|
||||
//=======================================================================
|
||||
|
||||
Standard_Integer TOcafFunction_CutDriver::Execute(TFunction_Logbook& /*log*/) const
|
||||
Standard_Integer TOcafFunction_CutDriver::Execute(Handle(TFunction_Logbook)& /*log*/) const
|
||||
{
|
||||
// Let's get the arguments (OriginalNShape, ToolNShape of the object):
|
||||
|
||||
|
@ -56,9 +56,9 @@ public:
|
||||
//
|
||||
Standard_EXPORT static const Standard_GUID& GetID() ;
|
||||
Standard_EXPORT TOcafFunction_CutDriver();
|
||||
Standard_EXPORT virtual void Validate(TFunction_Logbook& log) const;
|
||||
Standard_EXPORT virtual Standard_Boolean MustExecute(const TFunction_Logbook& log) const;
|
||||
Standard_EXPORT virtual Standard_Integer Execute(TFunction_Logbook& log) const;
|
||||
Standard_EXPORT virtual void Validate(Handle(TFunction_Logbook)& log) const;
|
||||
Standard_EXPORT virtual Standard_Boolean MustExecute(const Handle(TFunction_Logbook)& log) const;
|
||||
Standard_EXPORT virtual Standard_Integer Execute(Handle(TFunction_Logbook)& log) const;
|
||||
Standard_EXPORT ~TOcafFunction_CutDriver();
|
||||
|
||||
|
||||
|
@ -39,10 +39,10 @@ TOcafFunction_CylDriver::TOcafFunction_CylDriver()
|
||||
//purpose : Validation of the object label, its arguments and its results.
|
||||
//=======================================================================
|
||||
|
||||
void TOcafFunction_CylDriver::Validate(TFunction_Logbook& log) const
|
||||
void TOcafFunction_CylDriver::Validate(Handle(TFunction_Logbook)& log) const
|
||||
{
|
||||
// We validate the object label ( Label() ), all the arguments and the results of the object:
|
||||
log.SetValid(Label(), Standard_True);
|
||||
log->SetValid(Label(), Standard_True);
|
||||
}
|
||||
|
||||
//=======================================================================
|
||||
@ -51,19 +51,19 @@ void TOcafFunction_CylDriver::Validate(TFunction_Logbook& log) const
|
||||
// : be invoked. If the object label or an argument is modified,
|
||||
// : we must recompute the object - to call the method Execute().
|
||||
//=======================================================================
|
||||
Standard_Boolean TOcafFunction_CylDriver::MustExecute(const TFunction_Logbook& log) const
|
||||
Standard_Boolean TOcafFunction_CylDriver::MustExecute(const Handle(TFunction_Logbook)& log) const
|
||||
{
|
||||
// If the object's label is modified:
|
||||
if (log.IsModified(Label())) return Standard_True;
|
||||
if (log->IsModified(Label())) return Standard_True;
|
||||
|
||||
// Cylinder (in our simple case) has 5 arguments:
|
||||
//
|
||||
// Let's check them:
|
||||
if (log.IsModified(Label().FindChild(1))) return Standard_True; // radius.
|
||||
if (log.IsModified(Label().FindChild(2))) return Standard_True; // height,
|
||||
if (log.IsModified(Label().FindChild(3))) return Standard_True; // x.
|
||||
if (log.IsModified(Label().FindChild(4))) return Standard_True; // y,
|
||||
if (log.IsModified(Label().FindChild(5))) return Standard_True; // z.
|
||||
if (log->IsModified(Label().FindChild(1))) return Standard_True; // radius.
|
||||
if (log->IsModified(Label().FindChild(2))) return Standard_True; // height,
|
||||
if (log->IsModified(Label().FindChild(3))) return Standard_True; // x.
|
||||
if (log->IsModified(Label().FindChild(4))) return Standard_True; // y,
|
||||
if (log->IsModified(Label().FindChild(5))) return Standard_True; // z.
|
||||
|
||||
// if there are no any modifications concerned the Cyl,
|
||||
// it's not necessary to recompute (to call the method Execute()):
|
||||
@ -81,7 +81,7 @@ Standard_Boolean TOcafFunction_CylDriver::MustExecute(const TFunction_Logbook& l
|
||||
// : if there are no any mistakes occurred we return 0:
|
||||
// : 0 - no mistakes were found.
|
||||
//=======================================================================
|
||||
Standard_Integer TOcafFunction_CylDriver::Execute(TFunction_Logbook& /*log*/) const
|
||||
Standard_Integer TOcafFunction_CylDriver::Execute(Handle(TFunction_Logbook)& /*log*/) const
|
||||
{
|
||||
// Get the values of dimension and position attributes
|
||||
Handle(TDataStd_Real) TSR;
|
||||
|
@ -56,9 +56,9 @@ public:
|
||||
//
|
||||
Standard_EXPORT static const Standard_GUID& GetID() ;
|
||||
Standard_EXPORT TOcafFunction_CylDriver();
|
||||
Standard_EXPORT virtual void Validate(TFunction_Logbook& log) const;
|
||||
Standard_EXPORT virtual Standard_Boolean MustExecute(const TFunction_Logbook& log) const;
|
||||
Standard_EXPORT virtual Standard_Integer Execute(TFunction_Logbook& log) const;
|
||||
Standard_EXPORT virtual void Validate(Handle(TFunction_Logbook)& log) const;
|
||||
Standard_EXPORT virtual Standard_Boolean MustExecute(const Handle(TFunction_Logbook)& log) const;
|
||||
Standard_EXPORT virtual Standard_Integer Execute(Handle(TFunction_Logbook)& log) const;
|
||||
Standard_EXPORT ~TOcafFunction_CylDriver();
|
||||
|
||||
|
||||
|
@ -88,7 +88,7 @@ TDF_Label TOcaf_Commands::CreateBox(Standard_Real x, Standard_Real y, Standard_R
|
||||
Handle(TFunction_Function) myFunction = TFunction_Function::Set(L, TOcafFunction_BoxDriver::GetID());
|
||||
|
||||
// Initialize and execute the box driver (look at the "Execute()" code)
|
||||
TFunction_Logbook log;
|
||||
Handle(TFunction_Logbook) log = TFunction_Logbook::Set(L);
|
||||
|
||||
Handle(TOcafFunction_BoxDriver) myBoxDriver;
|
||||
// Find the TOcafFunction_BoxDriver in the TFunction_DriverTable using its GUID
|
||||
@ -143,7 +143,7 @@ TDF_Label TOcaf_Commands::CreateCyl(Standard_Real x, Standard_Real y, Standard_R
|
||||
Handle(TFunction_Function) myFunction = TFunction_Function::Set(L, TOcafFunction_CylDriver::GetID());
|
||||
|
||||
// Initialize and execute the cylinder driver (look at the "Execute()" code)
|
||||
TFunction_Logbook log;
|
||||
Handle(TFunction_Logbook) log = TFunction_Logbook::Set(L);
|
||||
|
||||
Handle(TOcafFunction_CylDriver) myCylDriver;
|
||||
// Find the TOcafFunction_CylDriver in the TFunction_DriverTable using its GUID
|
||||
@ -156,7 +156,7 @@ TDF_Label TOcaf_Commands::CreateCyl(Standard_Real x, Standard_Real y, Standard_R
|
||||
}
|
||||
|
||||
|
||||
TDF_Label TOcaf_Commands::ModifyBox(Standard_Real x, Standard_Real y, Standard_Real z, Standard_Real w, Standard_Real l, Standard_Real h, const TCollection_ExtendedString &Name, TFunction_Logbook &log)
|
||||
TDF_Label TOcaf_Commands::ModifyBox(Standard_Real x, Standard_Real y, Standard_Real z, Standard_Real w, Standard_Real l, Standard_Real h, const TCollection_ExtendedString &Name, Handle(TFunction_Logbook) &log)
|
||||
{
|
||||
// Set the name attribute (if it's not null)
|
||||
Handle(TDataStd_Name) myStdName;
|
||||
@ -170,7 +170,7 @@ TDF_Label TOcaf_Commands::ModifyBox(Standard_Real x, Standard_Real y, Standard_R
|
||||
{
|
||||
TDataStd_Real::Set(MainLab.FindChild(1), w);
|
||||
// Set the label of the attribute as touched for next recomputation
|
||||
log.SetTouched(curReal->Label());
|
||||
log->SetTouched(curReal->Label());
|
||||
}
|
||||
|
||||
MainLab.FindChild(2).FindAttribute(TDataStd_Real::GetID(),curReal);
|
||||
@ -178,7 +178,7 @@ TDF_Label TOcaf_Commands::ModifyBox(Standard_Real x, Standard_Real y, Standard_R
|
||||
{
|
||||
TDataStd_Real::Set(MainLab.FindChild(2), l);
|
||||
// Set the label of the attribute as touched for next recomputation
|
||||
log.SetTouched(curReal->Label());
|
||||
log->SetTouched(curReal->Label());
|
||||
}
|
||||
|
||||
MainLab.FindChild(3).FindAttribute(TDataStd_Real::GetID(),curReal);
|
||||
@ -186,7 +186,7 @@ TDF_Label TOcaf_Commands::ModifyBox(Standard_Real x, Standard_Real y, Standard_R
|
||||
{
|
||||
TDataStd_Real::Set(MainLab.FindChild(3), h);
|
||||
// Set the label of the attribute as touched for next recomputation
|
||||
log.SetTouched(curReal->Label());
|
||||
log->SetTouched(curReal->Label());
|
||||
}
|
||||
|
||||
MainLab.FindChild(4).FindAttribute(TDataStd_Real::GetID(),curReal);
|
||||
@ -194,7 +194,7 @@ TDF_Label TOcaf_Commands::ModifyBox(Standard_Real x, Standard_Real y, Standard_R
|
||||
{
|
||||
TDataStd_Real::Set(MainLab.FindChild(4), x);
|
||||
// Set the label of the attribute as touched for next recomputation
|
||||
log.SetTouched(curReal->Label());
|
||||
log->SetTouched(curReal->Label());
|
||||
}
|
||||
|
||||
MainLab.FindChild(5).FindAttribute(TDataStd_Real::GetID(),curReal);
|
||||
@ -202,7 +202,7 @@ TDF_Label TOcaf_Commands::ModifyBox(Standard_Real x, Standard_Real y, Standard_R
|
||||
{
|
||||
TDataStd_Real::Set(MainLab.FindChild(5), y);
|
||||
// Set the label of the attribute as touched for next recomputation
|
||||
log.SetTouched(curReal->Label());
|
||||
log->SetTouched(curReal->Label());
|
||||
}
|
||||
|
||||
MainLab.FindChild(6).FindAttribute(TDataStd_Real::GetID(),curReal);
|
||||
@ -210,7 +210,7 @@ TDF_Label TOcaf_Commands::ModifyBox(Standard_Real x, Standard_Real y, Standard_R
|
||||
{
|
||||
TDataStd_Real::Set(MainLab.FindChild(6), z);
|
||||
// Set the label of the attribute as touched for next recomputation
|
||||
log.SetTouched(curReal->Label());
|
||||
log->SetTouched(curReal->Label());
|
||||
}
|
||||
|
||||
// Get the TFunction_Function used to create the box
|
||||
@ -231,7 +231,7 @@ TDF_Label TOcaf_Commands::ModifyBox(Standard_Real x, Standard_Real y, Standard_R
|
||||
if (myBoxDriver->MustExecute(log))
|
||||
{
|
||||
// Set the box touched, it will be usefull to recompute an object which used this box as attribute
|
||||
log.SetTouched(MainLab);
|
||||
log->SetTouched(MainLab);
|
||||
if(myBoxDriver->Execute(log))
|
||||
MessageBox (NULL, L"Recompute failed", L"Modify box", MB_ICONEXCLAMATION);
|
||||
}
|
||||
@ -239,7 +239,7 @@ TDF_Label TOcaf_Commands::ModifyBox(Standard_Real x, Standard_Real y, Standard_R
|
||||
return MainLab;
|
||||
}
|
||||
|
||||
TDF_Label TOcaf_Commands::ModifyCyl(Standard_Real x, Standard_Real y, Standard_Real z, Standard_Real r, Standard_Real h, const TCollection_ExtendedString &Name, TFunction_Logbook &log)
|
||||
TDF_Label TOcaf_Commands::ModifyCyl(Standard_Real x, Standard_Real y, Standard_Real z, Standard_Real r, Standard_Real h, const TCollection_ExtendedString &Name, Handle(TFunction_Logbook) &log)
|
||||
{
|
||||
// Set the name attribute (if it's not null)
|
||||
Handle(TDataStd_Name) myStdName;
|
||||
@ -253,7 +253,7 @@ TDF_Label TOcaf_Commands::ModifyCyl(Standard_Real x, Standard_Real y, Standard_R
|
||||
{
|
||||
TDataStd_Real::Set(MainLab.FindChild(1), r);
|
||||
// Set the label of the attribute as touched for next recomputation
|
||||
log.SetTouched(curReal->Label());
|
||||
log->SetTouched(curReal->Label());
|
||||
}
|
||||
|
||||
MainLab.FindChild(2).FindAttribute(TDataStd_Real::GetID(),curReal);
|
||||
@ -261,7 +261,7 @@ TDF_Label TOcaf_Commands::ModifyCyl(Standard_Real x, Standard_Real y, Standard_R
|
||||
{
|
||||
TDataStd_Real::Set(MainLab.FindChild(2), h);
|
||||
// Set the label of the attribute as touched for next recomputation
|
||||
log.SetTouched(curReal->Label());
|
||||
log->SetTouched(curReal->Label());
|
||||
}
|
||||
|
||||
MainLab.FindChild(3).FindAttribute(TDataStd_Real::GetID(),curReal);
|
||||
@ -269,7 +269,7 @@ TDF_Label TOcaf_Commands::ModifyCyl(Standard_Real x, Standard_Real y, Standard_R
|
||||
{
|
||||
TDataStd_Real::Set(MainLab.FindChild(3), x);
|
||||
// Set the label of the attribute as touched for next recomputation
|
||||
log.SetTouched(curReal->Label());
|
||||
log->SetTouched(curReal->Label());
|
||||
}
|
||||
|
||||
MainLab.FindChild(4).FindAttribute(TDataStd_Real::GetID(),curReal);
|
||||
@ -277,7 +277,7 @@ TDF_Label TOcaf_Commands::ModifyCyl(Standard_Real x, Standard_Real y, Standard_R
|
||||
{
|
||||
TDataStd_Real::Set(MainLab.FindChild(4), y);
|
||||
// Set the label of the attribute as touched for next recomputation
|
||||
log.SetTouched(curReal->Label());
|
||||
log->SetTouched(curReal->Label());
|
||||
}
|
||||
|
||||
MainLab.FindChild(5).FindAttribute(TDataStd_Real::GetID(),curReal);
|
||||
@ -285,7 +285,7 @@ TDF_Label TOcaf_Commands::ModifyCyl(Standard_Real x, Standard_Real y, Standard_R
|
||||
{
|
||||
TDataStd_Real::Set(MainLab.FindChild(5), z);
|
||||
// Set the label of the attribute as touched for next recomputation
|
||||
log.SetTouched(curReal->Label());
|
||||
log->SetTouched(curReal->Label());
|
||||
}
|
||||
|
||||
// Get the TFunction_Function used to create the cylinder
|
||||
@ -306,7 +306,7 @@ TDF_Label TOcaf_Commands::ModifyCyl(Standard_Real x, Standard_Real y, Standard_R
|
||||
if (myCylDriver->MustExecute(log))
|
||||
{
|
||||
// Set the cylinder touched, it will be usefull to recompute an object which used this cylinder as attribute
|
||||
log.SetTouched(MainLab);
|
||||
log->SetTouched(MainLab);
|
||||
if(myCylDriver->Execute(log))
|
||||
MessageBoxW (NULL, L"Recompute failed", L"Modify cylinder", MB_ICONEXCLAMATION);
|
||||
}
|
||||
@ -344,7 +344,7 @@ TDF_Label TOcaf_Commands::Cut(TDF_Label ObjectLab, TDF_Label ToolObjectLab)
|
||||
Handle(TFunction_Function) myFunction = TFunction_Function::Set(L, TOcafFunction_CutDriver::GetID());
|
||||
|
||||
// Initialize and execute the cut driver (look at the "Execute()" code)
|
||||
TFunction_Logbook log;
|
||||
Handle(TFunction_Logbook) log = TFunction_Logbook::Set(L);
|
||||
|
||||
Handle(TOcafFunction_CutDriver) myCutDriver;
|
||||
// Find the TOcafFunction_CutDriver in the TFunction_DriverTable using its GUID
|
||||
|
@ -43,9 +43,9 @@ class TOcaf_Commands {
|
||||
|
||||
public:
|
||||
TDF_Label Cut( TDF_Label ObjectLab, TDF_Label ToolObjectLab);
|
||||
TDF_Label ModifyBox(Standard_Real x, Standard_Real y, Standard_Real z, Standard_Real w, Standard_Real l, Standard_Real h, const TCollection_ExtendedString& Name, TFunction_Logbook &log);
|
||||
TDF_Label ModifyBox(Standard_Real x, Standard_Real y, Standard_Real z, Standard_Real w, Standard_Real l, Standard_Real h, const TCollection_ExtendedString& Name, Handle(TFunction_Logbook) &log);
|
||||
TDF_Label CreateBox(Standard_Real x, Standard_Real y, Standard_Real z, Standard_Real w, Standard_Real l, Standard_Real h, const TCollection_ExtendedString& Name);
|
||||
TDF_Label ModifyCyl(Standard_Real x, Standard_Real y, Standard_Real z, Standard_Real r, Standard_Real h, const TCollection_ExtendedString &Name, TFunction_Logbook &log);
|
||||
TDF_Label ModifyCyl(Standard_Real x, Standard_Real y, Standard_Real z, Standard_Real r, Standard_Real h, const TCollection_ExtendedString &Name, Handle(TFunction_Logbook) &log);
|
||||
TDF_Label CreateCyl(Standard_Real x, Standard_Real y, Standard_Real z, Standard_Real r, Standard_Real h, const TCollection_ExtendedString& Name);
|
||||
|
||||
// Methods PUBLIC
|
||||
|
@ -75,14 +75,14 @@ DNaming_BooleanOperationDriver::DNaming_BooleanOperationDriver()
|
||||
//function : Validate
|
||||
//purpose : Validates labels of a function in <log>.
|
||||
//=======================================================================
|
||||
void DNaming_BooleanOperationDriver::Validate(TFunction_Logbook&) const
|
||||
void DNaming_BooleanOperationDriver::Validate(Handle(TFunction_Logbook)&) const
|
||||
{}
|
||||
|
||||
//=======================================================================
|
||||
//function : MustExecute
|
||||
//purpose : Analyse in <log> if the loaded function must be executed
|
||||
//=======================================================================
|
||||
Standard_Boolean DNaming_BooleanOperationDriver::MustExecute(const TFunction_Logbook&) const
|
||||
Standard_Boolean DNaming_BooleanOperationDriver::MustExecute(const Handle(TFunction_Logbook)&) const
|
||||
{
|
||||
return Standard_True;
|
||||
}
|
||||
@ -91,7 +91,7 @@ Standard_Boolean DNaming_BooleanOperationDriver::MustExecute(const TFunction_Log
|
||||
//function : Execute
|
||||
//purpose : Execute the function and push in <log> the impacted labels
|
||||
//=======================================================================
|
||||
Standard_Integer DNaming_BooleanOperationDriver::Execute(TFunction_Logbook& theLog) const
|
||||
Standard_Integer DNaming_BooleanOperationDriver::Execute(Handle(TFunction_Logbook)& theLog) const
|
||||
{
|
||||
Handle(TFunction_Function) aFunction;
|
||||
Label().FindAttribute(TFunction_Function::GetID(),aFunction);
|
||||
@ -162,7 +162,7 @@ Standard_Integer DNaming_BooleanOperationDriver::Execute(TFunction_Logbook& theL
|
||||
}
|
||||
if(!anIsDone) return -1;
|
||||
else {
|
||||
theLog.SetValid(RESPOSITION(aFunction),Standard_True);
|
||||
theLog->SetValid(RESPOSITION(aFunction),Standard_True);
|
||||
aFunction->SetFailure(DONE);
|
||||
return 0;
|
||||
}
|
||||
|
@ -49,17 +49,17 @@ public:
|
||||
//! the valid label scope.
|
||||
//! execution of function
|
||||
//! ======================
|
||||
Standard_EXPORT virtual void Validate (TFunction_Logbook& theLog) const Standard_OVERRIDE;
|
||||
Standard_EXPORT virtual void Validate (Handle(TFunction_Logbook)& theLog) const Standard_OVERRIDE;
|
||||
|
||||
//! Analyse in <log> if the loaded function must be executed
|
||||
//! (i.e.arguments are modified) or not.
|
||||
//! If the Function label itself is modified, the function must
|
||||
//! be executed.
|
||||
Standard_EXPORT virtual Standard_Boolean MustExecute (const TFunction_Logbook& theLog) const Standard_OVERRIDE;
|
||||
Standard_EXPORT virtual Standard_Boolean MustExecute (const Handle(TFunction_Logbook)& theLog) const Standard_OVERRIDE;
|
||||
|
||||
//! Execute the function and push in <log> the impacted
|
||||
//! labels (see method SetImpacted).
|
||||
Standard_EXPORT virtual Standard_Integer Execute (TFunction_Logbook& theLog) const Standard_OVERRIDE;
|
||||
Standard_EXPORT virtual Standard_Integer Execute (Handle(TFunction_Logbook)& theLog) const Standard_OVERRIDE;
|
||||
|
||||
|
||||
|
||||
|
@ -44,14 +44,14 @@ DNaming_BoxDriver::DNaming_BoxDriver()
|
||||
//function : Validate
|
||||
//purpose : Validates labels of a function in <log>.
|
||||
//=======================================================================
|
||||
void DNaming_BoxDriver::Validate(TFunction_Logbook&) const
|
||||
void DNaming_BoxDriver::Validate(Handle(TFunction_Logbook)&) const
|
||||
{}
|
||||
|
||||
//=======================================================================
|
||||
//function : MustExecute
|
||||
//purpose : Analyse in <log> if the loaded function must be executed
|
||||
//=======================================================================
|
||||
Standard_Boolean DNaming_BoxDriver::MustExecute(const TFunction_Logbook&) const
|
||||
Standard_Boolean DNaming_BoxDriver::MustExecute(const Handle(TFunction_Logbook)&) const
|
||||
{
|
||||
return Standard_True;
|
||||
}
|
||||
@ -60,7 +60,7 @@ Standard_Boolean DNaming_BoxDriver::MustExecute(const TFunction_Logbook&) const
|
||||
//function : Execute
|
||||
//purpose : Execute the function and push in <log> the impacted labels
|
||||
//=======================================================================
|
||||
Standard_Integer DNaming_BoxDriver::Execute(TFunction_Logbook& theLog) const
|
||||
Standard_Integer DNaming_BoxDriver::Execute(Handle(TFunction_Logbook)& theLog) const
|
||||
{
|
||||
Handle(TFunction_Function) aFunction;
|
||||
Label().FindAttribute(TFunction_Function::GetID(),aFunction);
|
||||
@ -103,7 +103,7 @@ Standard_Integer DNaming_BoxDriver::Execute(TFunction_Logbook& theLog) const
|
||||
if(!aLocation.IsIdentity())
|
||||
TNaming::Displace(RESPOSITION(aFunction), aLocation, Standard_True);
|
||||
|
||||
theLog.SetValid(RESPOSITION(aFunction), Standard_True);
|
||||
theLog->SetValid(RESPOSITION(aFunction), Standard_True);
|
||||
|
||||
aFunction->SetFailure(DONE);
|
||||
return 0;
|
||||
|
@ -48,17 +48,17 @@ public:
|
||||
//! the valid label scope.
|
||||
//! execution of function
|
||||
//! ======================
|
||||
Standard_EXPORT virtual void Validate (TFunction_Logbook& theLog) const Standard_OVERRIDE;
|
||||
Standard_EXPORT virtual void Validate (Handle(TFunction_Logbook)& theLog) const Standard_OVERRIDE;
|
||||
|
||||
//! Analyse in <log> if the loaded function must be executed
|
||||
//! (i.e.arguments are modified) or not.
|
||||
//! If the Function label itself is modified, the function must
|
||||
//! be executed.
|
||||
Standard_EXPORT virtual Standard_Boolean MustExecute (const TFunction_Logbook& theLog) const Standard_OVERRIDE;
|
||||
Standard_EXPORT virtual Standard_Boolean MustExecute (const Handle(TFunction_Logbook)& theLog) const Standard_OVERRIDE;
|
||||
|
||||
//! Execute the function and push in <log> the impacted
|
||||
//! labels (see method SetImpacted).
|
||||
Standard_EXPORT virtual Standard_Integer Execute (TFunction_Logbook& theLog) const Standard_OVERRIDE;
|
||||
Standard_EXPORT virtual Standard_Integer Execute (Handle(TFunction_Logbook)& theLog) const Standard_OVERRIDE;
|
||||
|
||||
|
||||
|
||||
|
@ -51,14 +51,14 @@ DNaming_CylinderDriver::DNaming_CylinderDriver()
|
||||
//function : Validate
|
||||
//purpose : Validates labels of a function in <log>.
|
||||
//=======================================================================
|
||||
void DNaming_CylinderDriver::Validate(TFunction_Logbook&) const
|
||||
void DNaming_CylinderDriver::Validate(Handle(TFunction_Logbook)&) const
|
||||
{}
|
||||
|
||||
//=======================================================================
|
||||
//function : MustExecute
|
||||
//purpose : Analyse in <log> if the loaded function must be executed
|
||||
//=======================================================================
|
||||
Standard_Boolean DNaming_CylinderDriver::MustExecute(const TFunction_Logbook&) const
|
||||
Standard_Boolean DNaming_CylinderDriver::MustExecute(const Handle(TFunction_Logbook)&) const
|
||||
{
|
||||
return Standard_True;
|
||||
}
|
||||
@ -67,7 +67,7 @@ Standard_Boolean DNaming_CylinderDriver::MustExecute(const TFunction_Logbook&) c
|
||||
//function : Execute
|
||||
//purpose : Execute the function and push in <log> the impacted labels
|
||||
//=======================================================================
|
||||
Standard_Integer DNaming_CylinderDriver::Execute(TFunction_Logbook& theLog) const
|
||||
Standard_Integer DNaming_CylinderDriver::Execute(Handle(TFunction_Logbook)& theLog) const
|
||||
{
|
||||
Handle(TFunction_Function) aFunction;
|
||||
Label().FindAttribute(TFunction_Function::GetID(),aFunction);
|
||||
@ -155,8 +155,7 @@ Standard_Integer DNaming_CylinderDriver::Execute(TFunction_Logbook& theLog) cons
|
||||
if(!aLocation.IsIdentity())
|
||||
TNaming::Displace(RESPOSITION(aFunction), aLocation, Standard_True);
|
||||
|
||||
|
||||
theLog.SetValid(RESPOSITION(aFunction), Standard_True);
|
||||
theLog->SetValid(RESPOSITION(aFunction), Standard_True);
|
||||
aFunction->SetFailure(DONE);
|
||||
return 0;
|
||||
}
|
||||
|
@ -48,17 +48,17 @@ public:
|
||||
//! the valid label scope.
|
||||
//! execution of function
|
||||
//! ======================
|
||||
Standard_EXPORT virtual void Validate (TFunction_Logbook& theLog) const Standard_OVERRIDE;
|
||||
Standard_EXPORT virtual void Validate (Handle(TFunction_Logbook)& theLog) const Standard_OVERRIDE;
|
||||
|
||||
//! Analyse in <log> if the loaded function must be executed
|
||||
//! (i.e.arguments are modified) or not.
|
||||
//! If the Function label itself is modified, the function must
|
||||
//! be executed.
|
||||
Standard_EXPORT virtual Standard_Boolean MustExecute (const TFunction_Logbook& theLog) const Standard_OVERRIDE;
|
||||
Standard_EXPORT virtual Standard_Boolean MustExecute (const Handle(TFunction_Logbook)& theLog) const Standard_OVERRIDE;
|
||||
|
||||
//! Execute the function and push in <log> the impacted
|
||||
//! labels (see method SetImpacted).
|
||||
Standard_EXPORT virtual Standard_Integer Execute (TFunction_Logbook& theLog) const Standard_OVERRIDE;
|
||||
Standard_EXPORT virtual Standard_Integer Execute (Handle(TFunction_Logbook)& theLog) const Standard_OVERRIDE;
|
||||
|
||||
|
||||
|
||||
|
@ -52,14 +52,14 @@ DNaming_FilletDriver::DNaming_FilletDriver()
|
||||
//function : Validate
|
||||
//purpose : Validates labels of a function in <log>.
|
||||
//=======================================================================
|
||||
void DNaming_FilletDriver::Validate(TFunction_Logbook&) const
|
||||
void DNaming_FilletDriver::Validate(Handle(TFunction_Logbook)&) const
|
||||
{}
|
||||
|
||||
//=======================================================================
|
||||
//function : MustExecute
|
||||
//purpose : Analyse in <log> if the loaded function must be executed
|
||||
//=======================================================================
|
||||
Standard_Boolean DNaming_FilletDriver::MustExecute(const TFunction_Logbook&) const
|
||||
Standard_Boolean DNaming_FilletDriver::MustExecute(const Handle(TFunction_Logbook)&) const
|
||||
{
|
||||
return Standard_True;
|
||||
}
|
||||
@ -68,7 +68,7 @@ Standard_Boolean DNaming_FilletDriver::MustExecute(const TFunction_Logbook&) con
|
||||
//function : Execute
|
||||
//purpose : Execute the function and push in <log> the impacted labels
|
||||
//=======================================================================
|
||||
Standard_Integer DNaming_FilletDriver::Execute(TFunction_Logbook& theLog) const
|
||||
Standard_Integer DNaming_FilletDriver::Execute(Handle(TFunction_Logbook)& theLog) const
|
||||
{
|
||||
Handle(TFunction_Function) aFunction;
|
||||
Label().FindAttribute(TFunction_Function::GetID(),aFunction);
|
||||
@ -160,7 +160,7 @@ Standard_Integer DNaming_FilletDriver::Execute(TFunction_Logbook& theLog) const
|
||||
// Naming
|
||||
LoadNamingDS(RESPOSITION(aFunction), aMkFillet, aCONTEXT);
|
||||
|
||||
theLog.SetValid(RESPOSITION(aFunction),Standard_True);
|
||||
theLog->SetValid(RESPOSITION(aFunction),Standard_True);
|
||||
aFunction->SetFailure(DONE);
|
||||
return 0;
|
||||
}
|
||||
|
@ -49,17 +49,17 @@ public:
|
||||
//! the valid label scope.
|
||||
//! execution of function
|
||||
//! ======================
|
||||
Standard_EXPORT virtual void Validate (TFunction_Logbook& theLog) const Standard_OVERRIDE;
|
||||
Standard_EXPORT virtual void Validate (Handle(TFunction_Logbook)& theLog) const Standard_OVERRIDE;
|
||||
|
||||
//! Analyse in <log> if the loaded function must be executed
|
||||
//! (i.e.arguments are modified) or not.
|
||||
//! If the Function label itself is modified, the function must
|
||||
//! be executed.
|
||||
Standard_EXPORT virtual Standard_Boolean MustExecute (const TFunction_Logbook& theLog) const Standard_OVERRIDE;
|
||||
Standard_EXPORT virtual Standard_Boolean MustExecute (const Handle(TFunction_Logbook)& theLog) const Standard_OVERRIDE;
|
||||
|
||||
//! Execute the function and push in <log> the impacted
|
||||
//! labels (see method SetImpacted).
|
||||
Standard_EXPORT virtual Standard_Integer Execute (TFunction_Logbook& theLog) const Standard_OVERRIDE;
|
||||
Standard_EXPORT virtual Standard_Integer Execute (Handle(TFunction_Logbook)& theLog) const Standard_OVERRIDE;
|
||||
|
||||
|
||||
|
||||
|
@ -64,14 +64,14 @@ DNaming_Line3DDriver::DNaming_Line3DDriver()
|
||||
//function : Validate
|
||||
//purpose : Validates labels of a function in <theLog>.
|
||||
//=======================================================================
|
||||
void DNaming_Line3DDriver::Validate(TFunction_Logbook&) const
|
||||
void DNaming_Line3DDriver::Validate(Handle(TFunction_Logbook)&) const
|
||||
{}
|
||||
|
||||
//=======================================================================
|
||||
//function : MustExecute
|
||||
//purpose : Analyse in <theLog> if the loaded function must be executed
|
||||
//=======================================================================
|
||||
Standard_Boolean DNaming_Line3DDriver::MustExecute(const TFunction_Logbook&) const
|
||||
Standard_Boolean DNaming_Line3DDriver::MustExecute(const Handle(TFunction_Logbook)&) const
|
||||
{
|
||||
return Standard_True;
|
||||
}
|
||||
@ -80,7 +80,7 @@ Standard_Boolean DNaming_Line3DDriver::MustExecute(const TFunction_Logbook&) con
|
||||
//function : Execute
|
||||
//purpose : Execute the function
|
||||
//=======================================================================
|
||||
Standard_Integer DNaming_Line3DDriver::Execute(TFunction_Logbook& theLog) const
|
||||
Standard_Integer DNaming_Line3DDriver::Execute(Handle(TFunction_Logbook)& theLog) const
|
||||
{
|
||||
Handle(TFunction_Function) aFunction;
|
||||
Label().FindAttribute(TFunction_Function::GetID(),aFunction);
|
||||
@ -185,7 +185,7 @@ Standard_Integer DNaming_Line3DDriver::Execute(TFunction_Logbook& theLog) const
|
||||
if(!aLocation.IsIdentity())
|
||||
TNaming::Displace(aResultLabel, aLocation, Standard_True);
|
||||
|
||||
theLog.SetValid(aResultLabel, Standard_True);
|
||||
theLog->SetValid(aResultLabel, Standard_True);
|
||||
|
||||
aFunction->SetFailure(DONE);
|
||||
return 0;
|
||||
|
@ -49,17 +49,17 @@ public:
|
||||
//! the valid label scope.
|
||||
//! execution of function
|
||||
//! ======================
|
||||
Standard_EXPORT virtual void Validate (TFunction_Logbook& theLog) const Standard_OVERRIDE;
|
||||
Standard_EXPORT virtual void Validate (Handle(TFunction_Logbook)& theLog) const Standard_OVERRIDE;
|
||||
|
||||
//! Analyse in <log> if the loaded function must be executed
|
||||
//! (i.e.arguments are modified) or not.
|
||||
//! If the Function label itself is modified, the function must
|
||||
//! be executed.
|
||||
Standard_EXPORT virtual Standard_Boolean MustExecute (const TFunction_Logbook& theLog) const Standard_OVERRIDE;
|
||||
Standard_EXPORT virtual Standard_Boolean MustExecute (const Handle(TFunction_Logbook)& theLog) const Standard_OVERRIDE;
|
||||
|
||||
//! Execute the function and push in <log> the impacted
|
||||
//! labels (see method SetImpacted).
|
||||
Standard_EXPORT virtual Standard_Integer Execute (TFunction_Logbook& theLog) const Standard_OVERRIDE;
|
||||
Standard_EXPORT virtual Standard_Integer Execute (Handle(TFunction_Logbook)& theLog) const Standard_OVERRIDE;
|
||||
|
||||
|
||||
|
||||
|
@ -455,18 +455,12 @@ static Standard_Integer DNaming_BoxDZ (Draw_Interpretor& theDI,
|
||||
return 1;
|
||||
}
|
||||
|
||||
//=======================================================================
|
||||
static TFunction_Logbook& GetLogBook ()
|
||||
{
|
||||
static TFunction_Logbook myLog;
|
||||
return myLog;
|
||||
}
|
||||
//=======================================================================
|
||||
//function : Compute
|
||||
//purpose : Performs the calling to a driver with the given Function ID.
|
||||
//=======================================================================
|
||||
static Standard_Integer ComputeFunction(const Handle(TFunction_Function)& theFun,
|
||||
TFunction_Logbook& theLog)
|
||||
Handle(TFunction_Logbook)& theLog)
|
||||
{
|
||||
Handle(TFunction_DriverTable) aTable = TFunction_DriverTable::Get();
|
||||
Handle(TFunction_Driver) aDriver;
|
||||
@ -506,6 +500,7 @@ static Standard_Integer DNaming_SolveFlatFrom (Draw_Interpretor& /*theDI*/,
|
||||
#ifdef OCCT_DEBUG
|
||||
cout << "DNaming_SolveFlatFrom: Father label = " << entry << endl;
|
||||
#endif
|
||||
Handle(TFunction_Logbook) logbook = TFunction_Logbook::Set(FatherLab);
|
||||
Standard_Boolean found(Standard_False);
|
||||
TDF_ChildIterator it(FatherLab, Standard_False);
|
||||
for(;it.More(); it.Next()) {
|
||||
@ -526,7 +521,9 @@ static Standard_Integer DNaming_SolveFlatFrom (Draw_Interpretor& /*theDI*/,
|
||||
else {
|
||||
TDF_Tool::Entry(funLabel, entry);
|
||||
try {
|
||||
Standard_Integer aRes = ComputeFunction(aFun, GetLogBook());
|
||||
// We clear the logbook because the execution starts not from the begining of the function list (some functions ar skipped).
|
||||
logbook->Clear();
|
||||
Standard_Integer aRes = ComputeFunction(aFun, logbook);
|
||||
if(aRes != 0) {
|
||||
cout << "DNaming_SolveFlatFrom: Driver failed at label = " << entry << endl;
|
||||
return 1;
|
||||
@ -558,13 +555,14 @@ static Standard_Integer DNaming_InitLogBook (Draw_Interpretor& /*theDI*/,
|
||||
Handle(TDocStd_Document) aDoc;
|
||||
Standard_CString aDocS(theArg[1]);
|
||||
if (!DDocStd::GetDocument(aDocS, aDoc)) return 1;
|
||||
if(GetLogBook().IsEmpty()) {
|
||||
Handle(TFunction_Logbook) logbook = TFunction_Logbook::Set(aDoc->Main());
|
||||
if(logbook->IsEmpty()) {
|
||||
#ifdef OCCT_DEBUG
|
||||
cout << "DNaming_InitLogBook : is empty" <<endl;
|
||||
#endif
|
||||
}
|
||||
else {
|
||||
GetLogBook().Clear();
|
||||
logbook->Clear();
|
||||
#ifdef OCCT_DEBUG
|
||||
cout << "DNaming_InitLogBook : cleaned" <<endl;
|
||||
#endif
|
||||
@ -586,12 +584,12 @@ static Standard_Integer DNaming_CheckLogBook (Draw_Interpretor& /*theDI*/,
|
||||
if (theNb == 2) {
|
||||
Handle(TDocStd_Document) aDoc;
|
||||
Standard_CString aDocS(theArg[1]);
|
||||
if (!DDocStd::GetDocument(aDocS, aDoc)) return 1;
|
||||
if(GetLogBook().IsEmpty())
|
||||
if (!DDocStd::GetDocument(aDocS, aDoc)) return 1;
|
||||
Handle(TFunction_Logbook) logbook = TFunction_Logbook::Set(aDoc->Main());
|
||||
if(logbook->IsEmpty())
|
||||
cout << "DNaming_CheckLogBook : is empty" <<endl;
|
||||
else {
|
||||
TDF_LabelMap aMap;
|
||||
aMap = GetLogBook().GetValid();
|
||||
const TDF_LabelMap& aMap = logbook->GetValid();
|
||||
TDF_MapIteratorOfLabelMap it(aMap);
|
||||
TCollection_AsciiString entry;
|
||||
cout << "DNaming_CheckLogBook : LogBook current state:" <<endl;
|
||||
@ -625,7 +623,8 @@ static Standard_Integer DNaming_ComputeFun (Draw_Interpretor& /*theDI*/,
|
||||
funLabel.FindAttribute(TFunction_Function::GetID(), aFun);
|
||||
if(aFun.IsNull()) return 1;
|
||||
if(!aFun.IsNull()) {
|
||||
Standard_Integer aRes = ComputeFunction(aFun, GetLogBook());
|
||||
Handle(TFunction_Logbook) logbook = TFunction_Logbook::Set(funLabel);
|
||||
Standard_Integer aRes = ComputeFunction(aFun, logbook);
|
||||
if(aRes != 0) {
|
||||
cout << "DNaming_ComputeFun : No Driver or Driver failed" << endl;
|
||||
return 1;
|
||||
@ -2169,7 +2168,7 @@ void DNaming::ModelingCommands (Draw_Interpretor& theCommands)
|
||||
__FILE__, DNaming_AddObject, g2);
|
||||
|
||||
theCommands.Add ("AddFunction",
|
||||
"AddFunction D ObjEntry FunNane[Box|Sph|Cyl|Cut|Fuse|Prism|Revol|PMove|Fillet|Attach|XAttach]",
|
||||
"AddFunction D ObjEntry FunName[Box|Sph|Cyl|Cut|Fuse|Prism|Revol|PMove|Fillet|Attach|XAttach]",
|
||||
__FILE__, DNaming_AddFunction, g2);
|
||||
|
||||
theCommands.Add ("AddBox", "AddBox Doc dx dy dz", __FILE__, DNaming_AddBox, g2);
|
||||
|
@ -47,14 +47,14 @@ DNaming_PointDriver::DNaming_PointDriver()
|
||||
//function : Validate
|
||||
//purpose : Validates labels of a function in <log>.
|
||||
//=======================================================================
|
||||
void DNaming_PointDriver::Validate(TFunction_Logbook&) const
|
||||
void DNaming_PointDriver::Validate(Handle(TFunction_Logbook)&) const
|
||||
{}
|
||||
|
||||
//=======================================================================
|
||||
//function : MustExecute
|
||||
//purpose : Analyse in <log> if the loaded function must be executed
|
||||
//=======================================================================
|
||||
Standard_Boolean DNaming_PointDriver::MustExecute(const TFunction_Logbook&) const
|
||||
Standard_Boolean DNaming_PointDriver::MustExecute(const Handle(TFunction_Logbook)&) const
|
||||
{
|
||||
return Standard_True;
|
||||
}
|
||||
@ -63,7 +63,7 @@ Standard_Boolean DNaming_PointDriver::MustExecute(const TFunction_Logbook&) cons
|
||||
//function : Execute
|
||||
//purpose : Execute the function and push in <log> the impacted labels
|
||||
//=======================================================================
|
||||
Standard_Integer DNaming_PointDriver::Execute(TFunction_Logbook& theLog) const
|
||||
Standard_Integer DNaming_PointDriver::Execute(Handle(TFunction_Logbook)& theLog) const
|
||||
{
|
||||
Handle(TFunction_Function) aFunction;
|
||||
Label().FindAttribute(TFunction_Function::GetID(),aFunction);
|
||||
@ -117,7 +117,7 @@ Standard_Integer DNaming_PointDriver::Execute(TFunction_Logbook& theLog) const
|
||||
if(!aLocation.IsIdentity())
|
||||
TNaming::Displace(aResultLabel, aLocation, Standard_True);
|
||||
|
||||
theLog.SetValid(aResultLabel, Standard_True);
|
||||
theLog->SetValid(aResultLabel, Standard_True);
|
||||
|
||||
aFunction->SetFailure(DONE);
|
||||
return 0;
|
||||
|
@ -46,17 +46,17 @@ public:
|
||||
//! the valid label scope.
|
||||
//! execution of function
|
||||
//! ======================
|
||||
Standard_EXPORT virtual void Validate (TFunction_Logbook& theLog) const Standard_OVERRIDE;
|
||||
Standard_EXPORT virtual void Validate (Handle(TFunction_Logbook)& theLog) const Standard_OVERRIDE;
|
||||
|
||||
//! Analyse in <log> if the loaded function must be executed
|
||||
//! (i.e.arguments are modified) or not.
|
||||
//! If the Function label itself is modified, the function must
|
||||
//! be executed.
|
||||
Standard_EXPORT virtual Standard_Boolean MustExecute (const TFunction_Logbook& theLog) const Standard_OVERRIDE;
|
||||
Standard_EXPORT virtual Standard_Boolean MustExecute (const Handle(TFunction_Logbook)& theLog) const Standard_OVERRIDE;
|
||||
|
||||
//! Execute the function and push in <log> the impacted
|
||||
//! labels (see method SetImpacted).
|
||||
Standard_EXPORT virtual Standard_Integer Execute (TFunction_Logbook& theLog) const Standard_OVERRIDE;
|
||||
Standard_EXPORT virtual Standard_Integer Execute (Handle(TFunction_Logbook)& theLog) const Standard_OVERRIDE;
|
||||
|
||||
|
||||
|
||||
|
@ -66,14 +66,14 @@ DNaming_PrismDriver::DNaming_PrismDriver()
|
||||
//function : Validate
|
||||
//purpose : Validates labels of a function in <theLog>.
|
||||
//=======================================================================
|
||||
void DNaming_PrismDriver::Validate(TFunction_Logbook&) const
|
||||
void DNaming_PrismDriver::Validate(Handle(TFunction_Logbook)&) const
|
||||
{}
|
||||
|
||||
//=======================================================================
|
||||
//function : MustExecute
|
||||
//purpose : Analyses in <theLog> if the loaded function must be executed
|
||||
//=======================================================================
|
||||
Standard_Boolean DNaming_PrismDriver::MustExecute(const TFunction_Logbook&) const
|
||||
Standard_Boolean DNaming_PrismDriver::MustExecute(const Handle(TFunction_Logbook)&) const
|
||||
{
|
||||
return Standard_True;
|
||||
}
|
||||
@ -94,7 +94,7 @@ static void Write(const TopoDS_Shape& shape,
|
||||
//function : Execute
|
||||
//purpose : Executes the function
|
||||
//=======================================================================
|
||||
Standard_Integer DNaming_PrismDriver::Execute(TFunction_Logbook& theLog) const {
|
||||
Standard_Integer DNaming_PrismDriver::Execute(Handle(TFunction_Logbook)& theLog) const {
|
||||
Handle(TFunction_Function) aFunction;
|
||||
Label().FindAttribute(TFunction_Function::GetID(), aFunction);
|
||||
if(aFunction.IsNull()) return -1;
|
||||
@ -206,7 +206,7 @@ Standard_Integer DNaming_PrismDriver::Execute(TFunction_Logbook& theLog) const {
|
||||
if(!aLocation.IsIdentity())
|
||||
TNaming::Displace(RESPOSITION(aFunction), aLocation, Standard_True);
|
||||
|
||||
theLog.SetValid(RESPOSITION(aFunction),Standard_True);
|
||||
theLog->SetValid(RESPOSITION(aFunction),Standard_True);
|
||||
aFunction->SetFailure(DONE);
|
||||
return 0;
|
||||
}
|
||||
|
@ -49,17 +49,17 @@ public:
|
||||
//! the valid label scope.
|
||||
//! execution of function
|
||||
//! ======================
|
||||
Standard_EXPORT virtual void Validate (TFunction_Logbook& theLog) const Standard_OVERRIDE;
|
||||
Standard_EXPORT virtual void Validate (Handle(TFunction_Logbook)& theLog) const Standard_OVERRIDE;
|
||||
|
||||
//! Analyse in <log> if the loaded function must be executed
|
||||
//! (i.e.arguments are modified) or not.
|
||||
//! If the Function label itself is modified, the function must
|
||||
//! be executed.
|
||||
Standard_EXPORT virtual Standard_Boolean MustExecute (const TFunction_Logbook& theLog) const Standard_OVERRIDE;
|
||||
Standard_EXPORT virtual Standard_Boolean MustExecute (const Handle(TFunction_Logbook)& theLog) const Standard_OVERRIDE;
|
||||
|
||||
//! Execute the function and push in <log> the impacted
|
||||
//! labels (see method SetImpacted).
|
||||
Standard_EXPORT virtual Standard_Integer Execute (TFunction_Logbook& theLog) const Standard_OVERRIDE;
|
||||
Standard_EXPORT virtual Standard_Integer Execute (Handle(TFunction_Logbook)& theLog) const Standard_OVERRIDE;
|
||||
|
||||
|
||||
|
||||
|
@ -70,14 +70,14 @@ DNaming_RevolutionDriver::DNaming_RevolutionDriver()
|
||||
//function : Validate
|
||||
//purpose : Validates labels of a function in <theLog>.
|
||||
//=======================================================================
|
||||
void DNaming_RevolutionDriver::Validate(TFunction_Logbook&) const
|
||||
void DNaming_RevolutionDriver::Validate(Handle(TFunction_Logbook)&) const
|
||||
{}
|
||||
|
||||
//=======================================================================
|
||||
//function : MustExecute
|
||||
//purpose : Analyses in <theLog> if the loaded function must be executed
|
||||
//=======================================================================
|
||||
Standard_Boolean DNaming_RevolutionDriver::MustExecute(const TFunction_Logbook&) const
|
||||
Standard_Boolean DNaming_RevolutionDriver::MustExecute(const Handle(TFunction_Logbook)&) const
|
||||
{
|
||||
return Standard_True;
|
||||
}
|
||||
@ -86,7 +86,7 @@ Standard_Boolean DNaming_RevolutionDriver::MustExecute(const TFunction_Logbook&)
|
||||
//function : Execute
|
||||
//purpose : Executes the function
|
||||
//=======================================================================
|
||||
Standard_Integer DNaming_RevolutionDriver::Execute(TFunction_Logbook& theLog) const {
|
||||
Standard_Integer DNaming_RevolutionDriver::Execute(Handle(TFunction_Logbook)& theLog) const {
|
||||
Handle(TFunction_Function) aFunction;
|
||||
Label().FindAttribute(TFunction_Function::GetID(), aFunction);
|
||||
if(aFunction.IsNull()) return -1;
|
||||
@ -259,7 +259,7 @@ Standard_Integer DNaming_RevolutionDriver::Execute(TFunction_Logbook& theLog) co
|
||||
if(!aLocation.IsIdentity())
|
||||
TNaming::Displace(RESPOSITION(aFunction), aLocation, Standard_True);
|
||||
|
||||
theLog.SetValid(RESPOSITION(aFunction),Standard_True);
|
||||
theLog->SetValid(RESPOSITION(aFunction),Standard_True);
|
||||
aFunction->SetFailure(DONE);
|
||||
return 0;
|
||||
}
|
||||
|
@ -49,17 +49,17 @@ public:
|
||||
//! the valid label scope.
|
||||
//! execution of function
|
||||
//! ======================
|
||||
Standard_EXPORT virtual void Validate (TFunction_Logbook& theLog) const Standard_OVERRIDE;
|
||||
Standard_EXPORT virtual void Validate (Handle(TFunction_Logbook)& theLog) const Standard_OVERRIDE;
|
||||
|
||||
//! Analyse in <log> if the loaded function must be executed
|
||||
//! (i.e.arguments are modified) or not.
|
||||
//! If the Function label itself is modified, the function must
|
||||
//! be executed.
|
||||
Standard_EXPORT virtual Standard_Boolean MustExecute (const TFunction_Logbook& theLog) const Standard_OVERRIDE;
|
||||
Standard_EXPORT virtual Standard_Boolean MustExecute (const Handle(TFunction_Logbook)& theLog) const Standard_OVERRIDE;
|
||||
|
||||
//! Execute the function and push in <log> the impacted
|
||||
//! labels (see method SetImpacted).
|
||||
Standard_EXPORT virtual Standard_Integer Execute (TFunction_Logbook& theLog) const Standard_OVERRIDE;
|
||||
Standard_EXPORT virtual Standard_Integer Execute (Handle(TFunction_Logbook)& theLog) const Standard_OVERRIDE;
|
||||
|
||||
|
||||
|
||||
|
@ -45,7 +45,7 @@ DNaming_SelectionDriver::DNaming_SelectionDriver()
|
||||
//function : Validate
|
||||
//purpose : Validates labels of a function in <theLog>.
|
||||
//=======================================================================
|
||||
void DNaming_SelectionDriver::Validate(TFunction_Logbook& ) const
|
||||
void DNaming_SelectionDriver::Validate(Handle(TFunction_Logbook)& ) const
|
||||
{}
|
||||
|
||||
//=======================================================================
|
||||
@ -53,7 +53,7 @@ void DNaming_SelectionDriver::Validate(TFunction_Logbook& ) const
|
||||
//purpose : Analyse in <theLog> if the loaded function must be
|
||||
// executed (i.e.arguments are modified) or not.
|
||||
//=======================================================================
|
||||
Standard_Boolean DNaming_SelectionDriver::MustExecute(const TFunction_Logbook& ) const {
|
||||
Standard_Boolean DNaming_SelectionDriver::MustExecute(const Handle(TFunction_Logbook)& ) const {
|
||||
return Standard_True;
|
||||
}
|
||||
|
||||
@ -82,7 +82,7 @@ static void Write(const TopoDS_Shape& shape,
|
||||
#include <TCollection_AsciiString.hxx>
|
||||
#include <TDF_ChildIterator.hxx>
|
||||
|
||||
Standard_Integer DNaming_SelectionDriver::Execute(TFunction_Logbook& theLog) const
|
||||
Standard_Integer DNaming_SelectionDriver::Execute(Handle(TFunction_Logbook)& theLog) const
|
||||
{
|
||||
Handle(TFunction_Function) aFunction;
|
||||
Label().FindAttribute(TFunction_Function::GetID(),aFunction);
|
||||
@ -105,7 +105,7 @@ Standard_Integer DNaming_SelectionDriver::Execute(TFunction_Logbook& theLog) con
|
||||
TNaming_Selector aSelector(aRLabel);
|
||||
|
||||
TDF_LabelMap aMap;
|
||||
aMap = theLog.ChangeValid();
|
||||
theLog->GetValid(aMap);
|
||||
#ifdef OCCT_DEBUG
|
||||
cout <<"#E_DNaming_SelectionDriver:: Valid Label Map:"<<endl;
|
||||
TDF_MapIteratorOfLabelMap anItr(aMap);
|
||||
@ -126,7 +126,7 @@ Standard_Integer DNaming_SelectionDriver::Execute(TFunction_Logbook& theLog) con
|
||||
//***
|
||||
|
||||
if(aSelector.Solve(aMap)) {
|
||||
theLog.SetValid(aRLabel);
|
||||
theLog->SetValid(aRLabel);
|
||||
Handle(TNaming_NamedShape) aNS;
|
||||
if(!aRLabel.FindAttribute(TNaming_NamedShape::GetID(),aNS)) {
|
||||
cout <<"%%%WARNING: DNaming_SelectionDriver::NamedShape is not found"<<endl;
|
||||
|
@ -46,17 +46,17 @@ public:
|
||||
//! the valid label scope.
|
||||
//! execution of function
|
||||
//! ======================
|
||||
Standard_EXPORT virtual void Validate (TFunction_Logbook& theLog) const Standard_OVERRIDE;
|
||||
Standard_EXPORT virtual void Validate (Handle(TFunction_Logbook)& theLog) const Standard_OVERRIDE;
|
||||
|
||||
//! Analyse in <log> if the loaded function must be executed
|
||||
//! (i.e.arguments are modified) or not.
|
||||
//! If the Function label itself is modified, the function must
|
||||
//! be executed.
|
||||
Standard_EXPORT virtual Standard_Boolean MustExecute (const TFunction_Logbook& theLog) const Standard_OVERRIDE;
|
||||
Standard_EXPORT virtual Standard_Boolean MustExecute (const Handle(TFunction_Logbook)& theLog) const Standard_OVERRIDE;
|
||||
|
||||
//! Execute the function and push in <log> the impacted
|
||||
//! labels (see method SetImpacted).
|
||||
Standard_EXPORT virtual Standard_Integer Execute (TFunction_Logbook& theLog) const Standard_OVERRIDE;
|
||||
Standard_EXPORT virtual Standard_Integer Execute (Handle(TFunction_Logbook)& theLog) const Standard_OVERRIDE;
|
||||
|
||||
|
||||
|
||||
|
@ -55,14 +55,14 @@ DNaming_SphereDriver::DNaming_SphereDriver()
|
||||
//function : Validate
|
||||
//purpose : Validates labels of a function in <theLog>
|
||||
//=======================================================================
|
||||
void DNaming_SphereDriver::Validate(TFunction_Logbook&) const
|
||||
void DNaming_SphereDriver::Validate(Handle(TFunction_Logbook)&) const
|
||||
{}
|
||||
|
||||
//=======================================================================
|
||||
//function : MustExecute
|
||||
//purpose : Analyses in <theLog> if the loaded function must be executed
|
||||
//=======================================================================
|
||||
Standard_Boolean DNaming_SphereDriver::MustExecute(const TFunction_Logbook&) const {
|
||||
Standard_Boolean DNaming_SphereDriver::MustExecute(const Handle(TFunction_Logbook)&) const {
|
||||
return Standard_True;
|
||||
}
|
||||
|
||||
@ -70,7 +70,7 @@ Standard_Boolean DNaming_SphereDriver::MustExecute(const TFunction_Logbook&) con
|
||||
//function : Execute
|
||||
//purpose : Executes the function
|
||||
//=======================================================================
|
||||
Standard_Integer DNaming_SphereDriver::Execute(TFunction_Logbook& theLog) const {
|
||||
Standard_Integer DNaming_SphereDriver::Execute(Handle(TFunction_Logbook)& theLog) const {
|
||||
Handle(TFunction_Function) aFunction;
|
||||
Label().FindAttribute(TFunction_Function::GetID(),aFunction);
|
||||
if(aFunction.IsNull()) return -1;
|
||||
@ -127,7 +127,7 @@ Standard_Integer DNaming_SphereDriver::Execute(TFunction_Logbook& theLog) const
|
||||
if(!aLocation.IsIdentity())
|
||||
TNaming::Displace(RESPOSITION(aFunction), aLocation, Standard_True);
|
||||
|
||||
theLog.SetValid(RESPOSITION(aFunction), Standard_True);
|
||||
theLog->SetValid(RESPOSITION(aFunction), Standard_True);
|
||||
aFunction->SetFailure(DONE);
|
||||
return 0;
|
||||
}
|
||||
|
@ -48,17 +48,17 @@ public:
|
||||
//! the valid label scope.
|
||||
//! execution of function
|
||||
//! ======================
|
||||
Standard_EXPORT virtual void Validate (TFunction_Logbook& theLog) const Standard_OVERRIDE;
|
||||
Standard_EXPORT virtual void Validate (Handle(TFunction_Logbook)& theLog) const Standard_OVERRIDE;
|
||||
|
||||
//! Analyse in <log> if the loaded function must be executed
|
||||
//! (i.e.arguments are modified) or not.
|
||||
//! If the Function label itself is modified, the function must
|
||||
//! be executed.
|
||||
Standard_EXPORT virtual Standard_Boolean MustExecute (const TFunction_Logbook& theLog) const Standard_OVERRIDE;
|
||||
Standard_EXPORT virtual Standard_Boolean MustExecute (const Handle(TFunction_Logbook)& theLog) const Standard_OVERRIDE;
|
||||
|
||||
//! Execute the function and push in <log> the impacted
|
||||
//! labels (see method SetImpacted).
|
||||
Standard_EXPORT virtual Standard_Integer Execute (TFunction_Logbook& theLog) const Standard_OVERRIDE;
|
||||
Standard_EXPORT virtual Standard_Integer Execute (Handle(TFunction_Logbook)& theLog) const Standard_OVERRIDE;
|
||||
|
||||
|
||||
|
||||
|
@ -86,14 +86,14 @@ DNaming_TransformationDriver::DNaming_TransformationDriver()
|
||||
//function : Validate
|
||||
//purpose : Validates labels of a function in <log>.
|
||||
//=======================================================================
|
||||
void DNaming_TransformationDriver::Validate(TFunction_Logbook&) const
|
||||
void DNaming_TransformationDriver::Validate(Handle(TFunction_Logbook)&) const
|
||||
{}
|
||||
|
||||
//=======================================================================
|
||||
//function : MustExecute
|
||||
//purpose : Analyse in <log> if the loaded function must be executed
|
||||
//=======================================================================
|
||||
Standard_Boolean DNaming_TransformationDriver::MustExecute(const TFunction_Logbook&) const
|
||||
Standard_Boolean DNaming_TransformationDriver::MustExecute(const Handle(TFunction_Logbook)&) const
|
||||
{
|
||||
return Standard_True;
|
||||
}
|
||||
@ -103,7 +103,7 @@ Standard_Boolean DNaming_TransformationDriver::MustExecute(const TFunction_Logbo
|
||||
//function : Execute
|
||||
//purpose : Execute the function and push in <log> the impacted labels
|
||||
//=======================================================================
|
||||
Standard_Integer DNaming_TransformationDriver::Execute(TFunction_Logbook& theLog) const
|
||||
Standard_Integer DNaming_TransformationDriver::Execute(Handle(TFunction_Logbook)& theLog) const
|
||||
{
|
||||
Handle(TFunction_Function) aFunction;
|
||||
Label().FindAttribute(TFunction_Function::GetID(),aFunction);
|
||||
@ -178,7 +178,7 @@ Standard_Integer DNaming_TransformationDriver::Execute(TFunction_Logbook& theLog
|
||||
// Naming
|
||||
LoadNamingDS(RESPOSITION(aFunction), aContextNS, aTransformation);
|
||||
|
||||
theLog.SetValid(RESPOSITION(aFunction),Standard_True);
|
||||
theLog->SetValid(RESPOSITION(aFunction),Standard_True);
|
||||
aFunction->SetFailure(DONE);
|
||||
return 0;
|
||||
}
|
||||
|
@ -49,17 +49,17 @@ public:
|
||||
//! the valid label scope.
|
||||
//! execution of function
|
||||
//! ======================
|
||||
Standard_EXPORT virtual void Validate (TFunction_Logbook& theLog) const Standard_OVERRIDE;
|
||||
Standard_EXPORT virtual void Validate (Handle(TFunction_Logbook)& theLog) const Standard_OVERRIDE;
|
||||
|
||||
//! Analyse in <log> if the loaded function must be executed
|
||||
//! (i.e.arguments are modified) or not.
|
||||
//! If the Function label itself is modified, the function must
|
||||
//! be executed.
|
||||
Standard_EXPORT virtual Standard_Boolean MustExecute (const TFunction_Logbook& theLog) const Standard_OVERRIDE;
|
||||
Standard_EXPORT virtual Standard_Boolean MustExecute (const Handle(TFunction_Logbook)& theLog) const Standard_OVERRIDE;
|
||||
|
||||
//! Execute the function and push in <log> the impacted
|
||||
//! labels (see method SetImpacted).
|
||||
Standard_EXPORT virtual Standard_Integer Execute (TFunction_Logbook& theLog) const Standard_OVERRIDE;
|
||||
Standard_EXPORT virtual Standard_Integer Execute (Handle(TFunction_Logbook)& theLog) const Standard_OVERRIDE;
|
||||
|
||||
|
||||
|
||||
|
@ -47,14 +47,15 @@ void TFunction_Driver::Init(const TDF_Label& L)
|
||||
//purpose : Validates labels of a function
|
||||
//=======================================================================
|
||||
|
||||
void TFunction_Driver::Validate(TFunction_Logbook& log) const
|
||||
void TFunction_Driver::Validate(Handle(TFunction_Logbook)& log) const
|
||||
{
|
||||
TDF_LabelList res;
|
||||
Results(res);
|
||||
|
||||
TDF_ListIteratorOfLabelList itr(res);
|
||||
for (; itr.More(); itr.Next())
|
||||
{
|
||||
log.SetValid(itr.Value(), Standard_True);
|
||||
log->SetValid(itr.Value(), Standard_True);
|
||||
}
|
||||
}
|
||||
|
||||
@ -64,15 +65,16 @@ void TFunction_Driver::Validate(TFunction_Logbook& log) const
|
||||
//purpose : Analyzes the labels in the logbook
|
||||
//=======================================================================
|
||||
|
||||
Standard_Boolean TFunction_Driver::MustExecute(const TFunction_Logbook& log) const
|
||||
Standard_Boolean TFunction_Driver::MustExecute(const Handle(TFunction_Logbook)& log) const
|
||||
{
|
||||
// Check modification of arguments.
|
||||
TDF_LabelList args;
|
||||
Arguments(args);
|
||||
|
||||
TDF_ListIteratorOfLabelList itr(args);
|
||||
for (; itr.More(); itr.Next())
|
||||
{
|
||||
if (log.IsModified(itr.Value()))
|
||||
if (log->IsModified(itr.Value()))
|
||||
return Standard_True;
|
||||
}
|
||||
return Standard_False;
|
||||
|
@ -62,18 +62,18 @@ public:
|
||||
//! method even if the function is not executed.
|
||||
//! execution of function
|
||||
//! =====================
|
||||
Standard_EXPORT virtual void Validate (TFunction_Logbook& log) const;
|
||||
Standard_EXPORT virtual void Validate (Handle(TFunction_Logbook)& log) const;
|
||||
|
||||
//! Analyzes the labels in the logbook log.
|
||||
//! Returns true if attributes have been modified.
|
||||
//! If the function label itself has been modified, the function must be executed.
|
||||
Standard_EXPORT virtual Standard_Boolean MustExecute (const TFunction_Logbook& log) const;
|
||||
Standard_EXPORT virtual Standard_Boolean MustExecute (const Handle(TFunction_Logbook)& log) const;
|
||||
|
||||
//! Executes the function in this function driver and
|
||||
//! puts the impacted labels in the logbook log.
|
||||
//! arguments & results of functions
|
||||
//! ================================
|
||||
Standard_EXPORT virtual Standard_Integer Execute (TFunction_Logbook& log) const = 0;
|
||||
Standard_EXPORT virtual Standard_Integer Execute (Handle(TFunction_Logbook)& log) const = 0;
|
||||
|
||||
//! The method fills-in the list by labels,
|
||||
//! where the arguments of the function are located.
|
||||
|
@ -406,7 +406,7 @@ const TFunction_DoubleMapOfIntegerLabel& TFunction_IFunction::GetAllFunctions()
|
||||
//purpose : Returns the Logbook.
|
||||
//=======================================================================
|
||||
|
||||
TFunction_Logbook& TFunction_IFunction::GetLogbook() const
|
||||
Handle(TFunction_Logbook) TFunction_IFunction::GetLogbook() const
|
||||
{
|
||||
return TFunction_Scope::Set(myLabel)->GetLogbook();
|
||||
}
|
||||
|
@ -97,7 +97,7 @@ public:
|
||||
Standard_EXPORT const TFunction_DoubleMapOfIntegerLabel& GetAllFunctions() const;
|
||||
|
||||
//! Returns the Logbook - keeper of modifications.
|
||||
Standard_EXPORT TFunction_Logbook& GetLogbook() const;
|
||||
Standard_EXPORT Handle(TFunction_Logbook) GetLogbook() const;
|
||||
|
||||
//! Returns a driver of the function.
|
||||
Standard_EXPORT Handle(TFunction_Driver) GetDriver (const Standard_Integer thread = 0) const;
|
||||
|
@ -21,8 +21,46 @@
|
||||
#include <TDF_Label.hxx>
|
||||
#include <TDF_LabelMap.hxx>
|
||||
#include <TDF_MapIteratorOfLabelMap.hxx>
|
||||
#include <TDF_RelocationTable.hxx>
|
||||
#include <TDF_Tool.hxx>
|
||||
#include <TFunction_Logbook.hxx>
|
||||
#include <Standard_GUID.hxx>
|
||||
|
||||
//=======================================================================
|
||||
//function : GetID
|
||||
//purpose : Static method to get an ID
|
||||
//=======================================================================
|
||||
const Standard_GUID& TFunction_Logbook::GetID()
|
||||
{
|
||||
static Standard_GUID TFunction_LogbookID("CF519724-5CA4-4B90-835F-8919BE1DDE4B");
|
||||
return TFunction_LogbookID;
|
||||
}
|
||||
|
||||
//=======================================================================
|
||||
//function : Set
|
||||
//purpose : Finds or creates a Scope attribute
|
||||
//=======================================================================
|
||||
|
||||
Handle(TFunction_Logbook) TFunction_Logbook::Set(const TDF_Label& Access)
|
||||
{
|
||||
Handle(TFunction_Logbook) S;
|
||||
if (!Access.Root().FindAttribute(TFunction_Logbook::GetID(), S))
|
||||
{
|
||||
S = new TFunction_Logbook();
|
||||
Access.Root().AddAttribute(S);
|
||||
}
|
||||
return S;
|
||||
}
|
||||
|
||||
//=======================================================================
|
||||
//function : ID
|
||||
//purpose : Returns GUID of the function
|
||||
//=======================================================================
|
||||
|
||||
const Standard_GUID& TFunction_Logbook::ID() const
|
||||
{
|
||||
return GetID();
|
||||
}
|
||||
|
||||
//=======================================================================
|
||||
//function : TFunction_Logbook
|
||||
@ -38,9 +76,13 @@ TFunction_Logbook::TFunction_Logbook():isDone(Standard_False)
|
||||
|
||||
void TFunction_Logbook::Clear()
|
||||
{
|
||||
myTouched.Clear();
|
||||
myImpacted.Clear();
|
||||
myValid.Clear();
|
||||
if (!IsEmpty())
|
||||
{
|
||||
Backup();
|
||||
myTouched.Clear();
|
||||
myImpacted.Clear();
|
||||
myValid.Clear();
|
||||
}
|
||||
}
|
||||
|
||||
//=======================================================================
|
||||
@ -59,15 +101,22 @@ Standard_Boolean TFunction_Logbook::IsEmpty () const
|
||||
//=======================================================================
|
||||
|
||||
Standard_Boolean TFunction_Logbook::IsModified(const TDF_Label& L,
|
||||
const Standard_Boolean WithChildren) const
|
||||
const Standard_Boolean WithChildren) const
|
||||
{
|
||||
if (myTouched.Contains(L)) return Standard_True;
|
||||
if (myImpacted.Contains(L)) return Standard_True;
|
||||
if (WithChildren) {
|
||||
if (myTouched.Contains(L))
|
||||
return Standard_True;
|
||||
if (myImpacted.Contains(L))
|
||||
return Standard_True;
|
||||
if (WithChildren)
|
||||
{
|
||||
TDF_ChildIterator itr(L);
|
||||
for (; itr.More(); itr.Next())
|
||||
{
|
||||
if (IsModified(itr.Value(), Standard_True))
|
||||
return Standard_True;
|
||||
{
|
||||
return Standard_True;
|
||||
}
|
||||
}
|
||||
}
|
||||
return Standard_False;
|
||||
}
|
||||
@ -78,34 +127,169 @@ Standard_Boolean TFunction_Logbook::IsModified(const TDF_Label& L,
|
||||
//=======================================================================
|
||||
|
||||
void TFunction_Logbook::SetValid(const TDF_Label& L,
|
||||
const Standard_Boolean WithChildren)
|
||||
const Standard_Boolean WithChildren)
|
||||
{
|
||||
Backup();
|
||||
myValid.Add(L);
|
||||
if (WithChildren) {
|
||||
if (WithChildren)
|
||||
{
|
||||
TDF_ChildIterator itr(L, Standard_True);
|
||||
for (; itr.More(); itr.Next()) {
|
||||
for (; itr.More(); itr.Next())
|
||||
{
|
||||
myValid.Add(itr.Value());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void TFunction_Logbook::SetValid(const TDF_LabelMap& Ls)
|
||||
{
|
||||
Backup();
|
||||
TDF_MapIteratorOfLabelMap itrm(Ls);
|
||||
for (; itrm.More(); itrm.Next())
|
||||
{
|
||||
const TDF_Label& L = itrm.Key();
|
||||
myValid.Add(L);
|
||||
}
|
||||
}
|
||||
|
||||
//=======================================================================
|
||||
//function : SetImpacted
|
||||
//purpose :
|
||||
//=======================================================================
|
||||
|
||||
void TFunction_Logbook::SetImpacted(const TDF_Label& L,
|
||||
const Standard_Boolean WithChildren)
|
||||
const Standard_Boolean WithChildren)
|
||||
{
|
||||
Backup();
|
||||
myImpacted.Add(L);
|
||||
if (WithChildren) {
|
||||
if (WithChildren)
|
||||
{
|
||||
TDF_ChildIterator itr(L, Standard_True);
|
||||
for (; itr.More(); itr.Next()) {
|
||||
for (; itr.More(); itr.Next())
|
||||
{
|
||||
myImpacted.Add(itr.Value());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//=======================================================================
|
||||
//function : GetValid
|
||||
//purpose : Returns valid labels.
|
||||
//=======================================================================
|
||||
|
||||
void TFunction_Logbook::GetValid(TDF_LabelMap& Ls) const
|
||||
{
|
||||
// Copy valid labels.
|
||||
TDF_MapIteratorOfLabelMap itrm(myValid);
|
||||
for (; itrm.More(); itrm.Next())
|
||||
{
|
||||
const TDF_Label& L = itrm.Key();
|
||||
Ls.Add(L);
|
||||
}
|
||||
}
|
||||
|
||||
//=======================================================================
|
||||
//function : Restore
|
||||
//purpose : Undos (and redos) the attribute.
|
||||
//=======================================================================
|
||||
|
||||
void TFunction_Logbook::Restore(const Handle(TDF_Attribute)& other)
|
||||
{
|
||||
Handle(TFunction_Logbook) logbook = Handle(TFunction_Logbook)::DownCast(other);
|
||||
|
||||
// Status.
|
||||
isDone = logbook->isDone;
|
||||
|
||||
// Valid labels
|
||||
TDF_MapIteratorOfLabelMap itrm;
|
||||
for (itrm.Initialize(logbook->myValid); itrm.More(); itrm.Next())
|
||||
{
|
||||
myValid.Add(itrm.Key());
|
||||
}
|
||||
// Touched labels
|
||||
for (itrm.Initialize(logbook->myTouched); itrm.More(); itrm.Next())
|
||||
{
|
||||
myTouched.Add(itrm.Key());
|
||||
}
|
||||
// Impacted labels
|
||||
for (itrm.Initialize(logbook->myImpacted); itrm.More(); itrm.Next())
|
||||
{
|
||||
myImpacted.Add(itrm.Key());
|
||||
}
|
||||
}
|
||||
|
||||
//=======================================================================
|
||||
//function : Paste
|
||||
//purpose : Method for Copy mechanism
|
||||
//=======================================================================
|
||||
|
||||
void TFunction_Logbook::Paste(const Handle(TDF_Attribute)& into,
|
||||
const Handle(TDF_RelocationTable)& RT) const
|
||||
{
|
||||
Handle(TFunction_Logbook) logbook = Handle(TFunction_Logbook)::DownCast(into);
|
||||
|
||||
// Status.
|
||||
logbook->isDone = isDone;
|
||||
|
||||
// Touched.
|
||||
logbook->myTouched.Clear();
|
||||
TDF_MapIteratorOfLabelMap itr(myTouched);
|
||||
for (; itr.More(); itr.Next())
|
||||
{
|
||||
const TDF_Label& L = itr.Value();
|
||||
if (!L.IsNull())
|
||||
{
|
||||
TDF_Label relocL;
|
||||
if (RT->HasRelocation(L, relocL))
|
||||
logbook->myTouched.Add(relocL);
|
||||
else
|
||||
logbook->myTouched.Add(L);
|
||||
}
|
||||
}
|
||||
|
||||
// Impacted.
|
||||
logbook->myImpacted.Clear();
|
||||
itr.Initialize(myImpacted);
|
||||
for (; itr.More(); itr.Next())
|
||||
{
|
||||
const TDF_Label& L = itr.Value();
|
||||
if (!L.IsNull())
|
||||
{
|
||||
TDF_Label relocL;
|
||||
if (RT->HasRelocation(L, relocL))
|
||||
logbook->myImpacted.Add(relocL);
|
||||
else
|
||||
logbook->myImpacted.Add(L);
|
||||
}
|
||||
}
|
||||
|
||||
// Valid.
|
||||
logbook->myValid.Clear();
|
||||
itr.Initialize(myValid);
|
||||
for (; itr.More(); itr.Next())
|
||||
{
|
||||
const TDF_Label& L = itr.Value();
|
||||
if (!L.IsNull())
|
||||
{
|
||||
TDF_Label relocL;
|
||||
if (RT->HasRelocation(L, relocL))
|
||||
logbook->myValid.Add(relocL);
|
||||
else
|
||||
logbook->myValid.Add(L);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//=======================================================================
|
||||
//function : NewEmpty
|
||||
//purpose : Returns new empty graph node attribute
|
||||
//=======================================================================
|
||||
|
||||
Handle(TDF_Attribute) TFunction_Logbook::NewEmpty() const
|
||||
{
|
||||
return new TFunction_Logbook();
|
||||
}
|
||||
|
||||
//=======================================================================
|
||||
//function : Dump
|
||||
//purpose : Dump of modifications
|
||||
@ -118,17 +302,20 @@ Standard_OStream& TFunction_Logbook::Dump(Standard_OStream& stream) const
|
||||
|
||||
stream<<"Done = "<<isDone<<endl;
|
||||
stream<<"Touched labels: "<<endl;
|
||||
for (itr.Initialize(myTouched); itr.More(); itr.Next()) {
|
||||
for (itr.Initialize(myTouched); itr.More(); itr.Next())
|
||||
{
|
||||
TDF_Tool::Entry(itr.Key(), as);
|
||||
stream<<as<<endl;
|
||||
}
|
||||
stream<<"Impacted labels: "<<endl;
|
||||
for (itr.Initialize(myImpacted); itr.More(); itr.Next()) {
|
||||
for (itr.Initialize(myImpacted); itr.More(); itr.Next())
|
||||
{
|
||||
TDF_Tool::Entry(itr.Key(), as);
|
||||
stream<<as<<endl;
|
||||
}
|
||||
stream<<"Valid labels: "<<endl;
|
||||
for (itr.Initialize(myValid); itr.More(); itr.Next()) {
|
||||
for (itr.Initialize(myValid); itr.More(); itr.Next())
|
||||
{
|
||||
TDF_Tool::Entry(itr.Key(), as);
|
||||
stream<<as<<endl;
|
||||
}
|
||||
|
@ -22,10 +22,17 @@
|
||||
#include <Standard_Handle.hxx>
|
||||
|
||||
#include <TDF_LabelMap.hxx>
|
||||
#include <TDF_Attribute.hxx>
|
||||
#include <Standard_Boolean.hxx>
|
||||
#include <Standard_OStream.hxx>
|
||||
class TDF_Label;
|
||||
class Standard_GUID;
|
||||
class TFunction_Logbook;
|
||||
class TDF_Attribute;
|
||||
class TDF_RelocationTable;
|
||||
|
||||
class TFunction_Logbook;
|
||||
DEFINE_STANDARD_HANDLE(TFunction_Logbook, TDF_Attribute)
|
||||
|
||||
//! This class contains information which is written and
|
||||
//! read during the solving process. Information is divided
|
||||
@ -34,25 +41,32 @@ class TDF_Label;
|
||||
//! * Touched Labels (modified by the end user),
|
||||
//! * Impacted Labels (modified during execution of the function),
|
||||
//! * Valid Labels (within the valid label scope).
|
||||
class TFunction_Logbook
|
||||
class TFunction_Logbook : public TDF_Attribute
|
||||
{
|
||||
public:
|
||||
|
||||
DEFINE_STANDARD_ALLOC
|
||||
|
||||
|
||||
//! next methods are solving declaration
|
||||
//! ===================================
|
||||
//! Finds or Creates a TFunction_Logbook attribute at the root label accessed by <Access>.
|
||||
//! Returns the attribute.
|
||||
Standard_EXPORT static Handle(TFunction_Logbook) Set(const TDF_Label& Access);
|
||||
|
||||
//! Returns the GUID for logbook attribute.
|
||||
Standard_EXPORT static const Standard_GUID& GetID();
|
||||
|
||||
|
||||
//! The methods manipulating the data
|
||||
//! (touched, impacted and valid labels)
|
||||
// ====================================
|
||||
|
||||
//! Constructor (empty).
|
||||
Standard_EXPORT TFunction_Logbook();
|
||||
|
||||
//! Clears this logbook to its default, empty state.
|
||||
Standard_EXPORT void Clear();
|
||||
|
||||
Standard_EXPORT Standard_Boolean IsEmpty() const;
|
||||
|
||||
//! Sets the label L as a touched label in this logbook.
|
||||
//! In other words, L is understood to have been modified by the end user.
|
||||
void SetTouched (const TDF_Label& L);
|
||||
Standard_EXPORT void SetTouched (const TDF_Label& L);
|
||||
|
||||
//! Sets the label L as an impacted label in this logbook.
|
||||
//! This method is called by execution of the function driver.
|
||||
@ -60,62 +74,59 @@ public:
|
||||
|
||||
//! Sets the label L as a valid label in this logbook.
|
||||
Standard_EXPORT void SetValid (const TDF_Label& L, const Standard_Boolean WithChildren = Standard_False);
|
||||
|
||||
TDF_LabelMap& ChangeValid();
|
||||
Standard_EXPORT void SetValid (const TDF_LabelMap& Ls);
|
||||
|
||||
//! Returns True if the label L is touched or impacted. This method
|
||||
//! is called by <TFunction_FunctionDriver::MustExecute>.
|
||||
//! If <WithChildren> is set to true, the method checks
|
||||
//! all the sublabels of <L> too.
|
||||
//! next method to consult solving result
|
||||
//! =====================================
|
||||
Standard_EXPORT Standard_Boolean IsModified (const TDF_Label& L, const Standard_Boolean WithChildren = Standard_False) const;
|
||||
|
||||
|
||||
//! Returns the map of touched labels in this logbook.
|
||||
//! A touched label is the one modified by the end user.
|
||||
const TDF_LabelMap& GetTouched() const;
|
||||
|
||||
Standard_EXPORT const TDF_LabelMap& GetTouched() const;
|
||||
|
||||
//! Returns the map of impacted labels contained in this logbook.
|
||||
const TDF_LabelMap& GetImpacted() const;
|
||||
Standard_EXPORT const TDF_LabelMap& GetImpacted() const;
|
||||
|
||||
//! Returns the map of valid labels in this logbook.
|
||||
const TDF_LabelMap& GetValid() const;
|
||||
Standard_EXPORT const TDF_LabelMap& GetValid() const;
|
||||
Standard_EXPORT void GetValid(TDF_LabelMap& Ls) const;
|
||||
|
||||
//! Sets if the execution failed
|
||||
void Done (const Standard_Boolean status);
|
||||
//! Sets status of execution.
|
||||
Standard_EXPORT void Done (const Standard_Boolean status);
|
||||
|
||||
Standard_Boolean IsDone() const;
|
||||
//! Returns status of execution.
|
||||
Standard_EXPORT Standard_Boolean IsDone() const;
|
||||
|
||||
|
||||
//! The methods inherited from TDF_Attribute
|
||||
// ========================================
|
||||
|
||||
//! Returns the ID of the attribute.
|
||||
Standard_EXPORT const Standard_GUID& ID() const;
|
||||
|
||||
Standard_EXPORT Standard_OStream& Dump (Standard_OStream& stream) const;
|
||||
|
||||
|
||||
|
||||
|
||||
protected:
|
||||
|
||||
|
||||
|
||||
//! Undos (and redos) the attribute.
|
||||
Standard_EXPORT virtual void Restore (const Handle(TDF_Attribute)& with);
|
||||
|
||||
//! Pastes the attribute to another label.
|
||||
Standard_EXPORT virtual void Paste (const Handle(TDF_Attribute)& into, const Handle(TDF_RelocationTable)& RT) const;
|
||||
|
||||
//! Returns a new empty instance of the attribute.
|
||||
Standard_EXPORT virtual Handle(TDF_Attribute) NewEmpty() const Standard_OVERRIDE;
|
||||
|
||||
//! Prints th data of the attributes (touched, impacted and valid labels).
|
||||
Standard_EXPORT virtual Standard_OStream& Dump (Standard_OStream& anOS) const Standard_OVERRIDE;
|
||||
|
||||
|
||||
private:
|
||||
|
||||
|
||||
|
||||
TDF_LabelMap myTouched;
|
||||
TDF_LabelMap myImpacted;
|
||||
TDF_LabelMap myValid;
|
||||
Standard_Boolean isDone;
|
||||
|
||||
|
||||
};
|
||||
|
||||
|
||||
#include <TFunction_Logbook.lxx>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#endif // _TFunction_Logbook_HeaderFile
|
||||
|
@ -16,7 +16,11 @@
|
||||
|
||||
inline void TFunction_Logbook::SetTouched(const TDF_Label& L)
|
||||
{
|
||||
myTouched.Add(L);
|
||||
if (!myTouched.Contains(L))
|
||||
{
|
||||
Backup();
|
||||
myTouched.Add(L);
|
||||
}
|
||||
}
|
||||
|
||||
inline const TDF_LabelMap& TFunction_Logbook::GetTouched() const
|
||||
@ -29,11 +33,6 @@ inline const TDF_LabelMap& TFunction_Logbook::GetImpacted() const
|
||||
return myImpacted;
|
||||
}
|
||||
|
||||
inline TDF_LabelMap& TFunction_Logbook::ChangeValid()
|
||||
{
|
||||
return myValid;
|
||||
}
|
||||
|
||||
inline const TDF_LabelMap& TFunction_Logbook::GetValid() const
|
||||
{
|
||||
return myValid;
|
||||
@ -41,7 +40,11 @@ inline const TDF_LabelMap& TFunction_Logbook::GetValid() const
|
||||
|
||||
inline void TFunction_Logbook::Done(const Standard_Boolean status)
|
||||
{
|
||||
isDone = status;
|
||||
if (isDone != status)
|
||||
{
|
||||
Backup();
|
||||
isDone = status;
|
||||
}
|
||||
}
|
||||
|
||||
inline Standard_Boolean TFunction_Logbook::IsDone() const
|
||||
|
@ -20,7 +20,6 @@
|
||||
#include <TDF_Label.hxx>
|
||||
#include <TDF_MapIteratorOfLabelMap.hxx>
|
||||
#include <TDF_RelocationTable.hxx>
|
||||
#include <TFunction_Logbook.hxx>
|
||||
#include <TFunction_Scope.hxx>
|
||||
|
||||
//=======================================================================
|
||||
@ -175,9 +174,11 @@ const TDF_Label& TFunction_Scope::GetFunction(const Standard_Integer ID) const
|
||||
//purpose : Returns the Logbook.
|
||||
//=======================================================================
|
||||
|
||||
TFunction_Logbook& TFunction_Scope::GetLogbook()
|
||||
Handle(TFunction_Logbook) TFunction_Scope::GetLogbook() const
|
||||
{
|
||||
return myLogbook;
|
||||
Handle(TFunction_Logbook) logbook;
|
||||
FindAttribute(TFunction_Logbook::GetID(), logbook);
|
||||
return logbook;
|
||||
}
|
||||
|
||||
//=======================================================================
|
||||
@ -192,26 +193,6 @@ void TFunction_Scope::Restore(const Handle(TDF_Attribute)& other)
|
||||
// Functions
|
||||
myFunctions = S->myFunctions; // copying...
|
||||
myFreeID = S->myFreeID;
|
||||
|
||||
// Logbook
|
||||
myLogbook.Clear();
|
||||
TDF_MapIteratorOfLabelMap itrm;
|
||||
// Valid labels
|
||||
for (itrm.Initialize(S->myLogbook.GetValid()); itrm.More(); itrm.Next())
|
||||
{
|
||||
myLogbook.SetValid(itrm.Key(), Standard_False);
|
||||
}
|
||||
// Touched labels
|
||||
for (itrm.Initialize(S->myLogbook.GetTouched()); itrm.More(); itrm.Next())
|
||||
{
|
||||
myLogbook.SetTouched(itrm.Key());
|
||||
}
|
||||
// Impacted labels
|
||||
for (itrm.Initialize(S->myLogbook.GetImpacted()); itrm.More(); itrm.Next())
|
||||
{
|
||||
myLogbook.SetImpacted(itrm.Key(), Standard_False);
|
||||
}
|
||||
myLogbook.Done(S->myLogbook.IsDone());
|
||||
}
|
||||
|
||||
//=======================================================================
|
||||
|
@ -83,7 +83,7 @@ public:
|
||||
//! Returns the Logbook used in TFunction_Driver methods.
|
||||
//! Implementation of Attribute methods
|
||||
//! ===================================
|
||||
Standard_EXPORT TFunction_Logbook& GetLogbook();
|
||||
Standard_EXPORT Handle(TFunction_Logbook) GetLogbook() const;
|
||||
|
||||
Standard_EXPORT const Standard_GUID& ID() const Standard_OVERRIDE;
|
||||
|
||||
@ -120,7 +120,6 @@ private:
|
||||
|
||||
|
||||
TFunction_DoubleMapOfIntegerLabel myFunctions;
|
||||
TFunction_Logbook myLogbook;
|
||||
Standard_Integer myFreeID;
|
||||
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user