dimine-python-sdk 0.1.8__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 (135) hide show
  1. dimine_python_sdk/__init__.py +13 -0
  2. dimine_python_sdk/conn/__init__.py +5 -0
  3. dimine_python_sdk/conn/base_conn_client.py +167 -0
  4. dimine_python_sdk/conn/conn_client.py +382 -0
  5. dimine_python_sdk/docs/guides/data_edit.md +306 -0
  6. dimine_python_sdk/docs/guides/data_get.md +266 -0
  7. dimine_python_sdk/docs/guides/data_types.md +152 -0
  8. dimine_python_sdk/docs/guides/features.md +271 -0
  9. dimine_python_sdk/docs/guides/io.md +157 -0
  10. dimine_python_sdk/docs/index.md +41 -0
  11. dimine_python_sdk/docs/quickstart.md +45 -0
  12. dimine_python_sdk/docs/reference/SUMMARY.md +19 -0
  13. dimine_python_sdk/docs/reference/conn/base_conn_client.md +3 -0
  14. dimine_python_sdk/docs/reference/conn/conn_client.md +3 -0
  15. dimine_python_sdk/docs/reference/lib/algorithm/model_func.md +3 -0
  16. dimine_python_sdk/docs/reference/lib/io/file_conversion.md +3 -0
  17. dimine_python_sdk/docs/reference/lib/io/models.md +3 -0
  18. dimine_python_sdk/docs/reference/lib/io/project_plotting.md +3 -0
  19. dimine_python_sdk/docs/reference/lib/prospecting/block_data.md +3 -0
  20. dimine_python_sdk/docs/reference/lib/prospecting/drill_db.md +3 -0
  21. dimine_python_sdk/docs/reference/lib/prospecting/models.md +3 -0
  22. dimine_python_sdk/docs/reference/lib/prospecting/valuation.md +3 -0
  23. dimine_python_sdk/docs/reference/lib/types/entity.md +3 -0
  24. dimine_python_sdk/docs/reference/lib/types/line.md +3 -0
  25. dimine_python_sdk/docs/reference/lib/types/point.md +3 -0
  26. dimine_python_sdk/docs/reference/logger.md +3 -0
  27. dimine_python_sdk/docs/reference/models/conn.md +3 -0
  28. dimine_python_sdk/docs/reference/models/errors.md +3 -0
  29. dimine_python_sdk/docs/reference/models/types.md +3 -0
  30. dimine_python_sdk/docs/summary.md +6 -0
  31. dimine_python_sdk/lib/__init__.py +20 -0
  32. dimine_python_sdk/lib/algorithm/__init__.py +1 -0
  33. dimine_python_sdk/lib/algorithm/model_func.py +219 -0
  34. dimine_python_sdk/lib/exploitation/__init__.py +0 -0
  35. dimine_python_sdk/lib/io/__init__.py +2 -0
  36. dimine_python_sdk/lib/io/file_conversion.py +143 -0
  37. dimine_python_sdk/lib/io/models.py +180 -0
  38. dimine_python_sdk/lib/io/project_plotting.py +40 -0
  39. dimine_python_sdk/lib/prospecting/__init__.py +3 -0
  40. dimine_python_sdk/lib/prospecting/block_data.py +289 -0
  41. dimine_python_sdk/lib/prospecting/drill_db.py +333 -0
  42. dimine_python_sdk/lib/prospecting/models.py +276 -0
  43. dimine_python_sdk/lib/prospecting/valuation.py +113 -0
  44. dimine_python_sdk/lib/types/__init__.py +4 -0
  45. dimine_python_sdk/lib/types/entity.py +957 -0
  46. dimine_python_sdk/lib/types/line.py +188 -0
  47. dimine_python_sdk/lib/types/point.py +695 -0
  48. dimine_python_sdk/logger.py +7 -0
  49. dimine_python_sdk/models/__init__.py +3 -0
  50. dimine_python_sdk/models/conn.py +53 -0
  51. dimine_python_sdk/models/errors.py +4 -0
  52. dimine_python_sdk/models/types.py +131 -0
  53. dimine_python_sdk/site/404.html +671 -0
  54. dimine_python_sdk/site/assets/_mkdocstrings.css +237 -0
  55. dimine_python_sdk/site/assets/images/favicon.png +0 -0
  56. dimine_python_sdk/site/assets/javascripts/bundle.79ae519e.min.js +16 -0
  57. dimine_python_sdk/site/assets/javascripts/bundle.79ae519e.min.js.map +7 -0
  58. dimine_python_sdk/site/assets/javascripts/lunr/min/lunr.ar.min.js +1 -0
  59. dimine_python_sdk/site/assets/javascripts/lunr/min/lunr.da.min.js +18 -0
  60. dimine_python_sdk/site/assets/javascripts/lunr/min/lunr.de.min.js +18 -0
  61. dimine_python_sdk/site/assets/javascripts/lunr/min/lunr.du.min.js +18 -0
  62. dimine_python_sdk/site/assets/javascripts/lunr/min/lunr.el.min.js +1 -0
  63. dimine_python_sdk/site/assets/javascripts/lunr/min/lunr.es.min.js +18 -0
  64. dimine_python_sdk/site/assets/javascripts/lunr/min/lunr.fi.min.js +18 -0
  65. dimine_python_sdk/site/assets/javascripts/lunr/min/lunr.fr.min.js +18 -0
  66. dimine_python_sdk/site/assets/javascripts/lunr/min/lunr.he.min.js +1 -0
  67. dimine_python_sdk/site/assets/javascripts/lunr/min/lunr.hi.min.js +1 -0
  68. dimine_python_sdk/site/assets/javascripts/lunr/min/lunr.hu.min.js +18 -0
  69. dimine_python_sdk/site/assets/javascripts/lunr/min/lunr.hy.min.js +1 -0
  70. dimine_python_sdk/site/assets/javascripts/lunr/min/lunr.it.min.js +18 -0
  71. dimine_python_sdk/site/assets/javascripts/lunr/min/lunr.ja.min.js +1 -0
  72. dimine_python_sdk/site/assets/javascripts/lunr/min/lunr.jp.min.js +1 -0
  73. dimine_python_sdk/site/assets/javascripts/lunr/min/lunr.kn.min.js +1 -0
  74. dimine_python_sdk/site/assets/javascripts/lunr/min/lunr.ko.min.js +1 -0
  75. dimine_python_sdk/site/assets/javascripts/lunr/min/lunr.multi.min.js +1 -0
  76. dimine_python_sdk/site/assets/javascripts/lunr/min/lunr.nl.min.js +18 -0
  77. dimine_python_sdk/site/assets/javascripts/lunr/min/lunr.no.min.js +18 -0
  78. dimine_python_sdk/site/assets/javascripts/lunr/min/lunr.pt.min.js +18 -0
  79. dimine_python_sdk/site/assets/javascripts/lunr/min/lunr.ro.min.js +18 -0
  80. dimine_python_sdk/site/assets/javascripts/lunr/min/lunr.ru.min.js +18 -0
  81. dimine_python_sdk/site/assets/javascripts/lunr/min/lunr.sa.min.js +1 -0
  82. dimine_python_sdk/site/assets/javascripts/lunr/min/lunr.stemmer.support.min.js +1 -0
  83. dimine_python_sdk/site/assets/javascripts/lunr/min/lunr.sv.min.js +18 -0
  84. dimine_python_sdk/site/assets/javascripts/lunr/min/lunr.ta.min.js +1 -0
  85. dimine_python_sdk/site/assets/javascripts/lunr/min/lunr.te.min.js +1 -0
  86. dimine_python_sdk/site/assets/javascripts/lunr/min/lunr.th.min.js +1 -0
  87. dimine_python_sdk/site/assets/javascripts/lunr/min/lunr.tr.min.js +18 -0
  88. dimine_python_sdk/site/assets/javascripts/lunr/min/lunr.vi.min.js +1 -0
  89. dimine_python_sdk/site/assets/javascripts/lunr/min/lunr.zh.min.js +1 -0
  90. dimine_python_sdk/site/assets/javascripts/lunr/tinyseg.js +206 -0
  91. dimine_python_sdk/site/assets/javascripts/lunr/wordcut.js +6708 -0
  92. dimine_python_sdk/site/assets/javascripts/workers/search.2c215733.min.js +42 -0
  93. dimine_python_sdk/site/assets/javascripts/workers/search.2c215733.min.js.map +7 -0
  94. dimine_python_sdk/site/assets/stylesheets/main.484c7ddc.min.css +1 -0
  95. dimine_python_sdk/site/assets/stylesheets/main.484c7ddc.min.css.map +1 -0
  96. dimine_python_sdk/site/assets/stylesheets/palette.ab4e12ef.min.css +1 -0
  97. dimine_python_sdk/site/assets/stylesheets/palette.ab4e12ef.min.css.map +1 -0
  98. dimine_python_sdk/site/guides/data_edit.html +1251 -0
  99. dimine_python_sdk/site/guides/data_get.html +1206 -0
  100. dimine_python_sdk/site/guides/data_types.html +1529 -0
  101. dimine_python_sdk/site/guides/features.html +1217 -0
  102. dimine_python_sdk/site/guides/io.html +1025 -0
  103. dimine_python_sdk/site/index.html +849 -0
  104. dimine_python_sdk/site/objects.inv +0 -0
  105. dimine_python_sdk/site/quickstart.html +859 -0
  106. dimine_python_sdk/site/reference/SUMMARY.html +729 -0
  107. dimine_python_sdk/site/reference/conn/base_conn_client.html +1295 -0
  108. dimine_python_sdk/site/reference/conn/conn_client.html +3551 -0
  109. dimine_python_sdk/site/reference/lib/algorithm/model_func.html +2162 -0
  110. dimine_python_sdk/site/reference/lib/io/file_conversion.html +1725 -0
  111. dimine_python_sdk/site/reference/lib/io/models.html +1625 -0
  112. dimine_python_sdk/site/reference/lib/io/project_plotting.html +984 -0
  113. dimine_python_sdk/site/reference/lib/prospecting/block_data.html +2455 -0
  114. dimine_python_sdk/site/reference/lib/prospecting/drill_db.html +2836 -0
  115. dimine_python_sdk/site/reference/lib/prospecting/models.html +2309 -0
  116. dimine_python_sdk/site/reference/lib/prospecting/valuation.html +1373 -0
  117. dimine_python_sdk/site/reference/lib/types/entity.html +6728 -0
  118. dimine_python_sdk/site/reference/lib/types/line.html +1985 -0
  119. dimine_python_sdk/site/reference/lib/types/point.html +3672 -0
  120. dimine_python_sdk/site/reference/logger.html +751 -0
  121. dimine_python_sdk/site/reference/models/conn.html +751 -0
  122. dimine_python_sdk/site/reference/models/errors.html +802 -0
  123. dimine_python_sdk/site/reference/models/types.html +1679 -0
  124. dimine_python_sdk/site/search/search_index.json +1 -0
  125. dimine_python_sdk/site/sitemap.xml +107 -0
  126. dimine_python_sdk/site/sitemap.xml.gz +0 -0
  127. dimine_python_sdk/site/summary.html +697 -0
  128. dimine_python_sdk-0.1.8.dist-info/METADATA +15 -0
  129. dimine_python_sdk-0.1.8.dist-info/RECORD +135 -0
  130. dimine_python_sdk-0.1.8.dist-info/WHEEL +5 -0
  131. dimine_python_sdk-0.1.8.dist-info/top_level.txt +2 -0
  132. tests/conn_test.py +250 -0
  133. tests/test_base_type.py +143 -0
  134. tests/ws_client.py +60 -0
  135. tests/ws_server.py +271 -0
@@ -0,0 +1,1217 @@
1
+
2
+ <!doctype html>
3
+ <html lang="en" class="no-js">
4
+ <head>
5
+
6
+ <meta charset="utf-8">
7
+ <meta name="viewport" content="width=device-width,initial-scale=1">
8
+
9
+
10
+
11
+ <link rel="canonical" href="https://localhost:8000/docs/guides/features.html">
12
+
13
+
14
+ <link rel="prev" href="data_types.html">
15
+
16
+
17
+ <link rel="next" href="io.html">
18
+
19
+
20
+
21
+
22
+
23
+ <link rel="icon" href="../assets/images/favicon.png">
24
+ <meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.7.4">
25
+
26
+
27
+
28
+ <title>要素管理 - dimine-python-sdk</title>
29
+
30
+
31
+
32
+ <link rel="stylesheet" href="../assets/stylesheets/main.484c7ddc.min.css">
33
+
34
+
35
+
36
+
37
+
38
+
39
+
40
+
41
+
42
+
43
+
44
+
45
+ <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
46
+ <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback">
47
+ <style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style>
48
+
49
+
50
+
51
+ <link rel="stylesheet" href="../assets/_mkdocstrings.css">
52
+
53
+ <script>__md_scope=new URL("..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
54
+
55
+
56
+
57
+
58
+
59
+ </head>
60
+
61
+
62
+ <body dir="ltr">
63
+
64
+
65
+ <input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="__drawer" autocomplete="off">
66
+ <input class="md-toggle" data-md-toggle="search" type="checkbox" id="__search" autocomplete="off">
67
+ <label class="md-overlay" for="__drawer"></label>
68
+ <div data-md-component="skip">
69
+
70
+
71
+ <a href="#_1" class="md-skip">
72
+ Skip to content
73
+ </a>
74
+
75
+ </div>
76
+ <div data-md-component="announce">
77
+
78
+ </div>
79
+
80
+
81
+
82
+
83
+ <header class="md-header" data-md-component="header">
84
+ <nav class="md-header__inner md-grid" aria-label="Header">
85
+ <a href="../index.html" title="dimine-python-sdk" class="md-header__button md-logo" aria-label="dimine-python-sdk" data-md-component="logo">
86
+
87
+
88
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg>
89
+
90
+ </a>
91
+ <label class="md-header__button md-icon" for="__drawer">
92
+
93
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z"/></svg>
94
+ </label>
95
+ <div class="md-header__title" data-md-component="header-title">
96
+ <div class="md-header__ellipsis">
97
+ <div class="md-header__topic">
98
+ <span class="md-ellipsis">
99
+ dimine-python-sdk
100
+ </span>
101
+ </div>
102
+ <div class="md-header__topic" data-md-component="header-topic">
103
+ <span class="md-ellipsis">
104
+
105
+ 要素管理
106
+
107
+ </span>
108
+ </div>
109
+ </div>
110
+ </div>
111
+
112
+
113
+ <script>var palette=__md_get("__palette");if(palette&&palette.color){if("(prefers-color-scheme)"===palette.color.media){var media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']");palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script>
114
+
115
+
116
+
117
+
118
+
119
+ <label class="md-header__button md-icon" for="__search">
120
+
121
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg>
122
+ </label>
123
+ <div class="md-search" data-md-component="search" role="dialog">
124
+ <label class="md-search__overlay" for="__search"></label>
125
+ <div class="md-search__inner" role="search">
126
+ <form class="md-search__form" name="search">
127
+ <input type="text" class="md-search__input" name="query" aria-label="Search" placeholder="Search" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck="false" data-md-component="search-query" required>
128
+ <label class="md-search__icon md-icon" for="__search">
129
+
130
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg>
131
+
132
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z"/></svg>
133
+ </label>
134
+ <nav class="md-search__options" aria-label="Search">
135
+
136
+ <button type="reset" class="md-search__icon md-icon" title="Clear" aria-label="Clear" tabindex="-1">
137
+
138
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"/></svg>
139
+ </button>
140
+ </nav>
141
+
142
+ </form>
143
+ <div class="md-search__output">
144
+ <div class="md-search__scrollwrap" tabindex="0" data-md-scrollfix>
145
+ <div class="md-search-result" data-md-component="search-result">
146
+ <div class="md-search-result__meta">
147
+ Initializing search
148
+ </div>
149
+ <ol class="md-search-result__list" role="presentation"></ol>
150
+ </div>
151
+ </div>
152
+ </div>
153
+ </div>
154
+ </div>
155
+
156
+
157
+
158
+ </nav>
159
+
160
+ </header>
161
+
162
+ <div class="md-container" data-md-component="container">
163
+
164
+
165
+
166
+
167
+
168
+ <nav class="md-tabs" aria-label="Tabs" data-md-component="tabs">
169
+ <div class="md-grid">
170
+ <ul class="md-tabs__list">
171
+
172
+
173
+
174
+
175
+
176
+
177
+ <li class="md-tabs__item">
178
+ <a href="../index.html" class="md-tabs__link">
179
+
180
+
181
+
182
+
183
+
184
+ 首页
185
+
186
+ </a>
187
+ </li>
188
+
189
+
190
+
191
+
192
+
193
+
194
+
195
+
196
+ <li class="md-tabs__item">
197
+ <a href="../quickstart.html" class="md-tabs__link">
198
+
199
+
200
+
201
+
202
+
203
+ 快速开始
204
+
205
+ </a>
206
+ </li>
207
+
208
+
209
+
210
+
211
+
212
+
213
+
214
+
215
+
216
+
217
+
218
+
219
+ <li class="md-tabs__item md-tabs__item--active">
220
+ <a href="data_edit.html" class="md-tabs__link">
221
+
222
+
223
+
224
+ 操作指南
225
+
226
+ </a>
227
+ </li>
228
+
229
+
230
+
231
+
232
+
233
+
234
+
235
+
236
+
237
+ <li class="md-tabs__item">
238
+ <a href="../reference/SUMMARY.html" class="md-tabs__link">
239
+
240
+
241
+
242
+
243
+
244
+ API 参考
245
+
246
+ </a>
247
+ </li>
248
+
249
+
250
+
251
+
252
+
253
+
254
+
255
+
256
+ <li class="md-tabs__item">
257
+ <a href="../examples" class="md-tabs__link">
258
+
259
+
260
+
261
+
262
+
263
+ 示例
264
+
265
+ </a>
266
+ </li>
267
+
268
+
269
+
270
+ </ul>
271
+ </div>
272
+ </nav>
273
+
274
+
275
+
276
+ <main class="md-main" data-md-component="main">
277
+ <div class="md-main__inner md-grid">
278
+
279
+
280
+
281
+ <div class="md-sidebar md-sidebar--primary" data-md-component="sidebar" data-md-type="navigation" >
282
+ <div class="md-sidebar__scrollwrap">
283
+ <div class="md-sidebar__inner">
284
+
285
+
286
+
287
+
288
+
289
+
290
+ <nav class="md-nav md-nav--primary md-nav--lifted" aria-label="Navigation" data-md-level="0">
291
+ <label class="md-nav__title" for="__drawer">
292
+ <a href="../index.html" title="dimine-python-sdk" class="md-nav__button md-logo" aria-label="dimine-python-sdk" data-md-component="logo">
293
+
294
+
295
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg>
296
+
297
+ </a>
298
+ dimine-python-sdk
299
+ </label>
300
+
301
+ <ul class="md-nav__list" data-md-scrollfix>
302
+
303
+
304
+
305
+
306
+
307
+
308
+
309
+ <li class="md-nav__item">
310
+ <a href="../index.html" class="md-nav__link">
311
+
312
+
313
+
314
+ <span class="md-ellipsis">
315
+
316
+
317
+ 首页
318
+
319
+
320
+
321
+ </span>
322
+
323
+
324
+
325
+ </a>
326
+ </li>
327
+
328
+
329
+
330
+
331
+
332
+
333
+
334
+
335
+
336
+ <li class="md-nav__item">
337
+ <a href="../quickstart.html" class="md-nav__link">
338
+
339
+
340
+
341
+ <span class="md-ellipsis">
342
+
343
+
344
+ 快速开始
345
+
346
+
347
+
348
+ </span>
349
+
350
+
351
+
352
+ </a>
353
+ </li>
354
+
355
+
356
+
357
+
358
+
359
+
360
+
361
+
362
+
363
+
364
+
365
+
366
+
367
+
368
+
369
+
370
+
371
+
372
+
373
+
374
+
375
+
376
+
377
+
378
+ <li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested">
379
+
380
+
381
+
382
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3" checked>
383
+
384
+
385
+ <label class="md-nav__link" for="__nav_3" id="__nav_3_label" tabindex="">
386
+
387
+
388
+
389
+ <span class="md-ellipsis">
390
+
391
+
392
+ 操作指南
393
+
394
+
395
+
396
+ </span>
397
+
398
+
399
+
400
+ <span class="md-nav__icon md-icon"></span>
401
+ </label>
402
+
403
+ <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_3_label" aria-expanded="true">
404
+ <label class="md-nav__title" for="__nav_3">
405
+ <span class="md-nav__icon md-icon"></span>
406
+
407
+
408
+ 操作指南
409
+
410
+
411
+ </label>
412
+ <ul class="md-nav__list" data-md-scrollfix>
413
+
414
+
415
+
416
+
417
+
418
+
419
+
420
+ <li class="md-nav__item">
421
+ <a href="data_edit.html" class="md-nav__link">
422
+
423
+
424
+
425
+ <span class="md-ellipsis">
426
+
427
+
428
+ 数据修改
429
+
430
+
431
+
432
+ </span>
433
+
434
+
435
+
436
+ </a>
437
+ </li>
438
+
439
+
440
+
441
+
442
+
443
+
444
+
445
+
446
+
447
+
448
+ <li class="md-nav__item">
449
+ <a href="data_get.html" class="md-nav__link">
450
+
451
+
452
+
453
+ <span class="md-ellipsis">
454
+
455
+
456
+ 数据获取
457
+
458
+
459
+
460
+ </span>
461
+
462
+
463
+
464
+ </a>
465
+ </li>
466
+
467
+
468
+
469
+
470
+
471
+
472
+
473
+
474
+
475
+
476
+ <li class="md-nav__item">
477
+ <a href="data_types.html" class="md-nav__link">
478
+
479
+
480
+
481
+ <span class="md-ellipsis">
482
+
483
+
484
+ 数据类型说明
485
+
486
+
487
+
488
+ </span>
489
+
490
+
491
+
492
+ </a>
493
+ </li>
494
+
495
+
496
+
497
+
498
+
499
+
500
+
501
+
502
+
503
+
504
+
505
+
506
+ <li class="md-nav__item md-nav__item--active">
507
+
508
+ <input class="md-nav__toggle md-toggle" type="checkbox" id="__toc">
509
+
510
+
511
+
512
+
513
+
514
+ <label class="md-nav__link md-nav__link--active" for="__toc">
515
+
516
+
517
+
518
+ <span class="md-ellipsis">
519
+
520
+
521
+ 要素管理
522
+
523
+
524
+
525
+ </span>
526
+
527
+
528
+
529
+ <span class="md-nav__icon md-icon"></span>
530
+ </label>
531
+
532
+ <a href="features.html" class="md-nav__link md-nav__link--active">
533
+
534
+
535
+
536
+ <span class="md-ellipsis">
537
+
538
+
539
+ 要素管理
540
+
541
+
542
+
543
+ </span>
544
+
545
+
546
+
547
+ </a>
548
+
549
+
550
+
551
+ <nav class="md-nav md-nav--secondary" aria-label="Table of contents">
552
+
553
+
554
+
555
+
556
+
557
+
558
+ <label class="md-nav__title" for="__toc">
559
+ <span class="md-nav__icon md-icon"></span>
560
+ Table of contents
561
+ </label>
562
+ <ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
563
+
564
+ <li class="md-nav__item">
565
+ <a href="#1" class="md-nav__link">
566
+ <span class="md-ellipsis">
567
+
568
+ 1. 创建要素
569
+
570
+ </span>
571
+ </a>
572
+
573
+ </li>
574
+
575
+ <li class="md-nav__item">
576
+ <a href="#2" class="md-nav__link">
577
+ <span class="md-ellipsis">
578
+
579
+ 2. 获取要素信息
580
+
581
+ </span>
582
+ </a>
583
+
584
+ </li>
585
+
586
+ <li class="md-nav__item">
587
+ <a href="#3" class="md-nav__link">
588
+ <span class="md-ellipsis">
589
+
590
+ 3. 更新要素
591
+
592
+ </span>
593
+ </a>
594
+
595
+ </li>
596
+
597
+ <li class="md-nav__item">
598
+ <a href="#4" class="md-nav__link">
599
+ <span class="md-ellipsis">
600
+
601
+ 4. 删除要素
602
+
603
+ </span>
604
+ </a>
605
+
606
+ </li>
607
+
608
+ <li class="md-nav__item">
609
+ <a href="#5" class="md-nav__link">
610
+ <span class="md-ellipsis">
611
+
612
+ 5. 要素与几何模型的关系
613
+
614
+ </span>
615
+ </a>
616
+
617
+ </li>
618
+
619
+ <li class="md-nav__item">
620
+ <a href="#6" class="md-nav__link">
621
+ <span class="md-ellipsis">
622
+
623
+ 6. 属性类型说明
624
+
625
+ </span>
626
+ </a>
627
+
628
+ <nav class="md-nav" aria-label="6. 属性类型说明">
629
+ <ul class="md-nav__list">
630
+
631
+ <li class="md-nav__item">
632
+ <a href="#_2" class="md-nav__link">
633
+ <span class="md-ellipsis">
634
+
635
+ 属性使用注意事项
636
+
637
+ </span>
638
+ </a>
639
+
640
+ </li>
641
+
642
+ </ul>
643
+ </nav>
644
+
645
+ </li>
646
+
647
+ <li class="md-nav__item">
648
+ <a href="#7" class="md-nav__link">
649
+ <span class="md-ellipsis">
650
+
651
+ 7. 完整示例:创建和管理要素
652
+
653
+ </span>
654
+ </a>
655
+
656
+ </li>
657
+
658
+ <li class="md-nav__item">
659
+ <a href="#8" class="md-nav__link">
660
+ <span class="md-ellipsis">
661
+
662
+ 8. 最佳实践
663
+
664
+ </span>
665
+ </a>
666
+
667
+ </li>
668
+
669
+ </ul>
670
+
671
+ </nav>
672
+
673
+ </li>
674
+
675
+
676
+
677
+
678
+
679
+
680
+
681
+
682
+
683
+
684
+ <li class="md-nav__item">
685
+ <a href="io.html" class="md-nav__link">
686
+
687
+
688
+
689
+ <span class="md-ellipsis">
690
+
691
+
692
+ IO操作
693
+
694
+
695
+
696
+ </span>
697
+
698
+
699
+
700
+ </a>
701
+ </li>
702
+
703
+
704
+
705
+
706
+ </ul>
707
+ </nav>
708
+
709
+ </li>
710
+
711
+
712
+
713
+
714
+
715
+
716
+
717
+
718
+
719
+ <li class="md-nav__item">
720
+ <a href="../reference/SUMMARY.html" class="md-nav__link">
721
+
722
+
723
+
724
+ <span class="md-ellipsis">
725
+
726
+
727
+ API 参考
728
+
729
+
730
+
731
+ </span>
732
+
733
+
734
+
735
+ </a>
736
+ </li>
737
+
738
+
739
+
740
+
741
+
742
+
743
+
744
+
745
+
746
+ <li class="md-nav__item">
747
+ <a href="../examples" class="md-nav__link">
748
+
749
+
750
+
751
+ <span class="md-ellipsis">
752
+
753
+
754
+ 示例
755
+
756
+
757
+
758
+ </span>
759
+
760
+
761
+
762
+ </a>
763
+ </li>
764
+
765
+
766
+
767
+ </ul>
768
+ </nav>
769
+ </div>
770
+ </div>
771
+ </div>
772
+
773
+
774
+
775
+ <div class="md-sidebar md-sidebar--secondary" data-md-component="sidebar" data-md-type="toc" >
776
+ <div class="md-sidebar__scrollwrap">
777
+ <div class="md-sidebar__inner">
778
+
779
+
780
+ <nav class="md-nav md-nav--secondary" aria-label="Table of contents">
781
+
782
+
783
+
784
+
785
+
786
+
787
+ <label class="md-nav__title" for="__toc">
788
+ <span class="md-nav__icon md-icon"></span>
789
+ Table of contents
790
+ </label>
791
+ <ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
792
+
793
+ <li class="md-nav__item">
794
+ <a href="#1" class="md-nav__link">
795
+ <span class="md-ellipsis">
796
+
797
+ 1. 创建要素
798
+
799
+ </span>
800
+ </a>
801
+
802
+ </li>
803
+
804
+ <li class="md-nav__item">
805
+ <a href="#2" class="md-nav__link">
806
+ <span class="md-ellipsis">
807
+
808
+ 2. 获取要素信息
809
+
810
+ </span>
811
+ </a>
812
+
813
+ </li>
814
+
815
+ <li class="md-nav__item">
816
+ <a href="#3" class="md-nav__link">
817
+ <span class="md-ellipsis">
818
+
819
+ 3. 更新要素
820
+
821
+ </span>
822
+ </a>
823
+
824
+ </li>
825
+
826
+ <li class="md-nav__item">
827
+ <a href="#4" class="md-nav__link">
828
+ <span class="md-ellipsis">
829
+
830
+ 4. 删除要素
831
+
832
+ </span>
833
+ </a>
834
+
835
+ </li>
836
+
837
+ <li class="md-nav__item">
838
+ <a href="#5" class="md-nav__link">
839
+ <span class="md-ellipsis">
840
+
841
+ 5. 要素与几何模型的关系
842
+
843
+ </span>
844
+ </a>
845
+
846
+ </li>
847
+
848
+ <li class="md-nav__item">
849
+ <a href="#6" class="md-nav__link">
850
+ <span class="md-ellipsis">
851
+
852
+ 6. 属性类型说明
853
+
854
+ </span>
855
+ </a>
856
+
857
+ <nav class="md-nav" aria-label="6. 属性类型说明">
858
+ <ul class="md-nav__list">
859
+
860
+ <li class="md-nav__item">
861
+ <a href="#_2" class="md-nav__link">
862
+ <span class="md-ellipsis">
863
+
864
+ 属性使用注意事项
865
+
866
+ </span>
867
+ </a>
868
+
869
+ </li>
870
+
871
+ </ul>
872
+ </nav>
873
+
874
+ </li>
875
+
876
+ <li class="md-nav__item">
877
+ <a href="#7" class="md-nav__link">
878
+ <span class="md-ellipsis">
879
+
880
+ 7. 完整示例:创建和管理要素
881
+
882
+ </span>
883
+ </a>
884
+
885
+ </li>
886
+
887
+ <li class="md-nav__item">
888
+ <a href="#8" class="md-nav__link">
889
+ <span class="md-ellipsis">
890
+
891
+ 8. 最佳实践
892
+
893
+ </span>
894
+ </a>
895
+
896
+ </li>
897
+
898
+ </ul>
899
+
900
+ </nav>
901
+ </div>
902
+ </div>
903
+ </div>
904
+
905
+
906
+
907
+ <div class="md-content" data-md-component="content">
908
+
909
+ <article class="md-content__inner md-typeset">
910
+
911
+
912
+
913
+
914
+
915
+ <h1 id="_1">要素管理</h1>
916
+ <p>要素(Feature)是几何模型的属性集合定义。例如,巷道要素可能包含名称、长度、宽度、高度等属性。通过要素管理系统,可以创建、更新和删除要素定义。</p>
917
+ <h2 id="1">1. 创建要素</h2>
918
+ <p>为文件创建新的要素定义,包含要素名称和属性列表:</p>
919
+ <pre><code class="language-python">import asyncio
920
+ from dimine_python_sdk.conn import open_client
921
+
922
+ async def main():
923
+ async with open_client() as client:
924
+ # 获取文件列表
925
+ files = await client.get_files()
926
+
927
+ # 创建要素定义
928
+ await client.create_feature(
929
+ file_id=files[len(files)-1].id,
930
+ feature_name=&quot;巷道要素&quot;,
931
+ feature_define=[
932
+ {&quot;name&quot;: &quot;名称&quot;, &quot;type&quot;: &quot;string&quot;},
933
+ {&quot;name&quot;: &quot;长度&quot;, &quot;type&quot;: &quot;double&quot;},
934
+ {&quot;name&quot;: &quot;宽度&quot;, &quot;type&quot;: &quot;double&quot;},
935
+ {&quot;name&quot;: &quot;高度&quot;, &quot;type&quot;: &quot;double&quot;},
936
+ {&quot;name&quot;: &quot;材质&quot;, &quot;type&quot;: &quot;string&quot;},
937
+ {&quot;name&quot;: &quot;掘进日期&quot;, &quot;type&quot;: &quot;string&quot;}
938
+ ]
939
+ )
940
+ print(&quot;要素创建成功&quot;)
941
+
942
+ if __name__ == '__main__':
943
+ asyncio.run(main())
944
+ </code></pre>
945
+ <h2 id="2">2. 获取要素信息</h2>
946
+ <p>获取文件中所有要素的定义信息:</p>
947
+ <pre><code class="language-python">import asyncio
948
+ from dimine_python_sdk.conn import open_client
949
+ from dimine_python_sdk.models.types import FeatureInfo, PropertyInfo
950
+
951
+ async def main():
952
+ async with open_client() as client:
953
+ # 获取文件列表
954
+ files = await client.get_files()
955
+ features = await client.get_features(files[0].id)
956
+
957
+ print(f&quot;文件包含 {len(features)} 个要素:&quot;)
958
+ for feature in features:
959
+ print(f&quot;\n要素名称: {feature.name}&quot;)
960
+ print(&quot;属性定义:&quot;)
961
+ for prop in feature.properties:
962
+ print(f&quot; - {prop.name}: {prop.type}&quot;)
963
+
964
+ if __name__ == '__main__':
965
+ asyncio.run(main())
966
+ </code></pre>
967
+ <h2 id="3">3. 更新要素</h2>
968
+ <p>更新已存在的要素定义,可以添加、修改或删除属性:</p>
969
+ <pre><code class="language-python">import asyncio
970
+ from dimine_python_sdk.conn import open_client
971
+
972
+ async def main():
973
+ async with open_client() as client:
974
+ # 获取文件列表
975
+ files = await client.get_files()
976
+
977
+ # 更新要素定义
978
+ await client.update_feature(
979
+ file_id=files[len(files)-1].id,
980
+ feature_name=&quot;巷道要素&quot;,
981
+ feature_define=[
982
+ {&quot;name&quot;: &quot;名称&quot;, &quot;type&quot;: &quot;string&quot;},
983
+ {&quot;name&quot;: &quot;长度&quot;, &quot;type&quot;: &quot;double&quot;},
984
+ {&quot;name&quot;: &quot;宽度&quot;, &quot;type&quot;: &quot;double&quot;},
985
+ {&quot;name&quot;: &quot;高度&quot;, &quot;type&quot;: &quot;double&quot;},
986
+ {&quot;name&quot;: &quot;材质&quot;, &quot;type&quot;: &quot;string&quot;},
987
+ {&quot;name&quot;: &quot;掘进日期&quot;, &quot;type&quot;: &quot;string&quot;},
988
+ {&quot;name&quot;: &quot;支护类型&quot;, &quot;type&quot;: &quot;string&quot;} # 新增属性
989
+ ]
990
+ )
991
+ print(&quot;要素更新成功&quot;)
992
+
993
+ if __name__ == '__main__':
994
+ asyncio.run(main())
995
+ </code></pre>
996
+ <h2 id="4">4. 删除要素</h2>
997
+ <p>删除文件中的指定要素:</p>
998
+ <pre><code class="language-python">import asyncio
999
+ from dimine_python_sdk.conn import open_client
1000
+
1001
+ async def main():
1002
+ async with open_client() as client:
1003
+ # 获取文件列表
1004
+ files = await client.get_files()
1005
+
1006
+ # 删除要素
1007
+ await client.delete_feature(
1008
+ file=files[len(files)-1].id,
1009
+ feature_name=&quot;巷道要素&quot;
1010
+ )
1011
+ print(&quot;要素删除成功&quot;)
1012
+
1013
+ if __name__ == '__main__':
1014
+ asyncio.run(main())
1015
+ </code></pre>
1016
+ <h2 id="5">5. 要素与几何模型的关系</h2>
1017
+ <p>要素定义了几何模型可以拥有的属性。创建几何模型时,需要指定所属的要素:</p>
1018
+ <pre><code class="language-python">import asyncio
1019
+ import numpy as np
1020
+ from dimine_python_sdk.conn import open_client
1021
+ from dimine_python_sdk.models.types import Point, PropertyValue
1022
+
1023
+ async def main():
1024
+ async with open_client() as client:
1025
+ # 获取文件、图层、要素信息
1026
+ files = await client.get_files()
1027
+ layers = await client.get_layers(file_id=files[0].id)
1028
+ features = await client.get_features(files[0].id)
1029
+
1030
+ # 创建带属性的点模型
1031
+ point = Point(
1032
+ file=files[0].id,
1033
+ layer=layers[0].id,
1034
+ feature=features[0].name, # 关联到要素
1035
+ geometry=np.array([100, 200, 300]),
1036
+ properties=[
1037
+ PropertyValue(name=&quot;名称&quot;, value=&quot;钻孔ZK-001&quot;, type=&quot;string&quot;),
1038
+ PropertyValue(name=&quot;高程&quot;, value=&quot;1250.5&quot;, type=&quot;float&quot;),
1039
+ PropertyValue(name=&quot;孔深&quot;, value=&quot;150.0&quot;, type=&quot;float&quot;)
1040
+ ]
1041
+ )
1042
+
1043
+ await client.create_geometry([point])
1044
+ print(&quot;带属性的点模型创建成功&quot;)
1045
+
1046
+ if __name__ == '__main__':
1047
+ asyncio.run(main())
1048
+ </code></pre>
1049
+ <h2 id="6">6. 属性类型说明</h2>
1050
+ <p>要素属性支持以下数据类型:</p>
1051
+ <ul>
1052
+ <li><strong>string</strong>: 字符串类型</li>
1053
+ <li><strong>int</strong>: 整数类型</li>
1054
+ <li><strong>long</strong>: 长整数类型</li>
1055
+ <li><strong>short</strong>: 短整数类型</li>
1056
+ <li><strong>double</strong>: 浮点数类型</li>
1057
+ </ul>
1058
+ <h3 id="_2">属性使用注意事项</h3>
1059
+ <ol>
1060
+ <li><strong>数据类型匹配</strong>: 设置属性值时需要与定义的类型匹配</li>
1061
+ <li><strong>属性名称唯一</strong>: 在同一个要素中,属性名称不能重复</li>
1062
+ <li><strong>字段命名</strong>: 属性名称建议使用中文,便于在Dimine软件中显示</li>
1063
+ </ol>
1064
+ <h2 id="7">7. 完整示例:创建和管理要素</h2>
1065
+ <pre><code class="language-python">import asyncio
1066
+ import numpy as np
1067
+ from dimine_python_sdk.conn import open_client
1068
+ from dimine_python_sdk.models.types import Point, Line, Shell, PropertyValue
1069
+
1070
+ async def main():
1071
+ async with open_client() as client:
1072
+ # 1. 获取文件信息
1073
+ files = await client.get_files()
1074
+ file_id = files[0].id
1075
+ layers = await client.get_layers(file_id=file_id)
1076
+ layer_id = layers[0].id
1077
+
1078
+ # 2. 创建多个要素
1079
+ await client.create_feature(
1080
+ file_id=file_id,
1081
+ feature_name=&quot;勘探孔&quot;,
1082
+ feature_define=[
1083
+ {&quot;name&quot;: &quot;孔号&quot;, &quot;type&quot;: &quot;string&quot;},
1084
+ {&quot;name&quot;: &quot;孔深&quot;, &quot;type&quot;: &quot;double&quot;},
1085
+ {&quot;name&quot;: &quot;倾角&quot;, &quot;type&quot;: &quot;double&quot;},
1086
+ {&quot;name&quot;: &quot;方位角&quot;, &quot;type&quot;: &quot;double&quot;},
1087
+ {&quot;name&quot;: &quot;岩性&quot;, &quot;type&quot;: &quot;string&quot;}
1088
+ ]
1089
+ )
1090
+
1091
+ await client.create_feature(
1092
+ file_id=file_id,
1093
+ feature_name=&quot;测点&quot;,
1094
+ feature_define=[
1095
+ {&quot;name&quot;: &quot;点号&quot;, &quot;type&quot;: &quot;string&quot;},
1096
+ {&quot;name&quot;: &quot;高程&quot;, &quot;type&quot;: &quot;double&quot;},
1097
+ {&quot;name&quot;: &quot;X坐标&quot;, &quot;type&quot;: &quot;double&quot;},
1098
+ {&quot;name&quot;: &quot;Y坐标&quot;, &quot;type&quot;: &quot;double&quot;},
1099
+ {&quot;name&quot;: &quot;Z坐标&quot;, &quot;type&quot;: &quot;double&quot;}
1100
+ ]
1101
+ )
1102
+
1103
+ # 3. 获取要素信息
1104
+ features = await client.get_features(file_id)
1105
+ print(f&quot;创建了 {len(features)} 个要素&quot;)
1106
+
1107
+ # 4. 创建与要素关联的几何模型
1108
+ 勘探孔要素 = None
1109
+ 测点要素 = None
1110
+
1111
+ for feature in features:
1112
+ if feature.name == &quot;勘探孔&quot;:
1113
+ 勘探孔要素 = feature
1114
+ elif feature.name == &quot;测点&quot;:
1115
+ 测点要素 = feature
1116
+
1117
+ # 创建勘探孔模型
1118
+ if 勘探孔要素:
1119
+ drill_hole = Line(
1120
+ file=file_id,
1121
+ layer=layer_id,
1122
+ feature=勘探孔要素.name,
1123
+ geometry=np.array([[0, 0, 0], [100, 50, -150]]),
1124
+ color=[255, 0, 0],
1125
+ properties=[
1126
+ PropertyValue(name=&quot;孔号&quot;, value=&quot;ZK-001&quot;, type=&quot;string&quot;),
1127
+ PropertyValue(name=&quot;孔深&quot;, value=&quot;150.0&quot;, type=&quot;float&quot;),
1128
+ PropertyValue(name=&quot;倾角&quot;, value=&quot;56.3&quot;, type=&quot;float&quot;)
1129
+ ]
1130
+ )
1131
+ await client.create_geometry([drill_hole])
1132
+
1133
+ # 创建测点模型
1134
+ if 测点要素:
1135
+ survey_point = Point(
1136
+ file=file_id,
1137
+ layer=layer_id,
1138
+ feature=测点要素.name,
1139
+ geometry=np.array([50, 25, -75]),
1140
+ color=[0, 255, 0],
1141
+ properties=[
1142
+ PropertyValue(name=&quot;点号&quot;, value=&quot;D-001&quot;, type=&quot;string&quot;),
1143
+ PropertyValue(name=&quot;高程&quot;, value=&quot;1225.0&quot;, type=&quot;float&quot;)
1144
+ ]
1145
+ )
1146
+ await client.create_geometry([survey_point])
1147
+
1148
+ print(&quot;要素和模型创建完成&quot;)
1149
+
1150
+ if __name__ == '__main__':
1151
+ asyncio.run(main())
1152
+ </code></pre>
1153
+ <h2 id="8">8. 最佳实践</h2>
1154
+ <ol>
1155
+ <li><strong>要素规划</strong>: 在创建模型前,先规划好需要的要素类型和属性</li>
1156
+ <li><strong>命名规范</strong>: 使用清晰的要素名称,如"巷道"、"钻孔"、"测点"等</li>
1157
+ <li><strong>属性精简</strong>: 只包含必要的属性,避免过度设计</li>
1158
+ <li><strong>类型选择</strong>: 根据数据特性选择合适的属性类型</li>
1159
+ <li><strong>版本管理</strong>: 如果需要修改要素定义,建议先删除后重建,避免数据不一致</li>
1160
+ </ol>
1161
+
1162
+
1163
+
1164
+
1165
+
1166
+
1167
+
1168
+
1169
+
1170
+
1171
+
1172
+
1173
+
1174
+ </article>
1175
+ </div>
1176
+
1177
+
1178
+ <script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script>
1179
+ </div>
1180
+
1181
+ </main>
1182
+
1183
+ <footer class="md-footer">
1184
+
1185
+ <div class="md-footer-meta md-typeset">
1186
+ <div class="md-footer-meta__inner md-grid">
1187
+ <div class="md-copyright">
1188
+
1189
+
1190
+ Made with
1191
+ <a href="https://squidfunk.github.io/mkdocs-material/" target="_blank" rel="noopener">
1192
+ Material for MkDocs
1193
+ </a>
1194
+
1195
+ </div>
1196
+
1197
+ </div>
1198
+ </div>
1199
+ </footer>
1200
+
1201
+ </div>
1202
+ <div class="md-dialog" data-md-component="dialog">
1203
+ <div class="md-dialog__inner md-typeset"></div>
1204
+ </div>
1205
+
1206
+
1207
+
1208
+
1209
+
1210
+ <script id="__config" type="application/json">{"annotate": null, "base": "..", "features": ["navigation.tabs", "navigation.sections", "content.code.copy", "content.action.edit"], "search": "../assets/javascripts/workers/search.2c215733.min.js", "tags": null, "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": null}</script>
1211
+
1212
+
1213
+ <script src="../assets/javascripts/bundle.79ae519e.min.js"></script>
1214
+
1215
+
1216
+ </body>
1217
+ </html>