luminarycloud 0.21.2__py3-none-any.whl → 0.22.1__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 (69) hide show
  1. luminarycloud/__init__.py +3 -1
  2. luminarycloud/_client/authentication_plugin.py +49 -0
  3. luminarycloud/_client/client.py +38 -8
  4. luminarycloud/_client/http_client.py +1 -1
  5. luminarycloud/_client/retry_interceptor.py +64 -2
  6. luminarycloud/_feature_flag.py +22 -0
  7. luminarycloud/_helpers/_create_simulation.py +7 -2
  8. luminarycloud/_helpers/download.py +11 -0
  9. luminarycloud/_helpers/proto_decorator.py +13 -5
  10. luminarycloud/_proto/api/v0/luminarycloud/feature_flag/feature_flag_pb2.py +55 -0
  11. luminarycloud/_proto/api/v0/luminarycloud/feature_flag/feature_flag_pb2.pyi +52 -0
  12. luminarycloud/_proto/api/v0/luminarycloud/feature_flag/feature_flag_pb2_grpc.py +72 -0
  13. luminarycloud/_proto/api/v0/luminarycloud/feature_flag/feature_flag_pb2_grpc.pyi +35 -0
  14. luminarycloud/_proto/api/v0/luminarycloud/geometry/geometry_pb2.py +132 -132
  15. luminarycloud/_proto/api/v0/luminarycloud/geometry/geometry_pb2.pyi +36 -8
  16. luminarycloud/_proto/api/v0/luminarycloud/mesh/mesh_pb2.py +74 -73
  17. luminarycloud/_proto/api/v0/luminarycloud/mesh/mesh_pb2.pyi +8 -1
  18. luminarycloud/_proto/api/v0/luminarycloud/physics_ai/physics_ai_pb2.py +53 -23
  19. luminarycloud/_proto/api/v0/luminarycloud/physics_ai/physics_ai_pb2.pyi +54 -1
  20. luminarycloud/_proto/api/v0/luminarycloud/physicsaiinference/physicsaiinference_pb2.py +195 -0
  21. luminarycloud/_proto/api/v0/luminarycloud/physicsaiinference/physicsaiinference_pb2.pyi +361 -0
  22. luminarycloud/_proto/api/v0/luminarycloud/physicsaiinference/physicsaiinference_pb2_grpc.py +172 -0
  23. luminarycloud/_proto/api/v0/luminarycloud/physicsaiinference/physicsaiinference_pb2_grpc.pyi +66 -0
  24. luminarycloud/_proto/api/v0/luminarycloud/simulation/simulation_pb2.py +97 -61
  25. luminarycloud/_proto/api/v0/luminarycloud/simulation/simulation_pb2.pyi +68 -3
  26. luminarycloud/_proto/api/v0/luminarycloud/simulation/simulation_pb2_grpc.py +34 -0
  27. luminarycloud/_proto/api/v0/luminarycloud/simulation/simulation_pb2_grpc.pyi +12 -0
  28. luminarycloud/_proto/api/v0/luminarycloud/simulation_template/simulation_template_pb2.py +33 -31
  29. luminarycloud/_proto/api/v0/luminarycloud/simulation_template/simulation_template_pb2.pyi +23 -2
  30. luminarycloud/_proto/api/v0/luminarycloud/thirdpartyintegration/onshape/onshape_pb2.py +88 -65
  31. luminarycloud/_proto/api/v0/luminarycloud/thirdpartyintegration/onshape/onshape_pb2.pyi +42 -0
  32. luminarycloud/_proto/api/v0/luminarycloud/thirdpartyintegration/onshape/onshape_pb2_grpc.py +34 -0
  33. luminarycloud/_proto/api/v0/luminarycloud/thirdpartyintegration/onshape/onshape_pb2_grpc.pyi +12 -0
  34. luminarycloud/_proto/base/base_pb2.py +7 -6
  35. luminarycloud/_proto/base/base_pb2.pyi +4 -0
  36. luminarycloud/_proto/cad/shape_pb2.py +39 -19
  37. luminarycloud/_proto/cad/shape_pb2.pyi +86 -34
  38. luminarycloud/_proto/client/simulation_pb2.py +3 -3
  39. luminarycloud/_proto/geometry/geometry_pb2.py +77 -63
  40. luminarycloud/_proto/geometry/geometry_pb2.pyi +42 -3
  41. luminarycloud/_proto/hexmesh/hexmesh_pb2.py +22 -18
  42. luminarycloud/_proto/hexmesh/hexmesh_pb2.pyi +18 -2
  43. luminarycloud/_proto/physicsaiinferenceservice/physicsaiinferenceservice_pb2.py +30 -0
  44. luminarycloud/_proto/physicsaiinferenceservice/physicsaiinferenceservice_pb2.pyi +7 -0
  45. luminarycloud/_proto/physicsaitrainingservice/physicsaitrainingservice_pb2.py +2 -2
  46. luminarycloud/_proto/physicsaitrainingservice/physicsaitrainingservice_pb2_grpc.py +34 -0
  47. luminarycloud/_proto/physicsaitrainingservice/physicsaitrainingservice_pb2_grpc.pyi +12 -0
  48. luminarycloud/enum/vis_enums.py +6 -0
  49. luminarycloud/feature_modification.py +32 -1
  50. luminarycloud/geometry.py +67 -7
  51. luminarycloud/geometry_version.py +4 -0
  52. luminarycloud/mesh.py +4 -0
  53. luminarycloud/meshing/mesh_generation_params.py +13 -14
  54. luminarycloud/meshing/sizing_strategy/sizing_strategies.py +1 -2
  55. luminarycloud/physics_ai/solution.py +4 -0
  56. luminarycloud/pipelines/api.py +99 -8
  57. luminarycloud/pipelines/core.py +12 -2
  58. luminarycloud/pipelines/stages.py +22 -9
  59. luminarycloud/project.py +5 -8
  60. luminarycloud/simulation.py +57 -0
  61. luminarycloud/types/vector3.py +1 -2
  62. luminarycloud/vis/data_extraction.py +7 -7
  63. luminarycloud/vis/interactive_report.py +163 -7
  64. luminarycloud/vis/report.py +113 -1
  65. luminarycloud/volume_selection.py +71 -7
  66. {luminarycloud-0.21.2.dist-info → luminarycloud-0.22.1.dist-info}/METADATA +1 -1
  67. {luminarycloud-0.21.2.dist-info → luminarycloud-0.22.1.dist-info}/RECORD +68 -58
  68. {luminarycloud-0.21.2.dist-info → luminarycloud-0.22.1.dist-info}/WHEEL +1 -1
  69. luminarycloud/pipeline_util/dictable.py +0 -27
@@ -17,11 +17,13 @@ from luminarycloud._proto.base import base_pb2 as proto_dot_base_dot_base__pb2
17
17
  from luminarycloud._proto.cad import boolean_pb2 as proto_dot_cad_dot_boolean__pb2
18
18
  from luminarycloud._proto.cad import shape_pb2 as proto_dot_cad_dot_shape__pb2
19
19
  from luminarycloud._proto.cad import transformation_pb2 as proto_dot_cad_dot_transformation__pb2
20
+ from luminarycloud._proto.client import simulation_pb2 as proto_dot_client_dot_simulation__pb2
20
21
  from luminarycloud._proto.lcstatus import lcstatus_pb2 as proto_dot_lcstatus_dot_lcstatus__pb2
22
+ from luminarycloud._proto.options import options_pb2 as proto_dot_options_dot_options__pb2
21
23
  from luminarycloud._proto.parametricworker import parametricworker_pb2 as proto_dot_parametricworker_dot_parametricworker__pb2
22
24
 
23
25
 
24
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1dproto/geometry/geometry.proto\x12\x17luminary.proto.geometry\x1a\x15proto/base/base.proto\x1a\x17proto/cad/boolean.proto\x1a\x15proto/cad/shape.proto\x1a\x1eproto/cad/transformation.proto\x1a\x1dproto/lcstatus/lcstatus.proto\x1a-proto/parametricworker/parametricworker.proto\"\xcf\x01\n\x0eImportGeometry\x12\x14\n\x0cgeometry_url\x18\x01 \x01(\t\x12\x15\n\rscaling_float\x18\x02 \x01(\x01\x12\x31\n\x07scaling\x18\x06 \x01(\x0b\x32 .luminary.proto.base.AdFloatType\x12>\n\nparameters\x18\x04 \x03(\x0b\x32*.luminary.proto.parametricworker.Parameter\x12\x17\n\x0fweb_geometry_id\x18\x05 \x01(\tJ\x04\x08\x03\x10\x04\"\xc0\x02\n\x06\x43reate\x12,\n\x06sphere\x18\x01 \x01(\x0b\x32\x1a.luminary.proto.cad.SphereH\x00\x12\'\n\x03\x62ox\x18\x02 \x01(\x0b\x32\x18.luminary.proto.cad.CubeH\x00\x12\x30\n\x08\x63ylinder\x18\x03 \x01(\x0b\x32\x1c.luminary.proto.cad.CylinderH\x00\x12*\n\x05torus\x18\x04 \x01(\x0b\x32\x19.luminary.proto.cad.TorusH\x00\x12(\n\x04\x63one\x18\x05 \x01(\x0b\x32\x18.luminary.proto.cad.ConeH\x00\x12\x35\n\x0bhalf_sphere\x18\x06 \x01(\x0b\x32\x1e.luminary.proto.cad.HalfSphereH\x00\x12\x17\n\x0fresult_body_tag\x18\x07 \x01(\tB\x07\n\x05shape\"V\n\x06\x44\x65lete\x12\x31\n\x04type\x18\x01 \x01(\x0e\x32#.luminary.proto.geometry.EntityType\x12\x0b\n\x03ids\x18\x02 \x03(\x04\x12\x0c\n\x04tags\x18\x03 \x03(\t\"\x83\x02\n\x07\x42oolean\x12\x35\n\treg_union\x18\x01 \x01(\x0b\x32 .luminary.proto.cad.RegularUnionH\x00\x12\x41\n\x0freg_subtraction\x18\x02 \x01(\x0b\x32&.luminary.proto.cad.RegularSubtractionH\x00\x12\x43\n\x10reg_intersection\x18\x03 \x01(\x0b\x32\'.luminary.proto.cad.RegularIntersectionH\x00\x12\x33\n\x08reg_chop\x18\x04 \x01(\x0b\x32\x1f.luminary.proto.cad.RegularChopH\x00\x42\x04\n\x02op\"\xa2\x01\n\x07Imprint\x12\x42\n\x08\x62\x65havior\x18\x01 \x01(\x0e\x32\x30.luminary.proto.geometry.Imprint.ImprintBehavior\x12\x0c\n\x04\x62ody\x18\x02 \x03(\x04\x12\x0b\n\x03tag\x18\x03 \x03(\t\"8\n\x0fImprintBehavior\x12\x0f\n\x0bIMPRINT_ALL\x10\x00\x12\x14\n\x10IMPRINT_SELECTED\x10\x01\"\xc0\x02\n\tTransform\x12\x0c\n\x04\x62ody\x18\x01 \x03(\x04\x12\x0b\n\x03tag\x18\x08 \x03(\t\x12\x35\n\x06matrix\x18\x02 \x01(\x0b\x32#.luminary.proto.cad.AugmentedMatrixH\x00\x12\x36\n\x0btranslation\x18\x03 \x01(\x0b\x32\x1f.luminary.proto.cad.TranslationH\x00\x12\x30\n\x08rotation\x18\x04 \x01(\x0b\x32\x1c.luminary.proto.cad.RotationH\x00\x12.\n\x07scaling\x18\x05 \x01(\x0b\x32\x1b.luminary.proto.cad.ScalingH\x00\x12\x34\n\nreflection\x18\x06 \x01(\x0b\x32\x1e.luminary.proto.cad.ReflectionH\x00\x12\x0c\n\x04keep\x18\x07 \x01(\x08\x42\x03\n\x01t\"\xcf\x01\n\nShrinkwrap\x12\x0c\n\x04\x62ody\x18\x01 \x03(\x04\x12\x10\n\x08tag_body\x18\x07 \x03(\t\x12\x0c\n\x04tool\x18\x06 \x03(\x04\x12\x10\n\x08tag_tool\x18\x08 \x03(\t\x12\x35\n\x04mode\x18\x02 \x01(\x0e\x32\'.luminary.proto.geometry.ShrinkwrapMode\x12\x16\n\x0eresolution_min\x18\x03 \x01(\x01\x12\x16\n\x0eresolution_max\x18\x04 \x01(\x01\x12\x1a\n\x12resolution_uniform\x18\x05 \x01(\x01\"\xb2\x01\n\x08\x46\x61rfield\x12/\n\x06\x63reate\x18\x01 \x01(\x0b\x32\x1f.luminary.proto.geometry.Create\x12\x0e\n\x06\x62odies\x18\x02 \x03(\x04\x12\x12\n\ntag_bodies\x18\x06 \x03(\t\x12\x1a\n\x12keep_source_bodies\x18\x03 \x01(\x08\x12\x18\n\x10keep_tool_bodies\x18\x04 \x01(\x08\x12\x1b\n\x13propagate_tool_tags\x18\x05 \x01(\x08\"\xf9\x02\n\x07Pattern\x12\x0c\n\x04\x62ody\x18\x01 \x03(\x04\x12\x0b\n\x03tag\x18\x03 \x03(\t\x12=\n\tdirection\x18\x02 \x01(\x0b\x32*.luminary.proto.geometry.Pattern.Direction\x1a\x93\x02\n\tDirection\x12\x10\n\x08quantity\x18\x01 \x01(\r\x12\x11\n\tsymmetric\x18\x02 \x01(\x08\x12\x39\n\x0elinear_spacing\x18\x03 \x01(\x0b\x32\x1f.luminary.proto.cad.TranslationH\x00\x12T\n\x15\x63ircular_distribution\x18\x04 \x01(\x0b\x32\x33.luminary.proto.geometry.Pattern.Direction.CircularH\x00\x1aH\n\x08\x43ircular\x12.\n\x08rotation\x18\x01 \x01(\x0b\x32\x1c.luminary.proto.cad.Rotation\x12\x0c\n\x04\x66ull\x18\x02 \x01(\x08\x42\x06\n\x04type\"\x8c\x02\n\x0e\x43onfigurations\x12Q\n\rconfiguration\x18\x01 \x03(\x0b\x32:.luminary.proto.geometry.Configurations.ConfigurationEntry\x12\x0e\n\x06\x61\x63tive\x18\x02 \x01(\t\x1a*\n\rConfiguration\x12\x0c\n\x04\x62ody\x18\x01 \x03(\x04\x12\x0b\n\x03tag\x18\x02 \x03(\t\x1ak\n\x12\x43onfigurationEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x44\n\x05value\x18\x02 \x01(\x0b\x32\x35.luminary.proto.geometry.Configurations.Configuration:\x02\x38\x01\"V\n\rFeatureIssues\x12\x31\n\x06issues\x18\x01 \x03(\x0b\x32!.luminary.proto.lcstatus.LCStatus\x12\x12\n\nfeature_id\x18\x02 \x01(\t\"\xef\x04\n\x07\x46\x65\x61ture\x12\x42\n\x0fimport_geometry\x18\x01 \x01(\x0b\x32\'.luminary.proto.geometry.ImportGeometryH\x00\x12\x31\n\x06\x63reate\x18\x02 \x01(\x0b\x32\x1f.luminary.proto.geometry.CreateH\x00\x12\x31\n\x06\x64\x65lete\x18\x03 \x01(\x0b\x32\x1f.luminary.proto.geometry.DeleteH\x00\x12\x33\n\x07\x62oolean\x18\x04 \x01(\x0b\x32 .luminary.proto.geometry.BooleanH\x00\x12\x33\n\x07imprint\x18\x07 \x01(\x0b\x32 .luminary.proto.geometry.ImprintH\x00\x12\x37\n\ttransform\x18\x0c \x01(\x0b\x32\".luminary.proto.geometry.TransformH\x00\x12\x39\n\nshrinkwrap\x18\r \x01(\x0b\x32#.luminary.proto.geometry.ShrinkwrapH\x00\x12\x35\n\x08\x66\x61rfield\x18\x0e \x01(\x0b\x32!.luminary.proto.geometry.FarfieldH\x00\x12\x33\n\x07pattern\x18\x0f \x01(\x0b\x32 .luminary.proto.geometry.PatternH\x00\x12\x41\n\x0e\x63onfigurations\x18\x10 \x01(\x0b\x32\'.luminary.proto.geometry.ConfigurationsH\x00\x12\n\n\x02id\x18\x05 \x01(\t\x12\x14\n\x0c\x66\x65\x61ture_name\x18\x06 \x01(\tB\x0b\n\toperation\"@\n\x11\x43reateOrUpdateTag\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0e\n\x06\x62odies\x18\x02 \x03(\x05\x12\r\n\x05\x66\x61\x63\x65s\x18\x03 \x03(\x05\"/\n\tRenameTag\x12\x10\n\x08old_name\x18\x01 \x01(\t\x12\x10\n\x08new_name\x18\x02 \x01(\t\"8\n\tDeleteTag\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0e\n\x06\x62odies\x18\x02 \x03(\x05\x12\r\n\x05\x66\x61\x63\x65s\x18\x03 \x03(\x05\"\x1b\n\nDeleteTags\x12\r\n\x05names\x18\x01 \x03(\t\"\xbf\x07\n\x0cModification\x12H\n\x08mod_type\x18\x01 \x01(\x0e\x32\x36.luminary.proto.geometry.Modification.ModificationType\x12\x31\n\x07\x66\x65\x61ture\x18\x02 \x01(\x0b\x32 .luminary.proto.geometry.Feature\x12H\n\x14\x63reate_or_update_tag\x18\x03 \x01(\x0b\x32*.luminary.proto.geometry.CreateOrUpdateTag\x12\x36\n\nrename_tag\x18\x04 \x01(\x0b\x32\".luminary.proto.geometry.RenameTag\x12\x36\n\ndelete_tag\x18\x05 \x01(\x0b\x32\".luminary.proto.geometry.DeleteTag\x12\x38\n\x0b\x64\x65lete_tags\x18\x06 \x01(\x0b\x32#.luminary.proto.geometry.DeleteTags\x12,\n$update_named_variable_set_version_id\x18\x07 \x01(\t\"\x8f\x04\n\x10ModificationType\x12!\n\x1dMODIFICATION_TYPE_UNSPECIFIED\x10\x00\x12$\n MODIFICATION_TYPE_CREATE_FEATURE\x10\x01\x12$\n MODIFICATION_TYPE_UPDATE_FEATURE\x10\x02\x12$\n MODIFICATION_TYPE_DELETE_FEATURE\x10\x03\x12\x1a\n\x16MODIFICATION_TYPE_UNDO\x10\x04\x12\x1a\n\x16MODIFICATION_TYPE_REDO\x10\x05\x12$\n MODIFICATION_TYPE_RENAME_FEATURE\x10\x06\x12 \n\x1cMODIFICATION_TYPE_CREATE_TAG\x10\x07\x12 \n\x1cMODIFICATION_TYPE_UPDATE_TAG\x10\x08\x12 \n\x1cMODIFICATION_TYPE_DELETE_TAG\x10\t\x12 \n\x1cMODIFICATION_TYPE_RENAME_TAG\x10\n\x12!\n\x1dMODIFICATION_TYPE_DELETE_TAGS\x10\x0b\x12/\n+MODIFICATION_TYPE_UPDATE_NAMED_VARIABLE_SET\x10\x0c\x12,\n(MODIFICATION_TYPE_CONVERT_COLORS_TO_TAGS\x10\r\"\x85\x01\n\x04\x46\x61\x63\x65\x12\n\n\x02id\x18\x01 \x01(\t\x12.\n\x08\x62\x62ox_min\x18\x02 \x01(\x0b\x32\x1c.luminary.proto.base.Vector3\x12.\n\x08\x62\x62ox_max\x18\x03 \x01(\x0b\x32\x1c.luminary.proto.base.Vector3\x12\x11\n\tnative_id\x18\x04 \x01(\x04\"\x82\x01\n\x04\x42ody\x12\n\n\x02id\x18\x01 \x01(\x04\x12.\n\x08\x62\x62ox_min\x18\x02 \x01(\x0b\x32\x1c.luminary.proto.base.Vector3\x12.\n\x08\x62\x62ox_max\x18\x03 \x01(\x0b\x32\x1c.luminary.proto.base.Vector3\x12\x0e\n\x06lcn_id\x18\x04 \x01(\x04\"\"\n\x06Volume\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x0c\n\x04name\x18\x02 \x01(\t\"\xc2\x01\n\x04Tags\x12/\n\x04tags\x18\x01 \x03(\x0b\x32!.luminary.proto.geometry.Tags.Tag\x1a\x88\x01\n\x03Tag\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0e\n\x06\x62odies\x18\x03 \x03(\x05\x12\x12\n\nlcn_bodies\x18\x04 \x03(\x05\x12\r\n\x05\x66\x61\x63\x65s\x18\x05 \x03(\x05\x12\x17\n\x0f\x62odies_of_faces\x18\x06 \x03(\x05\x12\x1b\n\x13lcn_bodies_of_faces\x18\x07 \x03(\x05*S\n\nEntityType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x08\n\x04\x42ODY\x10\x01\x12\n\n\x06VOLUME\x10\x02\x12\x08\n\x04\x46\x41\x43\x45\x10\x03\x12\x08\n\x04\x45\x44GE\x10\x04\x12\n\n\x06VERTEX\x10\x05*8\n\x0eShrinkwrapMode\x12\r\n\tAUTOMATIC\x10\x00\x12\n\n\x06MINMAX\x10\x01\x12\x0b\n\x07UNIFORM\x10\x02*7\n\nKernelType\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x0e\n\nCONTINUOUS\x10\x01\x12\x0c\n\x08\x44ISCRETE\x10\x02\x42\'Z%luminarycloud.com/core/proto/geometryb\x06proto3')
26
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1dproto/geometry/geometry.proto\x12\x17luminary.proto.geometry\x1a\x15proto/base/base.proto\x1a\x17proto/cad/boolean.proto\x1a\x15proto/cad/shape.proto\x1a\x1eproto/cad/transformation.proto\x1a\x1dproto/client/simulation.proto\x1a\x1dproto/lcstatus/lcstatus.proto\x1a\x1bproto/options/options.proto\x1a-proto/parametricworker/parametricworker.proto\"\xcf\x01\n\x0eImportGeometry\x12\x14\n\x0cgeometry_url\x18\x01 \x01(\t\x12\x15\n\rscaling_float\x18\x02 \x01(\x01\x12\x31\n\x07scaling\x18\x06 \x01(\x0b\x32 .luminary.proto.base.AdFloatType\x12>\n\nparameters\x18\x04 \x03(\x0b\x32*.luminary.proto.parametricworker.Parameter\x12\x17\n\x0fweb_geometry_id\x18\x05 \x01(\tJ\x04\x08\x03\x10\x04\"\xc0\x02\n\x06\x43reate\x12,\n\x06sphere\x18\x01 \x01(\x0b\x32\x1a.luminary.proto.cad.SphereH\x00\x12\'\n\x03\x62ox\x18\x02 \x01(\x0b\x32\x18.luminary.proto.cad.CubeH\x00\x12\x30\n\x08\x63ylinder\x18\x03 \x01(\x0b\x32\x1c.luminary.proto.cad.CylinderH\x00\x12*\n\x05torus\x18\x04 \x01(\x0b\x32\x19.luminary.proto.cad.TorusH\x00\x12(\n\x04\x63one\x18\x05 \x01(\x0b\x32\x18.luminary.proto.cad.ConeH\x00\x12\x35\n\x0bhalf_sphere\x18\x06 \x01(\x0b\x32\x1e.luminary.proto.cad.HalfSphereH\x00\x12\x17\n\x0fresult_body_tag\x18\x07 \x01(\tB\x07\n\x05shape\"V\n\x06\x44\x65lete\x12\x31\n\x04type\x18\x01 \x01(\x0e\x32#.luminary.proto.geometry.EntityType\x12\x0b\n\x03ids\x18\x02 \x03(\x04\x12\x0c\n\x04tags\x18\x03 \x03(\t\"\x83\x02\n\x07\x42oolean\x12\x35\n\treg_union\x18\x01 \x01(\x0b\x32 .luminary.proto.cad.RegularUnionH\x00\x12\x41\n\x0freg_subtraction\x18\x02 \x01(\x0b\x32&.luminary.proto.cad.RegularSubtractionH\x00\x12\x43\n\x10reg_intersection\x18\x03 \x01(\x0b\x32\'.luminary.proto.cad.RegularIntersectionH\x00\x12\x33\n\x08reg_chop\x18\x04 \x01(\x0b\x32\x1f.luminary.proto.cad.RegularChopH\x00\x42\x04\n\x02op\"\xa2\x01\n\x07Imprint\x12\x42\n\x08\x62\x65havior\x18\x01 \x01(\x0e\x32\x30.luminary.proto.geometry.Imprint.ImprintBehavior\x12\x0c\n\x04\x62ody\x18\x02 \x03(\x04\x12\x0b\n\x03tag\x18\x03 \x03(\t\"8\n\x0fImprintBehavior\x12\x0f\n\x0bIMPRINT_ALL\x10\x00\x12\x14\n\x10IMPRINT_SELECTED\x10\x01\"\xc0\x02\n\tTransform\x12\x0c\n\x04\x62ody\x18\x01 \x03(\x04\x12\x0b\n\x03tag\x18\x08 \x03(\t\x12\x35\n\x06matrix\x18\x02 \x01(\x0b\x32#.luminary.proto.cad.AugmentedMatrixH\x00\x12\x36\n\x0btranslation\x18\x03 \x01(\x0b\x32\x1f.luminary.proto.cad.TranslationH\x00\x12\x30\n\x08rotation\x18\x04 \x01(\x0b\x32\x1c.luminary.proto.cad.RotationH\x00\x12.\n\x07scaling\x18\x05 \x01(\x0b\x32\x1b.luminary.proto.cad.ScalingH\x00\x12\x34\n\nreflection\x18\x06 \x01(\x0b\x32\x1e.luminary.proto.cad.ReflectionH\x00\x12\x0c\n\x04keep\x18\x07 \x01(\x08\x42\x03\n\x01t\"\xcf\x01\n\nShrinkwrap\x12\x0c\n\x04\x62ody\x18\x01 \x03(\x04\x12\x10\n\x08tag_body\x18\x07 \x03(\t\x12\x0c\n\x04tool\x18\x06 \x03(\x04\x12\x10\n\x08tag_tool\x18\x08 \x03(\t\x12\x35\n\x04mode\x18\x02 \x01(\x0e\x32\'.luminary.proto.geometry.ShrinkwrapMode\x12\x16\n\x0eresolution_min\x18\x03 \x01(\x01\x12\x16\n\x0eresolution_max\x18\x04 \x01(\x01\x12\x1a\n\x12resolution_uniform\x18\x05 \x01(\x01\"\xb2\x01\n\x08\x46\x61rfield\x12/\n\x06\x63reate\x18\x01 \x01(\x0b\x32\x1f.luminary.proto.geometry.Create\x12\x0e\n\x06\x62odies\x18\x02 \x03(\x04\x12\x12\n\ntag_bodies\x18\x06 \x03(\t\x12\x1a\n\x12keep_source_bodies\x18\x03 \x01(\x08\x12\x18\n\x10keep_tool_bodies\x18\x04 \x01(\x08\x12\x1b\n\x13propagate_tool_tags\x18\x05 \x01(\x08\"\xf9\x02\n\x07Pattern\x12\x0c\n\x04\x62ody\x18\x01 \x03(\x04\x12\x0b\n\x03tag\x18\x03 \x03(\t\x12=\n\tdirection\x18\x02 \x01(\x0b\x32*.luminary.proto.geometry.Pattern.Direction\x1a\x93\x02\n\tDirection\x12\x10\n\x08quantity\x18\x01 \x01(\r\x12\x11\n\tsymmetric\x18\x02 \x01(\x08\x12\x39\n\x0elinear_spacing\x18\x03 \x01(\x0b\x32\x1f.luminary.proto.cad.TranslationH\x00\x12T\n\x15\x63ircular_distribution\x18\x04 \x01(\x0b\x32\x33.luminary.proto.geometry.Pattern.Direction.CircularH\x00\x1aH\n\x08\x43ircular\x12.\n\x08rotation\x18\x01 \x01(\x0b\x32\x1c.luminary.proto.cad.Rotation\x12\x0c\n\x04\x66ull\x18\x02 \x01(\x08\x42\x06\n\x04type\"\x8c\x02\n\x0e\x43onfigurations\x12Q\n\rconfiguration\x18\x01 \x03(\x0b\x32:.luminary.proto.geometry.Configurations.ConfigurationEntry\x12\x0e\n\x06\x61\x63tive\x18\x02 \x01(\t\x1a*\n\rConfiguration\x12\x0c\n\x04\x62ody\x18\x01 \x03(\x04\x12\x0b\n\x03tag\x18\x02 \x03(\t\x1ak\n\x12\x43onfigurationEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x44\n\x05value\x18\x02 \x01(\x0b\x32\x35.luminary.proto.geometry.Configurations.Configuration:\x02\x38\x01\"_\n\x06Stitch\x12\x0c\n\x04\x62ody\x18\x01 \x03(\x04\x12\x0b\n\x03tag\x18\x02 \x03(\t\x12:\n\ttolerance\x18\x03 \x01(\x0b\x32 .luminary.proto.base.AdFloatTypeB\x05\xb8\xb2\x19\x80P\"V\n\rFeatureIssues\x12\x31\n\x06issues\x18\x01 \x03(\x0b\x32!.luminary.proto.lcstatus.LCStatus\x12\x12\n\nfeature_id\x18\x02 \x01(\t\"\xda\x05\n\x07\x46\x65\x61ture\x12\x42\n\x0fimport_geometry\x18\x01 \x01(\x0b\x32\'.luminary.proto.geometry.ImportGeometryH\x00\x12\x31\n\x06\x63reate\x18\x02 \x01(\x0b\x32\x1f.luminary.proto.geometry.CreateH\x00\x12\x31\n\x06\x64\x65lete\x18\x03 \x01(\x0b\x32\x1f.luminary.proto.geometry.DeleteH\x00\x12\x33\n\x07\x62oolean\x18\x04 \x01(\x0b\x32 .luminary.proto.geometry.BooleanH\x00\x12\x33\n\x07imprint\x18\x07 \x01(\x0b\x32 .luminary.proto.geometry.ImprintH\x00\x12\x37\n\ttransform\x18\x0c \x01(\x0b\x32\".luminary.proto.geometry.TransformH\x00\x12\x39\n\nshrinkwrap\x18\r \x01(\x0b\x32#.luminary.proto.geometry.ShrinkwrapH\x00\x12\x35\n\x08\x66\x61rfield\x18\x0e \x01(\x0b\x32!.luminary.proto.geometry.FarfieldH\x00\x12\x33\n\x07pattern\x18\x0f \x01(\x0b\x32 .luminary.proto.geometry.PatternH\x00\x12\x41\n\x0e\x63onfigurations\x18\x10 \x01(\x0b\x32\'.luminary.proto.geometry.ConfigurationsH\x00\x12\x31\n\x06stitch\x18\x11 \x01(\x0b\x32\x1f.luminary.proto.geometry.StitchH\x00\x12\n\n\x02id\x18\x05 \x01(\t\x12\x14\n\x0c\x66\x65\x61ture_name\x18\x06 \x01(\t\x12\x36\n\x0blength_unit\x18\x12 \x01(\x0e\x32!.luminary.proto.client.LengthUnitB\x0b\n\toperation\"@\n\x11\x43reateOrUpdateTag\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0e\n\x06\x62odies\x18\x02 \x03(\x05\x12\r\n\x05\x66\x61\x63\x65s\x18\x03 \x03(\x05\"/\n\tRenameTag\x12\x10\n\x08old_name\x18\x01 \x01(\t\x12\x10\n\x08new_name\x18\x02 \x01(\t\"8\n\tDeleteTag\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0e\n\x06\x62odies\x18\x02 \x03(\x05\x12\r\n\x05\x66\x61\x63\x65s\x18\x03 \x03(\x05\"\x1b\n\nDeleteTags\x12\r\n\x05names\x18\x01 \x03(\t\"\xbf\x07\n\x0cModification\x12H\n\x08mod_type\x18\x01 \x01(\x0e\x32\x36.luminary.proto.geometry.Modification.ModificationType\x12\x31\n\x07\x66\x65\x61ture\x18\x02 \x01(\x0b\x32 .luminary.proto.geometry.Feature\x12H\n\x14\x63reate_or_update_tag\x18\x03 \x01(\x0b\x32*.luminary.proto.geometry.CreateOrUpdateTag\x12\x36\n\nrename_tag\x18\x04 \x01(\x0b\x32\".luminary.proto.geometry.RenameTag\x12\x36\n\ndelete_tag\x18\x05 \x01(\x0b\x32\".luminary.proto.geometry.DeleteTag\x12\x38\n\x0b\x64\x65lete_tags\x18\x06 \x01(\x0b\x32#.luminary.proto.geometry.DeleteTags\x12,\n$update_named_variable_set_version_id\x18\x07 \x01(\t\"\x8f\x04\n\x10ModificationType\x12!\n\x1dMODIFICATION_TYPE_UNSPECIFIED\x10\x00\x12$\n MODIFICATION_TYPE_CREATE_FEATURE\x10\x01\x12$\n MODIFICATION_TYPE_UPDATE_FEATURE\x10\x02\x12$\n MODIFICATION_TYPE_DELETE_FEATURE\x10\x03\x12\x1a\n\x16MODIFICATION_TYPE_UNDO\x10\x04\x12\x1a\n\x16MODIFICATION_TYPE_REDO\x10\x05\x12$\n MODIFICATION_TYPE_RENAME_FEATURE\x10\x06\x12 \n\x1cMODIFICATION_TYPE_CREATE_TAG\x10\x07\x12 \n\x1cMODIFICATION_TYPE_UPDATE_TAG\x10\x08\x12 \n\x1cMODIFICATION_TYPE_DELETE_TAG\x10\t\x12 \n\x1cMODIFICATION_TYPE_RENAME_TAG\x10\n\x12!\n\x1dMODIFICATION_TYPE_DELETE_TAGS\x10\x0b\x12/\n+MODIFICATION_TYPE_UPDATE_NAMED_VARIABLE_SET\x10\x0c\x12,\n(MODIFICATION_TYPE_CONVERT_COLORS_TO_TAGS\x10\r\"\x85\x01\n\x04\x46\x61\x63\x65\x12\n\n\x02id\x18\x01 \x01(\t\x12.\n\x08\x62\x62ox_min\x18\x02 \x01(\x0b\x32\x1c.luminary.proto.base.Vector3\x12.\n\x08\x62\x62ox_max\x18\x03 \x01(\x0b\x32\x1c.luminary.proto.base.Vector3\x12\x11\n\tnative_id\x18\x04 \x01(\x04\"\x82\x01\n\x04\x42ody\x12\n\n\x02id\x18\x01 \x01(\x04\x12.\n\x08\x62\x62ox_min\x18\x02 \x01(\x0b\x32\x1c.luminary.proto.base.Vector3\x12.\n\x08\x62\x62ox_max\x18\x03 \x01(\x0b\x32\x1c.luminary.proto.base.Vector3\x12\x0e\n\x06lcn_id\x18\x04 \x01(\x04\"\"\n\x06Volume\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x0c\n\x04name\x18\x02 \x01(\t\"\xc2\x01\n\x04Tags\x12/\n\x04tags\x18\x01 \x03(\x0b\x32!.luminary.proto.geometry.Tags.Tag\x1a\x88\x01\n\x03Tag\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0e\n\x06\x62odies\x18\x03 \x03(\x05\x12\x12\n\nlcn_bodies\x18\x04 \x03(\x05\x12\r\n\x05\x66\x61\x63\x65s\x18\x05 \x03(\x05\x12\x17\n\x0f\x62odies_of_faces\x18\x06 \x03(\x05\x12\x1b\n\x13lcn_bodies_of_faces\x18\x07 \x03(\x05*S\n\nEntityType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x08\n\x04\x42ODY\x10\x01\x12\n\n\x06VOLUME\x10\x02\x12\x08\n\x04\x46\x41\x43\x45\x10\x03\x12\x08\n\x04\x45\x44GE\x10\x04\x12\n\n\x06VERTEX\x10\x05*8\n\x0eShrinkwrapMode\x12\r\n\tAUTOMATIC\x10\x00\x12\n\n\x06MINMAX\x10\x01\x12\x0b\n\x07UNIFORM\x10\x02*7\n\nKernelType\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x0e\n\nCONTINUOUS\x10\x01\x12\x0c\n\x08\x44ISCRETE\x10\x02\x42\'Z%luminarycloud.com/core/proto/geometryb\x06proto3')
25
27
 
26
28
  _ENTITYTYPE = DESCRIPTOR.enum_types_by_name['EntityType']
27
29
  EntityType = enum_type_wrapper.EnumTypeWrapper(_ENTITYTYPE)
@@ -57,6 +59,7 @@ _PATTERN_DIRECTION_CIRCULAR = _PATTERN_DIRECTION.nested_types_by_name['Circular'
57
59
  _CONFIGURATIONS = DESCRIPTOR.message_types_by_name['Configurations']
58
60
  _CONFIGURATIONS_CONFIGURATION = _CONFIGURATIONS.nested_types_by_name['Configuration']
59
61
  _CONFIGURATIONS_CONFIGURATIONENTRY = _CONFIGURATIONS.nested_types_by_name['ConfigurationEntry']
62
+ _STITCH = DESCRIPTOR.message_types_by_name['Stitch']
60
63
  _FEATUREISSUES = DESCRIPTOR.message_types_by_name['FeatureIssues']
61
64
  _FEATURE = DESCRIPTOR.message_types_by_name['Feature']
62
65
  _CREATEORUPDATETAG = DESCRIPTOR.message_types_by_name['CreateOrUpdateTag']
@@ -173,6 +176,13 @@ _sym_db.RegisterMessage(Configurations)
173
176
  _sym_db.RegisterMessage(Configurations.Configuration)
174
177
  _sym_db.RegisterMessage(Configurations.ConfigurationEntry)
175
178
 
179
+ Stitch = _reflection.GeneratedProtocolMessageType('Stitch', (_message.Message,), {
180
+ 'DESCRIPTOR' : _STITCH,
181
+ '__module__' : 'proto.geometry.geometry_pb2'
182
+ # @@protoc_insertion_point(class_scope:luminary.proto.geometry.Stitch)
183
+ })
184
+ _sym_db.RegisterMessage(Stitch)
185
+
176
186
  FeatureIssues = _reflection.GeneratedProtocolMessageType('FeatureIssues', (_message.Message,), {
177
187
  'DESCRIPTOR' : _FEATUREISSUES,
178
188
  '__module__' : 'proto.geometry.geometry_pb2'
@@ -264,66 +274,70 @@ if _descriptor._USE_C_DESCRIPTORS == False:
264
274
  DESCRIPTOR._serialized_options = b'Z%luminarycloud.com/core/proto/geometry'
265
275
  _CONFIGURATIONS_CONFIGURATIONENTRY._options = None
266
276
  _CONFIGURATIONS_CONFIGURATIONENTRY._serialized_options = b'8\001'
267
- _ENTITYTYPE._serialized_start=5032
268
- _ENTITYTYPE._serialized_end=5115
269
- _SHRINKWRAPMODE._serialized_start=5117
270
- _SHRINKWRAPMODE._serialized_end=5173
271
- _KERNELTYPE._serialized_start=5175
272
- _KERNELTYPE._serialized_end=5230
273
- _IMPORTGEOMETRY._serialized_start=240
274
- _IMPORTGEOMETRY._serialized_end=447
275
- _CREATE._serialized_start=450
276
- _CREATE._serialized_end=770
277
- _DELETE._serialized_start=772
278
- _DELETE._serialized_end=858
279
- _BOOLEAN._serialized_start=861
280
- _BOOLEAN._serialized_end=1120
281
- _IMPRINT._serialized_start=1123
282
- _IMPRINT._serialized_end=1285
283
- _IMPRINT_IMPRINTBEHAVIOR._serialized_start=1229
284
- _IMPRINT_IMPRINTBEHAVIOR._serialized_end=1285
285
- _TRANSFORM._serialized_start=1288
286
- _TRANSFORM._serialized_end=1608
287
- _SHRINKWRAP._serialized_start=1611
288
- _SHRINKWRAP._serialized_end=1818
289
- _FARFIELD._serialized_start=1821
290
- _FARFIELD._serialized_end=1999
291
- _PATTERN._serialized_start=2002
292
- _PATTERN._serialized_end=2379
293
- _PATTERN_DIRECTION._serialized_start=2104
294
- _PATTERN_DIRECTION._serialized_end=2379
295
- _PATTERN_DIRECTION_CIRCULAR._serialized_start=2299
296
- _PATTERN_DIRECTION_CIRCULAR._serialized_end=2371
297
- _CONFIGURATIONS._serialized_start=2382
298
- _CONFIGURATIONS._serialized_end=2650
299
- _CONFIGURATIONS_CONFIGURATION._serialized_start=2499
300
- _CONFIGURATIONS_CONFIGURATION._serialized_end=2541
301
- _CONFIGURATIONS_CONFIGURATIONENTRY._serialized_start=2543
302
- _CONFIGURATIONS_CONFIGURATIONENTRY._serialized_end=2650
303
- _FEATUREISSUES._serialized_start=2652
304
- _FEATUREISSUES._serialized_end=2738
305
- _FEATURE._serialized_start=2741
306
- _FEATURE._serialized_end=3364
307
- _CREATEORUPDATETAG._serialized_start=3366
308
- _CREATEORUPDATETAG._serialized_end=3430
309
- _RENAMETAG._serialized_start=3432
310
- _RENAMETAG._serialized_end=3479
311
- _DELETETAG._serialized_start=3481
312
- _DELETETAG._serialized_end=3537
313
- _DELETETAGS._serialized_start=3539
314
- _DELETETAGS._serialized_end=3566
315
- _MODIFICATION._serialized_start=3569
316
- _MODIFICATION._serialized_end=4528
317
- _MODIFICATION_MODIFICATIONTYPE._serialized_start=4001
318
- _MODIFICATION_MODIFICATIONTYPE._serialized_end=4528
319
- _FACE._serialized_start=4531
320
- _FACE._serialized_end=4664
321
- _BODY._serialized_start=4667
322
- _BODY._serialized_end=4797
323
- _VOLUME._serialized_start=4799
324
- _VOLUME._serialized_end=4833
325
- _TAGS._serialized_start=4836
326
- _TAGS._serialized_end=5030
327
- _TAGS_TAG._serialized_start=4894
328
- _TAGS_TAG._serialized_end=5030
277
+ _STITCH.fields_by_name['tolerance']._options = None
278
+ _STITCH.fields_by_name['tolerance']._serialized_options = b'\270\262\031\200P'
279
+ _ENTITYTYPE._serialized_start=5296
280
+ _ENTITYTYPE._serialized_end=5379
281
+ _SHRINKWRAPMODE._serialized_start=5381
282
+ _SHRINKWRAPMODE._serialized_end=5437
283
+ _KERNELTYPE._serialized_start=5439
284
+ _KERNELTYPE._serialized_end=5494
285
+ _IMPORTGEOMETRY._serialized_start=300
286
+ _IMPORTGEOMETRY._serialized_end=507
287
+ _CREATE._serialized_start=510
288
+ _CREATE._serialized_end=830
289
+ _DELETE._serialized_start=832
290
+ _DELETE._serialized_end=918
291
+ _BOOLEAN._serialized_start=921
292
+ _BOOLEAN._serialized_end=1180
293
+ _IMPRINT._serialized_start=1183
294
+ _IMPRINT._serialized_end=1345
295
+ _IMPRINT_IMPRINTBEHAVIOR._serialized_start=1289
296
+ _IMPRINT_IMPRINTBEHAVIOR._serialized_end=1345
297
+ _TRANSFORM._serialized_start=1348
298
+ _TRANSFORM._serialized_end=1668
299
+ _SHRINKWRAP._serialized_start=1671
300
+ _SHRINKWRAP._serialized_end=1878
301
+ _FARFIELD._serialized_start=1881
302
+ _FARFIELD._serialized_end=2059
303
+ _PATTERN._serialized_start=2062
304
+ _PATTERN._serialized_end=2439
305
+ _PATTERN_DIRECTION._serialized_start=2164
306
+ _PATTERN_DIRECTION._serialized_end=2439
307
+ _PATTERN_DIRECTION_CIRCULAR._serialized_start=2359
308
+ _PATTERN_DIRECTION_CIRCULAR._serialized_end=2431
309
+ _CONFIGURATIONS._serialized_start=2442
310
+ _CONFIGURATIONS._serialized_end=2710
311
+ _CONFIGURATIONS_CONFIGURATION._serialized_start=2559
312
+ _CONFIGURATIONS_CONFIGURATION._serialized_end=2601
313
+ _CONFIGURATIONS_CONFIGURATIONENTRY._serialized_start=2603
314
+ _CONFIGURATIONS_CONFIGURATIONENTRY._serialized_end=2710
315
+ _STITCH._serialized_start=2712
316
+ _STITCH._serialized_end=2807
317
+ _FEATUREISSUES._serialized_start=2809
318
+ _FEATUREISSUES._serialized_end=2895
319
+ _FEATURE._serialized_start=2898
320
+ _FEATURE._serialized_end=3628
321
+ _CREATEORUPDATETAG._serialized_start=3630
322
+ _CREATEORUPDATETAG._serialized_end=3694
323
+ _RENAMETAG._serialized_start=3696
324
+ _RENAMETAG._serialized_end=3743
325
+ _DELETETAG._serialized_start=3745
326
+ _DELETETAG._serialized_end=3801
327
+ _DELETETAGS._serialized_start=3803
328
+ _DELETETAGS._serialized_end=3830
329
+ _MODIFICATION._serialized_start=3833
330
+ _MODIFICATION._serialized_end=4792
331
+ _MODIFICATION_MODIFICATIONTYPE._serialized_start=4265
332
+ _MODIFICATION_MODIFICATIONTYPE._serialized_end=4792
333
+ _FACE._serialized_start=4795
334
+ _FACE._serialized_end=4928
335
+ _BODY._serialized_start=4931
336
+ _BODY._serialized_end=5061
337
+ _VOLUME._serialized_start=5063
338
+ _VOLUME._serialized_end=5097
339
+ _TAGS._serialized_start=5100
340
+ _TAGS._serialized_end=5294
341
+ _TAGS_TAG._serialized_start=5158
342
+ _TAGS_TAG._serialized_end=5294
329
343
  # @@protoc_insertion_point(module_scope)
@@ -12,6 +12,7 @@ import luminarycloud._proto.base.base_pb2
12
12
  import luminarycloud._proto.cad.boolean_pb2
13
13
  import luminarycloud._proto.cad.shape_pb2
14
14
  import luminarycloud._proto.cad.transformation_pb2
15
+ import luminarycloud._proto.client.simulation_pb2
15
16
  import luminarycloud._proto.lcstatus.lcstatus_pb2
16
17
  import luminarycloud._proto.parametricworker.parametricworker_pb2
17
18
  import sys
@@ -554,6 +555,35 @@ class Configurations(google.protobuf.message.Message):
554
555
 
555
556
  global___Configurations = Configurations
556
557
 
558
+ class Stitch(google.protobuf.message.Message):
559
+ """Stitch operation."""
560
+
561
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
562
+
563
+ BODY_FIELD_NUMBER: builtins.int
564
+ TAG_FIELD_NUMBER: builtins.int
565
+ TOLERANCE_FIELD_NUMBER: builtins.int
566
+ @property
567
+ def body(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.int]:
568
+ """Bodies to stitch together."""
569
+ @property
570
+ def tag(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]:
571
+ """Bodies to stitch together, by tag."""
572
+ @property
573
+ def tolerance(self) -> luminarycloud._proto.base.base_pb2.AdFloatType:
574
+ """Required tolerance (strictly positive). Uses length units."""
575
+ def __init__(
576
+ self,
577
+ *,
578
+ body: collections.abc.Iterable[builtins.int] | None = ...,
579
+ tag: collections.abc.Iterable[builtins.str] | None = ...,
580
+ tolerance: luminarycloud._proto.base.base_pb2.AdFloatType | None = ...,
581
+ ) -> None: ...
582
+ def HasField(self, field_name: typing_extensions.Literal["tolerance", b"tolerance"]) -> builtins.bool: ...
583
+ def ClearField(self, field_name: typing_extensions.Literal["body", b"body", "tag", b"tag", "tolerance", b"tolerance"]) -> None: ...
584
+
585
+ global___Stitch = Stitch
586
+
557
587
  class FeatureIssues(google.protobuf.message.Message):
558
588
  """Describes the issues associated with a given feature with ID feature_id."""
559
589
 
@@ -587,8 +617,10 @@ class Feature(google.protobuf.message.Message):
587
617
  FARFIELD_FIELD_NUMBER: builtins.int
588
618
  PATTERN_FIELD_NUMBER: builtins.int
589
619
  CONFIGURATIONS_FIELD_NUMBER: builtins.int
620
+ STITCH_FIELD_NUMBER: builtins.int
590
621
  ID_FIELD_NUMBER: builtins.int
591
622
  FEATURE_NAME_FIELD_NUMBER: builtins.int
623
+ LENGTH_UNIT_FIELD_NUMBER: builtins.int
592
624
  @property
593
625
  def import_geometry(self) -> global___ImportGeometry:
594
626
  """Import a new geometry file into the current geometry"""
@@ -619,10 +651,15 @@ class Feature(google.protobuf.message.Message):
619
651
  @property
620
652
  def configurations(self) -> global___Configurations:
621
653
  """Configurations: keep 1 configuration and delete the rest."""
654
+ @property
655
+ def stitch(self) -> global___Stitch:
656
+ """Stitch bodies."""
622
657
  id: builtins.str
623
658
  """internal feature ID"""
624
659
  feature_name: builtins.str
625
660
  """User-facing feature name, e.g. in the feature list"""
661
+ length_unit: luminarycloud._proto.client.simulation_pb2.LengthUnit.ValueType
662
+ """Define the units used for different types of quantities."""
626
663
  def __init__(
627
664
  self,
628
665
  *,
@@ -636,12 +673,14 @@ class Feature(google.protobuf.message.Message):
636
673
  farfield: global___Farfield | None = ...,
637
674
  pattern: global___Pattern | None = ...,
638
675
  configurations: global___Configurations | None = ...,
676
+ stitch: global___Stitch | None = ...,
639
677
  id: builtins.str = ...,
640
678
  feature_name: builtins.str = ...,
679
+ length_unit: luminarycloud._proto.client.simulation_pb2.LengthUnit.ValueType = ...,
641
680
  ) -> None: ...
642
- def HasField(self, field_name: typing_extensions.Literal["boolean", b"boolean", "configurations", b"configurations", "create", b"create", "delete", b"delete", "farfield", b"farfield", "import_geometry", b"import_geometry", "imprint", b"imprint", "operation", b"operation", "pattern", b"pattern", "shrinkwrap", b"shrinkwrap", "transform", b"transform"]) -> builtins.bool: ...
643
- def ClearField(self, field_name: typing_extensions.Literal["boolean", b"boolean", "configurations", b"configurations", "create", b"create", "delete", b"delete", "farfield", b"farfield", "feature_name", b"feature_name", "id", b"id", "import_geometry", b"import_geometry", "imprint", b"imprint", "operation", b"operation", "pattern", b"pattern", "shrinkwrap", b"shrinkwrap", "transform", b"transform"]) -> None: ...
644
- def WhichOneof(self, oneof_group: typing_extensions.Literal["operation", b"operation"]) -> typing_extensions.Literal["import_geometry", "create", "delete", "boolean", "imprint", "transform", "shrinkwrap", "farfield", "pattern", "configurations"] | None: ...
681
+ def HasField(self, field_name: typing_extensions.Literal["boolean", b"boolean", "configurations", b"configurations", "create", b"create", "delete", b"delete", "farfield", b"farfield", "import_geometry", b"import_geometry", "imprint", b"imprint", "operation", b"operation", "pattern", b"pattern", "shrinkwrap", b"shrinkwrap", "stitch", b"stitch", "transform", b"transform"]) -> builtins.bool: ...
682
+ def ClearField(self, field_name: typing_extensions.Literal["boolean", b"boolean", "configurations", b"configurations", "create", b"create", "delete", b"delete", "farfield", b"farfield", "feature_name", b"feature_name", "id", b"id", "import_geometry", b"import_geometry", "imprint", b"imprint", "length_unit", b"length_unit", "operation", b"operation", "pattern", b"pattern", "shrinkwrap", b"shrinkwrap", "stitch", b"stitch", "transform", b"transform"]) -> None: ...
683
+ def WhichOneof(self, oneof_group: typing_extensions.Literal["operation", b"operation"]) -> typing_extensions.Literal["import_geometry", "create", "delete", "boolean", "imprint", "transform", "shrinkwrap", "farfield", "pattern", "configurations", "stitch"] | None: ...
645
684
 
646
685
  global___Feature = Feature
647
686
 
@@ -18,7 +18,7 @@ from luminarycloud._proto.cad import shape_pb2 as proto_dot_cad_dot_shape__pb2
18
18
  from luminarycloud._proto.options import options_pb2 as proto_dot_options_dot_options__pb2
19
19
 
20
20
 
21
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1bproto/hexmesh/hexmesh.proto\x12\x16luminary.proto.hexmesh\x1a\x15proto/base/base.proto\x1a\x15proto/cad/shape.proto\x1a\x1bproto/options/options.proto\"{\n\x0fRefinementLevel\x12&\n\x08\x64istance\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\x05level\x18\x03 \x01(\x05\x42\x0f\x82\xb2\x19\x0b\n\t\t\x00\x00\x00\x00\x00\x00\x00@H\x01\x88\x01\x01\x42\x0b\n\t_distanceB\x08\n\x06_levelJ\x04\x08\x02\x10\x03\"\x8e\x01\n\x0eRefinementSpec\x12\x42\n\x11refinement_levels\x18\x01 \x03(\x0b\x32\'.luminary.proto.hexmesh.RefinementLevel\x12\x38\n\x04mode\x18\x02 \x01(\x0e\x32*.luminary.proto.hexmesh.RefinementSpecMode\"\'\n\nOutputInfo\x12\x19\n\x11output_lcmesh_url\x18\x01 \x01(\t\"j\n\x0e\x42\x61\x63kgroundMesh\x12(\n\x04\x63ube\x18\x01 \x01(\x0b\x32\x18.luminary.proto.cad.CubeH\x00\x12\x0b\n\x03n_x\x18\x08 \x01(\x05\x12\x0b\n\x03n_y\x18\t \x01(\x05\x12\x0b\n\x03n_z\x18\n \x01(\x05\x42\x07\n\x05shape\"\xa8\x01\n\x12RefinementSurfaces\x12)\n\x14refinement_min_level\x18\x03 \x01(\x05\x42\x06\x82\xb2\x19\x02\x30\x02H\x00\x88\x01\x01\x12)\n\x14refinement_max_level\x18\x04 \x01(\x05\x42\x06\x82\xb2\x19\x02\x30\x02H\x01\x88\x01\x01\x42\x17\n\x15_refinement_min_levelB\x17\n\x15_refinement_max_levelJ\x04\x08\x01\x10\x02J\x04\x08\x02\x10\x03\"\x89\x05\n\x17\x43\x61stellatedMeshControls\x12)\n\x10max_global_cells\x18\x01 \x01(\x05\x42\n\x82\xb2\x19\x06\x30\x80\x88\xde\xbe\x01H\x00\x88\x01\x01\x12)\n\x14min_refinement_cells\x18\x02 \x01(\x05\x42\x06\x82\xb2\x19\x02\x30\x64H\x01\x88\x01\x01\x12+\n\x16n_cells_between_levels\x18\x03 \x01(\x05\x42\x06\x82\xb2\x19\x02\x30\x03H\x02\x88\x01\x01\x12\x33\n\x15resolve_feature_angle\x18\x04 \x01(\x01\x42\x0f\x82\xb2\x19\x0b\n\t\t\x00\x00\x00\x00\x00\x00N@H\x03\x88\x01\x01\x12\x36\n\x10location_in_mesh\x18\x05 \x01(\x0b\x32\x1c.luminary.proto.base.Vector3\x12N\n\x1aglobal_refinement_surfaces\x18\x06 \x01(\x0b\x32*.luminary.proto.hexmesh.RefinementSurfaces\x12\x64\n\x13refinement_surfaces\x18\t \x03(\x0b\x32G.luminary.proto.hexmesh.CastellatedMeshControls.RefinementSurfacesEntry\x1a\x65\n\x17RefinementSurfacesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x39\n\x05value\x18\x02 \x01(\x0b\x32*.luminary.proto.hexmesh.RefinementSurfaces:\x02\x38\x01\x42\x13\n\x11_max_global_cellsB\x17\n\x15_min_refinement_cellsB\x19\n\x17_n_cells_between_levelsB\x18\n\x16_resolve_feature_angle\"\x8e\x01\n\x0c\x46\x65\x61tureEdges\x12+\n\rfeature_angle\x18\x01 \x01(\x01\x42\x0f\x82\xb2\x19\x0b\n\t\t\x00\x00\x00\x00\x00\x00>@H\x00\x88\x01\x01\x12?\n\x0frefinement_spec\x18\x02 \x01(\x0b\x32&.luminary.proto.hexmesh.RefinementSpecB\x10\n\x0e_feature_angle\"\xa7\x02\n\x0cSnapControls\x12#\n\x0en_smooth_patch\x18\x01 \x01(\x05\x42\x06\x82\xb2\x19\x02\x30\x03H\x00\x88\x01\x01\x12\'\n\ttolerance\x18\x02 \x01(\x01\x42\x0f\x82\xb2\x19\x0b\n\t\t\x00\x00\x00\x00\x00\x00\x10@H\x01\x88\x01\x01\x12!\n\x0cn_solve_iter\x18\x03 \x01(\x05\x42\x06\x82\xb2\x19\x02\x30\x1eH\x02\x88\x01\x01\x12!\n\x0cn_relax_iter\x18\x04 \x01(\x05\x42\x06\x82\xb2\x19\x02\x30\x05H\x03\x88\x01\x01\x12(\n\x13n_feature_snap_iter\x18\x05 \x01(\x05\x42\x06\x82\xb2\x19\x02\x30\nH\x04\x88\x01\x01\x42\x11\n\x0f_n_smooth_patchB\x0c\n\n_toleranceB\x0f\n\r_n_solve_iterB\x0f\n\r_n_relax_iterB\x16\n\x14_n_feature_snap_iter\"\xdb\n\n\x11\x41\x64\x64LayersControls\x12#\n\x0erelative_sizes\x18\x01 \x01(\x08\x42\x06\x82\xb2\x19\x02(\x01H\x00\x88\x01\x01\x12-\n\x0f\x65xpansion_ratio\x18\x02 \x01(\x01\x42\x0f\x82\xb2\x19\x0b\n\t\t\x00\x00\x00\x00\x00\x00\xf4?H\x01\x88\x01\x01\x12\x33\n\x15\x66inal_layer_thickness\x18\x03 \x01(\x01\x42\x0f\x82\xb2\x19\x0b\n\t\t333333\xd3?H\x02\x88\x01\x01\x12+\n\rmin_thickness\x18\x04 \x01(\x01\x42\x0f\x82\xb2\x19\x0b\n\t\t\x9a\x99\x99\x99\x99\x99\xb9?H\x03\x88\x01\x01\x12\x1b\n\x06n_grow\x18\x05 \x01(\x05\x42\x06\x82\xb2\x19\x02\x30\x00H\x04\x88\x01\x01\x12+\n\rfeature_angle\x18\x06 \x01(\x01\x42\x0f\x82\xb2\x19\x0b\n\t\t\x00\x00\x00\x00\x00\x00N@H\x05\x88\x01\x01\x12\x30\n\x12slip_feature_angle\x18\x07 \x01(\x01\x42\x0f\x82\xb2\x19\x0b\n\t\t\x00\x00\x00\x00\x00\x00N@H\x06\x88\x01\x01\x12!\n\x0cn_relax_iter\x18\x08 \x01(\x05\x42\x06\x82\xb2\x19\x02\x30\x03H\x07\x88\x01\x01\x12-\n\x18n_smooth_surface_normals\x18\t \x01(\x05\x42\x06\x82\xb2\x19\x02\x30\x01H\x08\x88\x01\x01\x12%\n\x10n_smooth_normals\x18\n \x01(\x05\x42\x06\x82\xb2\x19\x02\x30\x03H\t\x88\x01\x01\x12\'\n\x12n_smooth_thickness\x18\x0b \x01(\x05\x42\x06\x82\xb2\x19\x02\x30\nH\n\x88\x01\x01\x12\x36\n\x18max_face_thickness_ratio\x18\x0c \x01(\x01\x42\x0f\x82\xb2\x19\x0b\n\t\t\x00\x00\x00\x00\x00\x00\xe0?H\x0b\x88\x01\x01\x12;\n\x1dmax_thickness_to_medial_ratio\x18\r \x01(\x01\x42\x0f\x82\xb2\x19\x0b\n\t\t333333\xd3?H\x0c\x88\x01\x01\x12\x33\n\x15min_medial_axis_angle\x18\x0e \x01(\x01\x42\x0f\x82\xb2\x19\x0b\n\t\t\x00\x00\x00\x00\x00\x80V@H\r\x88\x01\x01\x12.\n\x19n_buffer_cells_no_extrude\x18\x0f \x01(\x05\x42\x06\x82\xb2\x19\x02\x30\x00H\x0e\x88\x01\x01\x12!\n\x0cn_layer_iter\x18\x10 \x01(\x05\x42\x06\x82\xb2\x19\x02\x30\x1eH\x0f\x88\x01\x01\x12,\n\x17global_n_surface_layers\x18\x11 \x01(\x05\x42\x06\x82\xb2\x19\x02\x30\nH\x10\x88\x01\x01\x12W\n\x10n_surface_layers\x18\x12 \x03(\x0b\x32=.luminary.proto.hexmesh.AddLayersControls.NSurfaceLayersEntry\x12!\n\x0cn_outer_iter\x18\x13 \x01(\x05\x42\x06\x82\xb2\x19\x02\x30\x01H\x11\x88\x01\x01\x1a\x35\n\x13NSurfaceLayersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x05:\x02\x38\x01\x42\x11\n\x0f_relative_sizesB\x12\n\x10_expansion_ratioB\x18\n\x16_final_layer_thicknessB\x10\n\x0e_min_thicknessB\t\n\x07_n_growB\x10\n\x0e_feature_angleB\x15\n\x13_slip_feature_angleB\x0f\n\r_n_relax_iterB\x1b\n\x19_n_smooth_surface_normalsB\x13\n\x11_n_smooth_normalsB\x15\n\x13_n_smooth_thicknessB\x1b\n\x19_max_face_thickness_ratioB \n\x1e_max_thickness_to_medial_ratioB\x18\n\x16_min_medial_axis_angleB\x1c\n\x1a_n_buffer_cells_no_extrudeB\x0f\n\r_n_layer_iterB\x1a\n\x18_global_n_surface_layersB\x0f\n\r_n_outer_iter\"\xa6\x01\n\x16RefinementRegionParams\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12(\n\x04\x63ube\x18\x03 \x01(\x0b\x32\x18.luminary.proto.cad.CubeH\x00\x12?\n\x0frefinement_spec\x18\x04 \x01(\x0b\x32&.luminary.proto.hexmesh.RefinementSpecB\x07\n\x05shape\"\xdc\x04\n\x15OpenfoamMeshShmConfig\x12G\n\x14global_feature_edges\x18\x01 \x01(\x0b\x32$.luminary.proto.hexmesh.FeatureEdgesH\x00\x88\x01\x01\x12V\n\rfeature_edges\x18\x05 \x03(\x0b\x32?.luminary.proto.hexmesh.OpenfoamMeshShmConfig.FeatureEdgesEntry\x12W\n\x19\x63\x61stellated_mesh_controls\x18\x02 \x01(\x0b\x32/.luminary.proto.hexmesh.CastellatedMeshControlsH\x01\x88\x01\x01\x12@\n\rsnap_controls\x18\x03 \x01(\x0b\x32$.luminary.proto.hexmesh.SnapControlsH\x02\x88\x01\x01\x12K\n\x13\x61\x64\x64_layers_controls\x18\x04 \x01(\x0b\x32).luminary.proto.hexmesh.AddLayersControlsH\x03\x88\x01\x01\x1aY\n\x11\x46\x65\x61tureEdgesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x33\n\x05value\x18\x02 \x01(\x0b\x32$.luminary.proto.hexmesh.FeatureEdges:\x02\x38\x01\x42\x17\n\x15_global_feature_edgesB\x1c\n\x1a_castellated_mesh_controlsB\x10\n\x0e_snap_controlsB\x16\n\x14_add_layers_controls\"\xaa\x02\n\x11TransformationStl\x12\x36\n\x0btranslation\x18\x01 \x01(\x0b\x32\x1c.luminary.proto.base.Vector3H\x00\x88\x01\x01\x12\x38\n\rrotation_axis\x18\x02 \x01(\x0b\x32\x1c.luminary.proto.base.Vector3H\x01\x88\x01\x01\x12\x12\n\x05\x61ngle\x18\x03 \x01(\x01H\x02\x88\x01\x01\x12Y\n\x05scale\x18\x04 \x01(\x0b\x32\x1c.luminary.proto.base.Vector3B\'\x82\xb2\x19#\x12!\n\t\t\x00\x00\x00\x00\x00\x00\xf0?\x12\t\t\x00\x00\x00\x00\x00\x00\xf0?\x1a\t\t\x00\x00\x00\x00\x00\x00\xf0?H\x03\x88\x01\x01\x42\x0e\n\x0c_translationB\x10\n\x0e_rotation_axisB\x08\n\x06_angleB\x08\n\x06_scale\"\xf2\x07\n\x12OpenfoamMeshConfig\x12\x44\n\x0f\x62\x61\x63kground_mesh\x18\x02 \x01(\x0b\x32&.luminary.proto.hexmesh.BackgroundMeshH\x01\x88\x01\x01\x12J\n\x12refinement_regions\x18\x03 \x03(\x0b\x32..luminary.proto.hexmesh.RefinementRegionParams\x12o\n\x1crefinement_regions_from_stls\x18\x08 \x03(\x0b\x32I.luminary.proto.hexmesh.OpenfoamMeshConfig.RefinementRegionsFromStlsEntry\x12\x43\n\nshm_config\x18\x04 \x01(\x0b\x32-.luminary.proto.hexmesh.OpenfoamMeshShmConfigH\x00\x12\x37\n\x0boutput_info\x18\x05 \x01(\x0b\x32\".luminary.proto.hexmesh.OutputInfo\x12\x0f\n\x07mesh_id\x18\x06 \x01(\t\x12[\n\x12names_to_file_urls\x18\x07 \x03(\x0b\x32?.luminary.proto.hexmesh.OpenfoamMeshConfig.NamesToFileUrlsEntry\x12\x1d\n\x08use_wrap\x18\t \x01(\x08\x42\x06\x82\xb2\x19\x02(\x00H\x02\x88\x01\x01\x12^\n\x13transforms_for_stls\x18\n \x03(\x0b\x32\x41.luminary.proto.hexmesh.OpenfoamMeshConfig.TransformsForStlsEntry\x12#\n\x0erun_check_mesh\x18\x0b \x01(\x08\x42\x06\x82\xb2\x19\x02(\x00H\x03\x88\x01\x01\x1ah\n\x1eRefinementRegionsFromStlsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x35\n\x05value\x18\x02 \x01(\x0b\x32&.luminary.proto.hexmesh.RefinementSpec:\x02\x38\x01\x1a\x36\n\x14NamesToFileUrlsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a\x63\n\x16TransformsForStlsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x38\n\x05value\x18\x02 \x01(\x0b\x32).luminary.proto.hexmesh.TransformationStl:\x02\x38\x01\x42\x08\n\x06\x63onfigB\x12\n\x10_background_meshB\x0b\n\t_use_wrapB\x11\n\x0f_run_check_meshJ\x04\x08\x01\x10\x02\"\xe2\x06\n\x0bHexMeshSpec\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x44\n\x0f\x62\x61\x63kground_mesh\x18\x03 \x01(\x0b\x32&.luminary.proto.hexmesh.BackgroundMeshH\x01\x88\x01\x01\x12J\n\x12refinement_regions\x18\x04 \x03(\x0b\x32..luminary.proto.hexmesh.RefinementRegionParams\x12h\n\x1crefinement_regions_from_stls\x18\x07 \x03(\x0b\x32\x42.luminary.proto.hexmesh.HexMeshSpec.RefinementRegionsFromStlsEntry\x12\x43\n\nshm_config\x18\x05 \x01(\x0b\x32-.luminary.proto.hexmesh.OpenfoamMeshShmConfigH\x00\x12T\n\x12names_to_file_urls\x18\x06 \x03(\x0b\x32\x38.luminary.proto.hexmesh.HexMeshSpec.NamesToFileUrlsEntry\x12\x1d\n\x08use_wrap\x18\x08 \x01(\x08\x42\x06\x82\xb2\x19\x02(\x00H\x02\x88\x01\x01\x12W\n\x13transforms_for_stls\x18\t \x03(\x0b\x32:.luminary.proto.hexmesh.HexMeshSpec.TransformsForStlsEntry\x1ah\n\x1eRefinementRegionsFromStlsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x35\n\x05value\x18\x02 \x01(\x0b\x32&.luminary.proto.hexmesh.RefinementSpec:\x02\x38\x01\x1a\x36\n\x14NamesToFileUrlsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a\x63\n\x16TransformsForStlsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x38\n\x05value\x18\x02 \x01(\x0b\x32).luminary.proto.hexmesh.TransformationStl:\x02\x38\x01\x42\x08\n\x06\x63onfigB\x12\n\x10_background_meshB\x0b\n\t_use_wrapJ\x04\x08\x01\x10\x02*~\n\x12RefinementSpecMode\x12$\n REFINEMENT_SPEC_MODE_UNSPECIFIED\x10\x00\x12\x1f\n\x1bREFINEMENT_SPEC_MODE_INSIDE\x10\x01\x12!\n\x1dREFINEMENT_SPEC_MODE_DISTANCE\x10\x02\x42&Z$luminarycloud.com/core/proto/hexmeshb\x06proto3')
21
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1bproto/hexmesh/hexmesh.proto\x12\x16luminary.proto.hexmesh\x1a\x15proto/base/base.proto\x1a\x15proto/cad/shape.proto\x1a\x1bproto/options/options.proto\"{\n\x0fRefinementLevel\x12&\n\x08\x64istance\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\x05level\x18\x03 \x01(\x05\x42\x0f\x82\xb2\x19\x0b\n\t\t\x00\x00\x00\x00\x00\x00\x00@H\x01\x88\x01\x01\x42\x0b\n\t_distanceB\x08\n\x06_levelJ\x04\x08\x02\x10\x03\"\x8e\x01\n\x0eRefinementSpec\x12\x42\n\x11refinement_levels\x18\x01 \x03(\x0b\x32\'.luminary.proto.hexmesh.RefinementLevel\x12\x38\n\x04mode\x18\x02 \x01(\x0e\x32*.luminary.proto.hexmesh.RefinementSpecMode\"\'\n\nOutputInfo\x12\x19\n\x11output_lcmesh_url\x18\x01 \x01(\t\"j\n\x0e\x42\x61\x63kgroundMesh\x12(\n\x04\x63ube\x18\x01 \x01(\x0b\x32\x18.luminary.proto.cad.CubeH\x00\x12\x0b\n\x03n_x\x18\x08 \x01(\x05\x12\x0b\n\x03n_y\x18\t \x01(\x05\x12\x0b\n\x03n_z\x18\n \x01(\x05\x42\x07\n\x05shape\"\xa8\x01\n\x12RefinementSurfaces\x12)\n\x14refinement_min_level\x18\x03 \x01(\x05\x42\x06\x82\xb2\x19\x02\x30\x02H\x00\x88\x01\x01\x12)\n\x14refinement_max_level\x18\x04 \x01(\x05\x42\x06\x82\xb2\x19\x02\x30\x02H\x01\x88\x01\x01\x42\x17\n\x15_refinement_min_levelB\x17\n\x15_refinement_max_levelJ\x04\x08\x01\x10\x02J\x04\x08\x02\x10\x03\"\x89\x05\n\x17\x43\x61stellatedMeshControls\x12)\n\x10max_global_cells\x18\x01 \x01(\x05\x42\n\x82\xb2\x19\x06\x30\x80\x88\xde\xbe\x01H\x00\x88\x01\x01\x12)\n\x14min_refinement_cells\x18\x02 \x01(\x05\x42\x06\x82\xb2\x19\x02\x30\x64H\x01\x88\x01\x01\x12+\n\x16n_cells_between_levels\x18\x03 \x01(\x05\x42\x06\x82\xb2\x19\x02\x30\x03H\x02\x88\x01\x01\x12\x33\n\x15resolve_feature_angle\x18\x04 \x01(\x01\x42\x0f\x82\xb2\x19\x0b\n\t\t\x00\x00\x00\x00\x00\x00N@H\x03\x88\x01\x01\x12\x36\n\x10location_in_mesh\x18\x05 \x01(\x0b\x32\x1c.luminary.proto.base.Vector3\x12N\n\x1aglobal_refinement_surfaces\x18\x06 \x01(\x0b\x32*.luminary.proto.hexmesh.RefinementSurfaces\x12\x64\n\x13refinement_surfaces\x18\t \x03(\x0b\x32G.luminary.proto.hexmesh.CastellatedMeshControls.RefinementSurfacesEntry\x1a\x65\n\x17RefinementSurfacesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x39\n\x05value\x18\x02 \x01(\x0b\x32*.luminary.proto.hexmesh.RefinementSurfaces:\x02\x38\x01\x42\x13\n\x11_max_global_cellsB\x17\n\x15_min_refinement_cellsB\x19\n\x17_n_cells_between_levelsB\x18\n\x16_resolve_feature_angle\"\x8e\x01\n\x0c\x46\x65\x61tureEdges\x12+\n\rfeature_angle\x18\x01 \x01(\x01\x42\x0f\x82\xb2\x19\x0b\n\t\t\x00\x00\x00\x00\x00\x00>@H\x00\x88\x01\x01\x12?\n\x0frefinement_spec\x18\x02 \x01(\x0b\x32&.luminary.proto.hexmesh.RefinementSpecB\x10\n\x0e_feature_angle\"\xa7\x02\n\x0cSnapControls\x12#\n\x0en_smooth_patch\x18\x01 \x01(\x05\x42\x06\x82\xb2\x19\x02\x30\x03H\x00\x88\x01\x01\x12\'\n\ttolerance\x18\x02 \x01(\x01\x42\x0f\x82\xb2\x19\x0b\n\t\t\x00\x00\x00\x00\x00\x00\x10@H\x01\x88\x01\x01\x12!\n\x0cn_solve_iter\x18\x03 \x01(\x05\x42\x06\x82\xb2\x19\x02\x30\x1eH\x02\x88\x01\x01\x12!\n\x0cn_relax_iter\x18\x04 \x01(\x05\x42\x06\x82\xb2\x19\x02\x30\x05H\x03\x88\x01\x01\x12(\n\x13n_feature_snap_iter\x18\x05 \x01(\x05\x42\x06\x82\xb2\x19\x02\x30\nH\x04\x88\x01\x01\x42\x11\n\x0f_n_smooth_patchB\x0c\n\n_toleranceB\x0f\n\r_n_solve_iterB\x0f\n\r_n_relax_iterB\x16\n\x14_n_feature_snap_iter\"\xdb\n\n\x11\x41\x64\x64LayersControls\x12#\n\x0erelative_sizes\x18\x01 \x01(\x08\x42\x06\x82\xb2\x19\x02(\x01H\x00\x88\x01\x01\x12-\n\x0f\x65xpansion_ratio\x18\x02 \x01(\x01\x42\x0f\x82\xb2\x19\x0b\n\t\t\x00\x00\x00\x00\x00\x00\xf4?H\x01\x88\x01\x01\x12\x33\n\x15\x66inal_layer_thickness\x18\x03 \x01(\x01\x42\x0f\x82\xb2\x19\x0b\n\t\t333333\xd3?H\x02\x88\x01\x01\x12+\n\rmin_thickness\x18\x04 \x01(\x01\x42\x0f\x82\xb2\x19\x0b\n\t\t\x9a\x99\x99\x99\x99\x99\xb9?H\x03\x88\x01\x01\x12\x1b\n\x06n_grow\x18\x05 \x01(\x05\x42\x06\x82\xb2\x19\x02\x30\x00H\x04\x88\x01\x01\x12+\n\rfeature_angle\x18\x06 \x01(\x01\x42\x0f\x82\xb2\x19\x0b\n\t\t\x00\x00\x00\x00\x00\x00N@H\x05\x88\x01\x01\x12\x30\n\x12slip_feature_angle\x18\x07 \x01(\x01\x42\x0f\x82\xb2\x19\x0b\n\t\t\x00\x00\x00\x00\x00\x00N@H\x06\x88\x01\x01\x12!\n\x0cn_relax_iter\x18\x08 \x01(\x05\x42\x06\x82\xb2\x19\x02\x30\x03H\x07\x88\x01\x01\x12-\n\x18n_smooth_surface_normals\x18\t \x01(\x05\x42\x06\x82\xb2\x19\x02\x30\x01H\x08\x88\x01\x01\x12%\n\x10n_smooth_normals\x18\n \x01(\x05\x42\x06\x82\xb2\x19\x02\x30\x03H\t\x88\x01\x01\x12\'\n\x12n_smooth_thickness\x18\x0b \x01(\x05\x42\x06\x82\xb2\x19\x02\x30\nH\n\x88\x01\x01\x12\x36\n\x18max_face_thickness_ratio\x18\x0c \x01(\x01\x42\x0f\x82\xb2\x19\x0b\n\t\t\x00\x00\x00\x00\x00\x00\xe0?H\x0b\x88\x01\x01\x12;\n\x1dmax_thickness_to_medial_ratio\x18\r \x01(\x01\x42\x0f\x82\xb2\x19\x0b\n\t\t333333\xd3?H\x0c\x88\x01\x01\x12\x33\n\x15min_medial_axis_angle\x18\x0e \x01(\x01\x42\x0f\x82\xb2\x19\x0b\n\t\t\x00\x00\x00\x00\x00\x80V@H\r\x88\x01\x01\x12.\n\x19n_buffer_cells_no_extrude\x18\x0f \x01(\x05\x42\x06\x82\xb2\x19\x02\x30\x00H\x0e\x88\x01\x01\x12!\n\x0cn_layer_iter\x18\x10 \x01(\x05\x42\x06\x82\xb2\x19\x02\x30\x1eH\x0f\x88\x01\x01\x12,\n\x17global_n_surface_layers\x18\x11 \x01(\x05\x42\x06\x82\xb2\x19\x02\x30\nH\x10\x88\x01\x01\x12W\n\x10n_surface_layers\x18\x12 \x03(\x0b\x32=.luminary.proto.hexmesh.AddLayersControls.NSurfaceLayersEntry\x12!\n\x0cn_outer_iter\x18\x13 \x01(\x05\x42\x06\x82\xb2\x19\x02\x30\x01H\x11\x88\x01\x01\x1a\x35\n\x13NSurfaceLayersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x05:\x02\x38\x01\x42\x11\n\x0f_relative_sizesB\x12\n\x10_expansion_ratioB\x18\n\x16_final_layer_thicknessB\x10\n\x0e_min_thicknessB\t\n\x07_n_growB\x10\n\x0e_feature_angleB\x15\n\x13_slip_feature_angleB\x0f\n\r_n_relax_iterB\x1b\n\x19_n_smooth_surface_normalsB\x13\n\x11_n_smooth_normalsB\x15\n\x13_n_smooth_thicknessB\x1b\n\x19_max_face_thickness_ratioB \n\x1e_max_thickness_to_medial_ratioB\x18\n\x16_min_medial_axis_angleB\x1c\n\x1a_n_buffer_cells_no_extrudeB\x0f\n\r_n_layer_iterB\x1a\n\x18_global_n_surface_layersB\x0f\n\r_n_outer_iter\"\xa6\x01\n\x16RefinementRegionParams\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12(\n\x04\x63ube\x18\x03 \x01(\x0b\x32\x18.luminary.proto.cad.CubeH\x00\x12?\n\x0frefinement_spec\x18\x04 \x01(\x0b\x32&.luminary.proto.hexmesh.RefinementSpecB\x07\n\x05shape\"\xdc\x04\n\x15OpenfoamMeshShmConfig\x12G\n\x14global_feature_edges\x18\x01 \x01(\x0b\x32$.luminary.proto.hexmesh.FeatureEdgesH\x00\x88\x01\x01\x12V\n\rfeature_edges\x18\x05 \x03(\x0b\x32?.luminary.proto.hexmesh.OpenfoamMeshShmConfig.FeatureEdgesEntry\x12W\n\x19\x63\x61stellated_mesh_controls\x18\x02 \x01(\x0b\x32/.luminary.proto.hexmesh.CastellatedMeshControlsH\x01\x88\x01\x01\x12@\n\rsnap_controls\x18\x03 \x01(\x0b\x32$.luminary.proto.hexmesh.SnapControlsH\x02\x88\x01\x01\x12K\n\x13\x61\x64\x64_layers_controls\x18\x04 \x01(\x0b\x32).luminary.proto.hexmesh.AddLayersControlsH\x03\x88\x01\x01\x1aY\n\x11\x46\x65\x61tureEdgesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x33\n\x05value\x18\x02 \x01(\x0b\x32$.luminary.proto.hexmesh.FeatureEdges:\x02\x38\x01\x42\x17\n\x15_global_feature_edgesB\x1c\n\x1a_castellated_mesh_controlsB\x10\n\x0e_snap_controlsB\x16\n\x14_add_layers_controls\"\xaa\x02\n\x11TransformationStl\x12\x36\n\x0btranslation\x18\x01 \x01(\x0b\x32\x1c.luminary.proto.base.Vector3H\x00\x88\x01\x01\x12\x38\n\rrotation_axis\x18\x02 \x01(\x0b\x32\x1c.luminary.proto.base.Vector3H\x01\x88\x01\x01\x12\x12\n\x05\x61ngle\x18\x03 \x01(\x01H\x02\x88\x01\x01\x12Y\n\x05scale\x18\x04 \x01(\x0b\x32\x1c.luminary.proto.base.Vector3B\'\x82\xb2\x19#\x12!\n\t\t\x00\x00\x00\x00\x00\x00\xf0?\x12\t\t\x00\x00\x00\x00\x00\x00\xf0?\x1a\t\t\x00\x00\x00\x00\x00\x00\xf0?H\x03\x88\x01\x01\x42\x0e\n\x0c_translationB\x10\n\x0e_rotation_axisB\x08\n\x06_angleB\x08\n\x06_scale\"\xfe\x08\n\x12OpenfoamMeshConfig\x12\x44\n\x0f\x62\x61\x63kground_mesh\x18\x02 \x01(\x0b\x32&.luminary.proto.hexmesh.BackgroundMeshH\x01\x88\x01\x01\x12J\n\x12refinement_regions\x18\x03 \x03(\x0b\x32..luminary.proto.hexmesh.RefinementRegionParams\x12o\n\x1crefinement_regions_from_stls\x18\x08 \x03(\x0b\x32I.luminary.proto.hexmesh.OpenfoamMeshConfig.RefinementRegionsFromStlsEntry\x12\x43\n\nshm_config\x18\x04 \x01(\x0b\x32-.luminary.proto.hexmesh.OpenfoamMeshShmConfigH\x00\x12\x37\n\x0boutput_info\x18\x05 \x01(\x0b\x32\".luminary.proto.hexmesh.OutputInfo\x12\x0f\n\x07mesh_id\x18\x06 \x01(\t\x12[\n\x12names_to_file_urls\x18\x07 \x03(\x0b\x32?.luminary.proto.hexmesh.OpenfoamMeshConfig.NamesToFileUrlsEntry\x12\x1d\n\x08use_wrap\x18\t \x01(\x08\x42\x06\x82\xb2\x19\x02(\x00H\x02\x88\x01\x01\x12^\n\x13transforms_for_stls\x18\n \x03(\x0b\x32\x41.luminary.proto.hexmesh.OpenfoamMeshConfig.TransformsForStlsEntry\x12#\n\x0erun_check_mesh\x18\x0b \x01(\x08\x42\x06\x82\xb2\x19\x02(\x00H\x03\x88\x01\x01\x12\x30\n\x1bskip_merge_or_split_baffles\x18\x0c \x01(\x08\x42\x06\x82\xb2\x19\x02(\x00H\x04\x88\x01\x01\x12$\n\x0fskip_disconnect\x18\r \x01(\x08\x42\x06\x82\xb2\x19\x02(\x00H\x05\x88\x01\x01\x1ah\n\x1eRefinementRegionsFromStlsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x35\n\x05value\x18\x02 \x01(\x0b\x32&.luminary.proto.hexmesh.RefinementSpec:\x02\x38\x01\x1a\x36\n\x14NamesToFileUrlsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a\x63\n\x16TransformsForStlsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x38\n\x05value\x18\x02 \x01(\x0b\x32).luminary.proto.hexmesh.TransformationStl:\x02\x38\x01\x42\x08\n\x06\x63onfigB\x12\n\x10_background_meshB\x0b\n\t_use_wrapB\x11\n\x0f_run_check_meshB\x1e\n\x1c_skip_merge_or_split_bafflesB\x12\n\x10_skip_disconnectJ\x04\x08\x01\x10\x02\"\xe2\x06\n\x0bHexMeshSpec\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x44\n\x0f\x62\x61\x63kground_mesh\x18\x03 \x01(\x0b\x32&.luminary.proto.hexmesh.BackgroundMeshH\x01\x88\x01\x01\x12J\n\x12refinement_regions\x18\x04 \x03(\x0b\x32..luminary.proto.hexmesh.RefinementRegionParams\x12h\n\x1crefinement_regions_from_stls\x18\x07 \x03(\x0b\x32\x42.luminary.proto.hexmesh.HexMeshSpec.RefinementRegionsFromStlsEntry\x12\x43\n\nshm_config\x18\x05 \x01(\x0b\x32-.luminary.proto.hexmesh.OpenfoamMeshShmConfigH\x00\x12T\n\x12names_to_file_urls\x18\x06 \x03(\x0b\x32\x38.luminary.proto.hexmesh.HexMeshSpec.NamesToFileUrlsEntry\x12\x1d\n\x08use_wrap\x18\x08 \x01(\x08\x42\x06\x82\xb2\x19\x02(\x00H\x02\x88\x01\x01\x12W\n\x13transforms_for_stls\x18\t \x03(\x0b\x32:.luminary.proto.hexmesh.HexMeshSpec.TransformsForStlsEntry\x1ah\n\x1eRefinementRegionsFromStlsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x35\n\x05value\x18\x02 \x01(\x0b\x32&.luminary.proto.hexmesh.RefinementSpec:\x02\x38\x01\x1a\x36\n\x14NamesToFileUrlsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a\x63\n\x16TransformsForStlsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x38\n\x05value\x18\x02 \x01(\x0b\x32).luminary.proto.hexmesh.TransformationStl:\x02\x38\x01\x42\x08\n\x06\x63onfigB\x12\n\x10_background_meshB\x0b\n\t_use_wrapJ\x04\x08\x01\x10\x02*~\n\x12RefinementSpecMode\x12$\n REFINEMENT_SPEC_MODE_UNSPECIFIED\x10\x00\x12\x1f\n\x1bREFINEMENT_SPEC_MODE_INSIDE\x10\x01\x12!\n\x1dREFINEMENT_SPEC_MODE_DISTANCE\x10\x02\x42&Z$luminarycloud.com/core/proto/hexmeshb\x06proto3')
22
22
 
23
23
  _REFINEMENTSPECMODE = DESCRIPTOR.enum_types_by_name['RefinementSpecMode']
24
24
  RefinementSpecMode = enum_type_wrapper.EnumTypeWrapper(_REFINEMENTSPECMODE)
@@ -306,6 +306,10 @@ if _descriptor._USE_C_DESCRIPTORS == False:
306
306
  _OPENFOAMMESHCONFIG.fields_by_name['use_wrap']._serialized_options = b'\202\262\031\002(\000'
307
307
  _OPENFOAMMESHCONFIG.fields_by_name['run_check_mesh']._options = None
308
308
  _OPENFOAMMESHCONFIG.fields_by_name['run_check_mesh']._serialized_options = b'\202\262\031\002(\000'
309
+ _OPENFOAMMESHCONFIG.fields_by_name['skip_merge_or_split_baffles']._options = None
310
+ _OPENFOAMMESHCONFIG.fields_by_name['skip_merge_or_split_baffles']._serialized_options = b'\202\262\031\002(\000'
311
+ _OPENFOAMMESHCONFIG.fields_by_name['skip_disconnect']._options = None
312
+ _OPENFOAMMESHCONFIG.fields_by_name['skip_disconnect']._serialized_options = b'\202\262\031\002(\000'
309
313
  _HEXMESHSPEC_REFINEMENTREGIONSFROMSTLSENTRY._options = None
310
314
  _HEXMESHSPEC_REFINEMENTREGIONSFROMSTLSENTRY._serialized_options = b'8\001'
311
315
  _HEXMESHSPEC_NAMESTOFILEURLSENTRY._options = None
@@ -314,8 +318,8 @@ if _descriptor._USE_C_DESCRIPTORS == False:
314
318
  _HEXMESHSPEC_TRANSFORMSFORSTLSENTRY._serialized_options = b'8\001'
315
319
  _HEXMESHSPEC.fields_by_name['use_wrap']._options = None
316
320
  _HEXMESHSPEC.fields_by_name['use_wrap']._serialized_options = b'\202\262\031\002(\000'
317
- _REFINEMENTSPECMODE._serialized_start=6148
318
- _REFINEMENTSPECMODE._serialized_end=6274
321
+ _REFINEMENTSPECMODE._serialized_start=6288
322
+ _REFINEMENTSPECMODE._serialized_end=6414
319
323
  _REFINEMENTLEVEL._serialized_start=130
320
324
  _REFINEMENTLEVEL._serialized_end=253
321
325
  _REFINEMENTSPEC._serialized_start=256
@@ -347,19 +351,19 @@ if _descriptor._USE_C_DESCRIPTORS == False:
347
351
  _TRANSFORMATIONSTL._serialized_start=3966
348
352
  _TRANSFORMATIONSTL._serialized_end=4264
349
353
  _OPENFOAMMESHCONFIG._serialized_start=4267
350
- _OPENFOAMMESHCONFIG._serialized_end=5277
351
- _OPENFOAMMESHCONFIG_REFINEMENTREGIONSFROMSTLSENTRY._serialized_start=4948
352
- _OPENFOAMMESHCONFIG_REFINEMENTREGIONSFROMSTLSENTRY._serialized_end=5052
353
- _OPENFOAMMESHCONFIG_NAMESTOFILEURLSENTRY._serialized_start=5054
354
- _OPENFOAMMESHCONFIG_NAMESTOFILEURLSENTRY._serialized_end=5108
355
- _OPENFOAMMESHCONFIG_TRANSFORMSFORSTLSENTRY._serialized_start=5110
356
- _OPENFOAMMESHCONFIG_TRANSFORMSFORSTLSENTRY._serialized_end=5209
357
- _HEXMESHSPEC._serialized_start=5280
358
- _HEXMESHSPEC._serialized_end=6146
359
- _HEXMESHSPEC_REFINEMENTREGIONSFROMSTLSENTRY._serialized_start=4948
360
- _HEXMESHSPEC_REFINEMENTREGIONSFROMSTLSENTRY._serialized_end=5052
361
- _HEXMESHSPEC_NAMESTOFILEURLSENTRY._serialized_start=5054
362
- _HEXMESHSPEC_NAMESTOFILEURLSENTRY._serialized_end=5108
363
- _HEXMESHSPEC_TRANSFORMSFORSTLSENTRY._serialized_start=5110
364
- _HEXMESHSPEC_TRANSFORMSFORSTLSENTRY._serialized_end=5209
354
+ _OPENFOAMMESHCONFIG._serialized_end=5417
355
+ _OPENFOAMMESHCONFIG_REFINEMENTREGIONSFROMSTLSENTRY._serialized_start=5036
356
+ _OPENFOAMMESHCONFIG_REFINEMENTREGIONSFROMSTLSENTRY._serialized_end=5140
357
+ _OPENFOAMMESHCONFIG_NAMESTOFILEURLSENTRY._serialized_start=5142
358
+ _OPENFOAMMESHCONFIG_NAMESTOFILEURLSENTRY._serialized_end=5196
359
+ _OPENFOAMMESHCONFIG_TRANSFORMSFORSTLSENTRY._serialized_start=5198
360
+ _OPENFOAMMESHCONFIG_TRANSFORMSFORSTLSENTRY._serialized_end=5297
361
+ _HEXMESHSPEC._serialized_start=5420
362
+ _HEXMESHSPEC._serialized_end=6286
363
+ _HEXMESHSPEC_REFINEMENTREGIONSFROMSTLSENTRY._serialized_start=5036
364
+ _HEXMESHSPEC_REFINEMENTREGIONSFROMSTLSENTRY._serialized_end=5140
365
+ _HEXMESHSPEC_NAMESTOFILEURLSENTRY._serialized_start=5142
366
+ _HEXMESHSPEC_NAMESTOFILEURLSENTRY._serialized_end=5196
367
+ _HEXMESHSPEC_TRANSFORMSFORSTLSENTRY._serialized_start=5198
368
+ _HEXMESHSPEC_TRANSFORMSFORSTLSENTRY._serialized_end=5297
365
369
  # @@protoc_insertion_point(module_scope)
@@ -589,6 +589,8 @@ class OpenfoamMeshConfig(google.protobuf.message.Message):
589
589
  USE_WRAP_FIELD_NUMBER: builtins.int
590
590
  TRANSFORMS_FOR_STLS_FIELD_NUMBER: builtins.int
591
591
  RUN_CHECK_MESH_FIELD_NUMBER: builtins.int
592
+ SKIP_MERGE_OR_SPLIT_BAFFLES_FIELD_NUMBER: builtins.int
593
+ SKIP_DISCONNECT_FIELD_NUMBER: builtins.int
592
594
  @property
593
595
  def background_mesh(self) -> global___BackgroundMesh:
594
596
  """string input_url = 1;"""
@@ -613,6 +615,14 @@ class OpenfoamMeshConfig(google.protobuf.message.Message):
613
615
  @property
614
616
  def transforms_for_stls(self) -> google.protobuf.internal.containers.MessageMap[builtins.str, global___TransformationStl]: ...
615
617
  run_check_mesh: builtins.bool
618
+ skip_merge_or_split_baffles: builtins.bool
619
+ """Skip the mergeOrSplitBaffles step that removes baffles. Setting this field
620
+ to true speeds up the meshing process but may generate invalid meshes.
621
+ """
622
+ skip_disconnect: builtins.bool
623
+ """Set to true if the number of volumes resulting from the meshing operation
624
+ is equal to 1. This speeds up the meshing process.
625
+ """
616
626
  def __init__(
617
627
  self,
618
628
  *,
@@ -626,14 +636,20 @@ class OpenfoamMeshConfig(google.protobuf.message.Message):
626
636
  use_wrap: builtins.bool | None = ...,
627
637
  transforms_for_stls: collections.abc.Mapping[builtins.str, global___TransformationStl] | None = ...,
628
638
  run_check_mesh: builtins.bool | None = ...,
639
+ skip_merge_or_split_baffles: builtins.bool | None = ...,
640
+ skip_disconnect: builtins.bool | None = ...,
629
641
  ) -> None: ...
630
- def HasField(self, field_name: typing_extensions.Literal["_background_mesh", b"_background_mesh", "_run_check_mesh", b"_run_check_mesh", "_use_wrap", b"_use_wrap", "background_mesh", b"background_mesh", "config", b"config", "output_info", b"output_info", "run_check_mesh", b"run_check_mesh", "shm_config", b"shm_config", "use_wrap", b"use_wrap"]) -> builtins.bool: ...
631
- def ClearField(self, field_name: typing_extensions.Literal["_background_mesh", b"_background_mesh", "_run_check_mesh", b"_run_check_mesh", "_use_wrap", b"_use_wrap", "background_mesh", b"background_mesh", "config", b"config", "mesh_id", b"mesh_id", "names_to_file_urls", b"names_to_file_urls", "output_info", b"output_info", "refinement_regions", b"refinement_regions", "refinement_regions_from_stls", b"refinement_regions_from_stls", "run_check_mesh", b"run_check_mesh", "shm_config", b"shm_config", "transforms_for_stls", b"transforms_for_stls", "use_wrap", b"use_wrap"]) -> None: ...
642
+ def HasField(self, field_name: typing_extensions.Literal["_background_mesh", b"_background_mesh", "_run_check_mesh", b"_run_check_mesh", "_skip_disconnect", b"_skip_disconnect", "_skip_merge_or_split_baffles", b"_skip_merge_or_split_baffles", "_use_wrap", b"_use_wrap", "background_mesh", b"background_mesh", "config", b"config", "output_info", b"output_info", "run_check_mesh", b"run_check_mesh", "shm_config", b"shm_config", "skip_disconnect", b"skip_disconnect", "skip_merge_or_split_baffles", b"skip_merge_or_split_baffles", "use_wrap", b"use_wrap"]) -> builtins.bool: ...
643
+ def ClearField(self, field_name: typing_extensions.Literal["_background_mesh", b"_background_mesh", "_run_check_mesh", b"_run_check_mesh", "_skip_disconnect", b"_skip_disconnect", "_skip_merge_or_split_baffles", b"_skip_merge_or_split_baffles", "_use_wrap", b"_use_wrap", "background_mesh", b"background_mesh", "config", b"config", "mesh_id", b"mesh_id", "names_to_file_urls", b"names_to_file_urls", "output_info", b"output_info", "refinement_regions", b"refinement_regions", "refinement_regions_from_stls", b"refinement_regions_from_stls", "run_check_mesh", b"run_check_mesh", "shm_config", b"shm_config", "skip_disconnect", b"skip_disconnect", "skip_merge_or_split_baffles", b"skip_merge_or_split_baffles", "transforms_for_stls", b"transforms_for_stls", "use_wrap", b"use_wrap"]) -> None: ...
632
644
  @typing.overload
633
645
  def WhichOneof(self, oneof_group: typing_extensions.Literal["_background_mesh", b"_background_mesh"]) -> typing_extensions.Literal["background_mesh"] | None: ...
634
646
  @typing.overload
635
647
  def WhichOneof(self, oneof_group: typing_extensions.Literal["_run_check_mesh", b"_run_check_mesh"]) -> typing_extensions.Literal["run_check_mesh"] | None: ...
636
648
  @typing.overload
649
+ def WhichOneof(self, oneof_group: typing_extensions.Literal["_skip_disconnect", b"_skip_disconnect"]) -> typing_extensions.Literal["skip_disconnect"] | None: ...
650
+ @typing.overload
651
+ def WhichOneof(self, oneof_group: typing_extensions.Literal["_skip_merge_or_split_baffles", b"_skip_merge_or_split_baffles"]) -> typing_extensions.Literal["skip_merge_or_split_baffles"] | None: ...
652
+ @typing.overload
637
653
  def WhichOneof(self, oneof_group: typing_extensions.Literal["_use_wrap", b"_use_wrap"]) -> typing_extensions.Literal["use_wrap"] | None: ...
638
654
  @typing.overload
639
655
  def WhichOneof(self, oneof_group: typing_extensions.Literal["config", b"config"]) -> typing_extensions.Literal["shm_config"] | None: ...
@@ -0,0 +1,30 @@
1
+ # -*- coding: utf-8 -*-
2
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
3
+ # source: proto/physicsaiinferenceservice/physicsaiinferenceservice.proto
4
+ """Generated protocol buffer code."""
5
+ from google.protobuf import descriptor as _descriptor
6
+ from google.protobuf import descriptor_pool as _descriptor_pool
7
+ from google.protobuf import message as _message
8
+ from google.protobuf import reflection as _reflection
9
+ from google.protobuf import symbol_database as _symbol_database
10
+ # @@protoc_insertion_point(imports)
11
+
12
+ _sym_db = _symbol_database.Default()
13
+
14
+
15
+ from luminarycloud._proto.base import base_pb2 as proto_dot_base_dot_base__pb2
16
+ from luminarycloud._proto.api.v0.luminarycloud.physicsaiinference import physicsaiinference_pb2 as proto_dot_api_dot_v0_dot_luminarycloud_dot_physicsaiinference_dot_physicsaiinference__pb2
17
+
18
+
19
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n?proto/physicsaiinferenceservice/physicsaiinferenceservice.proto\x12(luminary.proto.physicsaiinferenceservice\x1a\x15proto/base/base.proto\x1a\x46proto/api/v0/luminarycloud/physicsaiinference/physicsaiinference.proto2\xda\x06\n\x19PhysicsAiInferenceService\x12\xcd\x01\n\x19\x43reateInferenceServiceJob\x12X.luminary.proto.api.v0.luminarycloud.physicsaiinference.CreateInferenceServiceJobRequest\x1aV.luminary.proto.api.v0.luminarycloud.physicsaiinference.GetInferenceServiceJobResponse\x12\xd2\x01\n\x1e\x43reateInferenceServiceJobAsync\x12X.luminary.proto.api.v0.luminarycloud.physicsaiinference.CreateInferenceServiceJobRequest\x1aV.luminary.proto.api.v0.luminarycloud.physicsaiinference.GetInferenceServiceJobResponse\x12\xc7\x01\n\x16GetInferenceServiceJob\x12U.luminary.proto.api.v0.luminarycloud.physicsaiinference.GetInferenceServiceJobRequest\x1aV.luminary.proto.api.v0.luminarycloud.physicsaiinference.GetInferenceServiceJobResponse\x12\xcd\x01\n\x18ListInferenceServiceJobs\x12W.luminary.proto.api.v0.luminarycloud.physicsaiinference.ListInferenceServiceJobsRequest\x1aX.luminary.proto.api.v0.luminarycloud.physicsaiinference.ListInferenceServiceJobsResponseB8Z6luminarycloud.com/core/proto/physicsaiinferenceserviceb\x06proto3')
20
+
21
+
22
+
23
+ _PHYSICSAIINFERENCESERVICE = DESCRIPTOR.services_by_name['PhysicsAiInferenceService']
24
+ if _descriptor._USE_C_DESCRIPTORS == False:
25
+
26
+ DESCRIPTOR._options = None
27
+ DESCRIPTOR._serialized_options = b'Z6luminarycloud.com/core/proto/physicsaiinferenceservice'
28
+ _PHYSICSAIINFERENCESERVICE._serialized_start=205
29
+ _PHYSICSAIINFERENCESERVICE._serialized_end=1063
30
+ # @@protoc_insertion_point(module_scope)
@@ -0,0 +1,7 @@
1
+ """
2
+ @generated by mypy-protobuf. Do not edit manually!
3
+ isort:skip_file
4
+ """
5
+ import google.protobuf.descriptor
6
+
7
+ DESCRIPTOR: google.protobuf.descriptor.FileDescriptor
@@ -15,7 +15,7 @@ _sym_db = _symbol_database.Default()
15
15
  from luminarycloud._proto.api.v0.luminarycloud.physics_ai import physics_ai_pb2 as proto_dot_api_dot_v0_dot_luminarycloud_dot_physics__ai_dot_physics__ai__pb2
16
16
 
17
17
 
18
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n=proto/physicsaitrainingservice/physicsaitrainingservice.proto\x12\'luminary.proto.physicsaitrainingservice\x1a\x36proto/api/v0/luminarycloud/physics_ai/physics_ai.proto2\xc7\x01\n\x18PhysicsAiTrainingService\x12\xaa\x01\n\x11SubmitTrainingJob\x12H.luminary.proto.api.v0.luminarycloud.physics_ai.SubmitTrainingJobRequest\x1aI.luminary.proto.api.v0.luminarycloud.physics_ai.SubmitTrainingJobResponse\"\x00\x42\x37Z5luminarycloud.com/core/proto/physicsaitrainingserviceb\x06proto3')
18
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n=proto/physicsaitrainingservice/physicsaitrainingservice.proto\x12\'luminary.proto.physicsaitrainingservice\x1a\x36proto/api/v0/luminarycloud/physics_ai/physics_ai.proto2\xf4\x02\n\x18PhysicsAiTrainingService\x12\xaa\x01\n\x11SubmitTrainingJob\x12H.luminary.proto.api.v0.luminarycloud.physics_ai.SubmitTrainingJobRequest\x1aI.luminary.proto.api.v0.luminarycloud.physics_ai.SubmitTrainingJobResponse\"\x00\x12\xaa\x01\n\x11\x43\x61ncelTrainingJob\x12H.luminary.proto.api.v0.luminarycloud.physics_ai.CancelTrainingJobRequest\x1aI.luminary.proto.api.v0.luminarycloud.physics_ai.CancelTrainingJobResponse\"\x00\x42\x37Z5luminarycloud.com/core/proto/physicsaitrainingserviceb\x06proto3')
19
19
 
20
20
 
21
21
 
@@ -25,5 +25,5 @@ if _descriptor._USE_C_DESCRIPTORS == False:
25
25
  DESCRIPTOR._options = None
26
26
  DESCRIPTOR._serialized_options = b'Z5luminarycloud.com/core/proto/physicsaitrainingservice'
27
27
  _PHYSICSAITRAININGSERVICE._serialized_start=163
28
- _PHYSICSAITRAININGSERVICE._serialized_end=362
28
+ _PHYSICSAITRAININGSERVICE._serialized_end=535
29
29
  # @@protoc_insertion_point(module_scope)
@@ -20,6 +20,11 @@ class PhysicsAiTrainingServiceStub(object):
20
20
  request_serializer=proto_dot_api_dot_v0_dot_luminarycloud_dot_physics__ai_dot_physics__ai__pb2.SubmitTrainingJobRequest.SerializeToString,
21
21
  response_deserializer=proto_dot_api_dot_v0_dot_luminarycloud_dot_physics__ai_dot_physics__ai__pb2.SubmitTrainingJobResponse.FromString,
22
22
  )
23
+ self.CancelTrainingJob = channel.unary_unary(
24
+ '/luminary.proto.physicsaitrainingservice.PhysicsAiTrainingService/CancelTrainingJob',
25
+ request_serializer=proto_dot_api_dot_v0_dot_luminarycloud_dot_physics__ai_dot_physics__ai__pb2.CancelTrainingJobRequest.SerializeToString,
26
+ response_deserializer=proto_dot_api_dot_v0_dot_luminarycloud_dot_physics__ai_dot_physics__ai__pb2.CancelTrainingJobResponse.FromString,
27
+ )
23
28
 
24
29
 
25
30
  class PhysicsAiTrainingServiceServicer(object):
@@ -33,6 +38,13 @@ class PhysicsAiTrainingServiceServicer(object):
33
38
  context.set_details('Method not implemented!')
34
39
  raise NotImplementedError('Method not implemented!')
35
40
 
41
+ def CancelTrainingJob(self, request, context):
42
+ """Cancel a physics AI training job
43
+ """
44
+ context.set_code(grpc.StatusCode.UNIMPLEMENTED)
45
+ context.set_details('Method not implemented!')
46
+ raise NotImplementedError('Method not implemented!')
47
+
36
48
 
37
49
  def add_PhysicsAiTrainingServiceServicer_to_server(servicer, server):
38
50
  rpc_method_handlers = {
@@ -41,6 +53,11 @@ def add_PhysicsAiTrainingServiceServicer_to_server(servicer, server):
41
53
  request_deserializer=proto_dot_api_dot_v0_dot_luminarycloud_dot_physics__ai_dot_physics__ai__pb2.SubmitTrainingJobRequest.FromString,
42
54
  response_serializer=proto_dot_api_dot_v0_dot_luminarycloud_dot_physics__ai_dot_physics__ai__pb2.SubmitTrainingJobResponse.SerializeToString,
43
55
  ),
56
+ 'CancelTrainingJob': grpc.unary_unary_rpc_method_handler(
57
+ servicer.CancelTrainingJob,
58
+ request_deserializer=proto_dot_api_dot_v0_dot_luminarycloud_dot_physics__ai_dot_physics__ai__pb2.CancelTrainingJobRequest.FromString,
59
+ response_serializer=proto_dot_api_dot_v0_dot_luminarycloud_dot_physics__ai_dot_physics__ai__pb2.CancelTrainingJobResponse.SerializeToString,
60
+ ),
44
61
  }
45
62
  generic_handler = grpc.method_handlers_generic_handler(
46
63
  'luminary.proto.physicsaitrainingservice.PhysicsAiTrainingService', rpc_method_handlers)
@@ -68,3 +85,20 @@ class PhysicsAiTrainingService(object):
68
85
  proto_dot_api_dot_v0_dot_luminarycloud_dot_physics__ai_dot_physics__ai__pb2.SubmitTrainingJobResponse.FromString,
69
86
  options, channel_credentials,
70
87
  insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
88
+
89
+ @staticmethod
90
+ def CancelTrainingJob(request,
91
+ target,
92
+ options=(),
93
+ channel_credentials=None,
94
+ call_credentials=None,
95
+ insecure=False,
96
+ compression=None,
97
+ wait_for_ready=None,
98
+ timeout=None,
99
+ metadata=None):
100
+ return grpc.experimental.unary_unary(request, target, '/luminary.proto.physicsaitrainingservice.PhysicsAiTrainingService/CancelTrainingJob',
101
+ proto_dot_api_dot_v0_dot_luminarycloud_dot_physics__ai_dot_physics__ai__pb2.CancelTrainingJobRequest.SerializeToString,
102
+ proto_dot_api_dot_v0_dot_luminarycloud_dot_physics__ai_dot_physics__ai__pb2.CancelTrainingJobResponse.FromString,
103
+ options, channel_credentials,
104
+ insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
@@ -15,6 +15,11 @@ class PhysicsAiTrainingServiceStub:
15
15
  luminarycloud._proto.api.v0.luminarycloud.physics_ai.physics_ai_pb2.SubmitTrainingJobResponse,
16
16
  ]
17
17
  """Submit a physics AI training job"""
18
+ CancelTrainingJob: grpc.UnaryUnaryMultiCallable[
19
+ luminarycloud._proto.api.v0.luminarycloud.physics_ai.physics_ai_pb2.CancelTrainingJobRequest,
20
+ luminarycloud._proto.api.v0.luminarycloud.physics_ai.physics_ai_pb2.CancelTrainingJobResponse,
21
+ ]
22
+ """Cancel a physics AI training job"""
18
23
 
19
24
  class PhysicsAiTrainingServiceServicer(metaclass=abc.ABCMeta):
20
25
  """PhysicsAiTrainingService provides training functionality for Physics AI"""
@@ -26,5 +31,12 @@ class PhysicsAiTrainingServiceServicer(metaclass=abc.ABCMeta):
26
31
  context: grpc.ServicerContext,
27
32
  ) -> luminarycloud._proto.api.v0.luminarycloud.physics_ai.physics_ai_pb2.SubmitTrainingJobResponse:
28
33
  """Submit a physics AI training job"""
34
+ @abc.abstractmethod
35
+ def CancelTrainingJob(
36
+ self,
37
+ request: luminarycloud._proto.api.v0.luminarycloud.physics_ai.physics_ai_pb2.CancelTrainingJobRequest,
38
+ context: grpc.ServicerContext,
39
+ ) -> luminarycloud._proto.api.v0.luminarycloud.physics_ai.physics_ai_pb2.CancelTrainingJobResponse:
40
+ """Cancel a physics AI training job"""
29
41
 
30
42
  def add_PhysicsAiTrainingServiceServicer_to_server(servicer: PhysicsAiTrainingServiceServicer, server: grpc.Server) -> None: ...