b311480e |
1 | -- Created on: 1993-01-11 |
2 | -- Created by: CKY / Contract Toubro-Larsen ( Anand NATRAJAN ) |
3 | -- Copyright (c) 1993-1999 Matra Datavision |
973c2be1 |
4 | -- Copyright (c) 1999-2014 OPEN CASCADE SAS |
7fd59977 |
5 | -- |
973c2be1 |
6 | -- This file is part of Open CASCADE Technology software library. |
7fd59977 |
7 | -- |
973c2be1 |
8 | -- This library is free software; you can redistribute it and / or modify it |
9 | -- under the terms of the GNU Lesser General Public 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. |
7fd59977 |
13 | -- |
973c2be1 |
14 | -- Alternatively, this file may be used under the terms of Open CASCADE |
15 | -- commercial license or contractual agreement. |
7fd59977 |
16 | |
17 | class ElementResults from IGESAppli inherits IGESEntity |
18 | |
19 | ---Purpose: defines ElementResults, Type <148> |
20 | -- in package IGESAppli |
21 | -- Used to find the results of FEM analysis |
22 | |
23 | uses |
24 | |
25 | GeneralNote from IGESDimen, |
26 | FiniteElement from IGESAppli, |
27 | HAsciiString from TCollection, |
28 | HArray1OfFiniteElement from IGESAppli, |
29 | HArray1OfInteger from TColStd, |
30 | HArray1OfReal from TColStd, |
31 | HArray1OfHArray1OfInteger from IGESBasic, |
32 | HArray1OfHArray1OfReal from IGESBasic |
33 | |
34 | raises DimensionMismatch, OutOfRange |
35 | |
36 | is |
37 | |
38 | Create returns mutable ElementResults; |
39 | |
40 | -- Specific Methods pertaining to the class |
41 | |
42 | Init (me : mutable; |
43 | aNote : GeneralNote; |
44 | aSubCase : Integer; |
45 | aTime : Real; |
46 | nbResults : Integer; |
47 | aResRepFlag : Integer; |
48 | allElementIdents : HArray1OfInteger; |
49 | allFiniteElems : HArray1OfFiniteElement; |
50 | allTopTypes : HArray1OfInteger; |
51 | nbLayers : HArray1OfInteger; |
52 | allDataLayerFlags : HArray1OfInteger; |
53 | allnbResDataLocs : HArray1OfInteger; |
54 | allResDataLocs : HArray1OfHArray1OfInteger; |
55 | allResults : HArray1OfHArray1OfReal) |
56 | ---Purpose : This method is used to set the fields of the class |
57 | -- ElementResults |
58 | -- - aNote : GeneralNote Entity describing analysis |
59 | -- - aSubCase : Analysis Subcase number |
60 | -- - aTime : Analysis time value |
61 | -- - nbResults : Number of result values per FEM |
62 | -- - aResRepFlag : Results Reporting Flag |
63 | -- - allElementIdents : FEM element number for elements |
64 | -- - allFiniteElems : FEM element |
65 | -- - allTopTypes : Element Topology Types |
66 | -- - nbLayers : Number of layers per result data location |
67 | -- - allDataLayerFlags : Data Layer Flags |
68 | -- - allnbResDataLocs : Number of result data report locations |
69 | -- - allResDataLocs : Result Data Report Locations |
70 | -- - allResults : List of Result data values of FEM analysis |
71 | raises DimensionMismatch; |
72 | |
73 | SetFormNumber (me : mutable; form : Integer) raises OutOfRange; |
74 | ---Purpose : Changes the FormNumber (which indicates Type of Result) |
75 | -- Error if not in range [0-34] |
76 | |
77 | Note (me) returns GeneralNote; |
78 | ---Purpose : returns General Note Entity describing analysis case |
79 | |
80 | SubCaseNumber (me) returns Integer; |
81 | ---Purpose : returns analysis Subcase number |
82 | |
83 | Time (me) returns Real; |
84 | ---Purpose : returns analysis time value |
85 | |
86 | NbResultValues (me) returns Integer; |
87 | ---Purpose : returns number of result values per FEM |
88 | |
89 | ResultReportFlag (me) returns Integer; |
90 | ---Purpose : returns Results Reporting Flag |
91 | |
92 | NbElements (me) returns Integer; |
93 | ---Purpose : returns number of FEM elements |
94 | |
95 | ElementIdentifier (me; Index : Integer) returns Integer |
96 | ---Purpose : returns FEM element number for elements |
97 | raises OutOfRange; |
98 | -- if Index <= 0 or Index > NbElements() |
99 | |
100 | Element (me; Index : Integer) returns FiniteElement |
101 | ---Purpose : returns FEM element |
102 | raises OutOfRange; |
103 | -- if Index <= 0 or Index > NbElements() |
104 | |
105 | ElementTopologyType (me; Index : Integer) returns Integer |
106 | ---Purpose : returns element Topology Types |
107 | raises OutOfRange; |
108 | -- if Index <= 0 or Index > NbElements() |
109 | |
110 | NbLayers (me; Index : Integer) returns Integer |
111 | ---Purpose : returns number of layers per result data location |
112 | raises OutOfRange; |
113 | -- if Index <= 0 or Index > NbElements() |
114 | |
115 | DataLayerFlag (me; Index : Integer) returns Integer |
116 | ---Purpose : returns Data Layer Flags |
117 | raises OutOfRange; |
118 | -- if Index <= 0 or Index > NbElements() |
119 | |
120 | NbResultDataLocs (me; Index : Integer) returns Integer |
121 | ---Purpose : returns number of result data report locations |
122 | raises OutOfRange; |
123 | -- if Index <= 0 or Index > NbElements() |
124 | |
125 | ResultDataLoc (me; NElem, NLoc : Integer) returns Integer |
126 | ---Purpose : returns Result Data Report Locations |
127 | -- UNFINISHED |
128 | raises OutOfRange; |
129 | |
130 | NbResults (me; Index : Integer) returns Integer |
131 | ---Purpose : returns total number of results |
132 | raises OutOfRange; |
133 | |
134 | ResultData (me; NElem, num : Integer) returns Real |
135 | ---Purpose : returns Result data value for an Element, given its |
136 | -- order between 1 and <NbResults(NElem)> (direct access) |
137 | -- For a more comprehensive access, see below |
138 | raises OutOfRange; |
139 | |
140 | ResultRank (me; NElem, NVal, NLay, NLoc : Integer) returns Integer |
141 | ---Purpose : Computes, for a given Element <NElem>, the rank of a |
142 | -- individual Result Data, given <NVal>,<NLay>,<NLoc> |
143 | raises OutOfRange; |
144 | |
145 | ResultData (me; NElem, NVal, NLay, NLoc : Integer) returns Real |
146 | ---Purpose : returns Result data values of FEM analysis, according this |
147 | -- definition : |
148 | -- - <NElem> : n0 of the Element to be considered |
149 | -- - <NVal> : n0 of the Value between 1 and NbResultValues |
150 | -- - <NLay> : n0 of the Layer for this Element |
151 | -- - <NLoc> : n0 of the Data Location for this Element |
152 | -- This gives for each Element, the corresponding rank |
153 | -- computed by ResultRank, in which the leftmost subscript |
154 | -- changes most rapidly |
155 | raises OutOfRange; |
156 | |
157 | ResultList (me; NElem : Integer) returns HArray1OfReal |
158 | ---Purpose : Returns in once the entire list of data for an Element, |
159 | -- addressed as by ResultRank (See above) |
160 | raises OutOfRange; |
161 | |
162 | fields |
163 | |
164 | -- |
165 | -- Class : IGESAppli_ElementResults |
166 | -- |
167 | -- Purpose : Declaration of variables specific to the definition |
168 | -- of the Class ElementResults. |
169 | -- |
170 | -- Reminder : A ElementResults instance is defined by : |
171 | -- - General Note Entity describing analysis case |
172 | -- - Analysis Subcase number |
173 | -- - Analysis time value |
174 | -- - Number of result values per FEM |
175 | -- - Results Reporting Flag |
176 | -- - Number of FEM elements, then for each one : |
177 | -- - FEM element number identifier |
178 | -- - FEM element |
179 | -- - Element Topology Type |
180 | -- - Number of layers per result data location |
181 | -- - Data Layer Flag |
182 | -- - Number of result data report locations |
183 | -- - Result Data Report Locations |
184 | -- - Total number of result data |
185 | -- - Result data values of FEM analysis |
186 | -- (accessed in "Array3" form for each element) |
187 | |
188 | theNote : GeneralNote; |
189 | theSubcaseNumber : Integer; |
190 | theTime : Real; |
191 | theNbResultValues : Integer; |
192 | theResultReportFlag : Integer; |
193 | theElementIdentifiers : HArray1OfInteger; |
194 | theElements : HArray1OfFiniteElement; |
195 | theElementTopologyTypes : HArray1OfInteger; |
196 | theNbLayers : HArray1OfInteger; |
197 | theDataLayerFlags : HArray1OfInteger; |
198 | theNbResultDataLocs : HArray1OfInteger; |
199 | theResultDataLocs : HArray1OfHArray1OfInteger; |
200 | theResultData : HArray1OfHArray1OfReal; |
201 | |
202 | end ElementResults; |