pytecplot 1.6.0__py3-none-any.whl → 1.6.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.
- {pytecplot-1.6.0.dist-info → pytecplot-1.6.2.dist-info}/LICENSE.html +3 -3
- {pytecplot-1.6.0.dist-info → pytecplot-1.6.2.dist-info}/METADATA +29 -6
- {pytecplot-1.6.0.dist-info → pytecplot-1.6.2.dist-info}/RECORD +18 -18
- {pytecplot-1.6.0.dist-info → pytecplot-1.6.2.dist-info}/WHEEL +1 -1
- tecplot/annotation/text.py +2 -2
- tecplot/data/extract.py +9 -1
- tecplot/data/load.py +99 -40
- tecplot/data/save.py +1 -1
- tecplot/legend/contour_legend.py +1 -1
- tecplot/plot/blanking.py +2 -2
- tecplot/plot/linemap.py +2 -2
- tecplot/tecutil/constant.py +1 -1
- tecplot/tecutil/sv.py +1 -1
- tecplot/tecutil/tecutil.py +15 -54
- tecplot/tecutil/tecutil_connector.py +63 -83
- tecplot/tecutil/tecutil_rpc.py +13 -45
- tecplot/version.py +2 -2
- {pytecplot-1.6.0.dist-info → pytecplot-1.6.2.dist-info}/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<!DOCTYPE html>
|
|
2
2
|
<head>
|
|
3
|
-
<title>Tecplot, Inc.
|
|
3
|
+
<title>Tecplot, Inc. License Agreement</title>
|
|
4
4
|
<meta property="og:title" content="Tecplot License Agreement" />
|
|
5
5
|
<meta property="og:type" content="website" />
|
|
6
6
|
<meta property="og:description" content="" />
|
|
@@ -67,10 +67,10 @@
|
|
|
67
67
|
<h4><span>14. Indemnity.</span></h4><p><span>Tecplot, Inc. will defend, indemnify and hold Licensee harmless from any claims, actions, suits or proceedings (each a "Claim") brought against Licensee by a third party to the extent such Claim is based on an allegation that the Software, when used in accordance with this Agreement, infringes the intellectual property rights of third parties, provided that (i) Licensee gives Tecplot, Inc. written notice of any such Claim within ten (10) business days of said claim coming to its attention, and promptly provides all authority and information required for the defense thereof, (ii) Licensee cooperates with Tecplot, Inc. in the defense of the Claim, and (iii) such Claim does not arise due to the unauthorized acts or misconduct of Licensee, any modification of the Software by Licensee, any failure by Licensee to use corrections or enhancements provided by or on behalf of Tecplot, Inc. that would rectify such infringement, or the combination of the Software with software, hardware, information, data or other materials not furnished by Tecplot, Inc. to the extent such infringement would not have occurred but for such combination. In the event that a successful Claim is brought against Licensee and Licensee's use thereof is enjoined (or if Tecplot, Inc. otherwise elects), Tecplot, Inc., at its option, shall (i) procure for Licensee the right to continue to use the Software, (ii) replace the Software with non-infringing software, or (iii) terminate this Agreement with respect to the enjoined Software and return to Licensee a pro-rated portion of the fees paid to Tecplot, Inc. </span></p>
|
|
68
68
|
<h4><span>15. Confidentiality.</span></h4><p><span>The Software contains proprietary trade secrets of Tecplot, Inc., and Licensee and any unlicensed user agrees to maintain the confidentiality of the Software using at least as great a degree of care as they use to maintain the confidentiality of their own most confidential information. Licensee agrees to reasonably communicate the terms and conditions of this Agreement to those persons employed by Licensee who come into contact with the Software, and to use reasonable best efforts to ensure their compliance with such terms and conditions, including, without limitation, not knowingly permitting such persons to Use any portion of the Software for the purpose of deriving the source code of the Software or defeating any passcode. </span></p>
|
|
69
69
|
|
|
70
|
-
<h4><span>16. Entire Agreement; Interpretation.</span></h4><p><span>This Agreement constitutes the entire agreement between parties pertaining to the subject matter hereof and supersedes all prior representations, warranties, conditions, agreements, and understandings, whether oral or written, express or implied, relating to this Agreement. No supplement, modification, or waiver of this Agreement shall be effective unless it is provided or approved by Tecplot, Inc. in writing. Any waiver or modification of this Agreement shall only be effective if it is in writing and signed by both parties hereto. If any part of this Agreement is found invalid or unenforceable by a Court of competent jurisdiction, the remainder shall be interpreted so as to reasonably effect the intention of the parties. </span></p>
|
|
70
|
+
<h4><span>16. Entire Agreement; Interpretation.</span></h4><p><span>This Agreement constitutes the entire agreement between parties pertaining to the subject matter hereof and supersedes all prior representations, warranties, conditions, agreements, and understandings, whether oral or written, express or implied, relating to this Agreement. No supplement, modification, or waiver of this Agreement shall be effective unless it is provided or approved by Tecplot, Inc. in writing. Any waiver or modification of this Agreement shall only be effective if it is in writing and signed by both parties hereto. The terms of purchase orders, payment documents, or similar documents you submit to Tecplot will not amend or become part of this Agreement and will not be binding on Tecplot. All such terms are hereby rejected. If any part of this Agreement is found invalid or unenforceable by a Court of competent jurisdiction, the remainder shall be interpreted so as to reasonably effect the intention of the parties. </span></p>
|
|
71
71
|
|
|
72
72
|
<div><p> </p></div>
|
|
73
|
-
<p><span>Last update:
|
|
73
|
+
<p><span>Last update: February 2024</span></p>
|
|
74
74
|
|
|
75
75
|
</div>
|
|
76
76
|
</body>
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: pytecplot
|
|
3
|
-
Version: 1.6.
|
|
3
|
+
Version: 1.6.2
|
|
4
4
|
Summary: A Python interface to Tecplot 360
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
Author-email: support@tecplot.com
|
|
5
|
+
Author-email: "Tecplot, Inc." <support@tecplot.com>
|
|
6
|
+
Project-URL: homepage, https://www.tecplot.com/docs/pytecplot
|
|
8
7
|
Keywords: tecplot,cfd,data analysis,scientific,scientific computing,statistics,visualization,numerical simulation,aerospace
|
|
9
8
|
Classifier: Development Status :: 5 - Production/Stable
|
|
10
9
|
Classifier: Intended Audience :: Developers
|
|
@@ -31,7 +30,8 @@ Classifier: Programming Language :: Python :: 3.8
|
|
|
31
30
|
Classifier: Programming Language :: Python :: 3.9
|
|
32
31
|
Classifier: Programming Language :: Python :: 3.10
|
|
33
32
|
Classifier: Programming Language :: Python :: 3.11
|
|
34
|
-
Requires-Python: >=3.
|
|
33
|
+
Requires-Python: >=3.8
|
|
34
|
+
Description-Content-Type: text/x-rst
|
|
35
35
|
License-File: LICENSE.html
|
|
36
36
|
Requires-Dist: protobuf >=3.20.0
|
|
37
37
|
Requires-Dist: pyzmq
|
|
@@ -102,6 +102,28 @@ questions you may have about |PyTecplot| in general.
|
|
|
102
102
|
Change Log
|
|
103
103
|
----------
|
|
104
104
|
|
|
105
|
+
For more information, see |Tecplot 360s release notes|.
|
|
106
|
+
|
|
107
|
+
.. |Tecplot 360s release notes| replace:: `Tecplot 360's release notes <https://tecplot.com/products/tecplot-360/new-in-tecplot-360>`__
|
|
108
|
+
|
|
109
|
+
PyTecplot 1.6.2
|
|
110
|
+
^^^^^^^^^^^^^^^
|
|
111
|
+
|
|
112
|
+
Released with Tecplot 360 2024 R1
|
|
113
|
+
|
|
114
|
+
* Updated the End User License Agreement (EULA).
|
|
115
|
+
|
|
116
|
+
PyTecplot 1.6.1
|
|
117
|
+
^^^^^^^^^^^^^^^
|
|
118
|
+
|
|
119
|
+
Released with Tecplot 360 2023 R2
|
|
120
|
+
|
|
121
|
+
* Changed behavior of `load_tecplot_szl()` when appending to align all incoming variables by name,
|
|
122
|
+
instead of position, with the previously loaded dataset.
|
|
123
|
+
* Python package configuration now uses the `pyproject.toml` file.
|
|
124
|
+
* Merging features from v1.5.4 and v1.5.3 back into the main production branch. This
|
|
125
|
+
was missing from the v1.6.0 release.
|
|
126
|
+
|
|
105
127
|
PyTecplot 1.6.0
|
|
106
128
|
^^^^^^^^^^^^^^^
|
|
107
129
|
|
|
@@ -121,7 +143,8 @@ Released with Tecplot 360 2023 R1
|
|
|
121
143
|
PyTecplot 1.5.4
|
|
122
144
|
^^^^^^^^^^^^^^^
|
|
123
145
|
|
|
124
|
-
* Clarified error messages on failure to initialize the Tecplot 360 libraries from
|
|
146
|
+
* Clarified error messages on failure to initialize the Tecplot 360 libraries from
|
|
147
|
+
Python.
|
|
125
148
|
|
|
126
149
|
PyTecplot 1.5.3
|
|
127
150
|
^^^^^^^^^^^^^^^
|
|
@@ -2,7 +2,7 @@ tecplot/__init__.py,sha256=iHAPbGDgIh7HtLWaWcDYfVS4TOsNrRSHyQa-H_6Li3g,3550
|
|
|
2
2
|
tecplot/constant.py,sha256=a-hty3FoPqCfQn2UJQDANQwGg0G1ThNWuETWLETsA2M,8503
|
|
3
3
|
tecplot/exception.py,sha256=YB4zeL0-07yCy4pyUqeFdNQ98nK11h2n3ZHHe58Od6s,6493
|
|
4
4
|
tecplot/macro.py,sha256=uE29ftjdr2HdlFVa9SS-1uBU8Di4W3PwquhI75LnvhM,13307
|
|
5
|
-
tecplot/version.py,sha256=
|
|
5
|
+
tecplot/version.py,sha256=R8w3ZSfvCelfBX4UG3F37sJ-k2kDcKJm9DCome_0f1s,1544
|
|
6
6
|
tecplot/annotation/__init__.py,sha256=FfL8JhlO6T9NTajVRtgXHp6A6PhjpO51gnVKlHMkzWA,333
|
|
7
7
|
tecplot/annotation/annotation.py,sha256=B7G-BkrQ4lYBpak9RR3u7Pvdci5MGLUvNo_MnJidyY4,8481
|
|
8
8
|
tecplot/annotation/geometry.py,sha256=3jnp_Ut1AQdhSUCMAJ1yFuL_epoGUoTny03cv0kl09k,12516
|
|
@@ -10,20 +10,20 @@ tecplot/annotation/georeference.py,sha256=fB35i1MARQorSopdZw1ljgjqpC2G16YOxUBW7q
|
|
|
10
10
|
tecplot/annotation/image.py,sha256=6v_EUYQ1gUoHIqMlJXO68S8nSuvwSnPHePwRKmtmYM4,5888
|
|
11
11
|
tecplot/annotation/iter.py,sha256=s9rFJLhKgJKApxxTghRFBjT6Pmu6BAEfvB5QgBI4mNI,3709
|
|
12
12
|
tecplot/annotation/polyline.py,sha256=bw-1LfpjfcHK7VZGTf7xrvHtzjlFJAegIYrU5GVdse0,12390
|
|
13
|
-
tecplot/annotation/text.py,sha256=
|
|
13
|
+
tecplot/annotation/text.py,sha256=JFaaOJR1h6LyLt9vUVanQmakXtGZOguVdA-3oT8tWhQ,26471
|
|
14
14
|
tecplot/data/__init__.py,sha256=apkztrNGBSS5cfyYSIYkrwU1eeRiO0GP4sHvryPJfVA,1937
|
|
15
15
|
tecplot/data/array.py,sha256=kx_UPZ4MgzydzEkHhdV8YyssOuy4EzP-i4gXvvTAaxM,23885
|
|
16
16
|
tecplot/data/create.py,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
|
|
17
17
|
tecplot/data/dataset.py,sha256=sXQFB3ZX9CyZPMW__uR0AmBZw8g4F0OSfkpQd5cOk_M,80705
|
|
18
|
-
tecplot/data/extract.py,sha256=
|
|
18
|
+
tecplot/data/extract.py,sha256=hVVxbU_zqlW9ZBDHuYxm5Nu2fzjvxkwsRozosTNkm60,21891
|
|
19
19
|
tecplot/data/face_neighbors.py,sha256=Bm77F87qtDcw2u1BWFNE9cRTc8FI9MS3Cw8YlaJsdkc,19440
|
|
20
20
|
tecplot/data/facemap.py,sha256=Xhn77cZndfgUA9U014I4M_ecwj8bI98_A7DZC24-Jwk,31287
|
|
21
21
|
tecplot/data/fe_cell_type.py,sha256=G2U0c1RBHvUP03_YjHGHaMk1JOkF-g9SlBlLkWXH2Yg,3911
|
|
22
|
-
tecplot/data/load.py,sha256=
|
|
22
|
+
tecplot/data/load.py,sha256=Z7UsMWn0f1loXzxSOMXj4F2H7O9CxlLtZzXnPNvgotY,109490
|
|
23
23
|
tecplot/data/nodemap.py,sha256=Fn8datS0V9hXXkmGIIU1hWndCmfMk_1aLgz0MvxT8lw,36226
|
|
24
24
|
tecplot/data/operate.py,sha256=oFBOzLPYnA8hUCaeiTdpPXdFlLZNLoQCb-EHcPE5iDA,42593
|
|
25
25
|
tecplot/data/query.py,sha256=Ocr9h1I2bFuJFLVOFEqiCUnuxTzD4wnToNzYk996GhY,14807
|
|
26
|
-
tecplot/data/save.py,sha256=
|
|
26
|
+
tecplot/data/save.py,sha256=_535HsEUopTgWl-9NzDkYOQH2FDfTUO2k4EypOnsfrU,16609
|
|
27
27
|
tecplot/data/variable.py,sha256=xJCOO5ZeXCAFWKJYnC_mMxWKoy-oe3pE0EnHytZOwro,9437
|
|
28
28
|
tecplot/data/zone.py,sha256=LxtlinZ2ejq9UnOvapQ2wZfkMdjjRTR6wCi-lzXVa6M,35207
|
|
29
29
|
tecplot/export/__init__.py,sha256=eX3hx-FX9zEE-D3Nnfm_5rEG-jq6XufUDZmmRaLnKFw,781
|
|
@@ -39,7 +39,7 @@ tecplot/layout/frame.py,sha256=mV6l1msr-uqOCGHAfgOI-cNsiFwhjUHXYmAsukZpfSw,51606
|
|
|
39
39
|
tecplot/layout/layout.py,sha256=vcrqWgOkcEW90VCbLG2-7xSWajPhP3cRsLnRIrcuO4c,16025
|
|
40
40
|
tecplot/layout/page.py,sha256=MqX3jJAd3o2xkfaSGXU7TD4gnXv-9CQcDj5WJnlIisU,18264
|
|
41
41
|
tecplot/legend/__init__.py,sha256=zj94bHuUKvgWxn5dddEuahKCXVDMOFonQNgKxtuNSTQ,185
|
|
42
|
-
tecplot/legend/contour_legend.py,sha256=
|
|
42
|
+
tecplot/legend/contour_legend.py,sha256=cLaxUNLD627ps6AQqIUQEoQYtQMJ41DJ1F2G53Hpp_4,17417
|
|
43
43
|
tecplot/legend/legend.py,sha256=FTx03o54awsytUUI2fu8db2oCWvG9L8_D6fymS-gd-Q,4022
|
|
44
44
|
tecplot/legend/line_legend.py,sha256=qim_xoNHB7gk-Hn7x6d5Yttd_zfFAaoA2KKqpD0S94Q,2121
|
|
45
45
|
tecplot/legend/rgb_coloring_legend.py,sha256=pDgPaQBtdV99Qz2tDkxc-FGXHmpBSfwZvtDrKXf3gus,9740
|
|
@@ -47,7 +47,7 @@ tecplot/legend/scatter_legend.py,sha256=_td5uXO2u3PxT-cCYfGlMVZWHuA4k9i75YYzvLdH
|
|
|
47
47
|
tecplot/plot/__init__.py,sha256=2fOlr0Xb48oHO5-OTioxN0yls-2LCPbptzuCusnag9c,3950
|
|
48
48
|
tecplot/plot/axes.py,sha256=ix_rANTSZdMXWfrBDeR5Zq4AWkJ1hXkog1ply6oSbPI,26962
|
|
49
49
|
tecplot/plot/axis.py,sha256=3cgOPbgQdCAWueqfjOpZUbPdhYLsw3bqw4Apm7vEaRQ,43264
|
|
50
|
-
tecplot/plot/blanking.py,sha256=
|
|
50
|
+
tecplot/plot/blanking.py,sha256=j7iwZsiN78DiFzExR83iLk8m6LPFWTQx2ev7s_On3d8,20237
|
|
51
51
|
tecplot/plot/contour.py,sha256=tw-7YW27uwr-V17Ip5zvQtZXsbbG4ca-oILB2bCPu1k,44240
|
|
52
52
|
tecplot/plot/effects.py,sha256=Q9KytPL9dzanSG2Wbx09lNjf1OeKep5Aj3gyOv9s0JE,4983
|
|
53
53
|
tecplot/plot/fieldmap.py,sha256=Ysih0sWQmeTTpREV2-4Wh5-XDPkTetOD_UG7XPle0Ws,75630
|
|
@@ -55,7 +55,7 @@ tecplot/plot/grid.py,sha256=p8h2Tmu93aVunOww6VXSuK8onjf1HkYZRQEyApTJr_c,22463
|
|
|
55
55
|
tecplot/plot/hoe_settings.py,sha256=r_ZFwhWa0pes3bQwqcX6kpMWp7Q7_tLalCIHdIAUw8Y,1931
|
|
56
56
|
tecplot/plot/isosurface.py,sha256=WQec-6hIur5Eyi9Z7m_Y4nuFmGGLUF2RQZDzZRXT1o4,40303
|
|
57
57
|
tecplot/plot/labels.py,sha256=ac8Dl37lGbkY78cJJo_aCuN9zslYZthSZqriTHGkPOs,10578
|
|
58
|
-
tecplot/plot/linemap.py,sha256=
|
|
58
|
+
tecplot/plot/linemap.py,sha256=NHb83QTY1OzI2PO5D_HSlaAxuTrLJxH4fEpE-YQKPgY,63631
|
|
59
59
|
tecplot/plot/linking.py,sha256=HyetVeDsnUsGJtmWLURg6ylyCom0zR-0UubrVynB_fs,16775
|
|
60
60
|
tecplot/plot/plot.py,sha256=WB2S4cHc0JB2wQrZSoEISpjvuXuQRZ_QXLuFaBNJuhk,60658
|
|
61
61
|
tecplot/plot/rgb_coloring.py,sha256=OfcIvhQ9Tm5TQylOUttX7QcNu3CHtETBpIz7gqa9GwY,9417
|
|
@@ -76,24 +76,24 @@ tecplot/session/style.py,sha256=djEwXG3H8_izU1Zsk5b7FlJo-WsxgLzb3N78YHCC7Us,1761
|
|
|
76
76
|
tecplot/tecutil/__init__.py,sha256=tvHnjGACyMsVN7WbYrtp8Lo9qRBQymYZlQ5BuyiBMQg,748
|
|
77
77
|
tecplot/tecutil/arglist.py,sha256=Ls2PIplqW2mpjPEyUryeiGcKJrrAZNFHRupBHF3mOp4,9071
|
|
78
78
|
tecplot/tecutil/captured_output.py,sha256=_q4pFzQvQ736AO_PAVNxlEhzIaxgZV19sBrMuLkiCB4,6373
|
|
79
|
-
tecplot/tecutil/constant.py,sha256=
|
|
79
|
+
tecplot/tecutil/constant.py,sha256=EDZ2XQu0L_0wTVjiI6OxMVdX8SVh_nk_jklq58CmzeQ,19174
|
|
80
80
|
tecplot/tecutil/index_set.py,sha256=oF4nLpeNOu0-F7RIQUO33WWKGIvK9O6T7lQBIALxRg0,3984
|
|
81
81
|
tecplot/tecutil/lock.py,sha256=rVa7hekZ7ZFZnvYgRGsWxZUty9JUbC2EZ-eO4vHzqlU,967
|
|
82
82
|
tecplot/tecutil/message_pb2.py,sha256=5LLHkC4o1hiXYx7FGPLFkPvN2YzVhPT7gfVNVJg_sEU,3668
|
|
83
83
|
tecplot/tecutil/preamble.py,sha256=wzpTPY3xyv8-cnWpp5q1ay0jlXRNmMEmC0UXN-xu0aU,2142
|
|
84
84
|
tecplot/tecutil/stringlist.py,sha256=GMuwiP0scuyLxEUbcJFIz4DU9TLAhNdjGHDWawGGT-o,3533
|
|
85
|
-
tecplot/tecutil/sv.py,sha256=
|
|
86
|
-
tecplot/tecutil/tecutil.py,sha256=
|
|
85
|
+
tecplot/tecutil/sv.py,sha256=8EUln_hn7c2FZ3QMiK9zWMSxAQdhbKmKlTLvU-9lZ-4,54100
|
|
86
|
+
tecplot/tecutil/tecutil.py,sha256=Zmz8LvQ3l25QAbIZgMjZQQHgnA-r6lgYu5n-lYwNMeo,691565
|
|
87
87
|
tecplot/tecutil/tecutil_client.py,sha256=pQKqImoPQRM5K_TdyHCGHwZQr0OycIeIAjRfp5l3L7o,23671
|
|
88
|
-
tecplot/tecutil/tecutil_connector.py,sha256=
|
|
89
|
-
tecplot/tecutil/tecutil_rpc.py,sha256=
|
|
88
|
+
tecplot/tecutil/tecutil_connector.py,sha256=Eh94ePUw5Reza6nwzILqVlQVWvhBfPoYK24ZsjBpHuQ,36978
|
|
89
|
+
tecplot/tecutil/tecutil_rpc.py,sha256=sHX6JjNXQcVjSNasH9auydbfyZoJMF56lJF0j6TxQMM,285726
|
|
90
90
|
tecplot/tecutil/util.py,sha256=C8nNB3gFK6XY6l9Ue18zcPZXFrX5JJ9vO-kcA9R53U8,12038
|
|
91
91
|
tecplot/text/__init__.py,sha256=hXk-XwewRyS-yxif3Wx5FS1wO5Uh6WQpRgtUiUfjNo0,112
|
|
92
92
|
tecplot/text/font.py,sha256=tHMT2NGJC8rLCVCUdmxK0YN_f4hZpTevWIofwjAp7cs,6722
|
|
93
93
|
tecplot/text/label_format.py,sha256=24MOvWtVZ_SKdcU16i5yEfxC-hBipmNOLQwJ_kzDr3k,12328
|
|
94
94
|
tecplot/text/textbox.py,sha256=nwr0ReRC56MY5gB7Ie6UdDxrd_Os_ZI1_3n4bmOzalU,2882
|
|
95
|
-
pytecplot-1.6.
|
|
96
|
-
pytecplot-1.6.
|
|
97
|
-
pytecplot-1.6.
|
|
98
|
-
pytecplot-1.6.
|
|
99
|
-
pytecplot-1.6.
|
|
95
|
+
pytecplot-1.6.2.dist-info/LICENSE.html,sha256=SB6NHYAw2pnpGIjyaVCyuarotJKB1OQlgIiYq-09FiM,27908
|
|
96
|
+
pytecplot-1.6.2.dist-info/METADATA,sha256=boJulMdjDDVCCbDB_LvQTEwK7SQWXG42Wq9GFA7yKLc,21576
|
|
97
|
+
pytecplot-1.6.2.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
|
|
98
|
+
pytecplot-1.6.2.dist-info/top_level.txt,sha256=gU7HYnAb3AVBIKRUOASdYO0QRI6hg1raLt8aN5E4o7s,8
|
|
99
|
+
pytecplot-1.6.2.dist-info/RECORD,,
|
tecplot/annotation/text.py
CHANGED
|
@@ -277,11 +277,11 @@ class TextBox(object):
|
|
|
277
277
|
|
|
278
278
|
@property
|
|
279
279
|
def type(self):
|
|
280
|
-
"""`constant.TextBox`: Style of the text box fill area and border.
|
|
280
|
+
r"""`constant.TextBox`: Style of the text box fill area and border.
|
|
281
281
|
|
|
282
282
|
The text box type can be set to the following:
|
|
283
283
|
|
|
284
|
-
*
|
|
284
|
+
* ``None_`` - (default) No box is drawn around the text.
|
|
285
285
|
* Filled - A filled box around the text which is opaque. if you
|
|
286
286
|
place it over another |Tecplot 360| object, the underlying
|
|
287
287
|
object cannot be seen.
|
tecplot/data/extract.py
CHANGED
|
@@ -257,7 +257,9 @@ def extract_slice(origin=(0, 0, 0), normal=(0, 0, 1), source=None,
|
|
|
257
257
|
mode=ExtractMode.SingleZone, copy_cell_centers=None,
|
|
258
258
|
assign_strand_ids=None,
|
|
259
259
|
transient_mode=TransientOperationMode.SingleSolutionTime,
|
|
260
|
-
frame=None, dataset=None,
|
|
260
|
+
frame=None, dataset=None,
|
|
261
|
+
resulting_1d_zone_type=Resulting1DZoneType.FELineSegment,
|
|
262
|
+
**kw):
|
|
261
263
|
"""Create new zone from a plane in the dataset.
|
|
262
264
|
|
|
263
265
|
Parameters:
|
|
@@ -293,6 +295,10 @@ def extract_slice(origin=(0, 0, 0), normal=(0, 0, 1), source=None,
|
|
|
293
295
|
dataset (`Dataset <tecplot.data.Dataset>`, optional): The `Dataset <tecplot.data.Dataset>` to operate on which must
|
|
294
296
|
be attached to *frame* if given. (default: currently active
|
|
295
297
|
`Dataset <tecplot.data.Dataset>`)
|
|
298
|
+
resulting_1d_zone_type (`Resulting1DZoneType`, optional): The type
|
|
299
|
+
of zone to create when the result is one-dimensional. Possible
|
|
300
|
+
values are: `Resulting1DZoneType.FELineSegment` (default)
|
|
301
|
+
and `Resulting1DZoneType.IOrderedIfPossible`.
|
|
296
302
|
|
|
297
303
|
Returns:
|
|
298
304
|
One or a `list` of `Zones <data_access>` representing a planar slice.
|
|
@@ -409,6 +415,8 @@ def extract_slice(origin=(0, 0, 0), normal=(0, 0, 1), source=None,
|
|
|
409
415
|
raise TecplotSystemError()
|
|
410
416
|
if dataset.num_zones == nzones:
|
|
411
417
|
raise TecplotLogicError('No zones found when extracting slice')
|
|
418
|
+
zone_type = Resulting1DZoneType(resulting_1d_zone_type)
|
|
419
|
+
arglist[sv.RESULTING1DZONETYPE] = zone_type
|
|
412
420
|
|
|
413
421
|
if (
|
|
414
422
|
mode == ExtractMode.SingleZone and
|
tecplot/data/load.py
CHANGED
|
@@ -60,8 +60,32 @@ def _tecplot_loader_load_data(arglist,
|
|
|
60
60
|
|
|
61
61
|
return frame.dataset
|
|
62
62
|
|
|
63
|
+
#
|
|
64
|
+
# This is used by load_tecplot and then only one V3 laoder (load_tecplot_szl)
|
|
65
|
+
# We could extend this to be used by other V3 loaders as well. Keep in mind,
|
|
66
|
+
# for V3 loaders, this is only used when appending and some V3 loader may have
|
|
67
|
+
# their own instruction for how to treat variables for a single load instruction.
|
|
68
|
+
#
|
|
69
|
+
def _set_var_load_instructions(variables, arglist, allocd):
|
|
70
|
+
# default var load mode is ByName
|
|
71
|
+
if variables is None:
|
|
72
|
+
arglist[sv.VARLOADMODE] = VarLoadMode.ByName
|
|
73
|
+
else:
|
|
74
|
+
if isinstance(variables[0], int):
|
|
75
|
+
arglist[sv.VARLOADMODE] = VarLoadMode.ByPosition
|
|
76
|
+
varset = IndexSet(*variables)
|
|
77
|
+
allocd.append(varset)
|
|
78
|
+
arglist[sv.VARPOSITIONLIST] = varset
|
|
79
|
+
elif isinstance(variables[0], str):
|
|
80
|
+
arglist[sv.VARLOADMODE] = VarLoadMode.ByName
|
|
81
|
+
var_string_list = StringList(*variables)
|
|
82
|
+
allocd.append(var_string_list)
|
|
83
|
+
arglist[sv.VARNAMELIST] = var_string_list
|
|
84
|
+
else:
|
|
85
|
+
err = 'unknown type for variables: {}'
|
|
86
|
+
raise TecplotTypeError(err.format(type(variables)))
|
|
63
87
|
|
|
64
|
-
def
|
|
88
|
+
def _append_filelist(instr, cmd, *filenames):
|
|
65
89
|
instr.extend([cmd, sum(map(len, filenames))])
|
|
66
90
|
for flist in filenames:
|
|
67
91
|
instr.extend(flist)
|
|
@@ -144,7 +168,7 @@ def load_converge_hdf5(filenames,
|
|
|
144
168
|
with tecutil.StringList('STANDARDSYNTAX', '1.0') as instr:
|
|
145
169
|
with tecutil.ArgList() as arglist:
|
|
146
170
|
arglist[sv.DATASETREADER] = 'CONVERGE HDF5 File Loader'
|
|
147
|
-
|
|
171
|
+
_append_filelist(instr, 'FILELIST_DATAFILES', filenames)
|
|
148
172
|
arglist[sv.FILENAMESORINSTRUCTIONS] = instr
|
|
149
173
|
return _tecplot_loader_load_data(
|
|
150
174
|
arglist, frame=frame, read_data_option=read_data_option,
|
|
@@ -212,7 +236,7 @@ def load_converge_output(filenames,
|
|
|
212
236
|
with StringList('STANDARDSYNTAX', '1.0') as instr:
|
|
213
237
|
with tecutil.ArgList() as arglist:
|
|
214
238
|
arglist[sv.DATASETREADER] = 'CONVERGE Output File Loader'
|
|
215
|
-
|
|
239
|
+
_append_filelist(instr, 'FILELIST', filenames)
|
|
216
240
|
arglist[sv.FILENAMESORINSTRUCTIONS] = instr
|
|
217
241
|
return _tecplot_loader_load_data(
|
|
218
242
|
arglist, frame=frame, read_data_option=read_data_option,
|
|
@@ -277,7 +301,7 @@ def load_converge_cgns(filenames,
|
|
|
277
301
|
with StringList('STANDARDSYNTAX', '1.0') as instr:
|
|
278
302
|
with tecutil.ArgList() as arglist:
|
|
279
303
|
arglist[sv.DATASETREADER] = 'CONVERGE CGNS File Loader'
|
|
280
|
-
|
|
304
|
+
_append_filelist(instr, 'FILELIST_DATAFILES', filenames)
|
|
281
305
|
arglist[sv.FILENAMESORINSTRUCTIONS] = instr
|
|
282
306
|
return _tecplot_loader_load_data(
|
|
283
307
|
arglist, frame=frame, read_data_option=read_data_option,
|
|
@@ -354,7 +378,7 @@ def load_fvcom(filenames,
|
|
|
354
378
|
with StringList('STANDARDSYNTAX', '1.0') as instr:
|
|
355
379
|
with tecutil.ArgList() as arglist:
|
|
356
380
|
arglist[sv.DATASETREADER] = 'FVCOM netCDF Loader'
|
|
357
|
-
|
|
381
|
+
_append_filelist(instr, 'FILELIST_DATAFILES', filenames)
|
|
358
382
|
arglist[sv.FILENAMESORINSTRUCTIONS] = instr
|
|
359
383
|
return _tecplot_loader_load_data(
|
|
360
384
|
arglist, frame=frame, read_data_option=read_data_option,
|
|
@@ -501,7 +525,7 @@ def load_cgns(filenames,
|
|
|
501
525
|
# although this setting is not exposed in the API.
|
|
502
526
|
instr += ['CgnsLibraryVersion', '3.1.4']
|
|
503
527
|
|
|
504
|
-
|
|
528
|
+
_append_filelist(instr, 'FILELIST_CGNSFILES', filenames)
|
|
505
529
|
|
|
506
530
|
if zones is not None:
|
|
507
531
|
indexes = [str(int(z)) for z in zones]
|
|
@@ -695,10 +719,10 @@ def load_fluent(case_filenames=None,
|
|
|
695
719
|
if case_filenames is not None:
|
|
696
720
|
instr += ['LoadOption', 'MultipleCaseAndData']
|
|
697
721
|
if data_filenames is not None:
|
|
698
|
-
|
|
722
|
+
_append_filelist(instr, 'FILELIST_Files', case_filenames,
|
|
699
723
|
data_filenames)
|
|
700
724
|
else:
|
|
701
|
-
|
|
725
|
+
_append_filelist(instr, 'FILELIST_Files', case_filenames)
|
|
702
726
|
else:
|
|
703
727
|
assert len(data_filenames) == 1
|
|
704
728
|
instr += ['LoadOption', 'ResidualsOnly']
|
|
@@ -864,7 +888,7 @@ def load_fluent_cff(filenames,
|
|
|
864
888
|
with tecutil.StringList('STANDARDSYNTAX', '1.0') as instr:
|
|
865
889
|
with tecutil.ArgList() as arglist:
|
|
866
890
|
arglist[sv.DATASETREADER] = 'Fluent Common Fluid Files Loader'
|
|
867
|
-
|
|
891
|
+
_append_filelist(instr, 'FILELIST_DATAFILES', filenames)
|
|
868
892
|
arglist[sv.FILENAMESORINSTRUCTIONS] = instr
|
|
869
893
|
if solution_time_source is not None:
|
|
870
894
|
instr += ['SolutionTimeSource',
|
|
@@ -958,7 +982,7 @@ def load_telemac(filenames=None,
|
|
|
958
982
|
|
|
959
983
|
if filenames is not None:
|
|
960
984
|
filenames = tecutil.normalize_filenames(filenames)
|
|
961
|
-
|
|
985
|
+
_append_filelist(instr, 'FILELIST_TELEMAC', filenames)
|
|
962
986
|
|
|
963
987
|
if boundary_filename is not None:
|
|
964
988
|
instr += ['FILENAME_BOUNDARY',
|
|
@@ -1129,11 +1153,11 @@ def load_plot3d(grid_filenames=None,
|
|
|
1129
1153
|
instr += ['Append', 'No']
|
|
1130
1154
|
|
|
1131
1155
|
if grid_filenames is not None:
|
|
1132
|
-
|
|
1156
|
+
_append_filelist(instr, 'FILELIST_GRIDFILES', grid_filenames)
|
|
1133
1157
|
if solution_filenames is not None:
|
|
1134
|
-
|
|
1158
|
+
_append_filelist(instr, 'FILELIST_SOLUTIONFILES', solution_filenames)
|
|
1135
1159
|
if function_filenames is not None:
|
|
1136
|
-
|
|
1160
|
+
_append_filelist(instr, 'FILELIST_FUNCTIONFILES', function_filenames)
|
|
1137
1161
|
if name_filename is not None:
|
|
1138
1162
|
instr += ['FILENAME_NAMEFILE',
|
|
1139
1163
|
tecutil.normalize_path(name_filename)]
|
|
@@ -1396,7 +1420,7 @@ def load_kiva(filenames,
|
|
|
1396
1420
|
with StringList('STANDARDSYNTAX', '1.0') as instr:
|
|
1397
1421
|
with tecutil.ArgList() as arglist:
|
|
1398
1422
|
arglist[sv.DATASETREADER] = 'Kiva Loader'
|
|
1399
|
-
|
|
1423
|
+
_append_filelist(instr, 'FILELIST_DataFiles', filenames)
|
|
1400
1424
|
instr += ['ISDOUBLE', 'YES' if is_double else 'No']
|
|
1401
1425
|
instr += ['LOADPARTICLEDATA', 'YES' if load_particle_data else 'No']
|
|
1402
1426
|
instr += ['VELVECTOR', str(velocity_vector)]
|
|
@@ -1716,7 +1740,7 @@ def load_vtk(filenames,
|
|
|
1716
1740
|
with StringList('STANDARDSYNTAX', '1.0') as instr:
|
|
1717
1741
|
with tecutil.ArgList() as arglist:
|
|
1718
1742
|
arglist[sv.DATASETREADER] = 'VTK Data Loader'
|
|
1719
|
-
|
|
1743
|
+
_append_filelist(instr, 'FILELIST_DATAFILES', filenames)
|
|
1720
1744
|
instr += ['SOLUTIONTIMESOURCE',
|
|
1721
1745
|
VTKLoader.SolutionTimeSource(solution_time_source).value]
|
|
1722
1746
|
arglist[sv.FILENAMESORINSTRUCTIONS] = instr
|
|
@@ -1797,7 +1821,11 @@ def load_tecplot(filenames,
|
|
|
1797
1821
|
<data_access>` to load. Use `None` to load all zones. (default:
|
|
1798
1822
|
`None`)
|
|
1799
1823
|
variables (`set` of `strings <str>` or `integers <int>`, optional):
|
|
1800
|
-
Set of `Variables <Variable>` to load.
|
|
1824
|
+
Set of `Variables <Variable>` to load. If variable names are
|
|
1825
|
+
specified as strings and appending then variables will be aligned
|
|
1826
|
+
with existing variables. If variable offsets are supplied then
|
|
1827
|
+
the variables at those offsets will be loaded and aligned based
|
|
1828
|
+
on the value of the collapse parameter. Use `None` to load all
|
|
1801
1829
|
variables. (default: `None`)
|
|
1802
1830
|
|
|
1803
1831
|
collapse (`bool`, optional): Reindex `Zones <data_access>` and
|
|
@@ -1866,23 +1894,8 @@ def load_tecplot(filenames,
|
|
|
1866
1894
|
allocd.append(zoneset)
|
|
1867
1895
|
arglist[sv.ZONELIST] = zoneset
|
|
1868
1896
|
|
|
1869
|
-
|
|
1870
|
-
arglist[sv.VARLOADMODE] = VarLoadMode.ByName
|
|
1897
|
+
_set_var_load_instructions(variables, arglist, allocd)
|
|
1871
1898
|
|
|
1872
|
-
else:
|
|
1873
|
-
if isinstance(variables[0], int):
|
|
1874
|
-
arglist[sv.VARLOADMODE] = VarLoadMode.ByPosition
|
|
1875
|
-
varset = IndexSet(*variables)
|
|
1876
|
-
allocd.append(varset)
|
|
1877
|
-
arglist[sv.VARPOSITIONLIST] = varset
|
|
1878
|
-
elif isinstance(variables[0], str):
|
|
1879
|
-
arglist[sv.VARLOADMODE] = VarLoadMode.ByName
|
|
1880
|
-
var_string_list = StringList(*variables)
|
|
1881
|
-
allocd.append(var_string_list)
|
|
1882
|
-
arglist[sv.VARNAMELIST] = var_string_list
|
|
1883
|
-
else:
|
|
1884
|
-
err = 'unknown type for variables: {}'
|
|
1885
|
-
raise TecplotTypeError(err.format(type(variables)))
|
|
1886
1899
|
if skip is not None:
|
|
1887
1900
|
i, j, k = skip
|
|
1888
1901
|
arglist[sv.ISKIP] = i
|
|
@@ -1911,6 +1924,8 @@ def load_tecplot_szl(filenames,
|
|
|
1911
1924
|
reset_style=None,
|
|
1912
1925
|
initial_plot_first_zone_only=None,
|
|
1913
1926
|
initial_plot_type=None,
|
|
1927
|
+
|
|
1928
|
+
|
|
1914
1929
|
assign_strand_ids=True,
|
|
1915
1930
|
add_zones_to_existing_strands=None,
|
|
1916
1931
|
|
|
@@ -1920,6 +1935,32 @@ def load_tecplot_szl(filenames,
|
|
|
1920
1935
|
authentication_method=None,
|
|
1921
1936
|
ssh_private_keyfile=pathlib.Path('~/.ssh/id_rsa'),
|
|
1922
1937
|
szlserver_path=None):
|
|
1938
|
+
|
|
1939
|
+
#
|
|
1940
|
+
# Possible Future Enhancement.
|
|
1941
|
+
# As it stands the szl loader is hardcoded to load variables by name when
|
|
1942
|
+
# appending to an existing dataset. If we want the szl loader to behave
|
|
1943
|
+
# similar to the internal tecplot loader then we need to add the ability
|
|
1944
|
+
# to specify a "variables" like paramter (but should not be named
|
|
1945
|
+
# "variables" because of conflicts with other V3 loaders that already use
|
|
1946
|
+
# that for their primary load instructions.
|
|
1947
|
+
# This will apply ONLY to the VarNameList and VarPositionList for the
|
|
1948
|
+
# $!READDATASET command (i.e. only applied to appending for V3 Loaders)
|
|
1949
|
+
#
|
|
1950
|
+
# Proposed is to add:
|
|
1951
|
+
#
|
|
1952
|
+
# appending_variables=None,
|
|
1953
|
+
#
|
|
1954
|
+
# Documentation then will include:
|
|
1955
|
+
#
|
|
1956
|
+
# appending_variables (`set` of `strings <str>` or `integers <int>`, optional):
|
|
1957
|
+
# Set of `Variables <Variable>` to load. If variable names are
|
|
1958
|
+
# specified as strings and **read_data_option** is set to
|
|
1959
|
+
# `ReadDataOption.Append` then variables will be aligned with
|
|
1960
|
+
# existing variables. If variable offsets are supplied then
|
|
1961
|
+
# the variables at those offsets will be loaded.
|
|
1962
|
+
# Use `None` to load all variables. (default: `None`)
|
|
1963
|
+
|
|
1923
1964
|
"""Read tecplot SZL data file.
|
|
1924
1965
|
|
|
1925
1966
|
Parameters:
|
|
@@ -1940,6 +1981,9 @@ def load_tecplot_szl(filenames,
|
|
|
1940
1981
|
use the old one.
|
|
1941
1982
|
* `ReadDataOption.Append`
|
|
1942
1983
|
Append to the existing `Dataset <tecplot.data.Dataset>`.
|
|
1984
|
+
Note also that when appending, the variables in the incoming dataset
|
|
1985
|
+
will be matched up with the existing variables by name and any new
|
|
1986
|
+
variables will be added to the end of the list.
|
|
1943
1987
|
* `ReadDataOption.Replace`
|
|
1944
1988
|
Replace the `Dataset <tecplot.data.Dataset>` attached to the active
|
|
1945
1989
|
frame and to all other frames that use the same `Dataset
|
|
@@ -2085,14 +2129,29 @@ def load_tecplot_szl(filenames,
|
|
|
2085
2129
|
|
|
2086
2130
|
if szlserver_path is not None:
|
|
2087
2131
|
instr += ['Server Executable Path', str(szlserver_path)]
|
|
2088
|
-
|
|
2132
|
+
_append_filelist(instr, 'FILELIST_DATAFILES', filenames)
|
|
2133
|
+
|
|
2134
|
+
allocd = []
|
|
2135
|
+
|
|
2136
|
+
# Var load mode and variables options are ONLY used when appending
|
|
2137
|
+
# with V3 Loaders (unlike the native tecplot loader)
|
|
2138
|
+
# For now this is hard coded to None thus making the szl loader hard
|
|
2139
|
+
# coded to load by name and consider all variables.
|
|
2140
|
+
#
|
|
2141
|
+
appending_variables = None
|
|
2142
|
+
if read_data_option is ReadDataOption.Append:
|
|
2143
|
+
_set_var_load_instructions(appending_variables, arglist, allocd)
|
|
2089
2144
|
|
|
2090
2145
|
with tecutil.StringList(*instr) as instr:
|
|
2091
2146
|
arglist[sv.FILENAMESORINSTRUCTIONS] = instr
|
|
2092
|
-
|
|
2093
|
-
|
|
2094
|
-
|
|
2095
|
-
|
|
2096
|
-
|
|
2097
|
-
|
|
2098
|
-
|
|
2147
|
+
try:
|
|
2148
|
+
return _tecplot_loader_load_data(
|
|
2149
|
+
arglist, frame=frame, read_data_option=read_data_option,
|
|
2150
|
+
reset_style=reset_style,
|
|
2151
|
+
initial_plot_first_zone_only=initial_plot_first_zone_only,
|
|
2152
|
+
initial_plot_type=initial_plot_type,
|
|
2153
|
+
assign_strand_ids=assign_strand_ids,
|
|
2154
|
+
add_zones_to_existing_strands=add_zones_to_existing_strands)
|
|
2155
|
+
finally:
|
|
2156
|
+
for a in allocd:
|
|
2157
|
+
a.dealloc()
|
tecplot/data/save.py
CHANGED
|
@@ -93,7 +93,7 @@ def save_tecplot_ascii(filename, frame=None, dataset=None, zones=None,
|
|
|
93
93
|
and write the variable and connectivity linkage wherever
|
|
94
94
|
possible. If `False`, this will write out all data, losing the
|
|
95
95
|
connectivity sharing linkage for future dataset reads of the
|
|
96
|
-
file. (default: `
|
|
96
|
+
file. (default: `False`)
|
|
97
97
|
include_autogen_face_neighbors (`bool`, optional): Save the
|
|
98
98
|
face neighbor connectivity. This may produce very large data
|
|
99
99
|
files. (default: `False`)
|
tecplot/legend/contour_legend.py
CHANGED
|
@@ -115,7 +115,7 @@ class LegendHeader(session.Style):
|
|
|
115
115
|
|
|
116
116
|
@property
|
|
117
117
|
def text_type(self):
|
|
118
|
-
"""`TextType`: Typesetter for the contour legend header.
|
|
118
|
+
r"""`TextType`: Typesetter for the contour legend header.
|
|
119
119
|
|
|
120
120
|
This determines how the header text for the contour legend
|
|
121
121
|
is rendered. Options are `TextType.Regular` or `TextType.LaTeX`.
|
tecplot/plot/blanking.py
CHANGED
|
@@ -556,7 +556,7 @@ class IJKBlanking(session.Style):
|
|
|
556
556
|
"""`tuple`: Minimum :math:`(i, j, k)` values in percent.
|
|
557
557
|
|
|
558
558
|
The percentage is of the total range of the dataset in each dimension.
|
|
559
|
-
This example sets the minimum to 50
|
|
559
|
+
This example sets the minimum to 50% in each of the :math:`(i, j, k)`
|
|
560
560
|
dimensions::
|
|
561
561
|
|
|
562
562
|
>>> plot.ijk_blanking.min_percent = (50, 50, 50)
|
|
@@ -572,7 +572,7 @@ class IJKBlanking(session.Style):
|
|
|
572
572
|
"""`tuple`: Maximum :math:`(i, j, k)` values in percent.
|
|
573
573
|
|
|
574
574
|
The percentage is of the total range of the dataset in each dimension.
|
|
575
|
-
This example sets the maximum to 90
|
|
575
|
+
This example sets the maximum to 90% in each of the :math:`(i, j, k)`
|
|
576
576
|
dimensions::
|
|
577
577
|
|
|
578
578
|
>>> plot.ijk_blanking.max_percent = (90, 90, 90)
|
tecplot/plot/linemap.py
CHANGED
|
@@ -228,7 +228,7 @@ class LinemapCurve(session.SubStyle):
|
|
|
228
228
|
|
|
229
229
|
@property
|
|
230
230
|
def curve_type(self):
|
|
231
|
-
"""`CurveType`: Type of curve to draw or fit.
|
|
231
|
+
r"""`CurveType`: Type of curve to draw or fit.
|
|
232
232
|
|
|
233
233
|
Possible values: `LineSeg`, `PolynomialFit`, `EToRFit`, `PowerFit`,
|
|
234
234
|
`Spline`, `ParaSpline`.
|
|
@@ -1324,7 +1324,7 @@ class LinemapCollection(session.Style):
|
|
|
1324
1324
|
|
|
1325
1325
|
@property
|
|
1326
1326
|
def zone(self):
|
|
1327
|
-
"""`tuple` of `Zones <data_access>`: `Zones <data_access>` of this
|
|
1327
|
+
"""`tuple` of `Zones <data_access>`: `Zones <data_access>` of this linemap collection.
|
|
1328
1328
|
|
|
1329
1329
|
Example usage::
|
|
1330
1330
|
|
tecplot/tecutil/constant.py
CHANGED
tecplot/tecutil/sv.py
CHANGED
tecplot/tecutil/tecutil.py
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#
|
|
2
|
-
# This file was auto-generated on
|
|
2
|
+
# This file was auto-generated on 2024-05-28 by tecgen.
|
|
3
3
|
# IMPORTANT: DO NOT edit this file!
|
|
4
4
|
#
|
|
5
5
|
import sys
|
|
@@ -473,12 +473,18 @@ class TecUtil(object):
|
|
|
473
473
|
self.handle.tecUtilBlankingCheckDataPoint.restype = c_bool
|
|
474
474
|
except AttributeError:
|
|
475
475
|
error_list.append('TecUtilBlankingCheckDataPoint')
|
|
476
|
-
# TP_QUERY Boolean_t TecUtilBlankingCheckFECell(EntIndex_t
|
|
476
|
+
# TP_QUERY Boolean_t TecUtilBlankingCheckFECell(EntIndex_t zone, LgIndex_t cellIndex)
|
|
477
477
|
try:
|
|
478
478
|
self.handle.tecUtilBlankingCheckFECell.argtypes = [c_int32, c_int64]
|
|
479
479
|
self.handle.tecUtilBlankingCheckFECell.restype = c_bool
|
|
480
480
|
except AttributeError:
|
|
481
481
|
error_list.append('TecUtilBlankingCheckFECell')
|
|
482
|
+
# TP_QUERY Boolean_t TecUtilBlankingCheckFEElem(EntIndex_t zone, EntIndex_t section, LgIndex_t cellIndex)
|
|
483
|
+
try:
|
|
484
|
+
self.handle.tecUtilBlankingCheckFEElem.argtypes = [c_int32, c_int32, c_int64]
|
|
485
|
+
self.handle.tecUtilBlankingCheckFEElem.restype = c_bool
|
|
486
|
+
except AttributeError:
|
|
487
|
+
error_list.append('TecUtilBlankingCheckFEElem')
|
|
482
488
|
# TP_QUERY Boolean_t TecUtilBlankingCheckIJKCell(EntIndex_t Zone, IJKPlanes_e ZonePlane, LgIndex_t CellIndex)
|
|
483
489
|
try:
|
|
484
490
|
self.handle.tecUtilBlankingCheckIJKCell.argtypes = [c_int32, c_int, c_int64]
|
|
@@ -3043,11 +3049,6 @@ class TecUtil(object):
|
|
|
3043
3049
|
self.handle.tecUtilInverseDistInterpolation.restype = c_bool
|
|
3044
3050
|
except AttributeError:
|
|
3045
3051
|
error_list.append('TecUtilInverseDistInterpolation')
|
|
3046
|
-
# TP_QUERY Boolean_t TecUtilIsBusy()
|
|
3047
|
-
try:
|
|
3048
|
-
self.handle.tecUtilIsBusy.restype = c_bool
|
|
3049
|
-
except AttributeError:
|
|
3050
|
-
error_list.append('TecUtilIsBusy')
|
|
3051
3052
|
# Boolean_t TecUtilKrig(Set_pa SourceZones, EntIndex_t DestZone, Set_pa VarList, double KrigRange, double KrigZeroValue, Drift_e KrigDrift, PtSelection_e InterpPtSelection, LgIndex_t InterpNPoints)
|
|
3052
3053
|
try:
|
|
3053
3054
|
self.handle.tecUtilKrig.argtypes = [c_void_p, c_int32, c_void_p, c_double, c_double, c_int, c_int, c_int64]
|
|
@@ -3064,18 +3065,6 @@ class TecUtil(object):
|
|
|
3064
3065
|
self.handle.tecUtilLastErrorMessageType.restype = c_int
|
|
3065
3066
|
except AttributeError:
|
|
3066
3067
|
error_list.append('TecUtilLastErrorMessageType')
|
|
3067
|
-
# int32_t TecUtilLicenseCheckOut(char const * Feature)
|
|
3068
|
-
try:
|
|
3069
|
-
self.handle.tecUtilLicenseCheckOut.argtypes = [c_char_p]
|
|
3070
|
-
self.handle.tecUtilLicenseCheckOut.restype = c_int32
|
|
3071
|
-
except AttributeError:
|
|
3072
|
-
error_list.append('TecUtilLicenseCheckOut')
|
|
3073
|
-
# int32_t TecUtilLicenseGetInfo(char const * Feature, TP_GIVES char * * VendorData, TP_OUT time_t * ExpirationDate)
|
|
3074
|
-
try:
|
|
3075
|
-
self.handle.tecUtilLicenseGetInfo.argtypes = [c_char_p, POINTER(c_char_p), POINTER(c_int64)]
|
|
3076
|
-
self.handle.tecUtilLicenseGetInfo.restype = c_int32
|
|
3077
|
-
except AttributeError:
|
|
3078
|
-
error_list.append('TecUtilLicenseGetInfo')
|
|
3079
3068
|
# LgIndex_t TecUtilLimitGetValue(char const * LimitString)
|
|
3080
3069
|
try:
|
|
3081
3070
|
self.handle.tecUtilLimitGetValue.argtypes = [c_char_p]
|
|
@@ -6156,12 +6145,18 @@ class TecUtil(object):
|
|
|
6156
6145
|
result = self.handle.tecUtilBlankingCheckDataPoint(zone, point_index)
|
|
6157
6146
|
return result
|
|
6158
6147
|
|
|
6159
|
-
# Boolean_t TecUtilBlankingCheckFECell(EntIndex_t
|
|
6148
|
+
# Boolean_t TecUtilBlankingCheckFECell(EntIndex_t zone, LgIndex_t cellIndex)
|
|
6160
6149
|
@tecutil_preamble
|
|
6161
6150
|
def BlankingCheckFECell(self, zone, cell_index):
|
|
6162
6151
|
result = self.handle.tecUtilBlankingCheckFECell(zone, cell_index)
|
|
6163
6152
|
return result
|
|
6164
6153
|
|
|
6154
|
+
# Boolean_t TecUtilBlankingCheckFEElem(EntIndex_t zone, EntIndex_t section, LgIndex_t cellIndex)
|
|
6155
|
+
@tecutil_preamble
|
|
6156
|
+
def BlankingCheckFEElem(self, zone, section, cell_index):
|
|
6157
|
+
result = self.handle.tecUtilBlankingCheckFEElem(zone, section, cell_index)
|
|
6158
|
+
return result
|
|
6159
|
+
|
|
6165
6160
|
# Boolean_t TecUtilBlankingCheckIJKCell(EntIndex_t Zone, IJKPlanes_e ZonePlane, LgIndex_t CellIndex)
|
|
6166
6161
|
@tecutil_preamble
|
|
6167
6162
|
def BlankingCheckIJKCell(self, zone, zone_plane, cell_index):
|
|
@@ -8153,11 +8148,6 @@ class TecUtil(object):
|
|
|
8153
8148
|
self.handle.tecUtilStringDealloc(byref(temp_file_name_out))
|
|
8154
8149
|
return result, temp_file_name_out_value
|
|
8155
8150
|
|
|
8156
|
-
# void TecUtilFinishInteractiveViewChange()
|
|
8157
|
-
@tecutil_preamble
|
|
8158
|
-
def FinishInteractiveViewChange(self):
|
|
8159
|
-
self.handle.tecUtilFinishInteractiveViewChange()
|
|
8160
|
-
|
|
8161
8151
|
# Boolean_t TecUtilFormatTimeDateString(double inputDate, char const * formattingMask, TP_GIVES char * * formattedValue)
|
|
8162
8152
|
@tecutil_preamble
|
|
8163
8153
|
def FormatTimeDateString(self, input_date, formatting_mask):
|
|
@@ -9258,12 +9248,6 @@ class TecUtil(object):
|
|
|
9258
9248
|
result = self.handle.tecUtilInverseDistInterpolation(source_zones, dest_zone, var_list, inv_dist_exponent, inv_dist_min_radius, interp_pt_selection, interp_n_points)
|
|
9259
9249
|
return result
|
|
9260
9250
|
|
|
9261
|
-
# Boolean_t TecUtilIsBusy()
|
|
9262
|
-
@tecutil_preamble
|
|
9263
|
-
def IsBusy(self):
|
|
9264
|
-
result = self.handle.tecUtilIsBusy()
|
|
9265
|
-
return result
|
|
9266
|
-
|
|
9267
9251
|
# Boolean_t TecUtilKrig(Set_pa SourceZones, EntIndex_t DestZone, Set_pa VarList, double KrigRange, double KrigZeroValue, Drift_e KrigDrift, PtSelection_e InterpPtSelection, LgIndex_t InterpNPoints)
|
|
9268
9252
|
@tecutil_preamble
|
|
9269
9253
|
def Krig(self, source_zones, dest_zone, var_list, krig_range, krig_zero_value, krig_drift, interp_pt_selection, interp_n_points):
|
|
@@ -9289,24 +9273,6 @@ class TecUtil(object):
|
|
|
9289
9273
|
result = self.handle.tecUtilLastErrorMessageType()
|
|
9290
9274
|
return MessageBoxType(result)
|
|
9291
9275
|
|
|
9292
|
-
# int32_t TecUtilLicenseCheckOut(char const * Feature)
|
|
9293
|
-
@tecutil_preamble
|
|
9294
|
-
def LicenseCheckOut(self, feature):
|
|
9295
|
-
feature_proxy = feature.encode('utf-8') if feature is not None else feature
|
|
9296
|
-
result = self.handle.tecUtilLicenseCheckOut(feature_proxy)
|
|
9297
|
-
return result
|
|
9298
|
-
|
|
9299
|
-
# int32_t TecUtilLicenseGetInfo(char const * Feature, TP_GIVES char * * VendorData, TP_OUT time_t * ExpirationDate)
|
|
9300
|
-
@tecutil_preamble
|
|
9301
|
-
def LicenseGetInfo(self, feature):
|
|
9302
|
-
feature_proxy = feature.encode('utf-8') if feature is not None else feature
|
|
9303
|
-
vendor_data_out = c_char_p()
|
|
9304
|
-
expiration_date_out = c_int64()
|
|
9305
|
-
result = self.handle.tecUtilLicenseGetInfo(feature_proxy, byref(vendor_data_out), byref(expiration_date_out))
|
|
9306
|
-
vendor_data_out_value = None if vendor_data_out.value is None else vendor_data_out.value.decode('utf-8')
|
|
9307
|
-
self.handle.tecUtilStringDealloc(byref(vendor_data_out))
|
|
9308
|
-
return result, vendor_data_out_value, expiration_date_out.value
|
|
9309
|
-
|
|
9310
9276
|
# LgIndex_t TecUtilLimitGetValue(char const * LimitString)
|
|
9311
9277
|
@tecutil_preamble
|
|
9312
9278
|
def LimitGetValue(self, limit_string):
|
|
@@ -10511,11 +10477,6 @@ class TecUtil(object):
|
|
|
10511
10477
|
result = self.handle.tecUtilSolutionTimeSetToleranceFactor(dataset_id, tolerance_factor)
|
|
10512
10478
|
return result
|
|
10513
10479
|
|
|
10514
|
-
# void TecUtilStartInteractiveViewChange()
|
|
10515
|
-
@tecutil_preamble
|
|
10516
|
-
def StartInteractiveViewChange(self):
|
|
10517
|
-
self.handle.tecUtilStartInteractiveViewChange()
|
|
10518
|
-
|
|
10519
10480
|
# Boolean_t TecUtilStateChangeGetArbEnum(TP_OUT int32_t * ArbEnum)
|
|
10520
10481
|
@tecutil_preamble
|
|
10521
10482
|
def StateChangeGetArbEnum(self):
|
|
@@ -69,10 +69,6 @@ class TecUtilConnector(object):
|
|
|
69
69
|
Message = namedtuple('Message', ['level', 'message'])
|
|
70
70
|
|
|
71
71
|
def __init__(self):
|
|
72
|
-
if __debug__:
|
|
73
|
-
# ensure log messages get out to console
|
|
74
|
-
logging.basicConfig()
|
|
75
|
-
|
|
76
72
|
self.handle = None
|
|
77
73
|
self.tecutil_handle = None
|
|
78
74
|
self.libbatch_path = None
|
|
@@ -341,46 +337,35 @@ class TecUtilConnector(object):
|
|
|
341
337
|
'{}:{}'.format(fname, exc_tb.tb_lineno)]]
|
|
342
338
|
cdllexcept[libinterproc] = '\n'.join(info)
|
|
343
339
|
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
found. This is usually the result of not setting the environment
|
|
347
|
-
path LD_LIBRARY_PATH to the directory containing the tecplot
|
|
348
|
-
executables.
|
|
349
|
-
|
|
350
|
-
LD_LIBRARY_PATH={libpath}
|
|
340
|
+
errmsg = dedent('''\
|
|
341
|
+
Failed to load Tecplot 360 libraries.
|
|
351
342
|
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
''').format(libpath=os.environ.get('LD_LIBRARY_PATH', None),
|
|
355
|
-
libnames='\n '.join(libnames))
|
|
343
|
+
Try running python using the tec360-env script:
|
|
344
|
+
/tecplot360/bin/tec360-env [options] -- python [options]''')
|
|
356
345
|
|
|
357
346
|
self.libbatch_path = _find_library([libbatch])
|
|
358
347
|
if self.libbatch_path is None:
|
|
359
|
-
|
|
348
|
+
log.error(dedent(f'''\
|
|
349
|
+
Failed to load Tecplot 360 libraries: {" ".join(libnames)}
|
|
350
|
+
Search path:
|
|
351
|
+
LD_LIBRARY_PATH={os.environ.get('LD_LIBRARY_PATH', "")}
|
|
352
|
+
This is usually the result of an incorrect environment setup.
|
|
353
|
+
See the documentation here:
|
|
354
|
+
www.tecplot.com/docs/pytecplot'''))
|
|
355
|
+
raise TecplotLibraryNotFoundError(errmsg)
|
|
360
356
|
|
|
361
|
-
|
|
362
|
-
Found batch library file:
|
|
363
|
-
{foundlib}
|
|
364
|
-
|
|
365
|
-
Your Tecplot 360 EX may be out of date. Please install the latest
|
|
366
|
-
version of 360 EX which can be obtained here:
|
|
367
|
-
https://www.tecplot.com/downloads
|
|
368
|
-
''').format(foundlib=self.libbatch_path)
|
|
357
|
+
log.error(f'Found batch library file: {self.libbatch_path}')
|
|
369
358
|
|
|
370
359
|
missinglibs = _missinglibs(self.libbatch_path)
|
|
371
360
|
if len(missinglibs):
|
|
372
|
-
|
|
373
|
-
Missing libraries:
|
|
374
|
-
{missinglibs}
|
|
375
|
-
''').format(missinglibs='\n '.join(missinglibs))
|
|
361
|
+
log.error('Missing libraries' + '\n '.join(missinglibs))
|
|
376
362
|
|
|
377
363
|
lib = path.basename(self.libbatch_path)
|
|
378
|
-
|
|
379
|
-
Python ctypes exception caught while trying to load library:
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
raise TecplotLibraryNotLoadedError(msg)
|
|
364
|
+
log.error(
|
|
365
|
+
'Python ctypes exception caught while trying to load library:'
|
|
366
|
+
+ '\n '.join(cdllexcept[lib].split('\n'))
|
|
367
|
+
)
|
|
368
|
+
raise TecplotLibraryNotLoadedError(errmsg)
|
|
384
369
|
|
|
385
370
|
def load_darwin(self):
|
|
386
371
|
|
|
@@ -445,45 +430,39 @@ class TecUtilConnector(object):
|
|
|
445
430
|
'{}:{}'.format(fname, exc_tb.tb_lineno)]]
|
|
446
431
|
cdllexcept[libinterproc] = '\n'.join(info)
|
|
447
432
|
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
433
|
+
log.error(dedent(f'''\
|
|
434
|
+
Failed to load Tecplot 360 libraries: {" ".join(libnames)}
|
|
435
|
+
Search path:
|
|
436
|
+
DYLD_LIBRARY_PATH={os.environ.get('DYLD_LIBRARY_PATH', "")}
|
|
437
|
+
This is usually the result of an incorrect environment setup.
|
|
438
|
+
See the documentation here:
|
|
439
|
+
www.tecplot.com/docs/pytecplot'''))
|
|
440
|
+
errmsg = dedent('''\
|
|
441
|
+
Failed to load Tecplot 360 libraries.
|
|
453
442
|
|
|
454
|
-
|
|
443
|
+
Try running python using the tec360-env script included in the
|
|
444
|
+
Tecplot 360 bin folder:
|
|
445
|
+
"/Applications/Tecplot 360 EX [VERSION]/bin/tec360-env" -- python [options]
|
|
455
446
|
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
''').format(libpath=os.environ.get('DYLD_LIBRARY_PATH', None),
|
|
459
|
-
libnames='\n '.join(libnames))
|
|
447
|
+
On Apple Silicon machines, an Intel version of Python is required:
|
|
448
|
+
"/Applications/Tecplot 360 EX [VERSION]/bin/tec360-env" -- python3-intel64 [options]''')
|
|
460
449
|
|
|
461
450
|
if self.libbatch_path is None:
|
|
462
|
-
raise TecplotLibraryNotFoundError(
|
|
463
|
-
|
|
464
|
-
msg += dedent('''
|
|
465
|
-
Found batch library file:
|
|
466
|
-
{foundlib}
|
|
451
|
+
raise TecplotLibraryNotFoundError(errmsg)
|
|
467
452
|
|
|
468
|
-
|
|
469
|
-
version of 360 EX which can be obtained here:
|
|
470
|
-
https://www.tecplot.com/downloads
|
|
471
|
-
''').format(foundlib=self.libbatch_path)
|
|
453
|
+
log.dedent(f'Found batch library file: {self.libbatch_path}')
|
|
472
454
|
|
|
473
455
|
missinglibs = _missinglibs(self.libbatch_path)
|
|
474
456
|
if len(missinglibs):
|
|
475
|
-
|
|
476
|
-
Missing libraries:
|
|
477
|
-
{missinglibs}
|
|
478
|
-
''').format(missinglibs='\n '.join(missinglibs))
|
|
457
|
+
log.error('Missing libraries:\n' + '\n '.join(missinglibs))
|
|
479
458
|
|
|
480
459
|
lib = path.basename(self.libbatch_path)
|
|
481
|
-
|
|
482
|
-
Python ctypes exception caught while trying to load library
|
|
483
|
-
|
|
484
|
-
|
|
460
|
+
log.error(
|
|
461
|
+
'Python ctypes exception caught while trying to load library:\n'
|
|
462
|
+
+ '\n '.join(cdllexcept[lib].split('\n'))
|
|
463
|
+
)
|
|
485
464
|
|
|
486
|
-
raise TecplotLibraryNotLoadedError(
|
|
465
|
+
raise TecplotLibraryNotLoadedError(errmsg)
|
|
487
466
|
|
|
488
467
|
def load_windows(self):
|
|
489
468
|
|
|
@@ -547,24 +526,14 @@ class TecUtilConnector(object):
|
|
|
547
526
|
else:
|
|
548
527
|
cdllexcept.append(msg)
|
|
549
528
|
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
found. This is usually the result of not setting the environment
|
|
553
|
-
path PATH to the directory containing the tecplot executables.
|
|
554
|
-
Alternatively, your Tecplot 360 EX may be out of date. Please
|
|
555
|
-
install the latest version of 360 EX which can be obtained here:
|
|
556
|
-
https://www.tecplot.com/downloads
|
|
557
|
-
|
|
529
|
+
log.error(dedent(f'''\
|
|
530
|
+
Failed to load Tecplot 360 libraries.
|
|
558
531
|
Batch library file names:
|
|
559
532
|
tecutilbatch.dll
|
|
560
533
|
tecutilchecked.dll
|
|
561
|
-
|
|
562
|
-
PATH={libpath}
|
|
563
|
-
|
|
534
|
+
PATH={os.environ.get('PATH', "")}
|
|
564
535
|
Found batch library file:
|
|
565
|
-
{
|
|
566
|
-
''').format(libpath=os.environ.get('PATH', None),
|
|
567
|
-
foundlib=self.libbatch_path)
|
|
536
|
+
{self.libbatch_path}'''))
|
|
568
537
|
|
|
569
538
|
if cdllexcept:
|
|
570
539
|
info = '\n '.join(cdllexcept[0].split('\n'))
|
|
@@ -572,15 +541,26 @@ class TecUtilConnector(object):
|
|
|
572
541
|
if 'Error 127' in info:
|
|
573
542
|
info += ('\n***NOTE: If your script uses PyQt, ' +
|
|
574
543
|
'you must import tecplot before importing PyQt.\n')
|
|
575
|
-
|
|
576
|
-
Python ctypes exception caught while trying to load library
|
|
577
|
-
|
|
578
|
-
|
|
544
|
+
log.error(
|
|
545
|
+
'Python ctypes exception caught while trying to load library:\n '
|
|
546
|
+
+ info
|
|
547
|
+
)
|
|
579
548
|
|
|
580
|
-
|
|
581
|
-
|
|
549
|
+
errmsg = dedent('''\
|
|
550
|
+
Failed to load Tecplot 360 libraries.
|
|
582
551
|
|
|
583
|
-
|
|
552
|
+
The Tecplot batch library or one of its dependencies could not be
|
|
553
|
+
found. This is usually the result of not setting the environment
|
|
554
|
+
variable PATH to the directory containing the tecplot executables.
|
|
555
|
+
See the documentation here:
|
|
556
|
+
www.tecplot.com/docs/pytecplot
|
|
557
|
+
|
|
558
|
+
Your Tecplot 360 may be out of date. Please install the latest
|
|
559
|
+
version of Tecplot 360 which can be obtained on the MyTecplot portal:
|
|
560
|
+
my.tecplot.com''')
|
|
561
|
+
if self.libbatch_path is None:
|
|
562
|
+
raise TecplotLibraryNotFoundError(errmsg)
|
|
563
|
+
raise TecplotLibraryNotLoadedError(errmsg)
|
|
584
564
|
|
|
585
565
|
def start(self):
|
|
586
566
|
if self.started:
|
tecplot/tecutil/tecutil_rpc.py
CHANGED
|
@@ -576,6 +576,13 @@ class TecUtilRPC(object):
|
|
|
576
576
|
rep=self.sndrcv("BlankingCheckFECell",*args)
|
|
577
577
|
self.chk(rep)
|
|
578
578
|
return rep.args[0].boolean
|
|
579
|
+
def BlankingCheckFEElem(self,zone,section,cell_index):
|
|
580
|
+
args=((ValueType.Scalar,c_int32,zone),
|
|
581
|
+
(ValueType.Scalar,c_int32,section),
|
|
582
|
+
(ValueType.Scalar,c_int64,cell_index),)
|
|
583
|
+
rep=self.sndrcv("BlankingCheckFEElem",*args)
|
|
584
|
+
self.chk(rep)
|
|
585
|
+
return rep.args[0].boolean
|
|
579
586
|
def BlankingCheckIJKCell(self,zone,zone_plane,cell_index):
|
|
580
587
|
args=((ValueType.Scalar,c_int32,zone),
|
|
581
588
|
(ValueType.Scalar,c_int32,IJKPlanes(zone_plane).value),
|
|
@@ -3123,15 +3130,6 @@ class TecUtilRPC(object):
|
|
|
3123
3130
|
rep=self.sndrcv("GeomImageGetFileName",*args)
|
|
3124
3131
|
self.chk(rep)
|
|
3125
3132
|
return self.read_text(rep.args[0])
|
|
3126
|
-
def GeomImageGetImage(self,gid):
|
|
3127
|
-
args=((ValueType.Scalar,c_int64,gid),)
|
|
3128
|
-
rep=self.sndrcv("GeomImageGetImage",*args)
|
|
3129
|
-
self.chk(rep)
|
|
3130
|
-
return (
|
|
3131
|
-
(rep.status == tecrpc.Reply.Success),
|
|
3132
|
-
rep.args[0].int32,
|
|
3133
|
-
rep.args[1].int32,
|
|
3134
|
-
self.read_array(rep.args[2], c_uint8))
|
|
3135
3133
|
def GeomImageGetRawSize(self,gid):
|
|
3136
3134
|
args=((ValueType.Scalar,c_int64,gid),)
|
|
3137
3135
|
rep=self.sndrcv("GeomImageGetRawSize",*args)
|
|
@@ -3379,15 +3377,6 @@ class TecUtilRPC(object):
|
|
|
3379
3377
|
def ImageBitmapDestroy(self):
|
|
3380
3378
|
rep=self.sndrcv("ImageBitmapDestroy")
|
|
3381
3379
|
self.chk(rep)
|
|
3382
|
-
def ImageGetColorTable(self,red_array,green_array,blue_array):
|
|
3383
|
-
args=((ValueType.Array,None,red_array),
|
|
3384
|
-
(ValueType.Array,None,green_array),
|
|
3385
|
-
(ValueType.Array,None,blue_array),)
|
|
3386
|
-
rep=self.sndrcv("ImageGetColorTable",*args)
|
|
3387
|
-
self.chk(rep)
|
|
3388
|
-
memmove(red_array, rep.args[0].buffer, sizeof(red_array))
|
|
3389
|
-
memmove(green_array, rep.args[1].buffer, sizeof(green_array))
|
|
3390
|
-
memmove(blue_array, rep.args[2].buffer, sizeof(blue_array))
|
|
3391
3380
|
def ImageGetDimensions(self):
|
|
3392
3381
|
rep=self.sndrcv("ImageGetDimensions")
|
|
3393
3382
|
self.chk(rep)
|
|
@@ -3395,38 +3384,11 @@ class TecUtilRPC(object):
|
|
|
3395
3384
|
(rep.status == tecrpc.Reply.Success),
|
|
3396
3385
|
rep.args[0].int32,
|
|
3397
3386
|
rep.args[1].int32)
|
|
3398
|
-
def ImageIndexedBitmapCreate(self,region,red_color_table_array,green_color_table_array,blue_color_table_array):
|
|
3399
|
-
args=((ValueType.Scalar,c_int32,ExportRegion(region).value),
|
|
3400
|
-
(ValueType.Array,None,red_color_table_array),
|
|
3401
|
-
(ValueType.Array,None,green_color_table_array),
|
|
3402
|
-
(ValueType.Array,None,blue_color_table_array),)
|
|
3403
|
-
rep=self.sndrcv("ImageIndexedBitmapCreate",*args)
|
|
3404
|
-
self.chk(rep)
|
|
3405
|
-
memmove(red_color_table_array, rep.args[0].buffer, sizeof(red_color_table_array))
|
|
3406
|
-
memmove(green_color_table_array, rep.args[1].buffer, sizeof(green_color_table_array))
|
|
3407
|
-
memmove(blue_color_table_array, rep.args[2].buffer, sizeof(blue_color_table_array))
|
|
3408
|
-
return (rep.status == tecrpc.Reply.Success)
|
|
3409
|
-
def ImageIndexedGetScanLine(self,scan_line,rgb_index_array):
|
|
3410
|
-
args=((ValueType.Scalar,c_int32,scan_line),
|
|
3411
|
-
(ValueType.Array,None,rgb_index_array),)
|
|
3412
|
-
rep=self.sndrcv("ImageIndexedGetScanLine",*args)
|
|
3413
|
-
self.chk(rep)
|
|
3414
|
-
memmove(rgb_index_array, rep.args[0].buffer, sizeof(rgb_index_array))
|
|
3415
3387
|
def ImageRGBBitmapCreate(self,region):
|
|
3416
3388
|
args=((ValueType.Scalar,c_int32,ExportRegion(region).value),)
|
|
3417
3389
|
rep=self.sndrcv("ImageRGBBitmapCreate",*args)
|
|
3418
3390
|
self.chk(rep)
|
|
3419
3391
|
return (rep.status == tecrpc.Reply.Success)
|
|
3420
|
-
def ImageRGBGetScanLine(self,scan_line,red_array,green_array,blue_array):
|
|
3421
|
-
args=((ValueType.Scalar,c_int32,scan_line),
|
|
3422
|
-
(ValueType.Array,None,red_array),
|
|
3423
|
-
(ValueType.Array,None,green_array),
|
|
3424
|
-
(ValueType.Array,None,blue_array),)
|
|
3425
|
-
rep=self.sndrcv("ImageRGBGetScanLine",*args)
|
|
3426
|
-
self.chk(rep)
|
|
3427
|
-
memmove(red_array, rep.args[0].buffer, sizeof(red_array))
|
|
3428
|
-
memmove(green_array, rep.args[1].buffer, sizeof(green_array))
|
|
3429
|
-
memmove(blue_array, rep.args[2].buffer, sizeof(blue_array))
|
|
3430
3392
|
def ImportAddConverter(self,converter_callback,converter_name,f_name_extension):
|
|
3431
3393
|
args=((ValueType.Address,c_uint64,getattr(converter_callback,'value',converter_callback)),
|
|
3432
3394
|
(ValueType.Text,None,converter_name),
|
|
@@ -4484,6 +4446,12 @@ class TecUtilRPC(object):
|
|
|
4484
4446
|
rep=self.sndrcv("ProbeFieldGetReadableNativeRef",*args)
|
|
4485
4447
|
self.chk(rep)
|
|
4486
4448
|
return rep.args[0].uint64
|
|
4449
|
+
def ProbeFieldGetSectionAndElem(self):
|
|
4450
|
+
rep=self.sndrcv("ProbeFieldGetSectionAndElem")
|
|
4451
|
+
self.chk(rep)
|
|
4452
|
+
return (
|
|
4453
|
+
rep.args[0].int32,
|
|
4454
|
+
rep.args[1].int64)
|
|
4487
4455
|
def ProbeFieldGetValue(self,var):
|
|
4488
4456
|
args=((ValueType.Scalar,c_int32,var),)
|
|
4489
4457
|
rep=self.sndrcv("ProbeFieldGetValue",*args)
|
tecplot/version.py
CHANGED
|
@@ -33,8 +33,8 @@ from .tecutil import _tecutil_connector
|
|
|
33
33
|
|
|
34
34
|
Version = collections.namedtuple('V', ['major', 'minor', 'patch', 'build'])
|
|
35
35
|
|
|
36
|
-
version = '1.6.
|
|
37
|
-
build = '
|
|
36
|
+
version = '1.6.2'
|
|
37
|
+
build = 'd8ad3e0'
|
|
38
38
|
version_info = Version(*[int(x) for x in version.split('.')], build=build or 0)
|
|
39
39
|
|
|
40
40
|
sdk_version_info = _tecutil_connector.sdk_version_info
|
|
File without changes
|