1 -- Created on: 1993-01-09
2 -- Created by: CKY / Contract Toubro-Larsen (Anand NATRAJAN)
3 -- Copyright (c) 1993-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.
17 class GenericData from IGESDefs inherits IGESEntity
19 ---Purpose: defines IGES Generic Data, Type <406> Form <27>
20 -- in package IGESDefs
21 -- Used to communicate information defined by the system
22 -- operator while creating the model. The information is
23 -- system specific and does not map into one of the
24 -- predefined properties or associativities. Properties
25 -- and property values can be defined by multiple
26 -- instances of this property.
30 HAsciiString from TCollection,
31 HArray1OfReal from TColStd,
32 HArray1OfTransient from TColStd,
33 HArray1OfInteger from TColStd,
34 HArray1OfHAsciiString from Interface,
35 HArray1OfIGESEntity from IGESData
37 raises DimensionMismatch, OutOfRange, NullObject
41 Create returns GenericData;
43 -- Specific Methods pertaining to the class
48 allTypes : HArray1OfInteger;
49 allValues : HArray1OfTransient from TColStd)
50 ---Purpose : This method is used to set the fields of the class
52 -- - nbPropVal : Number of property values
53 -- - aName : Property Name
54 -- - allTypes : Property Types
55 -- - allValues : Property Values
56 raises DimensionMismatch;
57 -- if lengths of allTypes and allValues are not same
59 NbPropertyValues (me) returns Integer;
60 ---Purpose : returns the number of property values
62 Name (me) returns HAsciiString from TCollection;
63 ---Purpose : returns property name
65 NbTypeValuePairs (me) returns Integer;
66 ---Purpose : returns the number of TYPE/VALUE pairs
68 Type (me; Index : Integer) returns Integer
70 ---Purpose : returns the Index'th property value data type
71 -- raises exception if Index <= 0 or Index > NbTypeValuePairs()
73 Value (me; Index : Integer) returns Transient
74 --The Transient returned depends of Type :
75 ---Purpose : HArray1OfInteger (length 1), HArray1OfReal (length 1) for
76 -- Integer, Real, Boolean (= Integer 0/1),
77 -- HAsciiString for String (the value itself),
78 -- IGESEntity for Entity (the value itself)
80 -- raises exception if Index <= 0 or Index > NbTypeValuePairs()
83 ValueAsInteger (me; ValueNum : Integer) returns Integer
84 ---Purpose : Returns Attribute Value <AttrNum, rank ValueNum> as an Integer
85 raises OutOfRange, NullObject;
86 ---Purpose : Error if Index out of Range, or not an Integer
88 ValueAsReal (me; ValueNum : Integer) returns Real
89 ---Purpose : Returns Attribute Value <AttrNum, rank ValueNum> as a Real
90 raises OutOfRange, NullObject;
91 ---Purpose : Error if Index out of Range, or not a Real
93 ValueAsString (me; ValueNum : Integer)
94 returns HAsciiString from TCollection
95 ---Purpose : Returns Attribute Value <AttrNum, rank ValueNum> as an Integer
96 raises OutOfRange, NullObject;
97 -- Error if Index out of Range, or not a String
99 ValueAsEntity (me; ValueNum : Integer) returns IGESEntity
100 ---Purpose : Returns Attribute Value <AttrNum, rank ValueNum> as an Entity
101 raises OutOfRange, NullObject;
102 ---Purpose : Error if Index out of Range, or not a Entity
104 ValueAsLogical (me; ValueNum : Integer) returns Boolean
105 ---Purpose : Returns Attribute Value <AttrNum, rank ValueNum> as a Boolean
106 raises OutOfRange, NullObject;
107 ---Purpose : Error if Index out of Range, or not a Logical
112 -- Class : IGESDefs_GenericData
114 -- Purpose : Declaration of variables specific to the definition
115 -- of the Class GenericData.
117 -- Reminder : A GenericData instance is defined by :
118 -- - Number of property values
122 -- The values can be of type either no value, integer, real,
123 -- string, pointer or boolean. Accordingly we store them in a
124 -- Transient Object of appropriate Type :
125 -- - HArray1OfInteger/OfReal of length 1, for Integer, Real, Logical
126 -- - a single HAsciiString for String
127 -- - a single IGESEntity for Entity (Pointer)
129 theNbPropertyValues : Integer;
130 theName : HAsciiString;
131 theTypes : HArray1OfInteger;
132 theValues : HArray1OfTransient from TColStd;