IGESControl_Writer::IGESControl_Writer ()
: theTP (new Transfer_FinderProcess(10000)) ,
- thedit (IGESSelect_WorkLibrary::DefineProtocol()) ,
thest (Standard_False)
{
// faudrait aussi (?) prendre les parametres par defaut ... ?
IGESControl_Controller::Init();
+ thedit.Init(IGESSelect_WorkLibrary::DefineProtocol());
thedit.SetUnitName(Interface_Static::CVal ("write.iges.unit"));
thedit.ApplyUnit();
thecr = Interface_Static::IVal ("write.iges.brep.mode");
IGESControl_Writer::IGESControl_Writer
(const Standard_CString unit, const Standard_Integer modecr)
: theTP (new Transfer_FinderProcess(10000)) ,
- thedit (IGESSelect_WorkLibrary::DefineProtocol()) ,
thecr (modecr) , thest (Standard_False)
{
// faudrait aussi (?) prendre les parametres par defaut ... ?
IGESControl_Controller::Init();
+ thedit.Init(IGESSelect_WorkLibrary::DefineProtocol());
thedit.SetUnitName(unit);
thedit.ApplyUnit();
themod = thedit.Model();
is
+ Create returns BasicEditor;
+ ---Purpose : Creates an empty Basic Editor which should be initialized via Init() method.
+
Create (protocol : Protocol from IGESData) returns BasicEditor;
---Purpose : Creates a Basic Editor, with a new IGESModel, ready to run
Create (model : IGESModel; protocol : Protocol from IGESData)
returns BasicEditor;
---Purpose : Creates a Basic Editor for IGES Data, ready to run
+
+ Init (me : in out; protocol : Protocol from IGESData);
+ ---Purpose : Initialize a Basic Editor, with a new IGESModel, ready to run
+
+ Init (me : in out; model : IGESModel; protocol : Protocol from IGESData);
+ ---Purpose : Initialize a Basic Editor for IGES Data, ready to run
Model (me) returns IGESModel;
---Purpose : Returns the designated model
#include <UnitsMethods.hxx>
-IGESData_BasicEditor::IGESData_BasicEditor
+IGESData_BasicEditor::IGESData_BasicEditor(const Handle(IGESData_Protocol)& protocol)
+{
+ Init(protocol);
+}
+
+IGESData_BasicEditor::IGESData_BasicEditor(const Handle(IGESData_IGESModel)& model,
+ const Handle(IGESData_Protocol)& protocol)
+{
+ Init(model, protocol);
+}
+
+IGESData_BasicEditor::IGESData_BasicEditor() { }
- (const Handle(IGESData_Protocol)& protocol)
- : theunit (Standard_False) , theproto (protocol) ,
- themodel (GetCasted(IGESData_IGESModel,Interface_InterfaceModel::Template("iges"))) ,
- theglib (protocol) , theslib (protocol) { }
+void IGESData_BasicEditor::Init (const Handle(IGESData_Protocol)& protocol)
+{
+ theunit = Standard_False;
+ theproto = protocol;
+ themodel = GetCasted(IGESData_IGESModel,Interface_InterfaceModel::Template("iges"));
+ theglib = protocol;
+ theslib = protocol;
+}
- IGESData_BasicEditor::IGESData_BasicEditor
- (const Handle(IGESData_IGESModel)& model,
- const Handle(IGESData_Protocol)& protocol)
- : theunit (Standard_False) , theproto (protocol) , themodel (model) ,
- theglib (protocol) , theslib (protocol) { }
+void IGESData_BasicEditor::Init (const Handle(IGESData_IGESModel)& model, const Handle(IGESData_Protocol)& protocol)
+{
+ theunit = Standard_False;
+ theproto = protocol;
+ themodel = model;
+ theglib = protocol;
+ theslib = protocol;
+}
Handle(IGESData_IGESModel) IGESData_BasicEditor::Model () const
{ return themodel; }
Standard_Boolean IGESData_BasicEditor::SetUnitFlag
(const Standard_Integer flag)
{
+ if (themodel.IsNull()) return Standard_False;
if (flag < 1 || flag > 11) return Standard_False;
IGESData_GlobalSection GS = themodel->GlobalSection();
Handle(TCollection_HAsciiString) name = GS.UnitName();
//=======================================================================
Standard_Boolean IGESData_BasicEditor::SetUnitName (const Standard_CString name)
{
+ if (themodel.IsNull()) return Standard_False;
Standard_Integer flag = IGESData_BasicEditor::UnitNameFlag (name);
IGESData_GlobalSection GS = themodel->GlobalSection();
if (GS.UnitFlag() == 3) {
void IGESData_BasicEditor::ApplyUnit (const Standard_Boolean enforce)
{
+ if (themodel.IsNull()) return;
if (!enforce && !theunit) return;
IGESData_GlobalSection GS = themodel->GlobalSection();
Standard_Real unit = GS.UnitValue();
void IGESData_BasicEditor::ComputeStatus ()
{
+ if (themodel.IsNull()) return;
Standard_Integer nb = themodel->NbEntities();
if (nb == 0) return;
TColStd_Array1OfInteger subs (0,nb); subs.Init(0); // gere Subordinate Status
Standard_Boolean IGESData_BasicEditor::AutoCorrect
(const Handle(IGESData_IGESEntity)& ent)
{
+ if (themodel.IsNull()) return Standard_False;
Handle(IGESData_IGESEntity) bof, subent;
Handle(IGESData_LineFontEntity) linefont;
Handle(IGESData_LevelListEntity) levelist;