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
|
--
-- File : AttributeDef.cdl
-- Created : Wed 13 Jan 1993
-- Author : CKY / Contract Toubro-Larsen ( Deepak PRABHU )
--
---Copyright : MATRA-DATAVISION 1993
--
class AttributeDef from IGESDefs inherits IGESEntity
---Purpose: defines IGES Attribute Table Definition Entity,
-- Type <322> Form [0, 1, 2] in package IGESDefs.
-- This is class is used to support the concept of well
-- defined collection of attributes, whether it is a table
-- or a single row of attributes.
uses
HAsciiString from TCollection,
HArray1OfInteger from TColStd,
HArray1OfTransient from TColStd,
HArray1OfReal from TColStd,
HArray1OfHAsciiString from Interface,
HArray1OfIGESEntity from IGESData,
TextDisplayTemplate from IGESGraph,
HArray1OfTextDisplayTemplate from IGESGraph,
HArray1OfHArray1OfTextDisplayTemplate from IGESDefs
raises DimensionMismatch, OutOfRange, NullObject
is
Create returns mutable AttributeDef;
-- Specific methods for the entity
Init(me : mutable;
aName : HAsciiString;
aListType : Integer;
attrTypes : HArray1OfInteger;
attrValueDataTypes : HArray1OfInteger;
attrValueCounts : HArray1OfInteger;
attrValues : HArray1OfTransient from TColStd;
attrValuePointers : HArray1OfHArray1OfTextDisplayTemplate)
raises DimensionMismatch;
-- This method is used to set the fields of the
-- class AttributeDef
-- - aName : Attribute Table Names
-- - aListType : Attribute List Types
-- - attrTypes : Attribute Types
-- - attrValueDataTypes : Attribute Value Data Types
-- - attrValueCounts : Attribute Value Counts
-- - attrValues : Attribute Values
-- - attrValuePointers : Attribute Value Pointers to
-- TextDisplayTemplate
-- raises exceptions if lengths of attrTypes, attrValueDataTypes,
-- and attrValueCounts are not same
HasTableName (me) returns Boolean;
---Purpose : Returns True if a Table Name is defined
TableName(me) returns HAsciiString from TCollection;
---Purpose : returns the Attribute Table name, or comment
-- (default = null, no name : seeHasTableName)
ListType(me) returns Integer;
---Purpose : returns the Attribute List Type
NbAttributes(me) returns Integer;
---Purpose : returns the Number of Attributes
AttributeType(me ; num : Integer) returns Integer
raises OutOfRange;
---Purpose : returns the num'th Attribute Type
-- raises exception if num <= 0 or num > NbAttributes()
AttributeValueDataType(me ; num : Integer) returns Integer
raises OutOfRange;
---Purpose : returns the num'th Attribute value data type
-- raises exception if num <= 0 or num > NbAttributes()
AttributeValueCount(me; num : Integer) returns Integer
raises OutOfRange;
---Purpose : returns the num'th Attribute value count
-- raises exception if num <= 0 or num > NbAttributes()
HasValues(me) returns Boolean;
---Purpose : returns false if Values are defined (i.e. for Form = 1 or 2)
HasTextDisplay(me) returns Boolean;
---Purpose : returns false if TextDisplays are defined (i.e. for Form = 2)
AttributeTextDisplay(me ; AttrNum : Integer; PointerNum : Integer)
returns TextDisplayTemplate
raises OutOfRange;
-- returns Null handle if form is 0 or 1
-- returns PointerNum'th TextDisplayTemplate of AttrNum'th attribute
-- raises exception if
-- AttrNum <= 0 or num > NbAttributes()
-- PointerNum <=0 or PointerNum > AttributeValueCount(AttrNum)
AttributeList (me ; AttrNum : Integer) returns Transient
---Purpose : Returns the List of Attributes <AttrNum>, as a Transient.
---Purpose : Its effective Type depends of the Type of Attribute :
-- HArray1OfInteger for Integer, Logical(0-1),
-- HArray1OfReal for Real, HArray1OfHSaciiString for String,
-- HArray1OfIGESEntity for Entity (Pointer)
-- See methods AttributeAs... for an accurate access
raises OutOfRange;
-- Error if AttrNum <= 0 or num > NbAttributes()
-- PointerNum <=0 or PointerNum > AttributeValueCount(AttrNum)
AttributeAsInteger (me; AttrNum, ValueNum : Integer) returns Integer
---Purpose : Returns Attribute Value <AttrNum, rank ValueNum> as an Integer
raises OutOfRange, NullObject;
---Purpose : Error if Indices out of Range, or no Value defined, or not an Integer
AttributeAsReal (me; AttrNum, ValueNum : Integer) returns Real
---Purpose : Returns Attribute Value <AttrNum, rank ValueNum> as a Real
raises OutOfRange, NullObject;
---Purpose : Error if Indices out of Range, or no Value defined, or not a Real
AttributeAsString (me; AttrNum, ValueNum : Integer)
returns HAsciiString from TCollection
---Purpose : Returns Attribute Value <AttrNum, rank ValueNum> as an Integer
raises OutOfRange, NullObject;
-- Error if Indices out of Range, or no Value defined, or not a String
AttributeAsEntity (me; AttrNum, ValueNum : Integer) returns IGESEntity
---Purpose : Returns Attribute Value <AttrNum, rank ValueNum> as an Entity
raises OutOfRange, NullObject;
---Purpose : Error if Indices out of Range, or no Value defined, or not a Entity
AttributeAsLogical (me; AttrNum, ValueNum : Integer) returns Boolean
---Purpose : Returns Attribute Value <AttrNum, rank ValueNum> as a Boolean
raises OutOfRange, NullObject;
---Purpose : Error if Indices out of Range, or no Value defined, or not a Logical
fields
--
-- Class : IGESDefs_AttributeDef
--
-- Purpose : Declaration of variables specific to AttributeDef.
--
-- Reminder : An AttributeDef Entity provides a template for the
-- instance of attribute tables. It includes a table
-- name and for each attribute, an attribute type,
-- data type, and a count.
theName : HAsciiString;
theListType : Integer;
theAttrTypes : HArray1OfInteger;
theAttrValueDataTypes : HArray1OfInteger;
theAttrValueCounts : HArray1OfInteger;
theAttrValues : HArray1OfTransient from TColStd;
theAttrValuePointers : HArray1OfHArray1OfTextDisplayTemplate;
end AttributeDef;
|