resqpy 4.14.2__tar.gz → 4.14.3__tar.gz

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 (199) hide show
  1. {resqpy-4.14.2 → resqpy-4.14.3}/PKG-INFO +1 -1
  2. {resqpy-4.14.2 → resqpy-4.14.3}/pyproject.toml +1 -1
  3. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/__init__.py +1 -1
  4. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/surface/_surface.py +27 -1
  5. {resqpy-4.14.2 → resqpy-4.14.3}/LICENSE +0 -0
  6. {resqpy-4.14.2 → resqpy-4.14.3}/README.md +0 -0
  7. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/crs.py +0 -0
  8. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/derived_model/__init__.py +0 -0
  9. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/derived_model/_add_edges_per_column_property_array.py +0 -0
  10. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/derived_model/_add_faults.py +0 -0
  11. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/derived_model/_add_one_blocked_well_property.py +0 -0
  12. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/derived_model/_add_one_grid_property_array.py +0 -0
  13. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/derived_model/_add_single_cell_grid.py +0 -0
  14. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/derived_model/_add_wells_from_ascii_file.py +0 -0
  15. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/derived_model/_add_zone_by_layer_property.py +0 -0
  16. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/derived_model/_coarsened_grid.py +0 -0
  17. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/derived_model/_common.py +0 -0
  18. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/derived_model/_copy_grid.py +0 -0
  19. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/derived_model/_drape_to_surface.py +0 -0
  20. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/derived_model/_extract_box.py +0 -0
  21. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/derived_model/_extract_box_for_well.py +0 -0
  22. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/derived_model/_fault_throw_scaling.py +0 -0
  23. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/derived_model/_gather_ensemble.py +0 -0
  24. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/derived_model/_interpolated_grid.py +0 -0
  25. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/derived_model/_local_depth_adjustment.py +0 -0
  26. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/derived_model/_refined_grid.py +0 -0
  27. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/derived_model/_tilted_grid.py +0 -0
  28. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/derived_model/_unsplit_grid.py +0 -0
  29. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/derived_model/_zonal_grid.py +0 -0
  30. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/derived_model/_zone_layer_ranges_from_array.py +0 -0
  31. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/fault/__init__.py +0 -0
  32. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/fault/_gcs_functions.py +0 -0
  33. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/fault/_grid_connection_set.py +0 -0
  34. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/grid/__init__.py +0 -0
  35. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/grid/_cell_properties.py +0 -0
  36. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/grid/_connection_sets.py +0 -0
  37. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/grid/_create_grid_xml.py +0 -0
  38. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/grid/_defined_geometry.py +0 -0
  39. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/grid/_extract_functions.py +0 -0
  40. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/grid/_face_functions.py +0 -0
  41. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/grid/_faults.py +0 -0
  42. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/grid/_grid.py +0 -0
  43. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/grid/_grid_types.py +0 -0
  44. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/grid/_intervals_info.py +0 -0
  45. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/grid/_moved_functions.py +0 -0
  46. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/grid/_pillars.py +0 -0
  47. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/grid/_pixel_maps.py +0 -0
  48. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/grid/_points_functions.py +0 -0
  49. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/grid/_regular_grid.py +0 -0
  50. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/grid/_transmissibility.py +0 -0
  51. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/grid/_write_hdf5_from_caches.py +0 -0
  52. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/grid/_write_nexus_corp.py +0 -0
  53. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/grid/_xyz.py +0 -0
  54. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/grid_surface/__init__.py +0 -0
  55. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/grid_surface/_blocked_well_populate.py +0 -0
  56. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/grid_surface/_find_faces.py +0 -0
  57. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/grid_surface/_grid_skin.py +0 -0
  58. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/grid_surface/_grid_surface.py +0 -0
  59. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/grid_surface/_trajectory_intersects.py +0 -0
  60. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/grid_surface/grid_surface_cuda.py +0 -0
  61. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/lines/__init__.py +0 -0
  62. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/lines/_common.py +0 -0
  63. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/lines/_polyline.py +0 -0
  64. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/lines/_polyline_set.py +0 -0
  65. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/model/__init__.py +0 -0
  66. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/model/_catalogue.py +0 -0
  67. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/model/_context.py +0 -0
  68. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/model/_forestry.py +0 -0
  69. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/model/_grids.py +0 -0
  70. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/model/_hdf5.py +0 -0
  71. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/model/_model.py +0 -0
  72. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/model/_xml.py +0 -0
  73. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/multi_processing/__init__.py +0 -0
  74. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/multi_processing/_multiprocessing.py +0 -0
  75. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/multi_processing/wrappers/__init__.py +0 -0
  76. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/multi_processing/wrappers/blocked_well_mp.py +0 -0
  77. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/multi_processing/wrappers/grid_surface_mp.py +0 -0
  78. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/multi_processing/wrappers/mesh_mp.py +0 -0
  79. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/olio/__init__.py +0 -0
  80. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/olio/ab_toolbox.py +0 -0
  81. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/olio/base.py +0 -0
  82. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/olio/box_utilities.py +0 -0
  83. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/olio/class_dict.py +0 -0
  84. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/olio/consolidation.py +0 -0
  85. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/olio/data/build.py +0 -0
  86. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/olio/data/properties.json +0 -0
  87. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/olio/dataframe.py +0 -0
  88. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/olio/exceptions.py +0 -0
  89. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/olio/factors.py +0 -0
  90. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/olio/fine_coarse.py +0 -0
  91. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/olio/grid_functions.py +0 -0
  92. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/olio/intersection.py +0 -0
  93. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/olio/keyword_files.py +0 -0
  94. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/olio/load_data.py +0 -0
  95. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/olio/point_inclusion.py +0 -0
  96. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/olio/random_seed.py +0 -0
  97. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/olio/read_nexus_fault.py +0 -0
  98. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/olio/relperm.py +0 -0
  99. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/olio/simple_lines.py +0 -0
  100. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/olio/time.py +0 -0
  101. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/olio/trademark.py +0 -0
  102. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/olio/transmission.py +0 -0
  103. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/olio/triangulation.py +0 -0
  104. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/olio/uuid.py +0 -0
  105. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/olio/vdb.py +0 -0
  106. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/olio/vector_utilities.py +0 -0
  107. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/olio/volume.py +0 -0
  108. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/olio/wellspec_keywords.py +0 -0
  109. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/olio/write_data.py +0 -0
  110. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/olio/write_hdf5.py +0 -0
  111. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/olio/xml_et.py +0 -0
  112. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/olio/xml_namespaces.py +0 -0
  113. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/olio/zmap_reader.py +0 -0
  114. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/organize/__init__.py +0 -0
  115. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/organize/_utils.py +0 -0
  116. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/organize/boundary_feature.py +0 -0
  117. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/organize/boundary_feature_interpretation.py +0 -0
  118. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/organize/earth_model_interpretation.py +0 -0
  119. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/organize/fault_interpretation.py +0 -0
  120. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/organize/fluid_boundary_feature.py +0 -0
  121. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/organize/frontier_feature.py +0 -0
  122. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/organize/generic_interpretation.py +0 -0
  123. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/organize/genetic_boundary_feature.py +0 -0
  124. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/organize/geobody_boundary_interpretation.py +0 -0
  125. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/organize/geobody_feature.py +0 -0
  126. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/organize/geobody_interpretation.py +0 -0
  127. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/organize/geologic_unit_feature.py +0 -0
  128. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/organize/horizon_interpretation.py +0 -0
  129. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/organize/organization_feature.py +0 -0
  130. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/organize/rock_fluid_unit_feature.py +0 -0
  131. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/organize/structural_organization_interpretation.py +0 -0
  132. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/organize/tectonic_boundary_feature.py +0 -0
  133. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/organize/wellbore_feature.py +0 -0
  134. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/organize/wellbore_interpretation.py +0 -0
  135. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/property/__init__.py +0 -0
  136. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/property/_collection_add_part.py +0 -0
  137. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/property/_collection_create_xml.py +0 -0
  138. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/property/_collection_get_attributes.py +0 -0
  139. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/property/_collection_support.py +0 -0
  140. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/property/_property.py +0 -0
  141. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/property/grid_property_collection.py +0 -0
  142. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/property/property_collection.py +0 -0
  143. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/property/property_common.py +0 -0
  144. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/property/property_kind.py +0 -0
  145. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/property/string_lookup.py +0 -0
  146. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/property/well_interval_property.py +0 -0
  147. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/property/well_interval_property_collection.py +0 -0
  148. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/property/well_log.py +0 -0
  149. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/property/well_log_collection.py +0 -0
  150. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/rq_import/__init__.py +0 -0
  151. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/rq_import/_add_ab_properties.py +0 -0
  152. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/rq_import/_add_surfaces.py +0 -0
  153. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/rq_import/_grid_from_cp.py +0 -0
  154. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/rq_import/_import_nexus.py +0 -0
  155. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/rq_import/_import_vdb_all_grids.py +0 -0
  156. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/rq_import/_import_vdb_ensemble.py +0 -0
  157. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/strata/__init__.py +0 -0
  158. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/strata/_binary_contact_interpretation.py +0 -0
  159. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/strata/_geologic_unit_interpretation.py +0 -0
  160. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/strata/_strata_common.py +0 -0
  161. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/strata/_stratigraphic_column.py +0 -0
  162. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/strata/_stratigraphic_column_rank.py +0 -0
  163. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/strata/_stratigraphic_unit_feature.py +0 -0
  164. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/strata/_stratigraphic_unit_interpretation.py +0 -0
  165. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/surface/__init__.py +0 -0
  166. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/surface/_base_surface.py +0 -0
  167. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/surface/_combined_surface.py +0 -0
  168. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/surface/_mesh.py +0 -0
  169. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/surface/_pointset.py +0 -0
  170. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/surface/_tri_mesh.py +0 -0
  171. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/surface/_tri_mesh_stencil.py +0 -0
  172. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/surface/_triangulated_patch.py +0 -0
  173. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/time_series/__init__.py +0 -0
  174. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/time_series/_any_time_series.py +0 -0
  175. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/time_series/_from_nexus_summary.py +0 -0
  176. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/time_series/_functions.py +0 -0
  177. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/time_series/_geologic_time_series.py +0 -0
  178. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/time_series/_time_duration.py +0 -0
  179. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/time_series/_time_series.py +0 -0
  180. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/unstructured/__init__.py +0 -0
  181. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/unstructured/_hexa_grid.py +0 -0
  182. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/unstructured/_prism_grid.py +0 -0
  183. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/unstructured/_pyramid_grid.py +0 -0
  184. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/unstructured/_tetra_grid.py +0 -0
  185. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/unstructured/_unstructured_grid.py +0 -0
  186. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/weights_and_measures/__init__.py +0 -0
  187. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/weights_and_measures/nexus_units.py +0 -0
  188. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/weights_and_measures/weights_and_measures.py +0 -0
  189. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/well/__init__.py +0 -0
  190. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/well/_blocked_well.py +0 -0
  191. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/well/_deviation_survey.py +0 -0
  192. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/well/_md_datum.py +0 -0
  193. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/well/_trajectory.py +0 -0
  194. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/well/_wellbore_frame.py +0 -0
  195. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/well/_wellbore_marker.py +0 -0
  196. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/well/_wellbore_marker_frame.py +0 -0
  197. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/well/blocked_well_frame.py +0 -0
  198. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/well/well_object_funcs.py +0 -0
  199. {resqpy-4.14.2 → resqpy-4.14.3}/resqpy/well/well_utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: resqpy
3
- Version: 4.14.2
3
+ Version: 4.14.3
4
4
  Summary: Python API for working with RESQML models
5
5
  Home-page: https://github.com/bp/resqpy
6
6
  License: MIT
@@ -9,7 +9,7 @@ build-backend = "poetry.masonry.api"
9
9
 
10
10
  [tool.poetry]
11
11
  name = "resqpy"
12
- version = "4.14.2" # Set at build time
12
+ version = "4.14.3" # Set at build time
13
13
  description = "Python API for working with RESQML models"
14
14
  authors = ["BP"]
15
15
  license = "MIT"
@@ -28,6 +28,6 @@
28
28
 
29
29
  import logging
30
30
 
31
- __version__ = "4.14.2" # Set at build time
31
+ __version__ = "4.14.3" # Set at build time
32
32
  log = logging.getLogger(__name__)
33
33
  log.info(f"Imported resqpy version {__version__}")
@@ -461,6 +461,30 @@ class Surface(rqsb.BaseSurface):
461
461
  assert triangles is not None
462
462
  return triangulate.edges(triangles)
463
463
 
464
+ def edge_lengths(self, required_uom = None):
465
+ """Returns float array of shape (N, 3) being triangle edge lengths.
466
+
467
+ arguments:
468
+ required_uom (str, optional): the required length uom for the resulting edge lengths; default is crs xy units
469
+
470
+ returns:
471
+ numpy float array of shape (N, 3) where N is the number of triangles
472
+ """
473
+
474
+ t, p = self.triangles_and_points()
475
+ crs = rqc.Crs(self.model, uuid = self.crs_uuid)
476
+ if required_uom is None:
477
+ required_uom = crs.xy_units
478
+ if crs.xy_units != required_uom or crs.z_units != required_uom:
479
+ p = p.copy()
480
+ wam.convert_lengths(p[:, :2], crs.xy_units, required_uom)
481
+ wam.convert_lengths(p[:, 2], crs.z_units, required_uom)
482
+ t_end = np.empty_like(t)
483
+ t_end[:, :2] = t[:, 1:]
484
+ t_end[:, 2] = t[:, 0]
485
+ edge_v = p[t_end, :] - p[t, :]
486
+ return vec.naive_lengths(edge_v)
487
+
464
488
  def set_from_triangles_and_points(self, triangles, points):
465
489
  """Populate this (empty) Surface object from an array of triangle corner indices and an array of points."""
466
490
 
@@ -468,6 +492,8 @@ class Surface(rqsb.BaseSurface):
468
492
  tri_patch.set_from_triangles_and_points(triangles, points)
469
493
  self.patch_list = [tri_patch]
470
494
  self.uuid = bu.new_uuid()
495
+ self.triangles = triangles.copy()
496
+ self.points = points.copy()
471
497
 
472
498
  def set_from_point_set(self,
473
499
  point_set,
@@ -1051,7 +1077,7 @@ class Surface(rqsb.BaseSurface):
1051
1077
  # TODO: implement alternate solution using edge functions in olio triangulation to optimise
1052
1078
  points_unique, inverse = np.unique(allpoints, axis = 0, return_inverse = True)
1053
1079
  tris = np.array(tris)
1054
- tris_unique = np.empty(shape = tris.shape)
1080
+ tris_unique = np.empty(shape = tris.shape, dtype = int)
1055
1081
  tris_unique[:, 0] = inverse[tris[:, 0]]
1056
1082
  tris_unique[:, 1] = inverse[tris[:, 1]]
1057
1083
  tris_unique[:, 2] = inverse[tris[:, 2]]
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes