1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
|
-- File: FreeFormatEntity.cdl
-- Created: Fri Dec 18 11:20:13 1992
-- Author: Christian CAILLET
-- <cky@topsn2>
---Copyright: Matra Datavision 1992
class FreeFormatEntity from IGESData inherits UndefinedEntity
---Purpose : This class allows to create IGES Entities in a literal form :
-- their definition is free, but they are not recognized as
-- instances of specific classes.
--
-- This is a way to define test files without having to create
-- and fill specific classes of Entities, or creating an IGES
-- File ex nihilo, with respect for all format constraints
-- (such a way is very difficult to run and to master).
--
-- This class has the same content as an UndefinedEntity, only
-- it gives way to act on its content
uses HAsciiString from TCollection, HSequenceOfInteger from TColStd,
ParamType, IGESEntity, HArray1OfIGESEntity, IGESWriter
raises OutOfRange, InterfaceError
is
Create returns mutable FreeFormatEntity;
---Purpose : Creates a completely empty FreeFormatEntity
SetTypeNumber (me : mutable; typenum : Integer);
---Purpose : Sets Type Number to a new Value, and Form Number to Zero
SetFormNumber (me : mutable; formnum : Integer);
---Purpose : Sets Form Number to a new Value (to called after SetTypeNumber)
-- Setting Directory informations : see general methods provided by
-- IGESEntity itself : InitTransf, InitView, InitLineFont, InitLevel,
-- InitColor, InitStatus, SetLabel, InitMisc, AddProperty, Associate
-- -- Access to Parameters -- --
-- (own Parameters, in addition to Properties and Associativities
-- list, and to Directory informations)
NbParams (me) returns Integer;
---Purpose : Gives count of recorded parameters
ParamData (me; num : Integer; ptype : out ParamType;
ent : out mutable IGESEntity;
val : out HAsciiString from TCollection)
returns Boolean;
---Purpose : Returns data of a Parameter : its type, and the entity if it
-- designates en entity ("ent") or its literal value else ("str")
-- Returned value (Boolean) : True if it is an Entity, False else
ParamType (me; num : Integer) returns ParamType raises OutOfRange;
---Purpose : Returns the ParamType of a Param, given its rank
-- Error if num is not between 1 and NbParams
IsParamEntity (me; num : Integer) returns Boolean raises OutOfRange;
---Purpose : Returns True if a Parameter is recorded as an entity
-- Error if num is not between 1 and NbParams
ParamEntity (me; num : Integer) returns mutable IGESEntity
raises InterfaceError, OutOfRange;
---Purpose : Returns Entity corresponding to a Param, given its rank
-- Error if out of range or if Param num does not designate
-- an Entity
IsNegativePointer (me; num : Integer) returns Boolean;
---Purpose : Returns True if <num> is noted as for a "Negative Pointer"
-- (see AddEntity for details). Senseful only if IsParamEntity
-- answers True for <num>, else returns False.
ParamValue (me; num : Integer) returns HAsciiString from TCollection
raises InterfaceError, OutOfRange;
---Purpose : Returns litteral value of a Parameter, given its rank
-- Error if num is out of range, or if Parameter is not literal
NegativePointers (me) returns HSequenceOfInteger from TColStd;
---Purpose : Returns the complete list of Ramks of Parameters which have
-- been noted as Negative Pointers
-- Warning : It is returned as a Null Handle if none was noted
AddLiteral (me : mutable; ptype : ParamType;
val : HAsciiString from TCollection);
---Purpose : Adds a literal Parameter to the list (as such)
AddLiteral (me : mutable; ptype : ParamType; val : CString);
---Purpose : Adds a literal Parameter to the list (builds an HAsciiString)
AddEntity (me : mutable; ptype : ParamType;
ent : mutable IGESEntity; negative : Boolean = Standard_False);
---Purpose : Adds a Parameter which references an Entity. If the Entity is
-- Null, the added parameter will define a "Null Pointer" (0)
-- If <negative> is given True, this will command Sending to File
-- (see IGESWriter) to produce a "Negative Pointer"
-- (Default is False)
AddEntities (me : mutable; ents : HArray1OfIGESEntity)
raises InterfaceError;
---Purpose : Adds a set of Entities, given as a HArray1OfIGESEntity
-- Causes creation of : an Integer Parameter which gives count
-- of Entities, then the list of Entities of the Array
-- Error if an Entity is not an IGESEntity
-- All these Entities will be interpreted as "Positive Pointers"
-- by IGESWriter
AddNegativePointers (me : mutable; list : HSequenceOfInteger from TColStd);
---Purpose : Adds a list of Ranks of Parameters to be noted as Negative
-- Pointers (this will be taken into account for Parameters
-- which are Entities)
ClearNegativePointers (me : mutable);
---Purpose : Clears all informations about Negative Pointers, hence every
-- Entity kind Parameter will be send normally, as Positive
WriteOwnParams (me; IW : in out IGESWriter) is redefined;
---Purpose : WriteOwnParams is redefined for FreeFormatEntity to take
-- into account the supplementary information "Negative Pointer"
fields
thenegptrs : HSequenceOfInteger from TColStd;
end FreeFormatEntity;
|