0024927: Getting rid of "Persistent" functionality -- Storable
[occt.git] / src / StepData / StepData.cdl
CommitLineData
b311480e 1-- Created on: 1992-02-11
2-- Created by: Christian CAILLET
3-- Copyright (c) 1992-1999 Matra Datavision
973c2be1 4-- Copyright (c) 1999-2014 OPEN CASCADE SAS
b311480e 5--
973c2be1 6-- This file is part of Open CASCADE Technology software library.
b311480e 7--
d5f74e42 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
973c2be1 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.
b311480e 13--
973c2be1 14-- Alternatively, this file may be used under the terms of Open CASCADE
15-- commercial license or contractual agreement.
7fd59977 16
17package StepData
18
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
22
23uses Standard, MMgt, TCollection, TColStd, Dico, LibCtl, Interface, Message
24
25is
26
27 class StepModel;
28 class UndefinedEntity;
29 deferred class SelectType;
30
31 enumeration Logical is LFalse, LTrue, LUnknown;
32 ---Purpose : A Standard Definition for STEP (which knows Boolean too)
33
34 class Field;
35 class SelectMember;
36 class SelectInt;
37 class SelectReal;
38 class SelectNamed;
39 class SelectArrReal;
40
41 class PDescr;
42 class FieldList; -- basic one (no field)
43 class FieldList1;
44 class FieldListN;
45 class FieldListD;
46 deferred class EDescr;
47 class ESDescr;
48 class ECDescr;
49 deferred class Described;
50 class Simple;
51 class Plex;
52 class FreeFormEntity;
53
54 class Protocol; -- basic protocol for Step
55 deferred class GeneralModule; -- general services
56
57 deferred class FileRecognizer instantiates
58 Recognizer from Interface (AsciiString from TCollection, Transient);
59
60 class FileProtocol;
61 class HeaderTool;
62 class EnumTool;
63
64 class DescrProtocol;
65 class DescrGeneral;
66 class DescrReadWrite;
67
68 class StepReaderData; -- litteral description of Step File
69 class StepReaderTool;
70 deferred class ReadWriteModule;
71 class StepWriter; -- idem but in the other sense
72 class StepDumper;
73
74 class WriterLib instantiates Library from LibCtl
75 (Transient, ReadWriteModule, Protocol from StepData);
76
77 class DefaultGeneral; -- Default Module which processes UnknownEntity
78
79
80 -- General Routines --
81 -- HeaderProtocol/AddHeaderProtocol are used to handle Header items :
82 -- Reading/Writing but also Copying,Checking,Dumping
83 --
84 --
85 -- Init & Protocol encapsulate the general actions required to work with
86 -- this package. While their use is not mandatory, it makes work easier.
87
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);
92
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
98
99 AddHeaderProtocol (headerproto : Protocol from StepData);
100 ---Purpose : Adds a new Header Protocol to the Header Definition
101
102 Init;
103 ---Purpose : Prepares General Data required to work with this package,
104 -- which are the Protocol and Modules to be loaded into Libraries
105
106 Protocol returns Protocol from StepData;
107 ---Purpose : Returns a Protocol from StepData (avoids to create it)
108
109end StepData;