// Created by: DAUTRY Philippe // Copyright (c) 1997-1999 Matra Datavision // Copyright (c) 1999-2012 OPEN CASCADE SAS // // The content of this file is subject to the Open CASCADE Technology Public // License Version 6.5 (the "License"). You may not use the content of this file // except in compliance with the License. Please obtain a copy of the License // at http://www.opencascade.org and read it completely before using this file. // // The Initial Developer of the Original Code is Open CASCADE S.A.S., having its // main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France. // // The Original Code and all software distributed under the License is // distributed on an "AS IS" basis, without warranty of any kind, and the // Initial Developer hereby disclaims all such warranties, including without // limitation, any warranties of merchantability, fitness for a particular // purpose or non-infringement. Please see the License for the specific terms // and conditions governing the rights and limitations under the License. // ----------------------- // Version: 0.0 //Version Date Purpose // 0.0 Oct 3 1997 Creation #include #include #include #include #include #include #include #include #include #include #include #include #include #include #ifdef WNT #include #endif //======================================================================= //function : DFBrowse //purpose : // arg 1 : DF name // [arg 2] : Browser name //======================================================================= static Standard_Integer DFBrowse (Draw_Interpretor& di, Standard_Integer n, const char** a) { if (n<2) return 1; Handle(TDF_Data) DF; if (!DDF::GetDF (a[1], DF)) return 1; Handle(DDF_Browser) NewDDFBrowser = new DDF_Browser(DF); TCollection_AsciiString name("browser_"); name += ((n == 3)? a[2] : a[1]); Draw::Set (name.ToCString(), NewDDFBrowser); TCollection_AsciiString inst1("dftree "); inst1.AssignCat(name); di.Eval(inst1.ToCString()); return 0; } //======================================================================= //function : DFOpenLabel //purpose : // arg 1 : Browser name // [arg 2] : Label name //======================================================================= static Standard_Integer DFOpenLabel (Draw_Interpretor& di, Standard_Integer n, const char** a) { if (n < 2) return 1; Handle(DDF_Browser) browser = Handle(DDF_Browser)::DownCast (Draw::Get(a[1], Standard_True)); TDF_Label lab; if (n == 3) TDF_Tool::Label(browser->Data(),a[2],lab); TCollection_AsciiString list(lab.IsNull()? browser->OpenRoot() : browser->OpenLabel(lab)); di<Data(),a[2],lab); if (lab.IsNull()) return 1; TCollection_AsciiString list(browser->OpenAttributeList(lab)); di << list.ToCString(); return 0; } //======================================================================= //function : DFOpenAttribute //purpose : // arg 1 : Browser name // arg 2 : Attribute index //======================================================================= static Standard_Integer DFOpenAttribute (Draw_Interpretor& di, Standard_Integer n, const char** a) { if (n < 3) return 1; Handle(DDF_Browser) browser = Handle(DDF_Browser)::DownCast (Draw::Get(a[1], Standard_True)); const Standard_Integer index = atoi(a[2]); TCollection_AsciiString list = browser->OpenAttribute(index); di<