pytecplot 1.5.2__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (97) hide show
  1. pytecplot-1.5.2.dist-info/LICENSE.html +77 -0
  2. pytecplot-1.5.2.dist-info/METADATA +508 -0
  3. pytecplot-1.5.2.dist-info/RECORD +97 -0
  4. pytecplot-1.5.2.dist-info/WHEEL +5 -0
  5. pytecplot-1.5.2.dist-info/top_level.txt +1 -0
  6. tecplot/__init__.py +94 -0
  7. tecplot/annotation/__init__.py +7 -0
  8. tecplot/annotation/annotation.py +223 -0
  9. tecplot/annotation/geometry.py +369 -0
  10. tecplot/annotation/georeference.py +33 -0
  11. tecplot/annotation/image.py +185 -0
  12. tecplot/annotation/iter.py +105 -0
  13. tecplot/annotation/polyline.py +381 -0
  14. tecplot/annotation/text.py +744 -0
  15. tecplot/constant.py +401 -0
  16. tecplot/data/__init__.py +34 -0
  17. tecplot/data/array.py +645 -0
  18. tecplot/data/create.py +1 -0
  19. tecplot/data/dataset.py +1809 -0
  20. tecplot/data/extract.py +544 -0
  21. tecplot/data/face_neighbors.py +494 -0
  22. tecplot/data/facemap.py +814 -0
  23. tecplot/data/load.py +2075 -0
  24. tecplot/data/nodemap.py +577 -0
  25. tecplot/data/operate.py +928 -0
  26. tecplot/data/query.py +334 -0
  27. tecplot/data/save.py +343 -0
  28. tecplot/data/variable.py +280 -0
  29. tecplot/data/zone.py +841 -0
  30. tecplot/exception.py +201 -0
  31. tecplot/export/__init__.py +13 -0
  32. tecplot/export/animation.py +521 -0
  33. tecplot/export/export_setup.py +318 -0
  34. tecplot/export/image.py +577 -0
  35. tecplot/export/print_setup.py +218 -0
  36. tecplot/export/time_animation.py +607 -0
  37. tecplot/extension/__init__.py +14 -0
  38. tecplot/extension/ipython.py +68 -0
  39. tecplot/layout/__init__.py +20 -0
  40. tecplot/layout/frame.py +1285 -0
  41. tecplot/layout/layout.py +488 -0
  42. tecplot/layout/page.py +541 -0
  43. tecplot/legend/__init__.py +4 -0
  44. tecplot/legend/contour_legend.py +516 -0
  45. tecplot/legend/legend.py +141 -0
  46. tecplot/legend/line_legend.py +66 -0
  47. tecplot/legend/rgb_coloring_legend.py +291 -0
  48. tecplot/legend/scatter_legend.py +136 -0
  49. tecplot/macro.py +339 -0
  50. tecplot/plot/__init__.py +62 -0
  51. tecplot/plot/axes.py +881 -0
  52. tecplot/plot/axis.py +1350 -0
  53. tecplot/plot/blanking.py +584 -0
  54. tecplot/plot/contour.py +1302 -0
  55. tecplot/plot/effects.py +162 -0
  56. tecplot/plot/fieldmap.py +2159 -0
  57. tecplot/plot/grid.py +758 -0
  58. tecplot/plot/isosurface.py +1167 -0
  59. tecplot/plot/labels.py +338 -0
  60. tecplot/plot/linemap.py +1905 -0
  61. tecplot/plot/linking.py +489 -0
  62. tecplot/plot/plot.py +1791 -0
  63. tecplot/plot/rgb_coloring.py +281 -0
  64. tecplot/plot/scatter.py +396 -0
  65. tecplot/plot/slice.py +1544 -0
  66. tecplot/plot/streamtrace.py +1949 -0
  67. tecplot/plot/symbol.py +567 -0
  68. tecplot/plot/ticks.py +666 -0
  69. tecplot/plot/title.py +380 -0
  70. tecplot/plot/vector.py +679 -0
  71. tecplot/plot/view.py +868 -0
  72. tecplot/session/__init__.py +112 -0
  73. tecplot/session/aux_data.py +276 -0
  74. tecplot/session/config.py +92 -0
  75. tecplot/session/session.py +425 -0
  76. tecplot/session/state_changed.py +225 -0
  77. tecplot/session/style.py +504 -0
  78. tecplot/tecutil/__init__.py +16 -0
  79. tecplot/tecutil/arglist.py +230 -0
  80. tecplot/tecutil/captured_output.py +177 -0
  81. tecplot/tecutil/constant.py +1312 -0
  82. tecplot/tecutil/index_set.py +118 -0
  83. tecplot/tecutil/lock.py +36 -0
  84. tecplot/tecutil/message_pb2.py +39 -0
  85. tecplot/tecutil/preamble.py +54 -0
  86. tecplot/tecutil/stringlist.py +114 -0
  87. tecplot/tecutil/sv.py +1662 -0
  88. tecplot/tecutil/tecutil.py +12402 -0
  89. tecplot/tecutil/tecutil_client.py +627 -0
  90. tecplot/tecutil/tecutil_connector.py +937 -0
  91. tecplot/tecutil/tecutil_rpc.py +6845 -0
  92. tecplot/tecutil/util.py +332 -0
  93. tecplot/text/__init__.py +3 -0
  94. tecplot/text/font.py +224 -0
  95. tecplot/text/label_format.py +374 -0
  96. tecplot/text/textbox.py +106 -0
  97. tecplot/version.py +41 -0
tecplot/constant.py ADDED
@@ -0,0 +1,401 @@
1
+ from enum import Enum as _Enum
2
+
3
+ from .tecutil.constant import *
4
+
5
+ TECUTIL_BAD_ID = 0
6
+
7
+
8
+ class Color(_Enum):
9
+ Black = 0
10
+ Red = 1
11
+ Green = 2
12
+ Blue = 3
13
+ Cyan = 4
14
+ Yellow = 5
15
+ Purple = 6
16
+ White = 7
17
+
18
+ Custom1 = 8
19
+ Custom2 = 9
20
+ Custom3 = 10
21
+ Custom4 = 11
22
+ Custom5 = 12
23
+ Custom6 = 13
24
+ Custom7 = 14
25
+ Custom8 = 15
26
+ Custom9 = 16
27
+ Custom10 = 17
28
+ Custom11 = 18
29
+ Custom12 = 19
30
+ Custom13 = 20
31
+ Custom14 = 21
32
+ Custom15 = 22
33
+ Custom16 = 23
34
+ Custom17 = 24
35
+ Custom18 = 25
36
+ Custom19 = 26
37
+ Custom20 = 27
38
+ Custom21 = 28
39
+ Custom22 = 29
40
+ Custom23 = 30
41
+ Custom24 = 31
42
+ Custom25 = 32
43
+ Custom26 = 33
44
+ Custom27 = 34
45
+ Custom28 = 35
46
+ Custom29 = 36
47
+ Custom30 = 37
48
+ Custom31 = 38
49
+ Custom32 = 39
50
+ Custom33 = 40
51
+ Custom34 = 41
52
+ Custom35 = 42
53
+ Custom36 = 43
54
+ Custom37 = 44
55
+ Custom38 = 45
56
+ Custom39 = 46
57
+ Custom40 = 47
58
+ Custom41 = 48
59
+ Custom42 = 49
60
+ Custom43 = 50
61
+ Custom44 = 51
62
+ Custom45 = 52
63
+ Custom46 = 53
64
+ Custom47 = 54
65
+ Custom48 = 55
66
+ Custom49 = 56
67
+ Custom50 = 57
68
+ Custom51 = 58
69
+ Custom52 = 59
70
+ Custom53 = 60
71
+ Custom54 = 61
72
+ Custom55 = 62
73
+ Custom56 = 63
74
+
75
+ MultiColor = -1
76
+ NoColor = -2
77
+ MultiColor2 = -3
78
+ MultiColor3 = -4
79
+ MultiColor4 = -5
80
+
81
+ RGBColor = -6
82
+
83
+ MultiColor5 = -7
84
+ MultiColor6 = -8
85
+ MultiColor7 = -9
86
+ MultiColor8 = -10
87
+
88
+ InvalidColor = -255
89
+
90
+ # These names are close, though not always
91
+ # the mathematically closest, to the XKCD colors
92
+ Grey = Custom1
93
+ LightGrey = Custom2
94
+ Orange = Custom3
95
+ LimeGreen = Custom4
96
+ AquaGreen = Custom5
97
+ BrightBlue = Custom6
98
+ Violet = Custom7
99
+ HotPink = Custom8
100
+ Mahogany = Custom9
101
+ LightSalmon = Custom10
102
+ LightOrange = Custom11
103
+ LightGreen = Custom12
104
+ SeaGreen = Custom13
105
+ WarmBlue = Custom14
106
+ LightPurple = Custom15
107
+ Coral = Custom16
108
+ Olive = Custom17
109
+ Creme = Custom18
110
+ Lemon = Custom19
111
+ Spearmint = Custom20
112
+ BrightCyan = Custom21
113
+ BluePurple = Custom22
114
+ LightMagenta = Custom23
115
+ RedOrange = Custom24
116
+ Forest = Custom25
117
+ LightMintGreen = Custom26
118
+ YellowGreen = Custom27
119
+ Emerald = Custom28
120
+ SkyBlue = Custom29
121
+ Indigo = Custom30
122
+ BubbleGum = Custom31
123
+ Cinnamon = Custom32
124
+ DarkTurquoise = Custom33
125
+ LightCyan = Custom34
126
+ LemonGreen = Custom35
127
+ Chartreuse = Custom36
128
+ Azure = Custom37
129
+ RoyalBlue = Custom38
130
+ BrightPink = Custom39
131
+ DeepRed = Custom40
132
+ DarkBlue = Custom41
133
+ LightBlue = Custom42
134
+ MustardGreen = Custom43
135
+ LeafGreen = Custom44
136
+ Turquoise = Custom45
137
+ OceanBlue = Custom46
138
+ Magenta = Custom47
139
+ Raspberry = Custom48
140
+ DeepViolet = Custom49
141
+ Lilac = Custom50
142
+ Khaki = Custom51
143
+ Fern = Custom52
144
+ GreyTeal = Custom53
145
+ DuskyBlue = Custom54
146
+ MediumPurple = Custom55
147
+ LightMaroon = Custom56
148
+
149
+
150
+ class Alignment(_Enum):
151
+ Left = 0 # horizonal
152
+ Right = 1
153
+ Middle = 2
154
+ Top = 3
155
+ Bottom = 4
156
+
157
+
158
+ class AngleUnits(_Enum):
159
+ Degrees = ThetaMode.Degrees.value
160
+ Radians = ThetaMode.Radians.value
161
+
162
+
163
+ class AxisLine3DAssignment(_Enum):
164
+ Automatic = 0
165
+
166
+ YMinZMin = 1 # x-axis
167
+ YMaxZMin = 2
168
+ YMinZMax = 3
169
+ YMaxZMax = 4
170
+
171
+ ZMinXMin = YMinZMin # y-axis
172
+ ZMaxXMin = YMaxZMin
173
+ ZMinXMax = YMinZMax
174
+ ZMaxXMax = YMaxZMax
175
+
176
+ XMinYMin = YMinZMin # z-axis
177
+ XMaxYMin = YMaxZMin
178
+ XMinYMax = YMinZMax
179
+ XMaxYMax = YMaxZMax
180
+
181
+
182
+ class AuxDataType(_Enum):
183
+ String = 0
184
+
185
+
186
+ class AuxDataObjectType(_Enum):
187
+ Dataset = 0
188
+ Frame = 1
189
+ Layout = 2
190
+ Linemap = 3
191
+ Page = 4
192
+ Variable = 5
193
+ Zone = 6
194
+
195
+
196
+ class SymbolType(_Enum):
197
+ Text = 0
198
+ Geometry = 1
199
+
200
+
201
+ class TileMode(_Enum):
202
+ Grid = 'TILEFRAMESSQUARE'
203
+ Wrap = 'TILEFRAMESWRAP'
204
+ Rows = 'TILEFRAMESVERT'
205
+ Columns = 'TILEFRAMESHORIZ'
206
+
207
+
208
+ class BinaryFileVersion(_Enum):
209
+ Tecplot2006 = 0
210
+ Tecplot2008 = 1
211
+ Tecplot2009 = 2
212
+ Tecplot2019 = 3
213
+ Current = Tecplot2019
214
+
215
+
216
+ class IJKLines(_Enum):
217
+ I = 0
218
+ J = 1
219
+ K = 2
220
+
221
+
222
+ class StreamtraceType(_Enum):
223
+ Line = 0
224
+ Rod = 1
225
+ Ribbon = 2
226
+
227
+
228
+ class StreamtraceLocation(_Enum):
229
+ Surface = 0
230
+ Volume = 1
231
+
232
+
233
+ # Alias of `tecplot.constant.SkipMode`
234
+ class StepMode(_Enum):
235
+ ByIndex = 0
236
+ ByFrameUnits = 1
237
+
238
+ assert len(StepMode) == len(SkipMode), 'tecplot/constant.py requires update'
239
+
240
+ _FunctionDependency = FunctionDependency
241
+
242
+
243
+ class FunctionDependency(_Enum):
244
+ XIndependent = _FunctionDependency.XIndependent.value
245
+ YIndependent = _FunctionDependency.YIndependent.value
246
+
247
+ RIndependent = _FunctionDependency.YIndependent.value
248
+ ThetaIndependent = _FunctionDependency.XIndependent.value
249
+
250
+
251
+ class GeomType(_Enum):
252
+ LineSegs = 0
253
+ Rectangle = 1
254
+ Square = 2
255
+ Circle = 3
256
+ Ellipse = 4
257
+ Image = 6
258
+
259
+
260
+ _PlotType = PlotType
261
+
262
+
263
+ class PlotType(_Enum):
264
+ Automatic = _PlotType.Automatic.value
265
+ Cartesian3D = _PlotType.Cartesian3D.value
266
+ Cartesian2D = _PlotType.Cartesian2D.value
267
+ XYLine = _PlotType.XYLine.value
268
+ Sketch = _PlotType.Sketch.value
269
+ PolarLine = _PlotType.PolarLine.value
270
+
271
+ # Note that we use "Active" here to indicate "None",
272
+ # where we have decided that "None" is not a good name
273
+ # for the default because it implies "No plot".
274
+ Active = _PlotType.Automatic.value
275
+
276
+
277
+ class ReadDataOption(_Enum):
278
+ ReplaceInActiveFrame = 0
279
+ Append = 1
280
+ Replace = 2
281
+
282
+
283
+ class RelativeSizeUnits(_Enum):
284
+ Grid = 0
285
+ Page = 1
286
+
287
+
288
+ class RotateOriginLocation(_Enum):
289
+ DefinedOrigin = 0
290
+ Viewer = 1
291
+
292
+
293
+ class SliceSurface(_Enum):
294
+ XPlanes = 0
295
+ YPlanes = 1
296
+ ZPlanes = 2
297
+ IPlanes = 3
298
+ JPlanes = 4
299
+ KPlanes = 5
300
+ # CVar = 6 (Internal SDK use only)
301
+ Arbitrary = 7
302
+
303
+
304
+ class SphereScatterRenderQuality(_Enum):
305
+ Low = 0
306
+ Medium = 1
307
+ High = 2
308
+
309
+
310
+
311
+ class TecUtilServerProcessingMode(_Enum):
312
+ Unspecified = 0
313
+ Single = 1
314
+
315
+
316
+ class ValueBlankCellMode(_Enum):
317
+ AllCorners = 0
318
+ AnyCorner = 1
319
+ PrimaryValue = 2
320
+ TrimCells = 100 # PyTecplot only
321
+
322
+
323
+ class SZLLoader:
324
+ """Enumerators specific to `tecplot.data.load_tecplot_szl()`"""
325
+ class RemoteAuthenticationMethod(_Enum):
326
+ """How to authenticate during a direct or tunneled connection."""
327
+ SSHAgent = 'SSH Agent'
328
+ SSHPrivateKey = 'SSH Private Key'
329
+ Password = 'No Private Key'
330
+
331
+
332
+ class RemoteConnectionMethod(_Enum):
333
+ """How to connect to the SZL Server."""
334
+ Tunneled = 'Tunneled'
335
+ Direct = 'Direct'
336
+ Manual = 'Manual'
337
+
338
+
339
+ class VTKLoader:
340
+ """Enumerators specific to `tecplot.data.load_vtk()`"""
341
+ class SolutionTimeSource(_Enum):
342
+ """How to determine solution times when loading."""
343
+ None_ = 'None'
344
+ FromFieldData = 'FromFieldData'
345
+ FromFilename = 'FromFilename'
346
+ Auto = 'Auto'
347
+
348
+
349
+ class FEALoader:
350
+ """Enumerators specific to FEA loaders (CFX, OpenFOAM and STL)."""
351
+ class Version(_Enum):
352
+ """FEA data loader version number (used internally)."""
353
+ v424 = '424'
354
+ v435 = '435'
355
+ v436 = '436'
356
+ v443 = '443'
357
+ v446 = '446'
358
+ v450 = '450'
359
+ v452 = '452'
360
+ v461 = '461'
361
+ v66051 = '66051'
362
+ Current = v66051
363
+
364
+
365
+ class FluentCFFLoader:
366
+ """Enumerators specific to the Fluent CFF loader."""
367
+ class SolutionTimeSource(_Enum):
368
+ """How to determine solution times when loading."""
369
+ Auto = 'Auto'
370
+ SteadyState = 'SteadyState'
371
+ ConstantTimeInterval = 'ConstantTimeInterval'
372
+
373
+
374
+ class STLLoader:
375
+ """Enumerators specific to `tecplot.data.load_stl()`"""
376
+ class SubdivideZones(_Enum):
377
+ """How to subdivide zones when loading."""
378
+ DoNotSubdivide = 'DoNotSubdivide'
379
+ ByComponent = 'Component'
380
+ ByElementType = 'ElementType'
381
+
382
+
383
+ class OpenFOAMLoader:
384
+ """Enumerators specific to `tecplot.data.load_openfoam()`"""
385
+ class BoundaryZoneConstruction(_Enum):
386
+ """Type of zone boundary construction."""
387
+ Reconstructed = 'Reconstructed'
388
+ Decomposed = 'Decomposed'
389
+
390
+
391
+ # deprecated as of 1.4.0
392
+ RemoteAuthenticationMethod = _Enum('RemoteAuthenticationMethod',
393
+ [(x.name, x.value) for x in SZLLoader.RemoteAuthenticationMethod])
394
+ RemoteConnectionMethod = _Enum('RemoteConnectionMethod',
395
+ [(x.name, x.value) for x in SZLLoader.RemoteConnectionMethod])
396
+ SubdivideZones = _Enum('SubdivideZones',
397
+ [(x.name, x.value) for x in STLLoader.SubdivideZones])
398
+ SolutionTimeSource = _Enum('SolutionTimeSource',
399
+ [(x.name, x.value) for x in VTKLoader.SolutionTimeSource])
400
+ BoundaryZoneConstruction = _Enum('BoundaryZoneConstruction',
401
+ [(x.name, x.value) for x in OpenFOAMLoader.BoundaryZoneConstruction])
@@ -0,0 +1,34 @@
1
+ """`Dataset <tecplot.data.Dataset>` access and manipulation.
2
+
3
+ A `Dataset <tecplot.data.Dataset>` consists of a matrix of `Zones <data_access>` and `Variables
4
+ <Variable>`. Each `Zone <data_access>` - `Variable` pair corresponds to a data
5
+ object which can always be treated as a 1D array, but which may be interpreted
6
+ as 2D or 3D in the case of *ijk*-ordered data. In general, the `Zone
7
+ <data_access>` defines the size, shape and connectivity of the data while the
8
+ `Variable` defines the underlying data type and whether the data is nodal or
9
+ cell-centered.
10
+
11
+ .. warning:: Zero-based Indexing
12
+
13
+ It is important to know that all indexing in |PyTecplot| scripts are
14
+ zero-based. This is a departure from the macro language which is one-based.
15
+ This is to keep with the expectations when working in the python language.
16
+ However, |PyTecplot| does not modify strings that are passed to the
17
+ |Tecplot Engine|. This means that one-based indexing should be used when
18
+ running macro commands from python or when using `execute_equation()
19
+ <tecplot.data.operate.execute_equation>`.
20
+
21
+ """
22
+ from . import create, extract, operate, query
23
+ from .array import Array
24
+ from .dataset import Dataset, SolutionTimeClustering
25
+ from .face_neighbors import FaceNeighbors
26
+ from .facemap import Facemap
27
+ from .load import (load_cfx, load_tecplot, load_tecplot_szl, load_cgns,
28
+ load_converge_hdf5, load_converge_output, load_ensight,
29
+ load_fluent, load_fluent_cff, load_fvcom, load_openfoam,
30
+ load_plot3d, load_stl, load_telemac, load_vtk)
31
+ from .nodemap import Nodemap, NodemapArray
32
+ from .save import save_tecplot_ascii, save_tecplot_plt, save_tecplot_szl
33
+ from .variable import Variable
34
+ from .zone import ClassicFEZone, OrderedZone, PolyFEZone