1 -- Created on: 1992-02-11
2 -- Created by: Christian CAILLET
3 -- Copyright (c) 1992-1999 Matra Datavision
4 -- Copyright (c) 1999-2014 OPEN CASCADE SAS
6 -- This file is part of Open CASCADE Technology software library.
8 -- This library is free software; you can redistribute it and/or modify it under
9 -- the terms of the GNU Lesser General Public License version 2.1 as published
10 -- by the Free Software Foundation, with special exception defined in the file
11 -- OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
12 -- distribution for complete text of the license and disclaimer of any warranty.
14 -- Alternatively, this file may be used under the terms of Open CASCADE
15 -- commercial license or contractual agreement.
19 ---Purpose : Gives basic data definition for Step Interface.
20 -- Any class of a data model described in EXPRESS Language
21 -- is candidate to be managed by a Step Interface
23 uses Standard, MMgt, TCollection, TColStd, Dico, LibCtl, Interface, Message
28 class UndefinedEntity;
29 deferred class SelectType;
31 enumeration Logical is LFalse, LTrue, LUnknown;
32 ---Purpose : A Standard Definition for STEP (which knows Boolean too)
42 class FieldList; -- basic one (no field)
46 deferred class EDescr;
49 deferred class Described;
54 class Protocol; -- basic protocol for Step
55 deferred class GeneralModule; -- general services
57 deferred class FileRecognizer instantiates
58 Recognizer from Interface (AsciiString from TCollection, Transient);
68 class StepReaderData; -- litteral description of Step File
70 deferred class ReadWriteModule;
71 class StepWriter; -- idem but in the other sense
74 class WriterLib instantiates Library from LibCtl
75 (Transient, ReadWriteModule, Protocol from StepData);
77 class DefaultGeneral; -- Default Module which processes UnknownEntity
80 -- General Routines --
81 -- HeaderProtocol/AddHeaderProtocol are used to handle Header items :
82 -- Reading/Writing but also Copying,Checking,Dumping
85 -- Init & Protocol encapsulate the general actions required to work with
86 -- this package. While their use is not mandatory, it makes work easier.
88 class Array1OfField instantiates Array1 from TCollection
89 (Field from StepData);
90 class HArray1OfField instantiates HArray1 from TCollection
91 (Field from StepData,Array1OfField from StepData);
93 HeaderProtocol returns Protocol from StepData;
94 ---Purpose : Returns the recorded HeaderProtocol, which can be :
95 -- - a Null Handle if no Header Protocol was yet defined
96 -- - a simple Protocol if only one was defined
97 -- - a FileProtocol if more than one Protocol was yet defined
99 AddHeaderProtocol (headerproto : Protocol from StepData);
100 ---Purpose : Adds a new Header Protocol to the Header Definition
103 ---Purpose : Prepares General Data required to work with this package,
104 -- which are the Protocol and Modules to be loaded into Libraries
106 Protocol returns Protocol from StepData;
107 ---Purpose : Returns a Protocol from StepData (avoids to create it)