luminarycloud 0.22.2__py3-none-any.whl → 0.23.0__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 (267) hide show
  1. luminarycloud/__init__.py +9 -3
  2. luminarycloud/_client/client.py +1 -1
  3. luminarycloud/_client/retry_interceptor.py +13 -2
  4. luminarycloud/_helpers/_code_representation.py +1 -0
  5. luminarycloud/_helpers/_create_simulation.py +5 -1
  6. luminarycloud/_helpers/proto_decorator.py +46 -38
  7. luminarycloud/_proto/api/v0/luminarycloud/geometry/geometry_pb2.py +214 -137
  8. luminarycloud/_proto/api/v0/luminarycloud/geometry/geometry_pb2.pyi +152 -0
  9. luminarycloud/_proto/api/v0/luminarycloud/geometry/geometry_pb2_grpc.py +103 -0
  10. luminarycloud/_proto/api/v0/luminarycloud/geometry/geometry_pb2_grpc.pyi +40 -0
  11. luminarycloud/_proto/api/v0/luminarycloud/named_variable_set/named_variable_set_pb2.py +25 -3
  12. luminarycloud/_proto/api/v0/luminarycloud/named_variable_set/named_variable_set_pb2.pyi +30 -0
  13. luminarycloud/_proto/api/v0/luminarycloud/named_variable_set/named_variable_set_pb2_grpc.py +34 -0
  14. luminarycloud/_proto/api/v0/luminarycloud/named_variable_set/named_variable_set_pb2_grpc.pyi +12 -0
  15. luminarycloud/_proto/api/v0/luminarycloud/physics_ai/physics_ai_pb2.py +155 -59
  16. luminarycloud/_proto/api/v0/luminarycloud/physics_ai/physics_ai_pb2.pyi +252 -22
  17. luminarycloud/_proto/api/v0/luminarycloud/physics_ai/physics_ai_pb2_grpc.py +102 -0
  18. luminarycloud/_proto/api/v0/luminarycloud/physics_ai/physics_ai_pb2_grpc.pyi +36 -0
  19. luminarycloud/_proto/api/v0/luminarycloud/simulation/simulation_pb2.py +94 -71
  20. luminarycloud/_proto/api/v0/luminarycloud/simulation/simulation_pb2.pyi +46 -0
  21. luminarycloud/_proto/api/v0/luminarycloud/simulation/simulation_pb2_grpc.py +35 -0
  22. luminarycloud/_proto/api/v0/luminarycloud/simulation/simulation_pb2_grpc.pyi +16 -0
  23. luminarycloud/_proto/api/v0/luminarycloud/simulation_template/simulation_template_pb2.py +25 -3
  24. luminarycloud/_proto/api/v0/luminarycloud/simulation_template/simulation_template_pb2.pyi +32 -0
  25. luminarycloud/_proto/api/v0/luminarycloud/simulation_template/simulation_template_pb2_grpc.py +34 -0
  26. luminarycloud/_proto/api/v0/luminarycloud/simulation_template/simulation_template_pb2_grpc.pyi +12 -0
  27. luminarycloud/_proto/api/v0/luminarycloud/vis/vis_pb2.py +68 -21
  28. luminarycloud/_proto/api/v0/luminarycloud/vis/vis_pb2.pyi +119 -0
  29. luminarycloud/_proto/api/v0/luminarycloud/vis/vis_pb2_grpc.py +33 -0
  30. luminarycloud/_proto/api/v0/luminarycloud/vis/vis_pb2_grpc.pyi +10 -0
  31. luminarycloud/_proto/client/simulation_pb2.py +405 -346
  32. luminarycloud/_proto/client/simulation_pb2.pyi +175 -21
  33. luminarycloud/_proto/clusterconfig/clusterconfig_pb2.py +273 -0
  34. luminarycloud/_proto/clusterconfig/clusterconfig_pb2.pyi +808 -0
  35. luminarycloud/_proto/geometry/geometry_pb2.pyi +1 -1
  36. luminarycloud/_proto/lcstatus/details/geometry/geometry_pb2.py +256 -0
  37. luminarycloud/_proto/lcstatus/details/geometry/geometry_pb2.pyi +472 -0
  38. luminarycloud/_proto/physicsaitrainingservice/physicsaitrainingservice_pb2.py +2 -2
  39. luminarycloud/_proto/physicsaitrainingservice/physicsaitrainingservice_pb2_grpc.py +102 -0
  40. luminarycloud/_proto/physicsaitrainingservice/physicsaitrainingservice_pb2_grpc.pyi +36 -0
  41. luminarycloud/_proto/quantity/quantity_pb2.pyi +1 -1
  42. luminarycloud/enum/__init__.py +1 -0
  43. luminarycloud/enum/gpu_type.py +42 -7
  44. luminarycloud/enum/vis_enums.py +18 -0
  45. luminarycloud/geometry.py +81 -0
  46. luminarycloud/geometry_contacts.py +222 -0
  47. luminarycloud/meshing/mesh_generation_params.py +4 -4
  48. luminarycloud/meshing/sizing_strategy/__init__.py +0 -1
  49. luminarycloud/meshing/sizing_strategy/sizing_strategies.py +0 -20
  50. luminarycloud/params/geometry/shapes.py +137 -31
  51. luminarycloud/params/outputs/__init__.py +0 -2
  52. luminarycloud/params/outputs/output.py +17 -5
  53. luminarycloud/params/simulation/__init__.py +2 -0
  54. luminarycloud/params/simulation/adaptive_mesh_refinement/active_region_.py +1 -1
  55. luminarycloud/params/simulation/adaptive_mesh_refinement/boundary_layer_profile_.py +1 -1
  56. luminarycloud/params/simulation/adaptive_mesh_refinement_.py +1 -1
  57. luminarycloud/params/simulation/adjoint_.py +8 -5
  58. luminarycloud/params/simulation/basic/gravity/gravity_off_.py +1 -1
  59. luminarycloud/params/simulation/basic/gravity/gravity_on_.py +1 -1
  60. luminarycloud/params/simulation/basic/gravity_.py +1 -1
  61. luminarycloud/params/simulation/body_frame_.py +1 -1
  62. luminarycloud/params/simulation/entity_relationships/volume_material_relationship_.py +1 -1
  63. luminarycloud/params/simulation/entity_relationships/volume_physics_relationship_.py +1 -1
  64. luminarycloud/params/simulation/entity_relationships_.py +1 -1
  65. luminarycloud/params/simulation/general_.py +1 -1
  66. luminarycloud/params/simulation/material/fluid/boussinesq_approximation/boussinesq_off_.py +1 -1
  67. luminarycloud/params/simulation/material/fluid/boussinesq_approximation/boussinesq_on_.py +1 -1
  68. luminarycloud/params/simulation/material/fluid/boussinesq_approximation_.py +1 -1
  69. luminarycloud/params/simulation/material/fluid/material_model/__init__.py +2 -0
  70. luminarycloud/params/simulation/material/fluid/material_model/ideal_gas_.py +1 -1
  71. luminarycloud/params/simulation/material/fluid/material_model/incompressible_fluid_.py +1 -1
  72. luminarycloud/params/simulation/material/fluid/material_model/incompressible_fluid_with_energy_.py +1 -1
  73. luminarycloud/params/simulation/material/fluid/material_model/real_gas_backend/__init__.py +2 -0
  74. luminarycloud/params/simulation/material/fluid/material_model/real_gas_backend/real_gas_coolprop_.py +43 -0
  75. luminarycloud/params/simulation/material/fluid/material_model/real_gas_backend/real_gas_polynomial_.py +53 -0
  76. luminarycloud/params/simulation/material/fluid/material_model/real_gas_backend_.py +29 -0
  77. luminarycloud/params/simulation/material/fluid/material_model_.py +1 -1
  78. luminarycloud/params/simulation/material/fluid/thermal_conductivity_model/prescribed_conductivity_.py +1 -1
  79. luminarycloud/params/simulation/material/fluid/thermal_conductivity_model/prescribed_prandtl_number_.py +1 -1
  80. luminarycloud/params/simulation/material/fluid/thermal_conductivity_model/temperature_dependent_conductivity_.py +1 -1
  81. luminarycloud/params/simulation/material/fluid/thermal_conductivity_model_.py +1 -1
  82. luminarycloud/params/simulation/material/fluid/viscosity_model/prescribed_viscosity_.py +1 -1
  83. luminarycloud/params/simulation/material/fluid/viscosity_model/sutherland_.py +1 -1
  84. luminarycloud/params/simulation/material/fluid/viscosity_model/temperature_dependent_viscosity_.py +1 -1
  85. luminarycloud/params/simulation/material/fluid/viscosity_model_.py +1 -1
  86. luminarycloud/params/simulation/material/material_fluid_.py +78 -2
  87. luminarycloud/params/simulation/material/material_solid_.py +1 -1
  88. luminarycloud/params/simulation/material_entity_.py +1 -1
  89. luminarycloud/params/simulation/monitor_plane_.py +1 -1
  90. luminarycloud/params/simulation/motion_data/frame_transforms/no_transform_.py +1 -1
  91. luminarycloud/params/simulation/motion_data/frame_transforms/rotational_transform_.py +1 -1
  92. luminarycloud/params/simulation/motion_data/frame_transforms/translational_transform_.py +1 -1
  93. luminarycloud/params/simulation/motion_data/frame_transforms_.py +1 -1
  94. luminarycloud/params/simulation/motion_data/motion_type/constant_angular_motion_.py +1 -1
  95. luminarycloud/params/simulation/motion_data/motion_type/constant_translation_motion_.py +1 -1
  96. luminarycloud/params/simulation/motion_data/motion_type_.py +1 -1
  97. luminarycloud/params/simulation/motion_data_.py +1 -1
  98. luminarycloud/params/simulation/multi_physics_coupling_options_.py +1 -1
  99. luminarycloud/params/simulation/nonlinear_control/__init__.py +1 -0
  100. luminarycloud/params/simulation/nonlinear_control/nonlinear_control_system_.py +48 -0
  101. luminarycloud/params/simulation/nonlinear_control_.py +61 -0
  102. luminarycloud/params/simulation/output_.py +1 -1
  103. luminarycloud/params/simulation/particle_group/particle_group_type/actuator_disk/actuator_disk_orientation_selection/actuator_disk_specify_normal_vector_.py +1 -1
  104. luminarycloud/params/simulation/particle_group/particle_group_type/actuator_disk/actuator_disk_orientation_selection/actuator_disk_specify_rotation_angles_.py +1 -1
  105. luminarycloud/params/simulation/particle_group/particle_group_type/actuator_disk/actuator_disk_orientation_selection_.py +1 -1
  106. luminarycloud/params/simulation/particle_group/particle_group_type/actuator_disk_.py +1 -1
  107. luminarycloud/params/simulation/particle_group/particle_group_type/actuator_line_.py +1 -1
  108. luminarycloud/params/simulation/particle_group/particle_group_type/probe_points_.py +1 -1
  109. luminarycloud/params/simulation/particle_group/particle_group_type/source_points_.py +1 -1
  110. luminarycloud/params/simulation/particle_group/particle_group_type_.py +1 -1
  111. luminarycloud/params/simulation/particle_group_.py +1 -1
  112. luminarycloud/params/simulation/physics/fluid/adjoint_controls_fluid_.py +1 -1
  113. luminarycloud/params/simulation/physics/fluid/basic_fluid_.py +1 -1
  114. luminarycloud/params/simulation/physics/fluid/boundary_conditions/farfield_.py +1 -1
  115. luminarycloud/params/simulation/physics/fluid/boundary_conditions/inlet/fan_curve_inlet_.py +1 -1
  116. luminarycloud/params/simulation/physics/fluid/boundary_conditions/inlet/mach_inlet_.py +1 -1
  117. luminarycloud/params/simulation/physics/fluid/boundary_conditions/inlet/mass_flow_inlet_.py +1 -1
  118. luminarycloud/params/simulation/physics/fluid/boundary_conditions/inlet/total_pressure_inlet_.py +1 -1
  119. luminarycloud/params/simulation/physics/fluid/boundary_conditions/inlet/velocity_components_inlet_.py +1 -1
  120. luminarycloud/params/simulation/physics/fluid/boundary_conditions/inlet/velocity_magnitude_inlet_.py +1 -1
  121. luminarycloud/params/simulation/physics/fluid/boundary_conditions/inlet_.py +1 -1
  122. luminarycloud/params/simulation/physics/fluid/boundary_conditions/outlet/outlet_strategy/fan_curve_outlet_.py +1 -1
  123. luminarycloud/params/simulation/physics/fluid/boundary_conditions/outlet/outlet_strategy/outlet_pressure_.py +1 -1
  124. luminarycloud/params/simulation/physics/fluid/boundary_conditions/outlet/outlet_strategy/outlet_target_corrected_mass_flow_rate_.py +1 -1
  125. luminarycloud/params/simulation/physics/fluid/boundary_conditions/outlet/outlet_strategy/outlet_target_mass_flow_rate_.py +1 -1
  126. luminarycloud/params/simulation/physics/fluid/boundary_conditions/outlet/outlet_strategy_.py +1 -1
  127. luminarycloud/params/simulation/physics/fluid/boundary_conditions/outlet_.py +1 -1
  128. luminarycloud/params/simulation/physics/fluid/boundary_conditions/symmetry_.py +1 -1
  129. luminarycloud/params/simulation/physics/fluid/boundary_conditions/turbulence_boundary_conditions_.py +1 -1
  130. luminarycloud/params/simulation/physics/fluid/boundary_conditions/wall/energy/prescribed_heat_flux_.py +1 -1
  131. luminarycloud/params/simulation/physics/fluid/boundary_conditions/wall/energy/prescribed_temperature_.py +1 -1
  132. luminarycloud/params/simulation/physics/fluid/boundary_conditions/wall/momentum/no_slip_.py +1 -1
  133. luminarycloud/params/simulation/physics/fluid/boundary_conditions/wall/momentum/slip_.py +1 -1
  134. luminarycloud/params/simulation/physics/fluid/boundary_conditions/wall/momentum/wall_model_.py +1 -1
  135. luminarycloud/params/simulation/physics/fluid/boundary_conditions/wall/wall_energy_.py +1 -1
  136. luminarycloud/params/simulation/physics/fluid/boundary_conditions/wall/wall_momentum_.py +1 -1
  137. luminarycloud/params/simulation/physics/fluid/boundary_conditions/wall_.py +1 -1
  138. luminarycloud/params/simulation/physics/fluid/boundary_conditions_fluid_.py +1 -1
  139. luminarycloud/params/simulation/physics/fluid/initialization/__init__.py +1 -0
  140. luminarycloud/params/simulation/physics/fluid/initialization/fluid_existing_solution_.py +1 -1
  141. luminarycloud/params/simulation/physics/fluid/initialization/fluid_farfield_values_.py +14 -1
  142. luminarycloud/params/simulation/physics/fluid/initialization/fluid_initialization_per_zone_.py +48 -0
  143. luminarycloud/params/simulation/physics/fluid/initialization/fluid_prescribed_values_.py +14 -1
  144. luminarycloud/params/simulation/physics/fluid/initialization/turbulence_initialization_.py +1 -1
  145. luminarycloud/params/simulation/physics/fluid/initialization_fluid_.py +1 -1
  146. luminarycloud/params/simulation/physics/fluid/physical_behavior/blade_element_airfoil_data_.py +1 -1
  147. luminarycloud/params/simulation/physics/fluid/physical_behavior/physical_behavior_model/actuator_disk_model/actuator_disk_blade_element_.py +1 -1
  148. luminarycloud/params/simulation/physics/fluid/physical_behavior/physical_behavior_model/actuator_disk_model/actuator_disk_radial_distribution_.py +1 -1
  149. luminarycloud/params/simulation/physics/fluid/physical_behavior/physical_behavior_model/actuator_disk_model/actuator_disk_uniform_thrust_.py +1 -1
  150. luminarycloud/params/simulation/physics/fluid/physical_behavior/physical_behavior_model/actuator_disk_model/fan_curve_internal_.py +1 -1
  151. luminarycloud/params/simulation/physics/fluid/physical_behavior/physical_behavior_model/actuator_disk_model_.py +1 -1
  152. luminarycloud/params/simulation/physics/fluid/physical_behavior/physical_behavior_model/actuator_line_model/actuator_line_blade_element_.py +1 -1
  153. luminarycloud/params/simulation/physics/fluid/physical_behavior/physical_behavior_model/actuator_line_model_.py +1 -1
  154. luminarycloud/params/simulation/physics/fluid/physical_behavior/physical_behavior_model/blade_element_params_.py +1 -1
  155. luminarycloud/params/simulation/physics/fluid/physical_behavior/physical_behavior_model/particle_source_model/general_acceleration_source_.py +1 -1
  156. luminarycloud/params/simulation/physics/fluid/physical_behavior/physical_behavior_model/particle_source_model/general_mass_source_.py +1 -1
  157. luminarycloud/params/simulation/physics/fluid/physical_behavior/physical_behavior_model/particle_source_model_.py +1 -1
  158. luminarycloud/params/simulation/physics/fluid/physical_behavior/physical_behavior_model_.py +1 -1
  159. luminarycloud/params/simulation/physics/fluid/physical_behavior_.py +1 -1
  160. luminarycloud/params/simulation/physics/fluid/porous_behavior_.py +1 -1
  161. luminarycloud/params/simulation/physics/fluid/solution_controls/fluid_relaxation_method/fluid_explicit_relaxation_.py +1 -1
  162. luminarycloud/params/simulation/physics/fluid/solution_controls/fluid_relaxation_method/fluid_implicit_relaxation/robust_startup/robust_startup_auto_.py +1 -1
  163. luminarycloud/params/simulation/physics/fluid/solution_controls/fluid_relaxation_method/fluid_implicit_relaxation/robust_startup/robust_startup_off_.py +1 -1
  164. luminarycloud/params/simulation/physics/fluid/solution_controls/fluid_relaxation_method/fluid_implicit_relaxation/robust_startup/robust_startup_on_.py +1 -1
  165. luminarycloud/params/simulation/physics/fluid/solution_controls/fluid_relaxation_method/fluid_implicit_relaxation/robust_startup_.py +1 -1
  166. luminarycloud/params/simulation/physics/fluid/solution_controls/fluid_relaxation_method/fluid_implicit_relaxation_.py +1 -1
  167. luminarycloud/params/simulation/physics/fluid/solution_controls/fluid_relaxation_method_.py +1 -1
  168. luminarycloud/params/simulation/physics/fluid/solution_controls/pseudo_time_step_method/cfl_based_.py +1 -1
  169. luminarycloud/params/simulation/physics/fluid/solution_controls/pseudo_time_step_method/fixed_pseudo_time_step_.py +1 -1
  170. luminarycloud/params/simulation/physics/fluid/solution_controls/pseudo_time_step_method_.py +1 -1
  171. luminarycloud/params/simulation/physics/fluid/solution_controls_fluid_.py +1 -1
  172. luminarycloud/params/simulation/physics/fluid/spatial_discretization/convective_scheme/ec2_.py +1 -1
  173. luminarycloud/params/simulation/physics/fluid/spatial_discretization/convective_scheme/fds_.py +1 -1
  174. luminarycloud/params/simulation/physics/fluid/spatial_discretization/convective_scheme/ld2_.py +1 -1
  175. luminarycloud/params/simulation/physics/fluid/spatial_discretization/convective_scheme/rhie_chow_.py +1 -1
  176. luminarycloud/params/simulation/physics/fluid/spatial_discretization/convective_scheme_.py +1 -1
  177. luminarycloud/params/simulation/physics/fluid/spatial_discretization/convective_scheme_order/first_order_.py +1 -1
  178. luminarycloud/params/simulation/physics/fluid/spatial_discretization/convective_scheme_order/second_order_.py +1 -1
  179. luminarycloud/params/simulation/physics/fluid/spatial_discretization/convective_scheme_order_.py +1 -1
  180. luminarycloud/params/simulation/physics/fluid/spatial_discretization_fluid_.py +1 -1
  181. luminarycloud/params/simulation/physics/fluid/turbulence/des_formulation/ddes_.py +1 -1
  182. luminarycloud/params/simulation/physics/fluid/turbulence/des_formulation/ddes_vtm_.py +1 -1
  183. luminarycloud/params/simulation/physics/fluid/turbulence/des_formulation/iddes_.py +1 -1
  184. luminarycloud/params/simulation/physics/fluid/turbulence/des_formulation_.py +1 -1
  185. luminarycloud/params/simulation/physics/fluid/turbulence/komega_sst/constants/custom_komega_sst_constants_.py +1 -1
  186. luminarycloud/params/simulation/physics/fluid/turbulence/komega_sst/constants/default_komega_sst_constants_.py +1 -1
  187. luminarycloud/params/simulation/physics/fluid/turbulence/komega_sst/komega_sst_constants_.py +1 -1
  188. luminarycloud/params/simulation/physics/fluid/turbulence/komega_sst_.py +1 -1
  189. luminarycloud/params/simulation/physics/fluid/turbulence/spalart_allmaras/constants/custom_spalart_allmaras_constants_.py +1 -1
  190. luminarycloud/params/simulation/physics/fluid/turbulence/spalart_allmaras/constants/default_spalart_allmaras_constants_.py +1 -1
  191. luminarycloud/params/simulation/physics/fluid/turbulence/spalart_allmaras/spalart_allmaras_constants_.py +1 -1
  192. luminarycloud/params/simulation/physics/fluid/turbulence/spalart_allmaras_.py +1 -1
  193. luminarycloud/params/simulation/physics/fluid/turbulence/sub_grid_scale_model/amd_.py +1 -1
  194. luminarycloud/params/simulation/physics/fluid/turbulence/sub_grid_scale_model/sigma_.py +1 -1
  195. luminarycloud/params/simulation/physics/fluid/turbulence/sub_grid_scale_model/smagorinsky_.py +1 -1
  196. luminarycloud/params/simulation/physics/fluid/turbulence/sub_grid_scale_model/vreman_.py +1 -1
  197. luminarycloud/params/simulation/physics/fluid/turbulence/sub_grid_scale_model/wale_.py +1 -1
  198. luminarycloud/params/simulation/physics/fluid/turbulence/sub_grid_scale_model_.py +1 -1
  199. luminarycloud/params/simulation/physics/fluid/turbulence_.py +1 -1
  200. luminarycloud/params/simulation/physics/fluid_.py +1 -1
  201. luminarycloud/params/simulation/physics/heat/adjoint_controls_heat_.py +1 -1
  202. luminarycloud/params/simulation/physics/heat/boundary_conditions/heat_bc_convection_.py +1 -1
  203. luminarycloud/params/simulation/physics/heat/boundary_conditions/heat_bc_heat_flux_.py +1 -1
  204. luminarycloud/params/simulation/physics/heat/boundary_conditions/heat_bc_integrated_heat_flux_.py +1 -1
  205. luminarycloud/params/simulation/physics/heat/boundary_conditions/heat_bc_symmetry_.py +1 -1
  206. luminarycloud/params/simulation/physics/heat/boundary_conditions/heat_bc_temperature_.py +1 -1
  207. luminarycloud/params/simulation/physics/heat/boundary_conditions_heat_.py +1 -1
  208. luminarycloud/params/simulation/physics/heat/heat_source/heat_source_type/heat_source_type_power_.py +1 -1
  209. luminarycloud/params/simulation/physics/heat/heat_source/heat_source_type/heat_source_type_power_per_unit_of_volume_.py +1 -1
  210. luminarycloud/params/simulation/physics/heat/heat_source/heat_source_type_.py +1 -1
  211. luminarycloud/params/simulation/physics/heat/heat_source_.py +1 -1
  212. luminarycloud/params/simulation/physics/heat/initialization/__init__.py +1 -0
  213. luminarycloud/params/simulation/physics/heat/initialization/heat_existing_solution_.py +1 -1
  214. luminarycloud/params/simulation/physics/heat/initialization/heat_prescribed_values/__init__.py +1 -0
  215. luminarycloud/params/simulation/physics/heat/initialization/heat_prescribed_values/heat_initialization_per_zone_.py +40 -0
  216. luminarycloud/params/simulation/physics/heat/initialization/heat_prescribed_values_.py +14 -1
  217. luminarycloud/params/simulation/physics/heat/initialization_heat_.py +1 -1
  218. luminarycloud/params/simulation/physics/heat/solution_controls/heat_relaxation_method/heat_implicit_relaxation_.py +1 -1
  219. luminarycloud/params/simulation/physics/heat/solution_controls/heat_relaxation_method_.py +1 -1
  220. luminarycloud/params/simulation/physics/heat/solution_controls_heat_.py +1 -1
  221. luminarycloud/params/simulation/physics/heat/spatial_discretization_heat_.py +1 -1
  222. luminarycloud/params/simulation/physics/heat_.py +1 -1
  223. luminarycloud/params/simulation/physics/periodic_pair_.py +5 -1
  224. luminarycloud/params/simulation/physics/solution_controls/linear_solver_type/gauss_seidel_.py +1 -1
  225. luminarycloud/params/simulation/physics/solution_controls/linear_solver_type/krylov_amg_.py +1 -1
  226. luminarycloud/params/simulation/physics/solution_controls/linear_solver_type_.py +1 -1
  227. luminarycloud/params/simulation/physics_.py +1 -1
  228. luminarycloud/params/simulation/simulation_param_.py +8 -1
  229. luminarycloud/params/simulation/sliding_interfaces_.py +1 -1
  230. luminarycloud/params/simulation/surface_name_.py +1 -1
  231. luminarycloud/params/simulation/time/compute_statistics/compute_statistics_off_.py +1 -1
  232. luminarycloud/params/simulation/time/compute_statistics/compute_statistics_on_.py +1 -1
  233. luminarycloud/params/simulation/time/compute_statistics_.py +1 -1
  234. luminarycloud/params/simulation/time/time_marching/time_explicit_.py +1 -1
  235. luminarycloud/params/simulation/time/time_marching/time_implicit_.py +1 -1
  236. luminarycloud/params/simulation/time/time_marching_.py +1 -1
  237. luminarycloud/params/simulation/time/time_step_ramp/time_step_ramp_off_.py +1 -1
  238. luminarycloud/params/simulation/time/time_step_ramp/time_step_ramp_on_.py +1 -1
  239. luminarycloud/params/simulation/time/time_step_ramp_.py +1 -1
  240. luminarycloud/params/simulation/time_.py +1 -1
  241. luminarycloud/params/simulation/volume_entity_.py +1 -1
  242. luminarycloud/physics_ai/__init__.py +17 -0
  243. luminarycloud/physics_ai/architectures.py +130 -18
  244. luminarycloud/physics_ai/datasets.py +301 -0
  245. luminarycloud/physics_ai/training_jobs.py +50 -4
  246. luminarycloud/pipelines/__init__.py +16 -4
  247. luminarycloud/pipelines/api.py +192 -17
  248. luminarycloud/pipelines/arguments.py +8 -3
  249. luminarycloud/pipelines/core.py +296 -45
  250. luminarycloud/pipelines/flowables.py +138 -0
  251. luminarycloud/pipelines/stages.py +34 -55
  252. luminarycloud/pipelines/user_code_validation.py +122 -0
  253. luminarycloud/project.py +0 -14
  254. luminarycloud/simulation.py +42 -11
  255. luminarycloud/simulation_param.py +0 -62
  256. luminarycloud/simulation_template.py +1 -11
  257. luminarycloud/types/adfloat.py +48 -4
  258. luminarycloud/types/matrix3.py +9 -9
  259. luminarycloud/types/vector3.py +52 -23
  260. luminarycloud/vis/__init__.py +3 -0
  261. luminarycloud/vis/visualization.py +88 -0
  262. luminarycloud/volume_selection.py +29 -17
  263. {luminarycloud-0.22.2.dist-info → luminarycloud-0.23.0.dist-info}/METADATA +1 -1
  264. {luminarycloud-0.22.2.dist-info → luminarycloud-0.23.0.dist-info}/RECORD +266 -249
  265. luminarycloud/params/outputs/residual_output.py +0 -24
  266. /luminarycloud/params/{simulation/_lib.py → _lib.py} +0 -0
  267. {luminarycloud-0.22.2.dist-info → luminarycloud-0.23.0.dist-info}/WHEEL +0 -0
@@ -20,7 +20,7 @@ from luminarycloud._proto.table import table_pb2 as proto_dot_table_dot_table__p
20
20
  from luminarycloud._proto.api.v0.luminarycloud.common import common_pb2 as proto_dot_api_dot_v0_dot_luminarycloud_dot_common_dot_common__pb2
21
21
 
22
22
 
23
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n(proto/api/v0/luminarycloud/vis/vis.proto\x12\'luminary.proto.api.v0.luminarycloud.vis\x1a\x1cgoogle/api/annotations.proto\x1a\x1bproto/options/options.proto\x1a\x1dproto/quantity/quantity.proto\x1a\x17proto/table/table.proto\x1a.proto/api/v0/luminarycloud/common/common.proto\"=\n\x03Pan\x12\x1a\n\x01x\x18\x01 \x01(\x01\x42\x0f\x82\xb2\x19\x0b\n\t\t\x00\x00\x00\x00\x00\x00\x00\x00\x12\x1a\n\x01y\x18\x02 \x01(\x01\x42\x0f\x82\xb2\x19\x0b\n\t\t\x00\x00\x00\x00\x00\x00\x00\x00\"\xa4\x02\n\x0c\x43\x61meraLookAt\x12\x45\n\x08position\x18\x01 \x01(\x0b\x32\x33.luminary.proto.api.v0.luminarycloud.common.Vector3\x12\x44\n\x07look_at\x18\x02 \x01(\x0b\x32\x33.luminary.proto.api.v0.luminarycloud.common.Vector3\x12?\n\x02up\x18\x03 \x01(\x0b\x32\x33.luminary.proto.api.v0.luminarycloud.common.Vector3\x12>\n\x03pan\x18\x04 \x01(\x0b\x32,.luminary.proto.api.v0.luminarycloud.vis.PanH\x00\x88\x01\x01\x42\x06\n\x04_pan\"}\n\nResolution\x12\x36\n\x05width\x18\x01 \x01(\x05\x42\'\x82\xb2\x19\x03\x30\x80\x0f\x8a\xb2\x19\t\t\x00\x00\x00\x00\x00\x00Y@\x8a\xb2\x19\t\x11\x00\x00\x00\x00\x00\x00\xb0@\x8a\xb2\x19\x02\x18\x00\x12\x37\n\x06height\x18\x02 \x01(\x05\x42\'\x82\xb2\x19\x03\x30\xb8\x08\x8a\xb2\x19\t\t\x00\x00\x00\x00\x00\x00Y@\x8a\xb2\x19\t\x11\x00\x00\x00\x00\x00\x00\xb0@\x8a\xb2\x19\x02\x18\x00\"\xde\x02\n\x06\x43\x61mera\x12U\n\nprojection\x18\x01 \x01(\x0e\x32\x39.luminary.proto.api.v0.luminarycloud.vis.CameraProjectionB\x06\x82\xb2\x19\x02 \x02\x12U\n\tdirection\x18\x02 \x01(\x0e\x32\x38.luminary.proto.api.v0.luminarycloud.vis.CameraDirectionB\x06\x82\xb2\x19\x02 \x03H\x00\x12H\n\x07look_at\x18\x03 \x01(\x0b\x32\x35.luminary.proto.api.v0.luminarycloud.vis.CameraLookAtH\x00\x12\x42\n\x04zoom\x18\x04 \x01(\x01\x42/\x82\xb2\x19\x0b\n\t\t\x00\x00\x00\x00\x00\x00\xf0?\x8a\xb2\x19\t\t\x00\x00\x00\x00\x00\x00\x00\x00\x8a\xb2\x19\t\x11\x00\x00\x00\x00\x00\x00\xf0?\x8a\xb2\x19\x02\x18\x00H\x01\x88\x01\x01\x42\x0f\n\rspecificationB\x07\n\x05_zoom\"\xb2\x01\n\x17\x41nimationSettingsStatic\x12?\n\x06\x63\x61mera\x18\x01 \x01(\x0b\x32/.luminary.proto.api.v0.luminarycloud.vis.Camera\x12G\n\nresolution\x18\x02 \x01(\x0b\x32\x33.luminary.proto.api.v0.luminarycloud.vis.Resolution\x12\r\n\x05label\x18\x03 \x01(\t\"\xee\x02\n\x19\x41nimationSettingsTimeStep\x12?\n\x06\x63\x61mera\x18\x01 \x01(\x0b\x32/.luminary.proto.api.v0.luminarycloud.vis.Camera\x12G\n\nresolution\x18\x04 \x01(\x0b\x32\x33.luminary.proto.api.v0.luminarycloud.vis.Resolution\x12\x61\n\x06\x66ormat\x18\x05 \x01(\x0e\x32I.luminary.proto.api.v0.luminarycloud.vis.AnimationSettingsTimeStep.FormatB\x06\x82\xb2\x19\x02 \x02\x12\x13\n\x0bskip_frames\x18\x06 \x01(\x05\x12\r\n\x05label\x18\x07 \x01(\t\"@\n\x06\x46ormat\x12\x16\n\x12\x46ORMAT_UNSPECIFIED\x10\x00\x12\x0e\n\nFORMAT_GIF\x10\x01\x12\x0e\n\nFORMAT_MP4\x10\x02\"a\n\x0eStaticSettings\x12O\n\x05items\x18\x01 \x03(\x0b\x32@.luminary.proto.api.v0.luminarycloud.vis.AnimationSettingsStatic\"e\n\x10TimeStepSettings\x12Q\n\x05items\x18\x01 \x03(\x0b\x32\x42.luminary.proto.api.v0.luminarycloud.vis.AnimationSettingsTimeStep\"\xbe\x01\n\x13\x41nimationProperties\x12J\n\x07statics\x18\x01 \x01(\x0b\x32\x37.luminary.proto.api.v0.luminarycloud.vis.StaticSettingsH\x00\x12O\n\ntime_steps\x18\x02 \x01(\x0b\x32\x39.luminary.proto.api.v0.luminarycloud.vis.TimeStepSettingsH\x00\x42\n\n\x08settings\"\x8e\x02\n\x05\x46ield\x12;\n\x0cquantity_typ\x18\x01 \x01(\x0e\x32%.luminary.proto.quantity.QuantityType\x12K\n\tcomponent\x18\x02 \x01(\x0e\x32\x38.luminary.proto.api.v0.luminarycloud.vis.Field.Component\"{\n\tComponent\x12\x19\n\x15\x43OMPONENT_UNSPECIFIED\x10\x00\x12\x0f\n\x0b\x43OMPONENT_X\x10\x01\x12\x0f\n\x0b\x43OMPONENT_Y\x10\x02\x12\x0f\n\x0b\x43OMPONENT_Z\x10\x03\x12 \n\x13\x43OMPONENT_MAGNITUDE\x10\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\"\xe7\x01\n\x11\x44isplayAttributes\x12=\n\x05\x66ield\x18\x01 \x01(\x0b\x32..luminary.proto.api.v0.luminarycloud.vis.Field\x12\x14\n\x07visible\x18\x02 \x01(\x08H\x00\x88\x01\x01\x12O\n\x0erepresentation\x18\x03 \x01(\x0e\x32\x37.luminary.proto.api.v0.luminarycloud.vis.Representation\x12\x14\n\x07opacity\x18\x04 \x01(\x01H\x01\x88\x01\x01\x42\n\n\x08_visibleB\n\n\x08_opacity\"\x91\x01\n\x05Plane\x12\x43\n\x06origin\x18\x01 \x01(\x0b\x32\x33.luminary.proto.api.v0.luminarycloud.common.Vector3\x12\x43\n\x06normal\x18\x02 \x01(\x0b\x32\x33.luminary.proto.api.v0.luminarycloud.common.Vector3\"\x8a\x01\n\x04\x41\x41\x42\x42\x12@\n\x03min\x18\x01 \x01(\x0b\x32\x33.luminary.proto.api.v0.luminarycloud.common.Vector3\x12@\n\x03max\x18\x02 \x01(\x0b\x32\x33.luminary.proto.api.v0.luminarycloud.common.Vector3\"_\n\x05Slice\x12=\n\x05plane\x18\x01 \x01(\x0b\x32..luminary.proto.api.v0.luminarycloud.vis.Plane\x12\x17\n\x0fproject_vectors\x18\x02 \x01(\x08\"\xfa\x01\n\nMultiSlice\x12K\n\x0estart_position\x18\x01 \x01(\x0b\x32\x33.luminary.proto.api.v0.luminarycloud.common.Vector3\x12I\n\x0c\x65nd_position\x18\x02 \x01(\x0b\x32\x33.luminary.proto.api.v0.luminarycloud.common.Vector3\x12\x15\n\x08n_slices\x18\x03 \x01(\x05H\x00\x88\x01\x01\x12\x1c\n\x0fproject_vectors\x18\x04 \x01(\x08H\x01\x88\x01\x01\x42\x0b\n\t_n_slicesB\x12\n\x10_project_vectors\"\\\n\x07\x43ontour\x12=\n\x05\x66ield\x18\x01 \x01(\x0b\x32..luminary.proto.api.v0.luminarycloud.vis.Field\x12\x12\n\niso_values\x18\x02 \x03(\x01\"\x81\x02\n\tThreshold\x12=\n\x05\x66ield\x18\x01 \x01(\x0b\x32..luminary.proto.api.v0.luminarycloud.vis.Field\x12=\n\x05range\x18\x02 \x01(\x0b\x32..luminary.proto.api.v0.luminarycloud.vis.Range\x12\x1b\n\x06smooth\x18\x03 \x01(\x08\x42\x06\x82\xb2\x19\x02(\x01H\x00\x88\x01\x01\x12\x1b\n\x06invert\x18\x04 \x01(\x08\x42\x06\x82\xb2\x19\x02(\x00H\x01\x88\x01\x01\x12\x1b\n\x06strict\x18\x05 \x01(\x08\x42\x06\x82\xb2\x19\x02(\x00H\x02\x88\x01\x01\x42\t\n\x07_smoothB\t\n\x07_invertB\t\n\x07_strict\"\x96\x01\n\x0eSeedRakeConfig\x12\x42\n\x05start\x18\x01 \x01(\x0b\x32\x33.luminary.proto.api.v0.luminarycloud.common.Vector3\x12@\n\x03\x65nd\x18\x02 \x01(\x0b\x32\x33.luminary.proto.api.v0.luminarycloud.common.Vector3\"\xed\x01\n\x11SeedSurfaceConfig\x12$\n\x06offset\x18\x01 \x01(\x01\x42\x0f\x82\xb2\x19\x0b\n\t\t\x00\x00\x00\x00\x00\x00\x00\x00H\x00\x88\x01\x01\x12\'\n\x12project_on_surface\x18\x02 \x01(\x08\x42\x06\x82\xb2\x19\x02(\x00H\x01\x88\x01\x01\x12@\n\x0bsample_rate\x18\x03 \x01(\x05\x42&\x82\xb2\x19\x02\x30\n\x8a\xb2\x19\t\t\x00\x00\x00\x00\x00\x00\xf0?\x8a\xb2\x19\t\x11\x00\x00\x00\x00\x00@\x8f@\x8a\xb2\x19\x02\x18\x00H\x02\x88\x01\x01\x12\x15\n\rsurface_names\x18\x04 \x03(\tB\t\n\x07_offsetB\x15\n\x13_project_on_surfaceB\x0e\n\x0c_sample_rate\"\xcd\x03\n\x0eSeedGridConfig\x12=\n\x08rake_res\x18\x01 \x01(\x05\x42&\x82\xb2\x19\x02\x30\x02\x8a\xb2\x19\t\t\x00\x00\x00\x00\x00\x00\xf0?\x8a\xb2\x19\t\x11\x00\x00\x00\x00\x00@\x8f@\x8a\xb2\x19\x02\x18\x00H\x00\x88\x01\x01\x12=\n\x08seed_res\x18\x02 \x01(\x05\x42&\x82\xb2\x19\x02\x30\n\x8a\xb2\x19\t\t\x00\x00\x00\x00\x00\x00\xf0?\x8a\xb2\x19\t\x11\x00\x00\x00\x00\x00@\x8f@\x8a\xb2\x19\x02\x18\x00H\x01\x88\x01\x01\x12\x19\n\x0cseed_spacing\x18\x03 \x01(\x01H\x02\x88\x01\x01\x12\x19\n\x0crake_spacing\x18\x04 \x01(\x01H\x03\x88\x01\x01\x12\x43\n\x06\x63\x65nter\x18\x05 \x01(\x0b\x32\x33.luminary.proto.api.v0.luminarycloud.common.Vector3\x12\x42\n\x05u_vec\x18\x06 \x01(\x0b\x32\x33.luminary.proto.api.v0.luminarycloud.common.Vector3\x12\x42\n\x05v_vec\x18\x07 \x01(\x0b\x32\x33.luminary.proto.api.v0.luminarycloud.common.Vector3B\x0b\n\t_rake_resB\x0b\n\t_seed_resB\x0f\n\r_seed_spacingB\x0f\n\r_rake_spacing\"\x92\x04\n\x0bStreamlines\x12G\n\x04rake\x18\x01 \x01(\x0b\x32\x37.luminary.proto.api.v0.luminarycloud.vis.SeedRakeConfigH\x00\x12M\n\x07surface\x18\x02 \x01(\x0b\x32:.luminary.proto.api.v0.luminarycloud.vis.SeedSurfaceConfigH\x00\x12G\n\x04grid\x18\x03 \x01(\x0b\x32\x37.luminary.proto.api.v0.luminarycloud.vis.SeedGridConfigH\x00\x12\x42\n\rn_streamlines\x18\x04 \x01(\x05\x42&\x82\xb2\x19\x02\x30\x64\x8a\xb2\x19\t\t\x00\x00\x00\x00\x00\x00\xf0?\x8a\xb2\x19\t\x11\x00\x00\x00\x00\x00@\x8f@\x8a\xb2\x19\x02\x18\x00H\x01\x88\x01\x01\x12\x17\n\nmax_length\x18\x05 \x01(\x01H\x02\x88\x01\x01\x12X\n\tdirection\x18\x06 \x01(\x0e\x32=.luminary.proto.api.v0.luminarycloud.vis.StreamlinesDirectionB\x06\x82\xb2\x19\x02 \x01\x12=\n\x05\x66ield\x18\x07 \x01(\x0b\x32..luminary.proto.api.v0.luminarycloud.vis.FieldB\x0b\n\tseed_typeB\x10\n\x0e_n_streamlinesB\r\n\x0b_max_length\"\xb4\x02\n\x05Glyph\x12=\n\x05\x66ield\x18\x01 \x01(\x0b\x32..luminary.proto.api.v0.luminarycloud.vis.Field\x12=\n\x08n_glyphs\x18\x02 \x01(\x05\x42&\x82\xb2\x19\x02\x30\x64\x8a\xb2\x19\t\t\x00\x00\x00\x00\x00\x00\xf0?\x8a\xb2\x19\t\x11\x00\x00\x00\x00\x00@\x8f@\x8a\xb2\x19\x02\x18\x00H\x01\x88\x01\x01\x12Y\n\rsampling_mode\x18\x03 \x01(\x0e\x32:.luminary.proto.api.v0.luminarycloud.vis.GlyphSamplingModeB\x06\x82\xb2\x19\x02 \x01\x12\x1b\n\x11\x66ixed_size_glyphs\x18\x04 \x01(\x01H\x00\x12\x1a\n\x10glyph_scale_size\x18\x05 \x01(\x01H\x00\x42\x0c\n\nglyph_sizeB\x0b\n\t_n_glyphs\"+\n\x12SurfaceLICGeomtery\x12\x15\n\rsurface_names\x18\x01 \x03(\t\"\x91\x01\n\x0fSurfaceLICPlane\x12=\n\x05plane\x18\x01 \x01(\x0b\x32..luminary.proto.api.v0.luminarycloud.vis.Plane\x12?\n\x08\x63lip_box\x18\x02 \x01(\x0b\x32-.luminary.proto.api.v0.luminarycloud.vis.AABB\"\xb6\x02\n\nSurfaceLIC\x12=\n\x05\x66ield\x18\x01 \x01(\x0b\x32..luminary.proto.api.v0.luminarycloud.vis.Field\x12O\n\x08geometry\x18\x02 \x01(\x0b\x32;.luminary.proto.api.v0.luminarycloud.vis.SurfaceLICGeomteryH\x00\x12I\n\x05plane\x18\x03 \x01(\x0b\x32\x38.luminary.proto.api.v0.luminarycloud.vis.SurfaceLICPlaneH\x00\x12\x41\n\x08\x63ontrast\x18\x04 \x01(\x01\x42/\x82\xb2\x19\x0b\n\t\t\x00\x00\x00\x00\x00\x00\xf0?\x8a\xb2\x19\t\t\x9a\x99\x99\x99\x99\x99\xc9?\x8a\xb2\x19\t\x11\x00\x00\x00\x00\x00\x00\x08@\x8a\xb2\x19\x02\x18\x00\x42\n\n\x08lic_type\"s\n\x11IntersectionCurve\x12=\n\x05plane\x18\x01 \x01(\x0b\x32..luminary.proto.api.v0.luminarycloud.vis.Plane\x12\x10\n\x08surfaces\x18\x02 \x03(\t\x12\r\n\x05label\x18\x03 \x01(\t\"\x1a\n\x18LineSampleMeshResolution\"\x8e\x02\n\nLineSample\x12\x42\n\x05start\x18\x01 \x01(\x0b\x32\x33.luminary.proto.api.v0.luminarycloud.common.Vector3\x12@\n\x03\x65nd\x18\x02 \x01(\x0b\x32\x33.luminary.proto.api.v0.luminarycloud.common.Vector3\x12\r\n\x05label\x18\x03 \x01(\t\x12\\\n\x0fmesh_resolution\x18\x04 \x01(\x0b\x32\x41.luminary.proto.api.v0.luminarycloud.vis.LineSampleMeshResolutionH\x00\x42\r\n\x0bsample_type\"\x85\x06\n\x06\x46ilter\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12?\n\x05slice\x18\x03 \x01(\x0b\x32..luminary.proto.api.v0.luminarycloud.vis.SliceH\x00\x12=\n\x04\x63lip\x18\x04 \x01(\x0b\x32-.luminary.proto.api.v0.luminarycloud.vis.ClipH\x00\x12\x43\n\x07\x63ontour\x18\x05 \x01(\x0b\x32\x30.luminary.proto.api.v0.luminarycloud.vis.ContourH\x00\x12G\n\tthreshold\x18\x07 \x01(\x0b\x32\x32.luminary.proto.api.v0.luminarycloud.vis.ThresholdH\x00\x12K\n\x0bstreamlines\x18\x08 \x01(\x0b\x32\x34.luminary.proto.api.v0.luminarycloud.vis.StreamlinesH\x00\x12?\n\x05glyph\x18\t \x01(\x0b\x32..luminary.proto.api.v0.luminarycloud.vis.GlyphH\x00\x12J\n\x0bsurface_lic\x18\n \x01(\x0b\x32\x33.luminary.proto.api.v0.luminarycloud.vis.SurfaceLICH\x00\x12X\n\x12intersection_curve\x18\x0b \x01(\x0b\x32:.luminary.proto.api.v0.luminarycloud.vis.IntersectionCurveH\x00\x12J\n\x0bline_sample\x18\x0c \x01(\x0b\x32\x33.luminary.proto.api.v0.luminarycloud.vis.LineSampleH\x00\x12J\n\x0bmulti_slice\x18\r \x01(\x0b\x32\x33.luminary.proto.api.v0.luminarycloud.vis.MultiSliceH\x00\x42\x07\n\x05value\"\x18\n\nMeshEntity\x12\n\n\x02id\x18\x01 \x01(\t\"3\n\x10SimulationEntity\x12\n\n\x02id\x18\x01 \x01(\t\x12\x13\n\x0bsolution_id\x18\x02 \x01(\t\"9\n\x0eGeometryEntity\x12\n\n\x02id\x18\x01 \x01(\t\x12\x1b\n\x13geometry_version_id\x18\x02 \x01(\t\"\xfc\x01\n\rExtractEntity\x12\x43\n\x04mesh\x18\x01 \x01(\x0b\x32\x33.luminary.proto.api.v0.luminarycloud.vis.MeshEntityH\x00\x12O\n\nsimulation\x18\x02 \x01(\x0b\x32\x39.luminary.proto.api.v0.luminarycloud.vis.SimulationEntityH\x00\x12K\n\x08geometry\x18\x03 \x01(\x0b\x32\x37.luminary.proto.api.v0.luminarycloud.vis.GeometryEntityH\x00\x42\x08\n\x06\x65ntity\"!\n\x05Range\x12\x0b\n\x03min\x18\x01 \x01(\x01\x12\x0b\n\x03max\x18\x02 \x01(\x01\"\xc4\x0b\n\x08\x43olorMap\x12=\n\x05\x66ield\x18\x01 \x01(\x0b\x32..luminary.proto.api.v0.luminarycloud.vis.Field\x12K\n\x04name\x18\x02 \x01(\x0e\x32\x35.luminary.proto.api.v0.luminarycloud.vis.ColorMapNameB\x06\x82\xb2\x19\x02 \x03\x12\x42\n\x05range\x18\x03 \x01(\x0b\x32..luminary.proto.api.v0.luminarycloud.vis.RangeH\x02\x88\x01\x01\x12\x1c\n\x07visible\x18\x04 \x01(\x08\x42\x06\x82\xb2\x19\x02(\x01H\x03\x88\x01\x01\x12\x1f\n\ndiscretize\x18\x05 \x01(\x08\x42\x06\x82\xb2\x19\x02(\x00H\x04\x88\x01\x01\x12=\n\x08n_colors\x18\x06 \x01(\x05\x42&\x82\xb2\x19\x02\x30\x08\x8a\xb2\x19\t\t\x00\x00\x00\x00\x00\x00\x00@\x8a\xb2\x19\t\x11\x00\x00\x00\x00\x00\x00p@\x8a\xb2\x19\x02\x18\x00H\x05\x88\x01\x01\x12i\n\x12\x61utomatic_location\x18\x07 \x01(\x0e\x32\x43.luminary.proto.api.v0.luminarycloud.vis.ColorMap.AutomaticLocationB\x06\x82\xb2\x19\x02 \x01H\x00\x12\x66\n\x1alower_left_anchor_location\x18\x08 \x01(\x0b\x32@.luminary.proto.api.v0.luminarycloud.vis.ColorMap.AnchorLocationH\x00\x12U\n\x0e\x61utomatic_tick\x18\n \x01(\x0b\x32;.luminary.proto.api.v0.luminarycloud.vis.ColorMap.AutomaticH\x01\x12Y\n\x11min_max_only_tick\x18\x0b \x01(\x0b\x32<.luminary.proto.api.v0.luminarycloud.vis.ColorMap.MinMaxOnlyH\x01\x12G\n\ttext_size\x18\x11 \x01(\x01\x42/\x82\xb2\x19\x0b\n\t\t\x00\x00\x00\x00\x00\x00\x42@\x8a\xb2\x19\t\t\x00\x00\x00\x00\x00\x00\x00\x00\x8a\xb2\x19\t\x11\x00\x00\x00\x00\x00\x00Y@\x8a\xb2\x19\x02\x18\x00H\x06\x88\x01\x01\x12\x1f\n\nhorizontal\x18\x12 \x01(\x08\x42\x06\x82\xb2\x19\x02(\x00H\x07\x88\x01\x01\x12\x43\n\x05width\x18\x13 \x01(\x01\x42/\x82\xb2\x19\x0b\n\t\t\xfc\xa9\xf1\xd2Mb\x80?\x8a\xb2\x19\t\t\x00\x00\x00\x00\x00\x00\x00\x00\x8a\xb2\x19\t\x11\x00\x00\x00\x00\x00\x00\xf0?\x8a\xb2\x19\x02\x18\x00H\x08\x88\x01\x01\x12\x44\n\x06height\x18\x14 \x01(\x01\x42/\x82\xb2\x19\x0b\n\t\t\xbaI\x0c\x02+\x87\x96?\x8a\xb2\x19\t\t\x00\x00\x00\x00\x00\x00\x00\x00\x8a\xb2\x19\t\x11\x00\x00\x00\x00\x00\x00\xf0?\x8a\xb2\x19\x02\x18\x00H\t\x88\x01\x01\x1a\x9e\x01\n\x0e\x41nchorLocation\x12?\n\x01x\x18\x01 \x01(\x01\x42/\x82\xb2\x19\x0b\n\t\tq=\n\xd7\xa3p\xed?\x8a\xb2\x19\t\t\x00\x00\x00\x00\x00\x00\x00\x00\x8a\xb2\x19\t\x11\x00\x00\x00\x00\x00\x00\xf0?\x8a\xb2\x19\x02\x18\x00H\x00\x88\x01\x01\x12?\n\x01y\x18\x02 \x01(\x01\x42/\x82\xb2\x19\x0b\n\t\t\xe1z\x14\xaeG\xe1\xda?\x8a\xb2\x19\t\t\x00\x00\x00\x00\x00\x00\x00\x00\x8a\xb2\x19\t\x11\x00\x00\x00\x00\x00\x00\xf0?\x8a\xb2\x19\x02\x18\x00H\x01\x88\x01\x01\x42\x04\n\x02_xB\x04\n\x02_y\x1a\x0b\n\tAutomatic\x1a\x0c\n\nMinMaxOnly\"\xad\x01\n\x11\x41utomaticLocation\x12\"\n\x1e\x41UTOMATIC_LOCATION_UNSPECIFIED\x10\x00\x12\x1c\n\x18\x41UTOMATIC_LOCATION_RIGHT\x10\x01\x12\x1b\n\x17\x41UTOMATIC_LOCATION_LEFT\x10\x02\x12\x1d\n\x19\x41UTOMATIC_LOCATION_BOTTOM\x10\x03\x12\x1a\n\x16\x41UTOMATIC_LOCATION_TOP\x10\x04\x42\n\n\x08locationB\x14\n\x12tick_specificationB\x08\n\x06_rangeB\n\n\x08_visibleB\r\n\x0b_discretizeB\x0b\n\t_n_colorsB\x0c\n\n_text_sizeB\r\n\x0b_horizontalB\x08\n\x06_widthB\t\n\x07_height\"\xbb\x01\n\x05\x43olor\x12+\n\x01r\x18\x01 \x01(\x01\x42 \x8a\xb2\x19\t\t\x00\x00\x00\x00\x00\x00\x00\x00\x8a\xb2\x19\t\x11\x00\x00\x00\x00\x00\x00\xf0?\x8a\xb2\x19\x02\x18\x00\x12+\n\x01g\x18\x02 \x01(\x01\x42 \x8a\xb2\x19\t\t\x00\x00\x00\x00\x00\x00\x00\x00\x8a\xb2\x19\t\x11\x00\x00\x00\x00\x00\x00\xf0?\x8a\xb2\x19\x02\x18\x00\x12+\n\x01\x62\x18\x03 \x01(\x01\x42 \x8a\xb2\x19\t\t\x00\x00\x00\x00\x00\x00\x00\x00\x8a\xb2\x19\t\x11\x00\x00\x00\x00\x00\x00\xf0?\x8a\xb2\x19\x02\x18\x00\x12+\n\x01\x61\x18\x04 \x01(\x01\x42 \x8a\xb2\x19\t\t\x00\x00\x00\x00\x00\x00\x00\x00\x8a\xb2\x19\t\x11\x00\x00\x00\x00\x00\x00\xf0?\x8a\xb2\x19\x02\x18\x00\"e\n\x14\x42\x61\x63kgroundProperties\x12?\n\x05\x63olor\x18\x01 \x01(\x0b\x32..luminary.proto.api.v0.luminarycloud.vis.ColorH\x00\x42\x0c\n\nproperties\";\n\x0fTriadProperties\x12\x1c\n\x07visible\x18\x01 \x01(\x08\x42\x06\x82\xb2\x19\x02(\x01H\x00\x88\x01\x01\x42\n\n\x08_visible\"(\n\x11\x46ilterConnections\x12\x13\n\x0b\x63hildren_id\x18\x01 \x03(\t\">\n\x12\x41xesGridProperties\x12\x1c\n\x07visible\x18\x01 \x01(\x08\x42\x06\x82\xb2\x19\x02(\x00H\x00\x88\x01\x01\x42\n\n\x08_visible\"\x8b\n\n\x0b\x45xtractSpec\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\x12K\n\x0b\x65ntity_type\x18\x03 \x01(\x0b\x32\x36.luminary.proto.api.v0.luminarycloud.vis.ExtractEntity\x12Y\n\x14\x61xes_grid_properties\x18\x04 \x01(\x0b\x32;.luminary.proto.api.v0.luminarycloud.vis.AxesGridProperties\x12@\n\x07\x66ilters\x18\x05 \x03(\x0b\x32/.luminary.proto.api.v0.luminarycloud.vis.Filter\x12g\n\x12\x66ilter_connections\x18\x06 \x03(\x0b\x32K.luminary.proto.api.v0.luminarycloud.vis.ExtractSpec.FilterConnectionsEntry\x12]\n\x19global_display_attributes\x18\x07 \x01(\x0b\x32:.luminary.proto.api.v0.luminarycloud.vis.DisplayAttributes\x12g\n\x12\x64isplay_attributes\x18\x08 \x03(\x0b\x32K.luminary.proto.api.v0.luminarycloud.vis.ExtractSpec.DisplayAttributesEntry\x12\x45\n\ncolor_maps\x18\t \x03(\x0b\x32\x31.luminary.proto.api.v0.luminarycloud.vis.ColorMap\x12Z\n\x14\x61nimation_properties\x18\n \x01(\x0b\x32<.luminary.proto.api.v0.luminarycloud.vis.AnimationProperties\x12R\n\x10triad_properties\x18\x0b \x01(\x0b\x32\x38.luminary.proto.api.v0.luminarycloud.vis.TriadProperties\x12\x61\n\x15\x62\x61\x63kground_properties\x18\x0c \x01(\x0b\x32=.luminary.proto.api.v0.luminarycloud.vis.BackgroundPropertiesH\x00\x88\x01\x01\x12 \n\x13supersampling_ratio\x18\r \x01(\x05H\x01\x88\x01\x01\x12\x16\n\tdata_only\x18\x0e \x01(\x08H\x02\x88\x01\x01\x1at\n\x16\x46ilterConnectionsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12I\n\x05value\x18\x02 \x01(\x0b\x32:.luminary.proto.api.v0.luminarycloud.vis.FilterConnections:\x02\x38\x01\x1at\n\x16\x44isplayAttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12I\n\x05value\x18\x02 \x01(\x0b\x32:.luminary.proto.api.v0.luminarycloud.vis.DisplayAttributes:\x02\x38\x01\x42\x18\n\x16_background_propertiesB\x16\n\x14_supersampling_ratioB\x0c\n\n_data_only\"n\n\x14\x43reateExtractRequest\x12\x12\n\nproject_id\x18\x01 \x01(\t\x12\x42\n\x04spec\x18\x02 \x01(\x0b\x32\x34.luminary.proto.api.v0.luminarycloud.vis.ExtractSpec\"\x9c\x01\n\x07\x45xtract\x12\x12\n\nextract_id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x03 \x01(\t\x12\x12\n\nproject_id\x18\x04 \x01(\t\x12\x46\n\x06status\x18\x05 \x01(\x0e\x32\x36.luminary.proto.api.v0.luminarycloud.vis.ExtractStatus\"\xd5\x01\n\x03\x42ox\x12\x43\n\x06\x63\x65nter\x18\x01 \x01(\x0b\x32\x33.luminary.proto.api.v0.luminarycloud.common.Vector3\x12\x44\n\x07lengths\x18\x02 \x01(\x0b\x32\x33.luminary.proto.api.v0.luminarycloud.common.Vector3\x12\x43\n\x06\x61ngles\x18\x03 \x01(\x0b\x32\x33.luminary.proto.api.v0.luminarycloud.common.Vector3\"\xe9\x01\n\x04\x43lip\x12?\n\x05plane\x18\x01 \x01(\x0b\x32..luminary.proto.api.v0.luminarycloud.vis.PlaneH\x00\x12;\n\x03\x62ox\x18\x02 \x01(\x0b\x32,.luminary.proto.api.v0.luminarycloud.vis.BoxH\x00\x12\x1d\n\x08inverted\x18\x05 \x01(\x08\x42\x06\x82\xb2\x19\x02(\x00H\x01\x88\x01\x01\x12\x1b\n\x06smooth\x18\x06 \x01(\x08\x42\x06\x82\xb2\x19\x02(\x01H\x02\x88\x01\x01\x42\x0f\n\rclip_functionB\x0b\n\t_invertedB\t\n\x07_smooth\"Z\n\x15\x43reateExtractResponse\x12\x41\n\x07\x65xtract\x18\x01 \x01(\x0b\x32\x30.luminary.proto.api.v0.luminarycloud.vis.Extract\"W\n\x12GetExtractResponse\x12\x41\n\x07\x65xtract\x18\x01 \x01(\x0b\x32\x30.luminary.proto.api.v0.luminarycloud.vis.Extract\"\\\n\x16GetExtractSpecResponse\x12\x42\n\x04spec\x18\x01 \x01(\x0b\x32\x34.luminary.proto.api.v0.luminarycloud.vis.ExtractSpec\";\n\x11GetExtractRequest\x12\x12\n\nextract_id\x18\x01 \x01(\t\x12\x12\n\nproject_id\x18\x02 \x01(\t\"@\n\x16\x44ownloadExtractRequest\x12\x12\n\nproject_id\x18\x01 \x01(\t\x12\x12\n\nextract_id\x18\x02 \x01(\t\"Y\n\x06Images\x12?\n\x05\x66iles\x18\x01 \x03(\x0b\x32\x30.luminary.proto.api.v0.luminarycloud.common.File\x12\x0e\n\x06labels\x18\x02 \x03(\t\"\x9f\x01\n\x17\x44ownloadExtractResponse\x12?\n\x06images\x18\x01 \x01(\x0b\x32/.luminary.proto.api.v0.luminarycloud.vis.Images\x12\x43\n\tline_data\x18\x02 \x01(\x0b\x32\x30.luminary.proto.api.v0.luminarycloud.common.File\"\x84\x01\n\x13ListExtractsRequest\x12\x12\n\nproject_id\x18\x01 \x01(\t\x12\x46\n\x06\x65ntity\x18\x02 \x01(\x0b\x32\x36.luminary.proto.api.v0.luminarycloud.vis.ExtractEntity\x12\x11\n\tdata_only\x18\x03 \x01(\x08\"Z\n\x14ListExtractsResponse\x12\x42\n\x08\x65xtracts\x18\x01 \x03(\x0b\x32\x30.luminary.proto.api.v0.luminarycloud.vis.Extract\">\n\x14\x44\x65leteExtractRequest\x12\x12\n\nextract_id\x18\x01 \x01(\t\x12\x12\n\nproject_id\x18\x02 \x01(\t\"\x17\n\x15\x44\x65leteExtractResponse\"\xa4\x03\n\x18GetRenderDataUrlsRequest\x12\x12\n\nproject_id\x18\x01 \x01(\t\x12\x46\n\x06\x65ntity\x18\x02 \x01(\x0b\x32\x36.luminary.proto.api.v0.luminarycloud.vis.ExtractEntity\x12@\n\x07\x66ilters\x18\x03 \x03(\x0b\x32/.luminary.proto.api.v0.luminarycloud.vis.Filter\x12t\n\x12\x66ilter_connections\x18\x04 \x03(\x0b\x32X.luminary.proto.api.v0.luminarycloud.vis.GetRenderDataUrlsRequest.FilterConnectionsEntry\x1at\n\x16\x46ilterConnectionsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12I\n\x05value\x18\x02 \x01(\x0b\x32:.luminary.proto.api.v0.luminarycloud.vis.FilterConnections:\x02\x38\x01\"j\n\x0eRenderDataUrls\x12\x12\n\nfilter_ids\x18\x01 \x03(\t\x12\x44\n\ndata_files\x18\x03 \x03(\x0b\x32\x30.luminary.proto.api.v0.luminarycloud.common.File\"\xa2\x01\n\x19GetRenderDataUrlsResponse\x12\x1c\n\x0fworkspace_state\x18\x01 \x01(\tH\x00\x88\x01\x01\x12J\n\x04urls\x18\x02 \x01(\x0b\x32\x37.luminary.proto.api.v0.luminarycloud.vis.RenderDataUrlsH\x01\x88\x01\x01\x42\x12\n\x10_workspace_stateB\x07\n\x05_urls\"~\n\x19ListSolutionFieldsRequest\x12M\n\nsimulation\x18\x01 \x01(\x0b\x32\x39.luminary.proto.api.v0.luminarycloud.vis.SimulationEntity\x12\x12\n\nproject_id\x18\x02 \x01(\t\"T\n\x17ListSolutionFieldsReply\x12\x39\n\nquantities\x18\x01 \x03(\x0e\x32%.luminary.proto.quantity.QuantityType\".\n\x0b\x43\x61meraEntry\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x11\n\tcamera_id\x18\x02 \x01(\x03\"(\n\x12ListCamerasRequest\x12\x12\n\nproject_id\x18\x01 \x01(\t\"X\n\x10ListCamerasReply\x12\x44\n\x06\x63\x61mera\x18\x01 \x03(\x0b\x32\x34.luminary.proto.api.v0.luminarycloud.vis.CameraEntry\"n\n\x10GetCameraRequest\x12\x11\n\tcamera_id\x18\x01 \x01(\x03\x12G\n\nresolution\x18\x02 \x01(\x0b\x32\x33.luminary.proto.api.v0.luminarycloud.vis.Resolution\"Q\n\x0eGetCameraReply\x12?\n\x06\x63\x61mera\x18\x01 \x01(\x0b\x32/.luminary.proto.api.v0.luminarycloud.vis.Camera\"\x9e\x03\n\x0fLineDataExtract\x12R\n\x05lines\x18\x01 \x03(\x0b\x32\x43.luminary.proto.api.v0.luminarycloud.vis.LineDataExtract.LinesEntry\x12T\n\x06labels\x18\x02 \x03(\x0b\x32\x44.luminary.proto.api.v0.luminarycloud.vis.LineDataExtract.LabelsEntry\x1a\x44\n\x05Table\x12;\n\x0blines_table\x18\x01 \x03(\x0b\x32&.luminary.proto.table.RectilinearTable\x1al\n\nLinesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12M\n\x05value\x18\x02 \x01(\x0b\x32>.luminary.proto.api.v0.luminarycloud.vis.LineDataExtract.Table:\x02\x38\x01\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"h\n\x0bRangeEntity\x12O\n\nsimulation\x18\x01 \x01(\x0b\x32\x39.luminary.proto.api.v0.luminarycloud.vis.SimulationEntityH\x00\x42\x08\n\x06\x65ntity\"\xe8\x01\n\x11RangeQueryRequest\x12\x12\n\nproject_id\x18\x01 \x01(\t\x12\x44\n\x06\x65ntity\x18\x02 \x01(\x0b\x32\x34.luminary.proto.api.v0.luminarycloud.vis.RangeEntity\x12T\n\x11\x66ield_association\x18\x03 \x01(\x0e\x32\x39.luminary.proto.api.v0.luminarycloud.vis.FieldAssociation\x12#\n\x13include_only_volume\x18\x04 \x01(\x08\x42\x06\x82\xb2\x19\x02(\x00\"\x99\x01\n\x0bRangeResult\x12=\n\x05range\x18\x01 \x03(\x0b\x32..luminary.proto.api.v0.luminarycloud.vis.Range\x12\x37\n\x08quantity\x18\x02 \x01(\x0e\x32%.luminary.proto.quantity.QuantityType\x12\x12\n\nfield_name\x18\x03 \x01(\t\"V\n\x0fRangeQueryReply\x12\x43\n\x05range\x18\x01 \x03(\x0b\x32\x34.luminary.proto.api.v0.luminarycloud.vis.RangeResult*\x82\x01\n\x0f\x43\x61meraDirection\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x0e\n\nX_POSITIVE\x10\x01\x12\x0e\n\nY_POSITIVE\x10\x02\x12\x0e\n\nZ_POSITIVE\x10\x03\x12\x0e\n\nX_NEGATIVE\x10\x04\x12\x0e\n\nY_NEGATIVE\x10\x05\x12\x0e\n\nZ_NEGATIVE\x10\x06*5\n\x10\x43\x61meraProjection\x12\x10\n\x0cORTHOGRAPHIC\x10\x00\x12\x0f\n\x0bPERSPECTIVE\x10\x01*P\n\x0eRepresentation\x12\x0b\n\x07SURFACE\x10\x00\x12\x16\n\x12SURFACE_WITH_EDGES\x10\x01\x12\r\n\tWIREFRAME\x10\x02\x12\n\n\x06POINTS\x10\x03*\xa4\x01\n\x14StreamlinesDirection\x12%\n!STREAMLINES_DIRECTION_UNSPECIFIED\x10\x00\x12!\n\x1dSTREAMLINES_DIRECTION_FORWARD\x10\x01\x12\"\n\x1eSTREAMLINES_DIRECTION_BACKWARD\x10\x02\x12\x1e\n\x1aSTREAMLINES_DIRECTION_BOTH\x10\x03*[\n\x11GlyphSamplingMode\x12#\n\x1fGLYPH_SAMPLING_MODE_UNSPECIFIED\x10\x00\x12!\n\x1dGLYPH_SAMPLING_MODE_EVERY_NTH\x10\x01*\xea\x01\n\x0c\x43olorMapName\x12\x1e\n\x1a\x43OLOR_MAP_NAME_UNSPECIFIED\x10\x00\x12\x1a\n\x16\x43OLOR_MAP_NAME_VIRIDIS\x10\x01\x12\x1f\n\x1b\x43OLOR_MAP_NAME_COOL_TO_WARM\x10\x02\x12\x18\n\x14\x43OLOR_MAP_NAME_TURBO\x10\x03\x12\x16\n\x12\x43OLOR_MAP_NAME_JET\x10\x04\x12\x17\n\x13\x43OLOR_MAP_NAME_WAVE\x10\x05\x12\x17\n\x13\x43OLOR_MAP_NAME_XRAY\x10\x06\x12\x19\n\x15\x43OLOR_MAP_NAME_PLASMA\x10\x07*C\n\rExtractStatus\x12\x0b\n\x07Invalid\x10\x00\x12\n\n\x06\x41\x63tive\x10\x01\x12\r\n\tCompleted\x10\x02\x12\n\n\x06\x46\x61iled\x10\x03*h\n\x14RenderDataUrlsStatus\x12\x19\n\x15RenderDataUrlsInvalid\x10\x00\x12\x1b\n\x17RenderDataUrlsCompleted\x10\x02\x12\x18\n\x14RenderDataUrlsFailed\x10\x03*p\n\x10\x46ieldAssociation\x12!\n\x1d\x46IELD_ASSOCIATION_UNSPECIFIED\x10\x00\x12\x1b\n\x17\x46IELD_ASSOCIATION_CELLS\x10\x01\x12\x1c\n\x18\x46IELD_ASSOCIATION_POINTS\x10\x02\x32\xcd\x0c\n\rVisAPIService\x12\x90\x01\n\rCreateExtract\x12=.luminary.proto.api.v0.luminarycloud.vis.CreateExtractRequest\x1a>.luminary.proto.api.v0.luminarycloud.vis.CreateExtractResponse\"\x00\x12\x87\x01\n\nGetExtract\x12:.luminary.proto.api.v0.luminarycloud.vis.GetExtractRequest\x1a;.luminary.proto.api.v0.luminarycloud.vis.GetExtractResponse\"\x00\x12\x8f\x01\n\x0eGetExtractSpec\x12:.luminary.proto.api.v0.luminarycloud.vis.GetExtractRequest\x1a?.luminary.proto.api.v0.luminarycloud.vis.GetExtractSpecResponse\"\x00\x12\x96\x01\n\x0f\x44ownloadExtract\x12?.luminary.proto.api.v0.luminarycloud.vis.DownloadExtractRequest\x1a@.luminary.proto.api.v0.luminarycloud.vis.DownloadExtractResponse\"\x00\x12\x8d\x01\n\x0cListExtracts\x12<.luminary.proto.api.v0.luminarycloud.vis.ListExtractsRequest\x1a=.luminary.proto.api.v0.luminarycloud.vis.ListExtractsResponse\"\x00\x12\x90\x01\n\rDeleteExtract\x12=.luminary.proto.api.v0.luminarycloud.vis.DeleteExtractRequest\x1a>.luminary.proto.api.v0.luminarycloud.vis.DeleteExtractResponse\"\x00\x12\x9c\x01\n\x11GetRenderDataUrls\x12\x41.luminary.proto.api.v0.luminarycloud.vis.GetRenderDataUrlsRequest\x1a\x42.luminary.proto.api.v0.luminarycloud.vis.GetRenderDataUrlsResponse\"\x00\x12\x9c\x01\n\x12ListSolutionFields\x12\x42.luminary.proto.api.v0.luminarycloud.vis.ListSolutionFieldsRequest\x1a@.luminary.proto.api.v0.luminarycloud.vis.ListSolutionFieldsReply\"\x00\x12\x87\x01\n\x0bListCameras\x12;.luminary.proto.api.v0.luminarycloud.vis.ListCamerasRequest\x1a\x39.luminary.proto.api.v0.luminarycloud.vis.ListCamerasReply\"\x00\x12\x81\x01\n\tGetCamera\x12\x39.luminary.proto.api.v0.luminarycloud.vis.GetCameraRequest\x1a\x37.luminary.proto.api.v0.luminarycloud.vis.GetCameraReply\"\x00\x12\x84\x01\n\nRangeQuery\x12:.luminary.proto.api.v0.luminarycloud.vis.RangeQueryRequest\x1a\x38.luminary.proto.api.v0.luminarycloud.vis.RangeQueryReply\"\x00\x42\x37Z5luminarycloud.com/core/proto/api/v0/luminarycloud/visb\x06proto3')
23
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n(proto/api/v0/luminarycloud/vis/vis.proto\x12\'luminary.proto.api.v0.luminarycloud.vis\x1a\x1cgoogle/api/annotations.proto\x1a\x1bproto/options/options.proto\x1a\x1dproto/quantity/quantity.proto\x1a\x17proto/table/table.proto\x1a.proto/api/v0/luminarycloud/common/common.proto\"=\n\x03Pan\x12\x1a\n\x01x\x18\x01 \x01(\x01\x42\x0f\x82\xb2\x19\x0b\n\t\t\x00\x00\x00\x00\x00\x00\x00\x00\x12\x1a\n\x01y\x18\x02 \x01(\x01\x42\x0f\x82\xb2\x19\x0b\n\t\t\x00\x00\x00\x00\x00\x00\x00\x00\"\xa4\x02\n\x0c\x43\x61meraLookAt\x12\x45\n\x08position\x18\x01 \x01(\x0b\x32\x33.luminary.proto.api.v0.luminarycloud.common.Vector3\x12\x44\n\x07look_at\x18\x02 \x01(\x0b\x32\x33.luminary.proto.api.v0.luminarycloud.common.Vector3\x12?\n\x02up\x18\x03 \x01(\x0b\x32\x33.luminary.proto.api.v0.luminarycloud.common.Vector3\x12>\n\x03pan\x18\x04 \x01(\x0b\x32,.luminary.proto.api.v0.luminarycloud.vis.PanH\x00\x88\x01\x01\x42\x06\n\x04_pan\"}\n\nResolution\x12\x36\n\x05width\x18\x01 \x01(\x05\x42\'\x82\xb2\x19\x03\x30\x80\x0f\x8a\xb2\x19\t\t\x00\x00\x00\x00\x00\x00Y@\x8a\xb2\x19\t\x11\x00\x00\x00\x00\x00\x00\xb0@\x8a\xb2\x19\x02\x18\x00\x12\x37\n\x06height\x18\x02 \x01(\x05\x42\'\x82\xb2\x19\x03\x30\xb8\x08\x8a\xb2\x19\t\t\x00\x00\x00\x00\x00\x00Y@\x8a\xb2\x19\t\x11\x00\x00\x00\x00\x00\x00\xb0@\x8a\xb2\x19\x02\x18\x00\"\xde\x02\n\x06\x43\x61mera\x12U\n\nprojection\x18\x01 \x01(\x0e\x32\x39.luminary.proto.api.v0.luminarycloud.vis.CameraProjectionB\x06\x82\xb2\x19\x02 \x02\x12U\n\tdirection\x18\x02 \x01(\x0e\x32\x38.luminary.proto.api.v0.luminarycloud.vis.CameraDirectionB\x06\x82\xb2\x19\x02 \x03H\x00\x12H\n\x07look_at\x18\x03 \x01(\x0b\x32\x35.luminary.proto.api.v0.luminarycloud.vis.CameraLookAtH\x00\x12\x42\n\x04zoom\x18\x04 \x01(\x01\x42/\x82\xb2\x19\x0b\n\t\t\x00\x00\x00\x00\x00\x00\xf0?\x8a\xb2\x19\t\t\x00\x00\x00\x00\x00\x00\x00\x00\x8a\xb2\x19\t\x11\x00\x00\x00\x00\x00\x00\xf0?\x8a\xb2\x19\x02\x18\x00H\x01\x88\x01\x01\x42\x0f\n\rspecificationB\x07\n\x05_zoom\"\xb2\x01\n\x17\x41nimationSettingsStatic\x12?\n\x06\x63\x61mera\x18\x01 \x01(\x0b\x32/.luminary.proto.api.v0.luminarycloud.vis.Camera\x12G\n\nresolution\x18\x02 \x01(\x0b\x32\x33.luminary.proto.api.v0.luminarycloud.vis.Resolution\x12\r\n\x05label\x18\x03 \x01(\t\"\xee\x02\n\x19\x41nimationSettingsTimeStep\x12?\n\x06\x63\x61mera\x18\x01 \x01(\x0b\x32/.luminary.proto.api.v0.luminarycloud.vis.Camera\x12G\n\nresolution\x18\x04 \x01(\x0b\x32\x33.luminary.proto.api.v0.luminarycloud.vis.Resolution\x12\x61\n\x06\x66ormat\x18\x05 \x01(\x0e\x32I.luminary.proto.api.v0.luminarycloud.vis.AnimationSettingsTimeStep.FormatB\x06\x82\xb2\x19\x02 \x02\x12\x13\n\x0bskip_frames\x18\x06 \x01(\x05\x12\r\n\x05label\x18\x07 \x01(\t\"@\n\x06\x46ormat\x12\x16\n\x12\x46ORMAT_UNSPECIFIED\x10\x00\x12\x0e\n\nFORMAT_GIF\x10\x01\x12\x0e\n\nFORMAT_MP4\x10\x02\"a\n\x0eStaticSettings\x12O\n\x05items\x18\x01 \x03(\x0b\x32@.luminary.proto.api.v0.luminarycloud.vis.AnimationSettingsStatic\"e\n\x10TimeStepSettings\x12Q\n\x05items\x18\x01 \x03(\x0b\x32\x42.luminary.proto.api.v0.luminarycloud.vis.AnimationSettingsTimeStep\"\xbe\x01\n\x13\x41nimationProperties\x12J\n\x07statics\x18\x01 \x01(\x0b\x32\x37.luminary.proto.api.v0.luminarycloud.vis.StaticSettingsH\x00\x12O\n\ntime_steps\x18\x02 \x01(\x0b\x32\x39.luminary.proto.api.v0.luminarycloud.vis.TimeStepSettingsH\x00\x42\n\n\x08settings\"\x8e\x02\n\x05\x46ield\x12;\n\x0cquantity_typ\x18\x01 \x01(\x0e\x32%.luminary.proto.quantity.QuantityType\x12K\n\tcomponent\x18\x02 \x01(\x0e\x32\x38.luminary.proto.api.v0.luminarycloud.vis.Field.Component\"{\n\tComponent\x12\x19\n\x15\x43OMPONENT_UNSPECIFIED\x10\x00\x12\x0f\n\x0b\x43OMPONENT_X\x10\x01\x12\x0f\n\x0b\x43OMPONENT_Y\x10\x02\x12\x0f\n\x0b\x43OMPONENT_Z\x10\x03\x12 \n\x13\x43OMPONENT_MAGNITUDE\x10\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\"\xe7\x01\n\x11\x44isplayAttributes\x12=\n\x05\x66ield\x18\x01 \x01(\x0b\x32..luminary.proto.api.v0.luminarycloud.vis.Field\x12\x14\n\x07visible\x18\x02 \x01(\x08H\x00\x88\x01\x01\x12O\n\x0erepresentation\x18\x03 \x01(\x0e\x32\x37.luminary.proto.api.v0.luminarycloud.vis.Representation\x12\x14\n\x07opacity\x18\x04 \x01(\x01H\x01\x88\x01\x01\x42\n\n\x08_visibleB\n\n\x08_opacity\"\x91\x01\n\x05Plane\x12\x43\n\x06origin\x18\x01 \x01(\x0b\x32\x33.luminary.proto.api.v0.luminarycloud.common.Vector3\x12\x43\n\x06normal\x18\x02 \x01(\x0b\x32\x33.luminary.proto.api.v0.luminarycloud.common.Vector3\"\x8a\x01\n\x04\x41\x41\x42\x42\x12@\n\x03min\x18\x01 \x01(\x0b\x32\x33.luminary.proto.api.v0.luminarycloud.common.Vector3\x12@\n\x03max\x18\x02 \x01(\x0b\x32\x33.luminary.proto.api.v0.luminarycloud.common.Vector3\"_\n\x05Slice\x12=\n\x05plane\x18\x01 \x01(\x0b\x32..luminary.proto.api.v0.luminarycloud.vis.Plane\x12\x17\n\x0fproject_vectors\x18\x02 \x01(\x08\"\xfa\x01\n\nMultiSlice\x12K\n\x0estart_position\x18\x01 \x01(\x0b\x32\x33.luminary.proto.api.v0.luminarycloud.common.Vector3\x12I\n\x0c\x65nd_position\x18\x02 \x01(\x0b\x32\x33.luminary.proto.api.v0.luminarycloud.common.Vector3\x12\x15\n\x08n_slices\x18\x03 \x01(\x05H\x00\x88\x01\x01\x12\x1c\n\x0fproject_vectors\x18\x04 \x01(\x08H\x01\x88\x01\x01\x42\x0b\n\t_n_slicesB\x12\n\x10_project_vectors\"\\\n\x07\x43ontour\x12=\n\x05\x66ield\x18\x01 \x01(\x0b\x32..luminary.proto.api.v0.luminarycloud.vis.Field\x12\x12\n\niso_values\x18\x02 \x03(\x01\"\x81\x02\n\tThreshold\x12=\n\x05\x66ield\x18\x01 \x01(\x0b\x32..luminary.proto.api.v0.luminarycloud.vis.Field\x12=\n\x05range\x18\x02 \x01(\x0b\x32..luminary.proto.api.v0.luminarycloud.vis.Range\x12\x1b\n\x06smooth\x18\x03 \x01(\x08\x42\x06\x82\xb2\x19\x02(\x01H\x00\x88\x01\x01\x12\x1b\n\x06invert\x18\x04 \x01(\x08\x42\x06\x82\xb2\x19\x02(\x00H\x01\x88\x01\x01\x12\x1b\n\x06strict\x18\x05 \x01(\x08\x42\x06\x82\xb2\x19\x02(\x00H\x02\x88\x01\x01\x42\t\n\x07_smoothB\t\n\x07_invertB\t\n\x07_strict\"\x96\x01\n\x0eSeedRakeConfig\x12\x42\n\x05start\x18\x01 \x01(\x0b\x32\x33.luminary.proto.api.v0.luminarycloud.common.Vector3\x12@\n\x03\x65nd\x18\x02 \x01(\x0b\x32\x33.luminary.proto.api.v0.luminarycloud.common.Vector3\"\xed\x01\n\x11SeedSurfaceConfig\x12$\n\x06offset\x18\x01 \x01(\x01\x42\x0f\x82\xb2\x19\x0b\n\t\t\x00\x00\x00\x00\x00\x00\x00\x00H\x00\x88\x01\x01\x12\'\n\x12project_on_surface\x18\x02 \x01(\x08\x42\x06\x82\xb2\x19\x02(\x00H\x01\x88\x01\x01\x12@\n\x0bsample_rate\x18\x03 \x01(\x05\x42&\x82\xb2\x19\x02\x30\n\x8a\xb2\x19\t\t\x00\x00\x00\x00\x00\x00\xf0?\x8a\xb2\x19\t\x11\x00\x00\x00\x00\x00@\x8f@\x8a\xb2\x19\x02\x18\x00H\x02\x88\x01\x01\x12\x15\n\rsurface_names\x18\x04 \x03(\tB\t\n\x07_offsetB\x15\n\x13_project_on_surfaceB\x0e\n\x0c_sample_rate\"\xcd\x03\n\x0eSeedGridConfig\x12=\n\x08rake_res\x18\x01 \x01(\x05\x42&\x82\xb2\x19\x02\x30\x02\x8a\xb2\x19\t\t\x00\x00\x00\x00\x00\x00\xf0?\x8a\xb2\x19\t\x11\x00\x00\x00\x00\x00@\x8f@\x8a\xb2\x19\x02\x18\x00H\x00\x88\x01\x01\x12=\n\x08seed_res\x18\x02 \x01(\x05\x42&\x82\xb2\x19\x02\x30\n\x8a\xb2\x19\t\t\x00\x00\x00\x00\x00\x00\xf0?\x8a\xb2\x19\t\x11\x00\x00\x00\x00\x00@\x8f@\x8a\xb2\x19\x02\x18\x00H\x01\x88\x01\x01\x12\x19\n\x0cseed_spacing\x18\x03 \x01(\x01H\x02\x88\x01\x01\x12\x19\n\x0crake_spacing\x18\x04 \x01(\x01H\x03\x88\x01\x01\x12\x43\n\x06\x63\x65nter\x18\x05 \x01(\x0b\x32\x33.luminary.proto.api.v0.luminarycloud.common.Vector3\x12\x42\n\x05u_vec\x18\x06 \x01(\x0b\x32\x33.luminary.proto.api.v0.luminarycloud.common.Vector3\x12\x42\n\x05v_vec\x18\x07 \x01(\x0b\x32\x33.luminary.proto.api.v0.luminarycloud.common.Vector3B\x0b\n\t_rake_resB\x0b\n\t_seed_resB\x0f\n\r_seed_spacingB\x0f\n\r_rake_spacing\"\x92\x04\n\x0bStreamlines\x12G\n\x04rake\x18\x01 \x01(\x0b\x32\x37.luminary.proto.api.v0.luminarycloud.vis.SeedRakeConfigH\x00\x12M\n\x07surface\x18\x02 \x01(\x0b\x32:.luminary.proto.api.v0.luminarycloud.vis.SeedSurfaceConfigH\x00\x12G\n\x04grid\x18\x03 \x01(\x0b\x32\x37.luminary.proto.api.v0.luminarycloud.vis.SeedGridConfigH\x00\x12\x42\n\rn_streamlines\x18\x04 \x01(\x05\x42&\x82\xb2\x19\x02\x30\x64\x8a\xb2\x19\t\t\x00\x00\x00\x00\x00\x00\xf0?\x8a\xb2\x19\t\x11\x00\x00\x00\x00\x00@\x8f@\x8a\xb2\x19\x02\x18\x00H\x01\x88\x01\x01\x12\x17\n\nmax_length\x18\x05 \x01(\x01H\x02\x88\x01\x01\x12X\n\tdirection\x18\x06 \x01(\x0e\x32=.luminary.proto.api.v0.luminarycloud.vis.StreamlinesDirectionB\x06\x82\xb2\x19\x02 \x01\x12=\n\x05\x66ield\x18\x07 \x01(\x0b\x32..luminary.proto.api.v0.luminarycloud.vis.FieldB\x0b\n\tseed_typeB\x10\n\x0e_n_streamlinesB\r\n\x0b_max_length\"\xb4\x02\n\x05Glyph\x12=\n\x05\x66ield\x18\x01 \x01(\x0b\x32..luminary.proto.api.v0.luminarycloud.vis.Field\x12=\n\x08n_glyphs\x18\x02 \x01(\x05\x42&\x82\xb2\x19\x02\x30\x64\x8a\xb2\x19\t\t\x00\x00\x00\x00\x00\x00\xf0?\x8a\xb2\x19\t\x11\x00\x00\x00\x00\x00@\x8f@\x8a\xb2\x19\x02\x18\x00H\x01\x88\x01\x01\x12Y\n\rsampling_mode\x18\x03 \x01(\x0e\x32:.luminary.proto.api.v0.luminarycloud.vis.GlyphSamplingModeB\x06\x82\xb2\x19\x02 \x01\x12\x1b\n\x11\x66ixed_size_glyphs\x18\x04 \x01(\x01H\x00\x12\x1a\n\x10glyph_scale_size\x18\x05 \x01(\x01H\x00\x42\x0c\n\nglyph_sizeB\x0b\n\t_n_glyphs\"+\n\x12SurfaceLICGeomtery\x12\x15\n\rsurface_names\x18\x01 \x03(\t\"\x91\x01\n\x0fSurfaceLICPlane\x12=\n\x05plane\x18\x01 \x01(\x0b\x32..luminary.proto.api.v0.luminarycloud.vis.Plane\x12?\n\x08\x63lip_box\x18\x02 \x01(\x0b\x32-.luminary.proto.api.v0.luminarycloud.vis.AABB\"\xb6\x02\n\nSurfaceLIC\x12=\n\x05\x66ield\x18\x01 \x01(\x0b\x32..luminary.proto.api.v0.luminarycloud.vis.Field\x12O\n\x08geometry\x18\x02 \x01(\x0b\x32;.luminary.proto.api.v0.luminarycloud.vis.SurfaceLICGeomteryH\x00\x12I\n\x05plane\x18\x03 \x01(\x0b\x32\x38.luminary.proto.api.v0.luminarycloud.vis.SurfaceLICPlaneH\x00\x12\x41\n\x08\x63ontrast\x18\x04 \x01(\x01\x42/\x82\xb2\x19\x0b\n\t\t\x00\x00\x00\x00\x00\x00\xf0?\x8a\xb2\x19\t\t\x9a\x99\x99\x99\x99\x99\xc9?\x8a\xb2\x19\t\x11\x00\x00\x00\x00\x00\x00\x08@\x8a\xb2\x19\x02\x18\x00\x42\n\n\x08lic_type\"s\n\x11IntersectionCurve\x12=\n\x05plane\x18\x01 \x01(\x0b\x32..luminary.proto.api.v0.luminarycloud.vis.Plane\x12\x10\n\x08surfaces\x18\x02 \x03(\t\x12\r\n\x05label\x18\x03 \x01(\t\"\x1a\n\x18LineSampleMeshResolution\"\x8e\x02\n\nLineSample\x12\x42\n\x05start\x18\x01 \x01(\x0b\x32\x33.luminary.proto.api.v0.luminarycloud.common.Vector3\x12@\n\x03\x65nd\x18\x02 \x01(\x0b\x32\x33.luminary.proto.api.v0.luminarycloud.common.Vector3\x12\r\n\x05label\x18\x03 \x01(\t\x12\\\n\x0fmesh_resolution\x18\x04 \x01(\x0b\x32\x41.luminary.proto.api.v0.luminarycloud.vis.LineSampleMeshResolutionH\x00\x42\r\n\x0bsample_type\"\x85\x06\n\x06\x46ilter\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12?\n\x05slice\x18\x03 \x01(\x0b\x32..luminary.proto.api.v0.luminarycloud.vis.SliceH\x00\x12=\n\x04\x63lip\x18\x04 \x01(\x0b\x32-.luminary.proto.api.v0.luminarycloud.vis.ClipH\x00\x12\x43\n\x07\x63ontour\x18\x05 \x01(\x0b\x32\x30.luminary.proto.api.v0.luminarycloud.vis.ContourH\x00\x12G\n\tthreshold\x18\x07 \x01(\x0b\x32\x32.luminary.proto.api.v0.luminarycloud.vis.ThresholdH\x00\x12K\n\x0bstreamlines\x18\x08 \x01(\x0b\x32\x34.luminary.proto.api.v0.luminarycloud.vis.StreamlinesH\x00\x12?\n\x05glyph\x18\t \x01(\x0b\x32..luminary.proto.api.v0.luminarycloud.vis.GlyphH\x00\x12J\n\x0bsurface_lic\x18\n \x01(\x0b\x32\x33.luminary.proto.api.v0.luminarycloud.vis.SurfaceLICH\x00\x12X\n\x12intersection_curve\x18\x0b \x01(\x0b\x32:.luminary.proto.api.v0.luminarycloud.vis.IntersectionCurveH\x00\x12J\n\x0bline_sample\x18\x0c \x01(\x0b\x32\x33.luminary.proto.api.v0.luminarycloud.vis.LineSampleH\x00\x12J\n\x0bmulti_slice\x18\r \x01(\x0b\x32\x33.luminary.proto.api.v0.luminarycloud.vis.MultiSliceH\x00\x42\x07\n\x05value\"\x18\n\nMeshEntity\x12\n\n\x02id\x18\x01 \x01(\t\"3\n\x10SimulationEntity\x12\n\n\x02id\x18\x01 \x01(\t\x12\x13\n\x0bsolution_id\x18\x02 \x01(\t\"9\n\x0eGeometryEntity\x12\n\n\x02id\x18\x01 \x01(\t\x12\x1b\n\x13geometry_version_id\x18\x02 \x01(\t\"\xfc\x01\n\rExtractEntity\x12\x43\n\x04mesh\x18\x01 \x01(\x0b\x32\x33.luminary.proto.api.v0.luminarycloud.vis.MeshEntityH\x00\x12O\n\nsimulation\x18\x02 \x01(\x0b\x32\x39.luminary.proto.api.v0.luminarycloud.vis.SimulationEntityH\x00\x12K\n\x08geometry\x18\x03 \x01(\x0b\x32\x37.luminary.proto.api.v0.luminarycloud.vis.GeometryEntityH\x00\x42\x08\n\x06\x65ntity\"!\n\x05Range\x12\x0b\n\x03min\x18\x01 \x01(\x01\x12\x0b\n\x03max\x18\x02 \x01(\x01\"\xc4\x0b\n\x08\x43olorMap\x12=\n\x05\x66ield\x18\x01 \x01(\x0b\x32..luminary.proto.api.v0.luminarycloud.vis.Field\x12K\n\x04name\x18\x02 \x01(\x0e\x32\x35.luminary.proto.api.v0.luminarycloud.vis.ColorMapNameB\x06\x82\xb2\x19\x02 \x03\x12\x42\n\x05range\x18\x03 \x01(\x0b\x32..luminary.proto.api.v0.luminarycloud.vis.RangeH\x02\x88\x01\x01\x12\x1c\n\x07visible\x18\x04 \x01(\x08\x42\x06\x82\xb2\x19\x02(\x01H\x03\x88\x01\x01\x12\x1f\n\ndiscretize\x18\x05 \x01(\x08\x42\x06\x82\xb2\x19\x02(\x00H\x04\x88\x01\x01\x12=\n\x08n_colors\x18\x06 \x01(\x05\x42&\x82\xb2\x19\x02\x30\x08\x8a\xb2\x19\t\t\x00\x00\x00\x00\x00\x00\x00@\x8a\xb2\x19\t\x11\x00\x00\x00\x00\x00\x00p@\x8a\xb2\x19\x02\x18\x00H\x05\x88\x01\x01\x12i\n\x12\x61utomatic_location\x18\x07 \x01(\x0e\x32\x43.luminary.proto.api.v0.luminarycloud.vis.ColorMap.AutomaticLocationB\x06\x82\xb2\x19\x02 \x01H\x00\x12\x66\n\x1alower_left_anchor_location\x18\x08 \x01(\x0b\x32@.luminary.proto.api.v0.luminarycloud.vis.ColorMap.AnchorLocationH\x00\x12U\n\x0e\x61utomatic_tick\x18\n \x01(\x0b\x32;.luminary.proto.api.v0.luminarycloud.vis.ColorMap.AutomaticH\x01\x12Y\n\x11min_max_only_tick\x18\x0b \x01(\x0b\x32<.luminary.proto.api.v0.luminarycloud.vis.ColorMap.MinMaxOnlyH\x01\x12G\n\ttext_size\x18\x11 \x01(\x01\x42/\x82\xb2\x19\x0b\n\t\t\x00\x00\x00\x00\x00\x00\x42@\x8a\xb2\x19\t\t\x00\x00\x00\x00\x00\x00\x00\x00\x8a\xb2\x19\t\x11\x00\x00\x00\x00\x00\x00Y@\x8a\xb2\x19\x02\x18\x00H\x06\x88\x01\x01\x12\x1f\n\nhorizontal\x18\x12 \x01(\x08\x42\x06\x82\xb2\x19\x02(\x00H\x07\x88\x01\x01\x12\x43\n\x05width\x18\x13 \x01(\x01\x42/\x82\xb2\x19\x0b\n\t\t\xfc\xa9\xf1\xd2Mb\x80?\x8a\xb2\x19\t\t\x00\x00\x00\x00\x00\x00\x00\x00\x8a\xb2\x19\t\x11\x00\x00\x00\x00\x00\x00\xf0?\x8a\xb2\x19\x02\x18\x00H\x08\x88\x01\x01\x12\x44\n\x06height\x18\x14 \x01(\x01\x42/\x82\xb2\x19\x0b\n\t\t\xbaI\x0c\x02+\x87\x96?\x8a\xb2\x19\t\t\x00\x00\x00\x00\x00\x00\x00\x00\x8a\xb2\x19\t\x11\x00\x00\x00\x00\x00\x00\xf0?\x8a\xb2\x19\x02\x18\x00H\t\x88\x01\x01\x1a\x9e\x01\n\x0e\x41nchorLocation\x12?\n\x01x\x18\x01 \x01(\x01\x42/\x82\xb2\x19\x0b\n\t\tq=\n\xd7\xa3p\xed?\x8a\xb2\x19\t\t\x00\x00\x00\x00\x00\x00\x00\x00\x8a\xb2\x19\t\x11\x00\x00\x00\x00\x00\x00\xf0?\x8a\xb2\x19\x02\x18\x00H\x00\x88\x01\x01\x12?\n\x01y\x18\x02 \x01(\x01\x42/\x82\xb2\x19\x0b\n\t\t\xe1z\x14\xaeG\xe1\xda?\x8a\xb2\x19\t\t\x00\x00\x00\x00\x00\x00\x00\x00\x8a\xb2\x19\t\x11\x00\x00\x00\x00\x00\x00\xf0?\x8a\xb2\x19\x02\x18\x00H\x01\x88\x01\x01\x42\x04\n\x02_xB\x04\n\x02_y\x1a\x0b\n\tAutomatic\x1a\x0c\n\nMinMaxOnly\"\xad\x01\n\x11\x41utomaticLocation\x12\"\n\x1e\x41UTOMATIC_LOCATION_UNSPECIFIED\x10\x00\x12\x1c\n\x18\x41UTOMATIC_LOCATION_RIGHT\x10\x01\x12\x1b\n\x17\x41UTOMATIC_LOCATION_LEFT\x10\x02\x12\x1d\n\x19\x41UTOMATIC_LOCATION_BOTTOM\x10\x03\x12\x1a\n\x16\x41UTOMATIC_LOCATION_TOP\x10\x04\x42\n\n\x08locationB\x14\n\x12tick_specificationB\x08\n\x06_rangeB\n\n\x08_visibleB\r\n\x0b_discretizeB\x0b\n\t_n_colorsB\x0c\n\n_text_sizeB\r\n\x0b_horizontalB\x08\n\x06_widthB\t\n\x07_height\"\xbb\x01\n\x05\x43olor\x12+\n\x01r\x18\x01 \x01(\x01\x42 \x8a\xb2\x19\t\t\x00\x00\x00\x00\x00\x00\x00\x00\x8a\xb2\x19\t\x11\x00\x00\x00\x00\x00\x00\xf0?\x8a\xb2\x19\x02\x18\x00\x12+\n\x01g\x18\x02 \x01(\x01\x42 \x8a\xb2\x19\t\t\x00\x00\x00\x00\x00\x00\x00\x00\x8a\xb2\x19\t\x11\x00\x00\x00\x00\x00\x00\xf0?\x8a\xb2\x19\x02\x18\x00\x12+\n\x01\x62\x18\x03 \x01(\x01\x42 \x8a\xb2\x19\t\t\x00\x00\x00\x00\x00\x00\x00\x00\x8a\xb2\x19\t\x11\x00\x00\x00\x00\x00\x00\xf0?\x8a\xb2\x19\x02\x18\x00\x12+\n\x01\x61\x18\x04 \x01(\x01\x42 \x8a\xb2\x19\t\t\x00\x00\x00\x00\x00\x00\x00\x00\x8a\xb2\x19\t\x11\x00\x00\x00\x00\x00\x00\xf0?\x8a\xb2\x19\x02\x18\x00\"e\n\x14\x42\x61\x63kgroundProperties\x12?\n\x05\x63olor\x18\x01 \x01(\x0b\x32..luminary.proto.api.v0.luminarycloud.vis.ColorH\x00\x42\x0c\n\nproperties\";\n\x0fTriadProperties\x12\x1c\n\x07visible\x18\x01 \x01(\x08\x42\x06\x82\xb2\x19\x02(\x01H\x00\x88\x01\x01\x42\n\n\x08_visible\"(\n\x11\x46ilterConnections\x12\x13\n\x0b\x63hildren_id\x18\x01 \x03(\t\">\n\x12\x41xesGridProperties\x12\x1c\n\x07visible\x18\x01 \x01(\x08\x42\x06\x82\xb2\x19\x02(\x00H\x00\x88\x01\x01\x42\n\n\x08_visible\"\x8b\n\n\x0b\x45xtractSpec\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\x12K\n\x0b\x65ntity_type\x18\x03 \x01(\x0b\x32\x36.luminary.proto.api.v0.luminarycloud.vis.ExtractEntity\x12Y\n\x14\x61xes_grid_properties\x18\x04 \x01(\x0b\x32;.luminary.proto.api.v0.luminarycloud.vis.AxesGridProperties\x12@\n\x07\x66ilters\x18\x05 \x03(\x0b\x32/.luminary.proto.api.v0.luminarycloud.vis.Filter\x12g\n\x12\x66ilter_connections\x18\x06 \x03(\x0b\x32K.luminary.proto.api.v0.luminarycloud.vis.ExtractSpec.FilterConnectionsEntry\x12]\n\x19global_display_attributes\x18\x07 \x01(\x0b\x32:.luminary.proto.api.v0.luminarycloud.vis.DisplayAttributes\x12g\n\x12\x64isplay_attributes\x18\x08 \x03(\x0b\x32K.luminary.proto.api.v0.luminarycloud.vis.ExtractSpec.DisplayAttributesEntry\x12\x45\n\ncolor_maps\x18\t \x03(\x0b\x32\x31.luminary.proto.api.v0.luminarycloud.vis.ColorMap\x12Z\n\x14\x61nimation_properties\x18\n \x01(\x0b\x32<.luminary.proto.api.v0.luminarycloud.vis.AnimationProperties\x12R\n\x10triad_properties\x18\x0b \x01(\x0b\x32\x38.luminary.proto.api.v0.luminarycloud.vis.TriadProperties\x12\x61\n\x15\x62\x61\x63kground_properties\x18\x0c \x01(\x0b\x32=.luminary.proto.api.v0.luminarycloud.vis.BackgroundPropertiesH\x00\x88\x01\x01\x12 \n\x13supersampling_ratio\x18\r \x01(\x05H\x01\x88\x01\x01\x12\x16\n\tdata_only\x18\x0e \x01(\x08H\x02\x88\x01\x01\x1at\n\x16\x46ilterConnectionsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12I\n\x05value\x18\x02 \x01(\x0b\x32:.luminary.proto.api.v0.luminarycloud.vis.FilterConnections:\x02\x38\x01\x1at\n\x16\x44isplayAttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12I\n\x05value\x18\x02 \x01(\x0b\x32:.luminary.proto.api.v0.luminarycloud.vis.DisplayAttributes:\x02\x38\x01\x42\x18\n\x16_background_propertiesB\x16\n\x14_supersampling_ratioB\x0c\n\n_data_only\"n\n\x14\x43reateExtractRequest\x12\x12\n\nproject_id\x18\x01 \x01(\t\x12\x42\n\x04spec\x18\x02 \x01(\x0b\x32\x34.luminary.proto.api.v0.luminarycloud.vis.ExtractSpec\"\x9c\x01\n\x07\x45xtract\x12\x12\n\nextract_id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x03 \x01(\t\x12\x12\n\nproject_id\x18\x04 \x01(\t\x12\x46\n\x06status\x18\x05 \x01(\x0e\x32\x36.luminary.proto.api.v0.luminarycloud.vis.ExtractStatus\"\xd5\x01\n\x03\x42ox\x12\x43\n\x06\x63\x65nter\x18\x01 \x01(\x0b\x32\x33.luminary.proto.api.v0.luminarycloud.common.Vector3\x12\x44\n\x07lengths\x18\x02 \x01(\x0b\x32\x33.luminary.proto.api.v0.luminarycloud.common.Vector3\x12\x43\n\x06\x61ngles\x18\x03 \x01(\x0b\x32\x33.luminary.proto.api.v0.luminarycloud.common.Vector3\"\xe9\x01\n\x04\x43lip\x12?\n\x05plane\x18\x01 \x01(\x0b\x32..luminary.proto.api.v0.luminarycloud.vis.PlaneH\x00\x12;\n\x03\x62ox\x18\x02 \x01(\x0b\x32,.luminary.proto.api.v0.luminarycloud.vis.BoxH\x00\x12\x1d\n\x08inverted\x18\x05 \x01(\x08\x42\x06\x82\xb2\x19\x02(\x00H\x01\x88\x01\x01\x12\x1b\n\x06smooth\x18\x06 \x01(\x08\x42\x06\x82\xb2\x19\x02(\x01H\x02\x88\x01\x01\x42\x0f\n\rclip_functionB\x0b\n\t_invertedB\t\n\x07_smooth\"Z\n\x15\x43reateExtractResponse\x12\x41\n\x07\x65xtract\x18\x01 \x01(\x0b\x32\x30.luminary.proto.api.v0.luminarycloud.vis.Extract\"W\n\x12GetExtractResponse\x12\x41\n\x07\x65xtract\x18\x01 \x01(\x0b\x32\x30.luminary.proto.api.v0.luminarycloud.vis.Extract\"\\\n\x16GetExtractSpecResponse\x12\x42\n\x04spec\x18\x01 \x01(\x0b\x32\x34.luminary.proto.api.v0.luminarycloud.vis.ExtractSpec\";\n\x11GetExtractRequest\x12\x12\n\nextract_id\x18\x01 \x01(\t\x12\x12\n\nproject_id\x18\x02 \x01(\t\"@\n\x16\x44ownloadExtractRequest\x12\x12\n\nproject_id\x18\x01 \x01(\t\x12\x12\n\nextract_id\x18\x02 \x01(\t\"Y\n\x06Images\x12?\n\x05\x66iles\x18\x01 \x03(\x0b\x32\x30.luminary.proto.api.v0.luminarycloud.common.File\x12\x0e\n\x06labels\x18\x02 \x03(\t\"\x9f\x01\n\x17\x44ownloadExtractResponse\x12?\n\x06images\x18\x01 \x01(\x0b\x32/.luminary.proto.api.v0.luminarycloud.vis.Images\x12\x43\n\tline_data\x18\x02 \x01(\x0b\x32\x30.luminary.proto.api.v0.luminarycloud.common.File\"\x84\x01\n\x13ListExtractsRequest\x12\x12\n\nproject_id\x18\x01 \x01(\t\x12\x46\n\x06\x65ntity\x18\x02 \x01(\x0b\x32\x36.luminary.proto.api.v0.luminarycloud.vis.ExtractEntity\x12\x11\n\tdata_only\x18\x03 \x01(\x08\"Z\n\x14ListExtractsResponse\x12\x42\n\x08\x65xtracts\x18\x01 \x03(\x0b\x32\x30.luminary.proto.api.v0.luminarycloud.vis.Extract\">\n\x14\x44\x65leteExtractRequest\x12\x12\n\nextract_id\x18\x01 \x01(\t\x12\x12\n\nproject_id\x18\x02 \x01(\t\"\x17\n\x15\x44\x65leteExtractResponse\"\xa4\x03\n\x18GetRenderDataUrlsRequest\x12\x12\n\nproject_id\x18\x01 \x01(\t\x12\x46\n\x06\x65ntity\x18\x02 \x01(\x0b\x32\x36.luminary.proto.api.v0.luminarycloud.vis.ExtractEntity\x12@\n\x07\x66ilters\x18\x03 \x03(\x0b\x32/.luminary.proto.api.v0.luminarycloud.vis.Filter\x12t\n\x12\x66ilter_connections\x18\x04 \x03(\x0b\x32X.luminary.proto.api.v0.luminarycloud.vis.GetRenderDataUrlsRequest.FilterConnectionsEntry\x1at\n\x16\x46ilterConnectionsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12I\n\x05value\x18\x02 \x01(\x0b\x32:.luminary.proto.api.v0.luminarycloud.vis.FilterConnections:\x02\x38\x01\"j\n\x0eRenderDataUrls\x12\x12\n\nfilter_ids\x18\x01 \x03(\t\x12\x44\n\ndata_files\x18\x03 \x03(\x0b\x32\x30.luminary.proto.api.v0.luminarycloud.common.File\"\xa2\x01\n\x19GetRenderDataUrlsResponse\x12\x1c\n\x0fworkspace_state\x18\x01 \x01(\tH\x00\x88\x01\x01\x12J\n\x04urls\x18\x02 \x01(\x0b\x32\x37.luminary.proto.api.v0.luminarycloud.vis.RenderDataUrlsH\x01\x88\x01\x01\x42\x12\n\x10_workspace_stateB\x07\n\x05_urls\"~\n\x19ListSolutionFieldsRequest\x12M\n\nsimulation\x18\x01 \x01(\x0b\x32\x39.luminary.proto.api.v0.luminarycloud.vis.SimulationEntity\x12\x12\n\nproject_id\x18\x02 \x01(\t\"T\n\x17ListSolutionFieldsReply\x12\x39\n\nquantities\x18\x01 \x03(\x0e\x32%.luminary.proto.quantity.QuantityType\".\n\x0b\x43\x61meraEntry\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x11\n\tcamera_id\x18\x02 \x01(\x03\"(\n\x12ListCamerasRequest\x12\x12\n\nproject_id\x18\x01 \x01(\t\"X\n\x10ListCamerasReply\x12\x44\n\x06\x63\x61mera\x18\x01 \x03(\x0b\x32\x34.luminary.proto.api.v0.luminarycloud.vis.CameraEntry\"n\n\x10GetCameraRequest\x12\x11\n\tcamera_id\x18\x01 \x01(\x03\x12G\n\nresolution\x18\x02 \x01(\x0b\x32\x33.luminary.proto.api.v0.luminarycloud.vis.Resolution\"Q\n\x0eGetCameraReply\x12?\n\x06\x63\x61mera\x18\x01 \x01(\x0b\x32/.luminary.proto.api.v0.luminarycloud.vis.Camera\"\x9e\x03\n\x0fLineDataExtract\x12R\n\x05lines\x18\x01 \x03(\x0b\x32\x43.luminary.proto.api.v0.luminarycloud.vis.LineDataExtract.LinesEntry\x12T\n\x06labels\x18\x02 \x03(\x0b\x32\x44.luminary.proto.api.v0.luminarycloud.vis.LineDataExtract.LabelsEntry\x1a\x44\n\x05Table\x12;\n\x0blines_table\x18\x01 \x03(\x0b\x32&.luminary.proto.table.RectilinearTable\x1al\n\nLinesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12M\n\x05value\x18\x02 \x01(\x0b\x32>.luminary.proto.api.v0.luminarycloud.vis.LineDataExtract.Table:\x02\x38\x01\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"h\n\x0bRangeEntity\x12O\n\nsimulation\x18\x01 \x01(\x0b\x32\x39.luminary.proto.api.v0.luminarycloud.vis.SimulationEntityH\x00\x42\x08\n\x06\x65ntity\"\xe8\x01\n\x11RangeQueryRequest\x12\x12\n\nproject_id\x18\x01 \x01(\t\x12\x44\n\x06\x65ntity\x18\x02 \x01(\x0b\x32\x34.luminary.proto.api.v0.luminarycloud.vis.RangeEntity\x12T\n\x11\x66ield_association\x18\x03 \x01(\x0e\x32\x39.luminary.proto.api.v0.luminarycloud.vis.FieldAssociation\x12#\n\x13include_only_volume\x18\x04 \x01(\x08\x42\x06\x82\xb2\x19\x02(\x00\"\x99\x01\n\x0bRangeResult\x12=\n\x05range\x18\x01 \x03(\x0b\x32..luminary.proto.api.v0.luminarycloud.vis.Range\x12\x37\n\x08quantity\x18\x02 \x01(\x0e\x32%.luminary.proto.quantity.QuantityType\x12\x12\n\nfield_name\x18\x03 \x01(\t\"V\n\x0fRangeQueryReply\x12\x43\n\x05range\x18\x01 \x03(\x0b\x32\x34.luminary.proto.api.v0.luminarycloud.vis.RangeResult\"j\n\rExtremaEntity\x12O\n\nsimulation\x18\x01 \x01(\x0b\x32\x39.luminary.proto.api.v0.luminarycloud.vis.SimulationEntityH\x00\x42\x08\n\x06\x65ntity\"\x90\x02\n\x13\x45xtremaQueryRequest\x12\x12\n\nproject_id\x18\x01 \x01(\t\x12\x46\n\x06\x65ntity\x18\x02 \x01(\x0b\x32\x36.luminary.proto.api.v0.luminarycloud.vis.ExtremaEntity\x12=\n\x05\x66ield\x18\x03 \x01(\x0b\x32..luminary.proto.api.v0.luminarycloud.vis.Field\x12\x12\n\nnum_values\x18\x04 \x01(\x05\x12J\n\x0c\x65xtrema_type\x18\x05 \x01(\x0e\x32\x34.luminary.proto.api.v0.luminarycloud.vis.ExtremaType\"\xd0\x01\n\rExtremaResult\x12\r\n\x05value\x18\x01 \x01(\x02\x12\x15\n\rlocal_cell_id\x18\x02 \x01(\x03\x12O\n\x12\x61pprox_cell_center\x18\x03 \x01(\x0b\x32\x33.luminary.proto.api.v0.luminarycloud.common.Vector3\x12\x11\n\tvolume_id\x18\x04 \x01(\t\x12\x17\n\x0fglobal_face_ids\x18\x05 \x03(\x03\x12\x1c\n\x14\x63onnected_bounds_ids\x18\x06 \x03(\t\"\\\n\x11\x45xtremaQueryReply\x12G\n\x07\x65xtrema\x18\x01 \x03(\x0b\x32\x36.luminary.proto.api.v0.luminarycloud.vis.ExtremaResult*\x82\x01\n\x0f\x43\x61meraDirection\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x0e\n\nX_POSITIVE\x10\x01\x12\x0e\n\nY_POSITIVE\x10\x02\x12\x0e\n\nZ_POSITIVE\x10\x03\x12\x0e\n\nX_NEGATIVE\x10\x04\x12\x0e\n\nY_NEGATIVE\x10\x05\x12\x0e\n\nZ_NEGATIVE\x10\x06*5\n\x10\x43\x61meraProjection\x12\x10\n\x0cORTHOGRAPHIC\x10\x00\x12\x0f\n\x0bPERSPECTIVE\x10\x01*P\n\x0eRepresentation\x12\x0b\n\x07SURFACE\x10\x00\x12\x16\n\x12SURFACE_WITH_EDGES\x10\x01\x12\r\n\tWIREFRAME\x10\x02\x12\n\n\x06POINTS\x10\x03*\xa4\x01\n\x14StreamlinesDirection\x12%\n!STREAMLINES_DIRECTION_UNSPECIFIED\x10\x00\x12!\n\x1dSTREAMLINES_DIRECTION_FORWARD\x10\x01\x12\"\n\x1eSTREAMLINES_DIRECTION_BACKWARD\x10\x02\x12\x1e\n\x1aSTREAMLINES_DIRECTION_BOTH\x10\x03*[\n\x11GlyphSamplingMode\x12#\n\x1fGLYPH_SAMPLING_MODE_UNSPECIFIED\x10\x00\x12!\n\x1dGLYPH_SAMPLING_MODE_EVERY_NTH\x10\x01*\xea\x01\n\x0c\x43olorMapName\x12\x1e\n\x1a\x43OLOR_MAP_NAME_UNSPECIFIED\x10\x00\x12\x1a\n\x16\x43OLOR_MAP_NAME_VIRIDIS\x10\x01\x12\x1f\n\x1b\x43OLOR_MAP_NAME_COOL_TO_WARM\x10\x02\x12\x18\n\x14\x43OLOR_MAP_NAME_TURBO\x10\x03\x12\x16\n\x12\x43OLOR_MAP_NAME_JET\x10\x04\x12\x17\n\x13\x43OLOR_MAP_NAME_WAVE\x10\x05\x12\x17\n\x13\x43OLOR_MAP_NAME_XRAY\x10\x06\x12\x19\n\x15\x43OLOR_MAP_NAME_PLASMA\x10\x07*C\n\rExtractStatus\x12\x0b\n\x07Invalid\x10\x00\x12\n\n\x06\x41\x63tive\x10\x01\x12\r\n\tCompleted\x10\x02\x12\n\n\x06\x46\x61iled\x10\x03*h\n\x14RenderDataUrlsStatus\x12\x19\n\x15RenderDataUrlsInvalid\x10\x00\x12\x1b\n\x17RenderDataUrlsCompleted\x10\x02\x12\x18\n\x14RenderDataUrlsFailed\x10\x03*p\n\x10\x46ieldAssociation\x12!\n\x1d\x46IELD_ASSOCIATION_UNSPECIFIED\x10\x00\x12\x1b\n\x17\x46IELD_ASSOCIATION_CELLS\x10\x01\x12\x1c\n\x18\x46IELD_ASSOCIATION_POINTS\x10\x02*S\n\x0b\x45xtremaType\x12\x18\n\x14\x45XTREMA_TYPE_INVALID\x10\x00\x12\x14\n\x10\x45XTREMA_TYPE_MIN\x10\x01\x12\x14\n\x10\x45XTREMA_TYPE_MAX\x10\x02\x32\xda\r\n\rVisAPIService\x12\x90\x01\n\rCreateExtract\x12=.luminary.proto.api.v0.luminarycloud.vis.CreateExtractRequest\x1a>.luminary.proto.api.v0.luminarycloud.vis.CreateExtractResponse\"\x00\x12\x87\x01\n\nGetExtract\x12:.luminary.proto.api.v0.luminarycloud.vis.GetExtractRequest\x1a;.luminary.proto.api.v0.luminarycloud.vis.GetExtractResponse\"\x00\x12\x8f\x01\n\x0eGetExtractSpec\x12:.luminary.proto.api.v0.luminarycloud.vis.GetExtractRequest\x1a?.luminary.proto.api.v0.luminarycloud.vis.GetExtractSpecResponse\"\x00\x12\x96\x01\n\x0f\x44ownloadExtract\x12?.luminary.proto.api.v0.luminarycloud.vis.DownloadExtractRequest\x1a@.luminary.proto.api.v0.luminarycloud.vis.DownloadExtractResponse\"\x00\x12\x8d\x01\n\x0cListExtracts\x12<.luminary.proto.api.v0.luminarycloud.vis.ListExtractsRequest\x1a=.luminary.proto.api.v0.luminarycloud.vis.ListExtractsResponse\"\x00\x12\x90\x01\n\rDeleteExtract\x12=.luminary.proto.api.v0.luminarycloud.vis.DeleteExtractRequest\x1a>.luminary.proto.api.v0.luminarycloud.vis.DeleteExtractResponse\"\x00\x12\x9c\x01\n\x11GetRenderDataUrls\x12\x41.luminary.proto.api.v0.luminarycloud.vis.GetRenderDataUrlsRequest\x1a\x42.luminary.proto.api.v0.luminarycloud.vis.GetRenderDataUrlsResponse\"\x00\x12\x9c\x01\n\x12ListSolutionFields\x12\x42.luminary.proto.api.v0.luminarycloud.vis.ListSolutionFieldsRequest\x1a@.luminary.proto.api.v0.luminarycloud.vis.ListSolutionFieldsReply\"\x00\x12\x87\x01\n\x0bListCameras\x12;.luminary.proto.api.v0.luminarycloud.vis.ListCamerasRequest\x1a\x39.luminary.proto.api.v0.luminarycloud.vis.ListCamerasReply\"\x00\x12\x81\x01\n\tGetCamera\x12\x39.luminary.proto.api.v0.luminarycloud.vis.GetCameraRequest\x1a\x37.luminary.proto.api.v0.luminarycloud.vis.GetCameraReply\"\x00\x12\x84\x01\n\nRangeQuery\x12:.luminary.proto.api.v0.luminarycloud.vis.RangeQueryRequest\x1a\x38.luminary.proto.api.v0.luminarycloud.vis.RangeQueryReply\"\x00\x12\x8a\x01\n\x0c\x45xtremaQuery\x12<.luminary.proto.api.v0.luminarycloud.vis.ExtremaQueryRequest\x1a:.luminary.proto.api.v0.luminarycloud.vis.ExtremaQueryReply\"\x00\x42\x37Z5luminarycloud.com/core/proto/api/v0/luminarycloud/visb\x06proto3')
24
24
 
25
25
  _CAMERADIRECTION = DESCRIPTOR.enum_types_by_name['CameraDirection']
26
26
  CameraDirection = enum_type_wrapper.EnumTypeWrapper(_CAMERADIRECTION)
@@ -40,6 +40,8 @@ _RENDERDATAURLSSTATUS = DESCRIPTOR.enum_types_by_name['RenderDataUrlsStatus']
40
40
  RenderDataUrlsStatus = enum_type_wrapper.EnumTypeWrapper(_RENDERDATAURLSSTATUS)
41
41
  _FIELDASSOCIATION = DESCRIPTOR.enum_types_by_name['FieldAssociation']
42
42
  FieldAssociation = enum_type_wrapper.EnumTypeWrapper(_FIELDASSOCIATION)
43
+ _EXTREMATYPE = DESCRIPTOR.enum_types_by_name['ExtremaType']
44
+ ExtremaType = enum_type_wrapper.EnumTypeWrapper(_EXTREMATYPE)
43
45
  UNSPECIFIED = 0
44
46
  X_POSITIVE = 1
45
47
  Y_POSITIVE = 2
@@ -77,6 +79,9 @@ RenderDataUrlsFailed = 3
77
79
  FIELD_ASSOCIATION_UNSPECIFIED = 0
78
80
  FIELD_ASSOCIATION_CELLS = 1
79
81
  FIELD_ASSOCIATION_POINTS = 2
82
+ EXTREMA_TYPE_INVALID = 0
83
+ EXTREMA_TYPE_MIN = 1
84
+ EXTREMA_TYPE_MAX = 2
80
85
 
81
86
 
82
87
  _PAN = DESCRIPTOR.message_types_by_name['Pan']
@@ -159,6 +164,10 @@ _RANGEENTITY = DESCRIPTOR.message_types_by_name['RangeEntity']
159
164
  _RANGEQUERYREQUEST = DESCRIPTOR.message_types_by_name['RangeQueryRequest']
160
165
  _RANGERESULT = DESCRIPTOR.message_types_by_name['RangeResult']
161
166
  _RANGEQUERYREPLY = DESCRIPTOR.message_types_by_name['RangeQueryReply']
167
+ _EXTREMAENTITY = DESCRIPTOR.message_types_by_name['ExtremaEntity']
168
+ _EXTREMAQUERYREQUEST = DESCRIPTOR.message_types_by_name['ExtremaQueryRequest']
169
+ _EXTREMARESULT = DESCRIPTOR.message_types_by_name['ExtremaResult']
170
+ _EXTREMAQUERYREPLY = DESCRIPTOR.message_types_by_name['ExtremaQueryReply']
162
171
  _ANIMATIONSETTINGSTIMESTEP_FORMAT = _ANIMATIONSETTINGSTIMESTEP.enum_types_by_name['Format']
163
172
  _FIELD_COMPONENT = _FIELD.enum_types_by_name['Component']
164
173
  _COLORMAP_AUTOMATICLOCATION = _COLORMAP.enum_types_by_name['AutomaticLocation']
@@ -731,6 +740,34 @@ RangeQueryReply = _reflection.GeneratedProtocolMessageType('RangeQueryReply', (_
731
740
  })
732
741
  _sym_db.RegisterMessage(RangeQueryReply)
733
742
 
743
+ ExtremaEntity = _reflection.GeneratedProtocolMessageType('ExtremaEntity', (_message.Message,), {
744
+ 'DESCRIPTOR' : _EXTREMAENTITY,
745
+ '__module__' : 'proto.api.v0.luminarycloud.vis.vis_pb2'
746
+ # @@protoc_insertion_point(class_scope:luminary.proto.api.v0.luminarycloud.vis.ExtremaEntity)
747
+ })
748
+ _sym_db.RegisterMessage(ExtremaEntity)
749
+
750
+ ExtremaQueryRequest = _reflection.GeneratedProtocolMessageType('ExtremaQueryRequest', (_message.Message,), {
751
+ 'DESCRIPTOR' : _EXTREMAQUERYREQUEST,
752
+ '__module__' : 'proto.api.v0.luminarycloud.vis.vis_pb2'
753
+ # @@protoc_insertion_point(class_scope:luminary.proto.api.v0.luminarycloud.vis.ExtremaQueryRequest)
754
+ })
755
+ _sym_db.RegisterMessage(ExtremaQueryRequest)
756
+
757
+ ExtremaResult = _reflection.GeneratedProtocolMessageType('ExtremaResult', (_message.Message,), {
758
+ 'DESCRIPTOR' : _EXTREMARESULT,
759
+ '__module__' : 'proto.api.v0.luminarycloud.vis.vis_pb2'
760
+ # @@protoc_insertion_point(class_scope:luminary.proto.api.v0.luminarycloud.vis.ExtremaResult)
761
+ })
762
+ _sym_db.RegisterMessage(ExtremaResult)
763
+
764
+ ExtremaQueryReply = _reflection.GeneratedProtocolMessageType('ExtremaQueryReply', (_message.Message,), {
765
+ 'DESCRIPTOR' : _EXTREMAQUERYREPLY,
766
+ '__module__' : 'proto.api.v0.luminarycloud.vis.vis_pb2'
767
+ # @@protoc_insertion_point(class_scope:luminary.proto.api.v0.luminarycloud.vis.ExtremaQueryReply)
768
+ })
769
+ _sym_db.RegisterMessage(ExtremaQueryReply)
770
+
734
771
  _VISAPISERVICE = DESCRIPTOR.services_by_name['VisAPIService']
735
772
  if _descriptor._USE_C_DESCRIPTORS == False:
736
773
 
@@ -828,24 +865,26 @@ if _descriptor._USE_C_DESCRIPTORS == False:
828
865
  _LINEDATAEXTRACT_LABELSENTRY._serialized_options = b'8\001'
829
866
  _RANGEQUERYREQUEST.fields_by_name['include_only_volume']._options = None
830
867
  _RANGEQUERYREQUEST.fields_by_name['include_only_volume']._serialized_options = b'\202\262\031\002(\000'
831
- _CAMERADIRECTION._serialized_start=14575
832
- _CAMERADIRECTION._serialized_end=14705
833
- _CAMERAPROJECTION._serialized_start=14707
834
- _CAMERAPROJECTION._serialized_end=14760
835
- _REPRESENTATION._serialized_start=14762
836
- _REPRESENTATION._serialized_end=14842
837
- _STREAMLINESDIRECTION._serialized_start=14845
838
- _STREAMLINESDIRECTION._serialized_end=15009
839
- _GLYPHSAMPLINGMODE._serialized_start=15011
840
- _GLYPHSAMPLINGMODE._serialized_end=15102
841
- _COLORMAPNAME._serialized_start=15105
842
- _COLORMAPNAME._serialized_end=15339
843
- _EXTRACTSTATUS._serialized_start=15341
844
- _EXTRACTSTATUS._serialized_end=15408
845
- _RENDERDATAURLSSTATUS._serialized_start=15410
846
- _RENDERDATAURLSSTATUS._serialized_end=15514
847
- _FIELDASSOCIATION._serialized_start=15516
848
- _FIELDASSOCIATION._serialized_end=15628
868
+ _CAMERADIRECTION._serialized_start=15263
869
+ _CAMERADIRECTION._serialized_end=15393
870
+ _CAMERAPROJECTION._serialized_start=15395
871
+ _CAMERAPROJECTION._serialized_end=15448
872
+ _REPRESENTATION._serialized_start=15450
873
+ _REPRESENTATION._serialized_end=15530
874
+ _STREAMLINESDIRECTION._serialized_start=15533
875
+ _STREAMLINESDIRECTION._serialized_end=15697
876
+ _GLYPHSAMPLINGMODE._serialized_start=15699
877
+ _GLYPHSAMPLINGMODE._serialized_end=15790
878
+ _COLORMAPNAME._serialized_start=15793
879
+ _COLORMAPNAME._serialized_end=16027
880
+ _EXTRACTSTATUS._serialized_start=16029
881
+ _EXTRACTSTATUS._serialized_end=16096
882
+ _RENDERDATAURLSSTATUS._serialized_start=16098
883
+ _RENDERDATAURLSSTATUS._serialized_end=16202
884
+ _FIELDASSOCIATION._serialized_start=16204
885
+ _FIELDASSOCIATION._serialized_end=16316
886
+ _EXTREMATYPE._serialized_start=16318
887
+ _EXTREMATYPE._serialized_end=16401
849
888
  _PAN._serialized_start=248
850
889
  _PAN._serialized_end=309
851
890
  _CAMERALOOKAT._serialized_start=312
@@ -1012,6 +1051,14 @@ if _descriptor._USE_C_DESCRIPTORS == False:
1012
1051
  _RANGERESULT._serialized_end=14484
1013
1052
  _RANGEQUERYREPLY._serialized_start=14486
1014
1053
  _RANGEQUERYREPLY._serialized_end=14572
1015
- _VISAPISERVICE._serialized_start=15631
1016
- _VISAPISERVICE._serialized_end=17244
1054
+ _EXTREMAENTITY._serialized_start=14574
1055
+ _EXTREMAENTITY._serialized_end=14680
1056
+ _EXTREMAQUERYREQUEST._serialized_start=14683
1057
+ _EXTREMAQUERYREQUEST._serialized_end=14955
1058
+ _EXTREMARESULT._serialized_start=14958
1059
+ _EXTREMARESULT._serialized_end=15166
1060
+ _EXTREMAQUERYREPLY._serialized_start=15168
1061
+ _EXTREMAQUERYREPLY._serialized_end=15260
1062
+ _VISAPISERVICE._serialized_start=16404
1063
+ _VISAPISERVICE._serialized_end=18158
1017
1064
  # @@protoc_insertion_point(module_scope)
@@ -212,6 +212,23 @@ FIELD_ASSOCIATION_CELLS: FieldAssociation.ValueType # 1
212
212
  FIELD_ASSOCIATION_POINTS: FieldAssociation.ValueType # 2
213
213
  global___FieldAssociation = FieldAssociation
214
214
 
215
+ class _ExtremaType:
216
+ ValueType = typing.NewType("ValueType", builtins.int)
217
+ V: typing_extensions.TypeAlias = ValueType
218
+
219
+ class _ExtremaTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_ExtremaType.ValueType], builtins.type): # noqa: F821
220
+ DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
221
+ EXTREMA_TYPE_INVALID: _ExtremaType.ValueType # 0
222
+ EXTREMA_TYPE_MIN: _ExtremaType.ValueType # 1
223
+ EXTREMA_TYPE_MAX: _ExtremaType.ValueType # 2
224
+
225
+ class ExtremaType(_ExtremaType, metaclass=_ExtremaTypeEnumTypeWrapper): ...
226
+
227
+ EXTREMA_TYPE_INVALID: ExtremaType.ValueType # 0
228
+ EXTREMA_TYPE_MIN: ExtremaType.ValueType # 1
229
+ EXTREMA_TYPE_MAX: ExtremaType.ValueType # 2
230
+ global___ExtremaType = ExtremaType
231
+
215
232
  class Pan(google.protobuf.message.Message):
216
233
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
217
234
 
@@ -2194,3 +2211,105 @@ class RangeQueryReply(google.protobuf.message.Message):
2194
2211
  def ClearField(self, field_name: typing_extensions.Literal["range", b"range"]) -> None: ...
2195
2212
 
2196
2213
  global___RangeQueryReply = RangeQueryReply
2214
+
2215
+ class ExtremaEntity(google.protobuf.message.Message):
2216
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
2217
+
2218
+ SIMULATION_FIELD_NUMBER: builtins.int
2219
+ @property
2220
+ def simulation(self) -> global___SimulationEntity: ...
2221
+ def __init__(
2222
+ self,
2223
+ *,
2224
+ simulation: global___SimulationEntity | None = ...,
2225
+ ) -> None: ...
2226
+ def HasField(self, field_name: typing_extensions.Literal["entity", b"entity", "simulation", b"simulation"]) -> builtins.bool: ...
2227
+ def ClearField(self, field_name: typing_extensions.Literal["entity", b"entity", "simulation", b"simulation"]) -> None: ...
2228
+ def WhichOneof(self, oneof_group: typing_extensions.Literal["entity", b"entity"]) -> typing_extensions.Literal["simulation"] | None: ...
2229
+
2230
+ global___ExtremaEntity = ExtremaEntity
2231
+
2232
+ class ExtremaQueryRequest(google.protobuf.message.Message):
2233
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
2234
+
2235
+ PROJECT_ID_FIELD_NUMBER: builtins.int
2236
+ ENTITY_FIELD_NUMBER: builtins.int
2237
+ FIELD_FIELD_NUMBER: builtins.int
2238
+ NUM_VALUES_FIELD_NUMBER: builtins.int
2239
+ EXTREMA_TYPE_FIELD_NUMBER: builtins.int
2240
+ project_id: builtins.str
2241
+ @property
2242
+ def entity(self) -> global___ExtremaEntity: ...
2243
+ @property
2244
+ def field(self) -> global___Field:
2245
+ """Field (quantity and component) to query for the extrema value"""
2246
+ num_values: builtins.int
2247
+ """How many extrema values to return"""
2248
+ extrema_type: global___ExtremaType.ValueType
2249
+ """Whether to return min or max values"""
2250
+ def __init__(
2251
+ self,
2252
+ *,
2253
+ project_id: builtins.str = ...,
2254
+ entity: global___ExtremaEntity | None = ...,
2255
+ field: global___Field | None = ...,
2256
+ num_values: builtins.int = ...,
2257
+ extrema_type: global___ExtremaType.ValueType = ...,
2258
+ ) -> None: ...
2259
+ def HasField(self, field_name: typing_extensions.Literal["entity", b"entity", "field", b"field"]) -> builtins.bool: ...
2260
+ def ClearField(self, field_name: typing_extensions.Literal["entity", b"entity", "extrema_type", b"extrema_type", "field", b"field", "num_values", b"num_values", "project_id", b"project_id"]) -> None: ...
2261
+
2262
+ global___ExtremaQueryRequest = ExtremaQueryRequest
2263
+
2264
+ class ExtremaResult(google.protobuf.message.Message):
2265
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
2266
+
2267
+ VALUE_FIELD_NUMBER: builtins.int
2268
+ LOCAL_CELL_ID_FIELD_NUMBER: builtins.int
2269
+ APPROX_CELL_CENTER_FIELD_NUMBER: builtins.int
2270
+ VOLUME_ID_FIELD_NUMBER: builtins.int
2271
+ GLOBAL_FACE_IDS_FIELD_NUMBER: builtins.int
2272
+ CONNECTED_BOUNDS_IDS_FIELD_NUMBER: builtins.int
2273
+ value: builtins.float
2274
+ local_cell_id: builtins.int
2275
+ """Local cell id in the volume specified by the volume name."""
2276
+ @property
2277
+ def approx_cell_center(self) -> luminarycloud._proto.api.v0.luminarycloud.common.common_pb2.Vector3:
2278
+ """Approximate cell center in global coordinates."""
2279
+ volume_id: builtins.str
2280
+ """Id of the volume"""
2281
+ @property
2282
+ def global_face_ids(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.int]:
2283
+ """Cells global face ids."""
2284
+ @property
2285
+ def connected_bounds_ids(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]:
2286
+ """Ids of any connected surfaces."""
2287
+ def __init__(
2288
+ self,
2289
+ *,
2290
+ value: builtins.float = ...,
2291
+ local_cell_id: builtins.int = ...,
2292
+ approx_cell_center: luminarycloud._proto.api.v0.luminarycloud.common.common_pb2.Vector3 | None = ...,
2293
+ volume_id: builtins.str = ...,
2294
+ global_face_ids: collections.abc.Iterable[builtins.int] | None = ...,
2295
+ connected_bounds_ids: collections.abc.Iterable[builtins.str] | None = ...,
2296
+ ) -> None: ...
2297
+ def HasField(self, field_name: typing_extensions.Literal["approx_cell_center", b"approx_cell_center"]) -> builtins.bool: ...
2298
+ def ClearField(self, field_name: typing_extensions.Literal["approx_cell_center", b"approx_cell_center", "connected_bounds_ids", b"connected_bounds_ids", "global_face_ids", b"global_face_ids", "local_cell_id", b"local_cell_id", "value", b"value", "volume_id", b"volume_id"]) -> None: ...
2299
+
2300
+ global___ExtremaResult = ExtremaResult
2301
+
2302
+ class ExtremaQueryReply(google.protobuf.message.Message):
2303
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
2304
+
2305
+ EXTREMA_FIELD_NUMBER: builtins.int
2306
+ @property
2307
+ def extrema(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ExtremaResult]: ...
2308
+ def __init__(
2309
+ self,
2310
+ *,
2311
+ extrema: collections.abc.Iterable[global___ExtremaResult] | None = ...,
2312
+ ) -> None: ...
2313
+ def ClearField(self, field_name: typing_extensions.Literal["extrema", b"extrema"]) -> None: ...
2314
+
2315
+ global___ExtremaQueryReply = ExtremaQueryReply
@@ -69,6 +69,11 @@ class VisAPIServiceStub(object):
69
69
  request_serializer=proto_dot_api_dot_v0_dot_luminarycloud_dot_vis_dot_vis__pb2.RangeQueryRequest.SerializeToString,
70
70
  response_deserializer=proto_dot_api_dot_v0_dot_luminarycloud_dot_vis_dot_vis__pb2.RangeQueryReply.FromString,
71
71
  )
72
+ self.ExtremaQuery = channel.unary_unary(
73
+ '/luminary.proto.api.v0.luminarycloud.vis.VisAPIService/ExtremaQuery',
74
+ request_serializer=proto_dot_api_dot_v0_dot_luminarycloud_dot_vis_dot_vis__pb2.ExtremaQueryRequest.SerializeToString,
75
+ response_deserializer=proto_dot_api_dot_v0_dot_luminarycloud_dot_vis_dot_vis__pb2.ExtremaQueryReply.FromString,
76
+ )
72
77
 
73
78
 
74
79
  class VisAPIServiceServicer(object):
@@ -140,6 +145,12 @@ class VisAPIServiceServicer(object):
140
145
  context.set_details('Method not implemented!')
141
146
  raise NotImplementedError('Method not implemented!')
142
147
 
148
+ def ExtremaQuery(self, request, context):
149
+ """Missing associated documentation comment in .proto file."""
150
+ context.set_code(grpc.StatusCode.UNIMPLEMENTED)
151
+ context.set_details('Method not implemented!')
152
+ raise NotImplementedError('Method not implemented!')
153
+
143
154
 
144
155
  def add_VisAPIServiceServicer_to_server(servicer, server):
145
156
  rpc_method_handlers = {
@@ -198,6 +209,11 @@ def add_VisAPIServiceServicer_to_server(servicer, server):
198
209
  request_deserializer=proto_dot_api_dot_v0_dot_luminarycloud_dot_vis_dot_vis__pb2.RangeQueryRequest.FromString,
199
210
  response_serializer=proto_dot_api_dot_v0_dot_luminarycloud_dot_vis_dot_vis__pb2.RangeQueryReply.SerializeToString,
200
211
  ),
212
+ 'ExtremaQuery': grpc.unary_unary_rpc_method_handler(
213
+ servicer.ExtremaQuery,
214
+ request_deserializer=proto_dot_api_dot_v0_dot_luminarycloud_dot_vis_dot_vis__pb2.ExtremaQueryRequest.FromString,
215
+ response_serializer=proto_dot_api_dot_v0_dot_luminarycloud_dot_vis_dot_vis__pb2.ExtremaQueryReply.SerializeToString,
216
+ ),
201
217
  }
202
218
  generic_handler = grpc.method_handlers_generic_handler(
203
219
  'luminary.proto.api.v0.luminarycloud.vis.VisAPIService', rpc_method_handlers)
@@ -394,3 +410,20 @@ class VisAPIService(object):
394
410
  proto_dot_api_dot_v0_dot_luminarycloud_dot_vis_dot_vis__pb2.RangeQueryReply.FromString,
395
411
  options, channel_credentials,
396
412
  insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
413
+
414
+ @staticmethod
415
+ def ExtremaQuery(request,
416
+ target,
417
+ options=(),
418
+ channel_credentials=None,
419
+ call_credentials=None,
420
+ insecure=False,
421
+ compression=None,
422
+ wait_for_ready=None,
423
+ timeout=None,
424
+ metadata=None):
425
+ return grpc.experimental.unary_unary(request, target, '/luminary.proto.api.v0.luminarycloud.vis.VisAPIService/ExtremaQuery',
426
+ proto_dot_api_dot_v0_dot_luminarycloud_dot_vis_dot_vis__pb2.ExtremaQueryRequest.SerializeToString,
427
+ proto_dot_api_dot_v0_dot_luminarycloud_dot_vis_dot_vis__pb2.ExtremaQueryReply.FromString,
428
+ options, channel_credentials,
429
+ insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
@@ -52,6 +52,10 @@ class VisAPIServiceStub:
52
52
  luminarycloud._proto.api.v0.luminarycloud.vis.vis_pb2.RangeQueryRequest,
53
53
  luminarycloud._proto.api.v0.luminarycloud.vis.vis_pb2.RangeQueryReply,
54
54
  ]
55
+ ExtremaQuery: grpc.UnaryUnaryMultiCallable[
56
+ luminarycloud._proto.api.v0.luminarycloud.vis.vis_pb2.ExtremaQueryRequest,
57
+ luminarycloud._proto.api.v0.luminarycloud.vis.vis_pb2.ExtremaQueryReply,
58
+ ]
55
59
 
56
60
  class VisAPIServiceServicer(metaclass=abc.ABCMeta):
57
61
  @abc.abstractmethod
@@ -120,5 +124,11 @@ class VisAPIServiceServicer(metaclass=abc.ABCMeta):
120
124
  request: luminarycloud._proto.api.v0.luminarycloud.vis.vis_pb2.RangeQueryRequest,
121
125
  context: grpc.ServicerContext,
122
126
  ) -> luminarycloud._proto.api.v0.luminarycloud.vis.vis_pb2.RangeQueryReply: ...
127
+ @abc.abstractmethod
128
+ def ExtremaQuery(
129
+ self,
130
+ request: luminarycloud._proto.api.v0.luminarycloud.vis.vis_pb2.ExtremaQueryRequest,
131
+ context: grpc.ServicerContext,
132
+ ) -> luminarycloud._proto.api.v0.luminarycloud.vis.vis_pb2.ExtremaQueryReply: ...
123
133
 
124
134
  def add_VisAPIServiceServicer_to_server(servicer: VisAPIServiceServicer, server: grpc.Server) -> None: ...