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
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
|
--
-- File : DimensionDisplayData.cdl
-- Created : Sat 9 Jan 1993
-- Author : CKY / Contract Toubro-Larsen ( Arun MENON )
--
---Copyright : MATRA-DATAVISION 1993
--
class DimensionDisplayData from IGESDimen inherits IGESEntity
---Purpose: Defines IGES Dimension Display Data, Type <406> Form <30>,
-- in package IGESDimen
-- The Dimensional Display Data Property is optional but when
-- present must be referenced by a dimension entity.
-- The information it contains could be extracted from the text,
-- leader and witness line data with difficulty.
uses
HAsciiString from TCollection,
HArray1OfInteger from TColStd
raises DimensionMismatch, OutOfRange
is
Create returns mutable DimensionDisplayData;
-- --specific-- --
Init(me : mutable;
numProps : Integer;
aDimType, aLabelPos, aCharSet : Integer;
aString : HAsciiString;
aSymbol : Integer;
anAng : Real;
anAlign, aLevel, aPlace, anOrient : Integer;
initVal : Real;
notes, startInd, endInd : HArray1OfInteger)
raises DimensionMismatch;
-- This method sets the fields of the
-- class DimensionDisplayData
-- - numProps : Number of property values (= 14)
-- - aDimType : Dimension type
-- 0 = ordinary
-- 1 = Reference (usually with parentheses)
-- 2 = Basic (boxed)
-- - aLabelPos : Preffered Label position
-- 0 = Does not exist
-- 1 = Before measurement
-- 2 = After measurement
-- 3 = Above measurement
-- 4 = Below measurement
-- - aCharSet : Character set interpretation (default = 1)
-- Meaningful only if aString is non-empty
-- 1 = Standard ASCII
-- 1001 = Symbol Font 1
-- 1002 = Symbol Font 2
-- 1003 = Drafting Font
-- - aString : HAsciiString
-- - aSymbol : Decimal symbol
-- 0 = "." (period)
-- 1 = "," (comma)
-- - anAng : Witness line angle in radians (default = pi/2)
-- - anAlign : Text alignment
-- 0 = Horizontal
-- 1 = Parallel
-- - aLevel : Text level
-- 0 = Neither above nor below the leaders (default)
-- 1 = Above
-- 2 = Below
-- - aPlace : Preffered text placement
-- 0 = Between the witness lines (default)
-- 1 = Outside, near the first witness line
-- - anOrient : ArrowHead orientation
-- 0 = In, pointing out
-- 1 = Out, pointing in
-- - initVal : The primary dimension initial value
-- - notes : List of supplemental notes
-- 1 = Before the rest of the dimension text
-- 2 = After, but starting at the same level
-- 3 = Above
-- 4 = Below
-- - startInd : List of start index
-- - endInd : List of end index
-- raises exception if lengths of notes, startInd, endInd are
-- not same
NbPropertyValues (me) returns Integer;
---Purpose : returns the number of property values (14)
DimensionType (me) returns Integer;
---Purpose : returns the dimension type
LabelPosition (me) returns Integer;
---Purpose : returns the preferred label position
CharacterSet (me) returns Integer;
---Purpose : returns the character set interpretation
LString (me) returns HAsciiString from TCollection;
---Purpose : returns e.g., 8HDIAMETER
DecimalSymbol(me) returns Integer;
--returns the decimal symbol
WitnessLineAngle (me) returns Real;
---Purpose : returns the witness line angle in radians
TextAlignment (me) returns Integer;
---Purpose : returns the text alignment
TextLevel (me) returns Integer;
---Purpose : returns the text level
TextPlacement (me) returns Integer;
---Purpose : returns the preferred text placement
ArrowHeadOrientation (me) returns Integer;
---Purpose : returns the arrowhead orientation
InitialValue (me) returns Real;
---Purpose : returns the primary dimension initial value
NbSupplementaryNotes (me) returns Integer;
---Purpose : returns the number of supplementary notes or zero
SupplementaryNote (me; Index: Integer) returns Integer
raises OutOfRange;
---Purpose : returns the Index'th supplementary note
-- raises exception if Index <= 0 or Index > NbSupplementaryNotes()
StartIndex (me; Index : Integer) returns Integer
raises OutOfRange;
---Purpose : returns the Index'th note start index
-- raises exception if Index <= 0 or Index > NbSupplementaryNotes()
EndIndex (me; Index : Integer) returns Integer
raises OutOfRange;
---Purpose : returns the Index'th note end index
-- raises exception if Index <= 0 or Index > NbSupplemetaryNotes()
fields
--
-- Class : IGESDimen_DimensionDisplayData
--
-- Purpose : Declaration of variables specific to the definition
-- of the Class DimensionDisplayData.
--
-- Reminder : A DimensionDisplayData instance is defined by :
-- - The number of properties, always 14
-- - An integer dimension type
-- - An integer label position
-- - An integer character set
-- - A HAsciiString
-- - An integer decimal symbol
-- - The witness line angle in radians
-- - An integer text alignment number
-- - An integer text level number
-- - An integer, preferred text placement
-- - An integer arrowhead orientation
-- - A primary dimension initial value
-- - The number of supplementary notes
-- - A single array of integers, representing supplementary
-- notes
-- - A single array of start indices for the notes
-- - A single array of end indices for the notes
--
theNbPropertyValues : Integer;
theDimensionType : Integer;
theLabelPosition : Integer;
theCharacterSet : Integer;
theLString : HAsciiString;
theDecimalSymbol : Integer;
theWitnessLineAngle : Real;
theTextAlignment : Integer;
theTextLevel : Integer;
theTextPlacement : Integer;
theArrowHeadOrientation: Integer;
theInitialValue : Real;
theSupplementaryNotes : HArray1OfInteger;
theStartIndex : HArray1OfInteger;
theEndIndex : HArray1OfInteger;
end DimensionDisplayData;
|