@jetta/axle-load-calculator 0.1.3 → 0.2.0

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 (519) hide show
  1. package/README.md +4 -1
  2. package/build/core/contracts/{chassi_reference.d.ts → ChassiReference.d.ts} +1 -1
  3. package/build/core/contracts/ChassiReference.d.ts.map +1 -0
  4. package/build/core/contracts/{ms_faixas_contract.d.ts → MsFaixasContract.d.ts} +2 -2
  5. package/build/core/contracts/MsFaixasContract.d.ts.map +1 -0
  6. package/build/core/contracts/{ms_faixas_contract.js → MsFaixasContract.js} +3 -3
  7. package/build/core/contracts/{rotation_enum.d.ts → RotationEnum.d.ts} +1 -1
  8. package/build/core/contracts/RotationEnum.d.ts.map +1 -0
  9. package/build/core/contracts/{suspension_type.d.ts → SuspensionType.d.ts} +1 -1
  10. package/build/core/contracts/SuspensionType.d.ts.map +1 -0
  11. package/build/core/contracts/{transport_record.d.ts → TransportRecord.d.ts} +1 -1
  12. package/build/core/contracts/TransportRecord.d.ts.map +1 -0
  13. package/build/core/contracts/{vehicle_type.d.ts → VehicleType.d.ts} +1 -1
  14. package/build/core/contracts/VehicleType.d.ts.map +1 -0
  15. package/build/core/contracts/{vehicle_version.d.ts → VehicleVersion.d.ts} +1 -1
  16. package/build/core/contracts/VehicleVersion.d.ts.map +1 -0
  17. package/build/core/contracts/{wire_flags.d.ts → WireFlags.d.ts} +1 -1
  18. package/build/core/contracts/WireFlags.d.ts.map +1 -0
  19. package/build/core/math/{float_tools.d.ts → FloatTools.d.ts} +1 -1
  20. package/build/core/math/FloatTools.d.ts.map +1 -0
  21. package/build/core/math/{gaussian_elimination.d.ts → GaussianElimination.d.ts} +1 -1
  22. package/build/core/math/GaussianElimination.d.ts.map +1 -0
  23. package/build/core/orchestration/{axle_weight_physics.d.ts → AxleWeightPhysics.d.ts} +1 -1
  24. package/build/core/orchestration/AxleWeightPhysics.d.ts.map +1 -0
  25. package/build/core/orchestration/{axle_weight_physics.js → AxleWeightPhysics.js} +3 -3
  26. package/build/core/orchestration/{collision_checker.d.ts → CollisionChecker.d.ts} +1 -1
  27. package/build/core/orchestration/CollisionChecker.d.ts.map +1 -0
  28. package/build/core/orchestration/{collision_checker.js → CollisionChecker.js} +3 -1
  29. package/build/core/orchestration/{connector_payload_builder.d.ts → ConnectorPayloadBuilder.d.ts} +1 -1
  30. package/build/core/orchestration/ConnectorPayloadBuilder.d.ts.map +1 -0
  31. package/build/core/orchestration/{connector_payload_builder.js → ConnectorPayloadBuilder.js} +27 -13
  32. package/build/core/orchestration/ItemOverlapError.d.ts +9 -0
  33. package/build/core/orchestration/ItemOverlapError.d.ts.map +1 -0
  34. package/build/core/orchestration/ItemOverlapError.js +11 -0
  35. package/build/core/orchestration/{java_mass_center.d.ts → JavaMassCenter.d.ts} +2 -2
  36. package/build/core/orchestration/JavaMassCenter.d.ts.map +1 -0
  37. package/build/core/orchestration/{java_mass_center.js → JavaMassCenter.js} +1 -1
  38. package/build/core/orchestration/{output_builder.d.ts → OutputBuilder.d.ts} +1 -1
  39. package/build/core/orchestration/OutputBuilder.d.ts.map +1 -0
  40. package/build/core/orchestration/{request_schema.d.ts → RequestSchema.d.ts} +8 -1
  41. package/build/core/orchestration/RequestSchema.d.ts.map +1 -0
  42. package/build/core/orchestration/RequestSchema.js +41 -0
  43. package/build/core/orchestration/WeightByAxisTask.d.ts +8 -0
  44. package/build/core/orchestration/WeightByAxisTask.d.ts.map +1 -0
  45. package/build/core/orchestration/{weight_by_axis_task.js → WeightByAxisTask.js} +10 -8
  46. package/build/core/physics/items/{allocated_item.d.ts → AllocatedItem.d.ts} +3 -3
  47. package/build/core/physics/items/AllocatedItem.d.ts.map +1 -0
  48. package/build/core/physics/items/{allocated_item.js → AllocatedItem.js} +1 -1
  49. package/build/core/physics/items/{allocated_item_manager.d.ts → AllocatedItemManager.d.ts} +3 -3
  50. package/build/core/physics/items/AllocatedItemManager.d.ts.map +1 -0
  51. package/build/core/physics/items/BindChassiSolver.d.ts +12 -0
  52. package/build/core/physics/items/BindChassiSolver.d.ts.map +1 -0
  53. package/build/core/physics/items/BindChassiSolver.js +10 -0
  54. package/build/core/physics/items/{center_of_mass.d.ts → CenterOfMass.d.ts} +2 -2
  55. package/build/core/physics/items/CenterOfMass.d.ts.map +1 -0
  56. package/build/core/physics/items/{compute_grouper_center_of_mass.d.ts → ComputeGrouperCenterOfMass.d.ts} +6 -6
  57. package/build/core/physics/items/ComputeGrouperCenterOfMass.d.ts.map +1 -0
  58. package/build/core/physics/items/{compute_grouper_center_of_mass.js → ComputeGrouperCenterOfMass.js} +2 -2
  59. package/build/core/physics/items/{item_templates.d.ts → ItemTemplates.d.ts} +2 -2
  60. package/build/core/physics/items/ItemTemplates.d.ts.map +1 -0
  61. package/build/core/physics/items/{item_templates.js → ItemTemplates.js} +4 -3
  62. package/build/core/physics/items/{multi_container_allocated_items.d.ts → MultiContainerAllocatedItems.d.ts} +4 -4
  63. package/build/core/physics/items/MultiContainerAllocatedItems.d.ts.map +1 -0
  64. package/build/core/physics/items/{multi_container_allocated_items.js → MultiContainerAllocatedItems.js} +2 -2
  65. package/build/core/physics/items/{rotation_transforms.d.ts → RotationTransforms.d.ts} +2 -2
  66. package/build/core/physics/items/RotationTransforms.d.ts.map +1 -0
  67. package/build/core/physics/items/{rotation_transforms.js → RotationTransforms.js} +1 -1
  68. package/build/core/physics/items/UnknownItemIdError.d.ts +10 -0
  69. package/build/core/physics/items/UnknownItemIdError.d.ts.map +1 -0
  70. package/build/core/physics/items/UnknownItemIdError.js +12 -0
  71. package/build/core/physics/models/{axle_weight_model.d.ts → AxleWeightModel.d.ts} +6 -6
  72. package/build/core/physics/models/AxleWeightModel.d.ts.map +1 -0
  73. package/build/core/physics/models/{axle_weight_model.js → AxleWeightModel.js} +11 -10
  74. package/build/core/physics/models/{bi_truck_model.d.ts → BiTruckModel.d.ts} +5 -5
  75. package/build/core/physics/models/BiTruckModel.d.ts.map +1 -0
  76. package/build/core/physics/models/{bi_truck_model.js → BiTruckModel.js} +5 -5
  77. package/build/core/physics/models/{bi_truck_tractor_semi_trailer_model.d.ts → BiTruckTractorSemiTrailerModel.d.ts} +5 -5
  78. package/build/core/physics/models/BiTruckTractorSemiTrailerModel.d.ts.map +1 -0
  79. package/build/core/physics/models/{bi_truck_tractor_semi_trailer_model.js → BiTruckTractorSemiTrailerModel.js} +5 -5
  80. package/build/core/physics/models/{bitrem_model.d.ts → BitremModel.d.ts} +6 -6
  81. package/build/core/physics/models/BitremModel.d.ts.map +1 -0
  82. package/build/core/physics/models/{bitrem_model.js → BitremModel.js} +7 -6
  83. package/build/core/physics/models/{chassi_forces.d.ts → ChassiForces.d.ts} +1 -1
  84. package/build/core/physics/models/ChassiForces.d.ts.map +1 -0
  85. package/build/core/physics/models/{old_tare_model.d.ts → OldTareModel.d.ts} +2 -2
  86. package/build/core/physics/models/OldTareModel.d.ts.map +1 -0
  87. package/build/core/physics/models/{old_tare_model.js → OldTareModel.js} +5 -5
  88. package/build/core/physics/models/{old_tare_scale.d.ts → OldTareScale.d.ts} +1 -1
  89. package/build/core/physics/models/OldTareScale.d.ts.map +1 -0
  90. package/build/core/physics/models/{old_tare_semireboque.d.ts → OldTareSemireboque.d.ts} +2 -2
  91. package/build/core/physics/models/OldTareSemireboque.d.ts.map +1 -0
  92. package/build/core/physics/models/{old_tare_semireboque.js → OldTareSemireboque.js} +2 -2
  93. package/build/core/physics/models/{old_tare_truck.d.ts → OldTareTruck.d.ts} +2 -2
  94. package/build/core/physics/models/OldTareTruck.d.ts.map +1 -0
  95. package/build/core/physics/models/{old_tare_truck.js → OldTareTruck.js} +2 -2
  96. package/build/core/physics/models/{old_tare_vanderleia.d.ts → OldTareVanderleia.d.ts} +2 -2
  97. package/build/core/physics/models/OldTareVanderleia.d.ts.map +1 -0
  98. package/build/core/physics/models/{old_tare_vanderleia.js → OldTareVanderleia.js} +1 -1
  99. package/build/core/physics/models/{percentage_on_axles_calculator.d.ts → PercentageOnAxlesCalculator.d.ts} +2 -2
  100. package/build/core/physics/models/PercentageOnAxlesCalculator.d.ts.map +1 -0
  101. package/build/core/physics/models/{percentage_on_axles_calculator.js → PercentageOnAxlesCalculator.js} +1 -1
  102. package/build/core/physics/models/{quad_semi_trailer_model.d.ts → QuadSemiTrailerModel.d.ts} +5 -5
  103. package/build/core/physics/models/QuadSemiTrailerModel.d.ts.map +1 -0
  104. package/build/core/physics/models/{quad_semi_trailer_model.js → QuadSemiTrailerModel.js} +5 -5
  105. package/build/core/physics/models/{rodotrem_model.d.ts → RodotremModel.d.ts} +6 -6
  106. package/build/core/physics/models/RodotremModel.d.ts.map +1 -0
  107. package/build/core/physics/models/{rodotrem_model.js → RodotremModel.js} +7 -6
  108. package/build/core/physics/models/SemiDelegate.d.ts +9 -0
  109. package/build/core/physics/models/SemiDelegate.d.ts.map +1 -0
  110. package/build/core/physics/models/SemiDelegate.js +1 -0
  111. package/build/core/physics/models/{semi_reboque_base.d.ts → SemiReboqueBase.d.ts} +4 -4
  112. package/build/core/physics/models/SemiReboqueBase.d.ts.map +1 -0
  113. package/build/core/physics/models/{semi_reboque_base.js → SemiReboqueBase.js} +4 -4
  114. package/build/core/physics/models/{semi_reboque_model.d.ts → SemiReboqueModel.d.ts} +5 -5
  115. package/build/core/physics/models/SemiReboqueModel.d.ts.map +1 -0
  116. package/build/core/physics/models/{semi_reboque_model.js → SemiReboqueModel.js} +8 -7
  117. package/build/core/physics/models/{simple_truck_base.d.ts → SimpleTruckBase.d.ts} +4 -4
  118. package/build/core/physics/models/SimpleTruckBase.d.ts.map +1 -0
  119. package/build/core/physics/models/{simple_truck_base.js → SimpleTruckBase.js} +3 -3
  120. package/build/core/physics/models/{simple_truck_model.d.ts → SimpleTruckModel.d.ts} +5 -5
  121. package/build/core/physics/models/SimpleTruckModel.d.ts.map +1 -0
  122. package/build/core/physics/models/{simple_truck_model.js → SimpleTruckModel.js} +7 -6
  123. package/build/core/physics/models/{single_container_tare.d.ts → SingleContainerTare.d.ts} +2 -2
  124. package/build/core/physics/models/SingleContainerTare.d.ts.map +1 -0
  125. package/build/core/physics/models/{single_container_tare.js → SingleContainerTare.js} +2 -2
  126. package/build/core/physics/models/{tare_model.d.ts → TareModel.d.ts} +2 -2
  127. package/build/core/physics/models/TareModel.d.ts.map +1 -0
  128. package/build/core/physics/models/{tare_model.js → TareModel.js} +3 -3
  129. package/build/core/physics/models/TruckDelegate.d.ts +9 -0
  130. package/build/core/physics/models/TruckDelegate.d.ts.map +1 -0
  131. package/build/core/physics/models/TruckDelegate.js +1 -0
  132. package/build/core/physics/models/UnrecognizedSuspensionTypeError.d.ts +10 -0
  133. package/build/core/physics/models/UnrecognizedSuspensionTypeError.d.ts.map +1 -0
  134. package/build/core/physics/models/UnrecognizedSuspensionTypeError.js +12 -0
  135. package/build/core/physics/models/UnsupportedVehicleTypeError.d.ts +10 -0
  136. package/build/core/physics/models/UnsupportedVehicleTypeError.d.ts.map +1 -0
  137. package/build/core/physics/models/UnsupportedVehicleTypeError.js +12 -0
  138. package/build/core/physics/models/{vanderleia_model.d.ts → VanderleiaModel.d.ts} +6 -6
  139. package/build/core/physics/models/VanderleiaModel.d.ts.map +1 -0
  140. package/build/core/physics/models/{vanderleia_model.js → VanderleiaModel.js} +10 -8
  141. package/build/core/physics/models/VehicleModel.d.ts +11 -0
  142. package/build/core/physics/models/VehicleModel.d.ts.map +1 -0
  143. package/build/core/physics/models/VehicleModel.js +1 -0
  144. package/build/core/physics/models/deflection/{beam_deflection.d.ts → BeamDeflection.d.ts} +2 -2
  145. package/build/core/physics/models/deflection/BeamDeflection.d.ts.map +1 -0
  146. package/build/core/physics/models/deflection/{beam_deflection.js → BeamDeflection.js} +2 -2
  147. package/build/core/physics/models/deflection/{bitrem_deflection.d.ts → BitremDeflection.d.ts} +3 -3
  148. package/build/core/physics/models/deflection/BitremDeflection.d.ts.map +1 -0
  149. package/build/core/physics/models/deflection/{bitrem_deflection.js → BitremDeflection.js} +3 -3
  150. package/build/core/physics/models/deflection/{create_deflection_delegate.d.ts → CreateDeflectionDelegate.d.ts} +3 -6
  151. package/build/core/physics/models/deflection/CreateDeflectionDelegate.d.ts.map +1 -0
  152. package/build/core/physics/models/deflection/CreateDeflectionDelegate.js +24 -0
  153. package/build/core/physics/models/deflection/DeflectionDelegate.d.ts +8 -0
  154. package/build/core/physics/models/deflection/DeflectionDelegate.d.ts.map +1 -0
  155. package/build/core/physics/models/deflection/DeflectionDelegate.js +1 -0
  156. package/build/core/physics/models/deflection/DeflectionDelegateFactories.d.ts +36 -0
  157. package/build/core/physics/models/deflection/DeflectionDelegateFactories.d.ts.map +1 -0
  158. package/build/core/physics/models/deflection/DeflectionDelegateFactories.js +51 -0
  159. package/build/core/physics/models/deflection/{deflection_model.d.ts → DeflectionModel.d.ts} +3 -3
  160. package/build/core/physics/models/deflection/DeflectionModel.d.ts.map +1 -0
  161. package/build/core/physics/models/deflection/{deflection_model.js → DeflectionModel.js} +2 -2
  162. package/build/core/physics/models/deflection/DeflectionModelNotImplementedError.d.ts +9 -0
  163. package/build/core/physics/models/deflection/DeflectionModelNotImplementedError.d.ts.map +1 -0
  164. package/build/core/physics/models/deflection/DeflectionModelNotImplementedError.js +11 -0
  165. package/build/core/physics/models/deflection/{deflection_support_manager.d.ts → DeflectionSupportManager.d.ts} +15 -1
  166. package/build/core/physics/models/deflection/DeflectionSupportManager.d.ts.map +1 -0
  167. package/build/core/physics/models/deflection/{deflection_support_manager.js → DeflectionSupportManager.js} +14 -0
  168. package/build/core/physics/models/deflection/{deflection_tools.d.ts → DeflectionTools.d.ts} +1 -1
  169. package/build/core/physics/models/deflection/DeflectionTools.d.ts.map +1 -0
  170. package/build/core/physics/models/deflection/DelegateFactory.d.ts +12 -0
  171. package/build/core/physics/models/deflection/DelegateFactory.d.ts.map +1 -0
  172. package/build/core/physics/models/deflection/DelegateFactory.js +1 -0
  173. package/build/core/physics/models/deflection/{integration_constant_calculator.d.ts → IntegrationConstantCalculator.d.ts} +6 -3
  174. package/build/core/physics/models/deflection/IntegrationConstantCalculator.d.ts.map +1 -0
  175. package/build/core/physics/models/deflection/{integration_constant_calculator.js → IntegrationConstantCalculator.js} +4 -1
  176. package/build/core/physics/models/deflection/{rodotrem_deflection.d.ts → RodotremDeflection.d.ts} +3 -3
  177. package/build/core/physics/models/deflection/RodotremDeflection.d.ts.map +1 -0
  178. package/build/core/physics/models/deflection/{rodotrem_deflection.js → RodotremDeflection.js} +3 -3
  179. package/build/core/physics/models/deflection/{semi_reboque_deflection.d.ts → SemiReboqueDeflection.d.ts} +3 -3
  180. package/build/core/physics/models/deflection/SemiReboqueDeflection.d.ts.map +1 -0
  181. package/build/core/physics/models/deflection/{semi_reboque_deflection.js → SemiReboqueDeflection.js} +2 -2
  182. package/build/core/physics/models/deflection/{simple_truck_deflection.d.ts → SimpleTruckDeflection.d.ts} +3 -3
  183. package/build/core/physics/models/deflection/SimpleTruckDeflection.d.ts.map +1 -0
  184. package/build/core/physics/models/deflection/{simple_truck_deflection.js → SimpleTruckDeflection.js} +2 -2
  185. package/build/core/physics/models/deflection/{vanderleia_deflection.d.ts → VanderleiaDeflection.d.ts} +3 -3
  186. package/build/core/physics/models/deflection/VanderleiaDeflection.d.ts.map +1 -0
  187. package/build/core/physics/models/deflection/{vanderleia_deflection.js → VanderleiaDeflection.js} +3 -3
  188. package/build/core/physics/services/{axle_weight_output_builder.d.ts → AxleWeightOutputBuilder.d.ts} +4 -4
  189. package/build/core/physics/services/AxleWeightOutputBuilder.d.ts.map +1 -0
  190. package/build/core/physics/services/{axle_weight_output_builder.js → AxleWeightOutputBuilder.js} +2 -2
  191. package/build/core/physics/services/{axle_weight_service.d.ts → AxleWeightService.d.ts} +1 -1
  192. package/build/core/physics/services/AxleWeightService.d.ts.map +1 -0
  193. package/build/core/physics/services/{axle_weight_service.js → AxleWeightService.js} +6 -6
  194. package/build/core/physics/services/{cm_axle_weight_service.d.ts → CmAxleWeightService.d.ts} +2 -2
  195. package/build/core/physics/services/CmAxleWeightService.d.ts.map +1 -0
  196. package/build/core/physics/services/{cm_axle_weight_service.js → CmAxleWeightService.js} +3 -3
  197. package/build/core/physics/services/{container_corner_forces.d.ts → ContainerCornerForces.d.ts} +1 -1
  198. package/build/core/physics/services/ContainerCornerForces.d.ts.map +1 -0
  199. package/build/core/physics/transports/{axle_manager.d.ts → AxleManager.d.ts} +3 -3
  200. package/build/core/physics/transports/AxleManager.d.ts.map +1 -0
  201. package/build/core/physics/transports/{axle_manager.js → AxleManager.js} +2 -2
  202. package/build/core/physics/transports/{axle_record.d.ts → AxleRecord.d.ts} +1 -1
  203. package/build/core/physics/transports/AxleRecord.d.ts.map +1 -0
  204. package/build/core/physics/transports/{axle_record.js → AxleRecord.js} +1 -1
  205. package/build/core/physics/transports/{chassi.d.ts → Chassi.d.ts} +3 -3
  206. package/build/core/physics/transports/{chassi.d.ts.map → Chassi.d.ts.map} +1 -1
  207. package/build/core/physics/transports/{chassi.js → Chassi.js} +2 -2
  208. package/build/core/physics/transports/{container_record.d.ts → ContainerRecord.d.ts} +1 -1
  209. package/build/core/physics/transports/ContainerRecord.d.ts.map +1 -0
  210. package/build/core/physics/transports/{container_record.js → ContainerRecord.js} +1 -1
  211. package/build/core/physics/transports/ContainerSequenceNotFoundError.d.ts +10 -0
  212. package/build/core/physics/transports/ContainerSequenceNotFoundError.d.ts.map +1 -0
  213. package/build/core/physics/transports/ContainerSequenceNotFoundError.js +12 -0
  214. package/build/core/physics/transports/{grouped_containers.d.ts → GroupedContainers.d.ts} +2 -2
  215. package/build/core/physics/transports/GroupedContainers.d.ts.map +1 -0
  216. package/build/core/physics/transports/{grouped_containers.js → GroupedContainers.js} +3 -2
  217. package/build/core/physics/transports/GrouperNotFoundError.d.ts +10 -0
  218. package/build/core/physics/transports/GrouperNotFoundError.d.ts.map +1 -0
  219. package/build/core/physics/transports/GrouperNotFoundError.js +12 -0
  220. package/build/core/physics/transports/{merged_containers.d.ts → MergedContainers.d.ts} +3 -3
  221. package/build/core/physics/transports/MergedContainers.d.ts.map +1 -0
  222. package/build/core/physics/transports/{merged_containers.js → MergedContainers.js} +3 -2
  223. package/build/core/physics/transports/MissingContainerError.d.ts +10 -0
  224. package/build/core/physics/transports/MissingContainerError.d.ts.map +1 -0
  225. package/build/core/physics/transports/MissingContainerError.js +12 -0
  226. package/build/core/physics/transports/{transport.d.ts → Transport.d.ts} +5 -5
  227. package/build/core/physics/transports/Transport.d.ts.map +1 -0
  228. package/build/core/physics/transports/{transport.js → Transport.js} +7 -6
  229. package/build/core/physics/transports/containerweight/{container_max_weight_calculator.d.ts → ContainerMaxWeightCalculator.d.ts} +3 -9
  230. package/build/core/physics/transports/containerweight/ContainerMaxWeightCalculator.d.ts.map +1 -0
  231. package/build/core/physics/transports/containerweight/{container_tare_calculator.d.ts → ContainerTareCalculator.d.ts} +3 -3
  232. package/build/core/physics/transports/containerweight/ContainerTareCalculator.d.ts.map +1 -0
  233. package/build/core/physics/transports/containerweight/{container_weight_model.d.ts → ContainerWeightModel.d.ts} +2 -2
  234. package/build/core/physics/transports/containerweight/ContainerWeightModel.d.ts.map +1 -0
  235. package/build/core/physics/transports/containerweight/{container_weight_model.js → ContainerWeightModel.js} +3 -3
  236. package/build/core/physics/transports/containerweight/MaxWeightInput.d.ts +10 -0
  237. package/build/core/physics/transports/containerweight/MaxWeightInput.d.ts.map +1 -0
  238. package/build/core/physics/transports/containerweight/MaxWeightInput.js +1 -0
  239. package/build/core/physics/transports/containerweight/{merged_containers_weight_calculator.d.ts → MergedContainersWeightCalculator.d.ts} +3 -3
  240. package/build/core/physics/transports/containerweight/MergedContainersWeightCalculator.d.ts.map +1 -0
  241. package/build/core/physics/transports/containerweight/{single_container_weight_calculator.d.ts → SingleContainerWeightCalculator.d.ts} +3 -3
  242. package/build/core/physics/transports/containerweight/SingleContainerWeightCalculator.d.ts.map +1 -0
  243. package/build/core/physics/transports/containerweight/{single_container_weight_calculator.js → SingleContainerWeightCalculator.js} +2 -2
  244. package/build/core/physics/transports/tare/BitremAxleSplit.d.ts +8 -0
  245. package/build/core/physics/transports/tare/BitremAxleSplit.d.ts.map +1 -0
  246. package/build/core/physics/transports/tare/BitremAxleSplit.js +1 -0
  247. package/build/core/physics/transports/tare/BitremAxleSplitTarget.d.ts +12 -0
  248. package/build/core/physics/transports/tare/BitremAxleSplitTarget.d.ts.map +1 -0
  249. package/build/core/physics/transports/tare/BitremAxleSplitTarget.js +1 -0
  250. package/build/core/physics/transports/tare/{bitrem_axle_splitter.d.ts → BitremAxleSplitter.d.ts} +3 -3
  251. package/build/core/physics/transports/tare/BitremAxleSplitter.d.ts.map +1 -0
  252. package/build/core/physics/transports/tare/{bitrem_axle_splitter.js → BitremAxleSplitter.js} +5 -5
  253. package/build/core/physics/transports/tare/{bitrem_axle_weight_split.d.ts → BitremAxleWeightSplit.d.ts} +3 -12
  254. package/build/core/physics/transports/tare/BitremAxleWeightSplit.d.ts.map +1 -0
  255. package/build/index.d.ts +7 -0
  256. package/build/index.d.ts.map +1 -1
  257. package/build/index.js +4 -6
  258. package/package.json +3 -3
  259. package/.cursor/ai_changelog/INDEX.md +0 -13
  260. package/.cursor/ai_changelog/_TEMPLATE.md +0 -55
  261. package/.cursor/rules/code-standards.mdc +0 -103
  262. package/.cursor/rules/knowledge-base.mdc +0 -14
  263. package/.cursor/rules/planning-standards.mdc +0 -55
  264. package/.cursor/skills/document-feature-knowledge/SKILL.md +0 -51
  265. package/bitbucket-pipelines.yml +0 -81
  266. package/build/core/contracts/chassi_reference.d.ts.map +0 -1
  267. package/build/core/contracts/ms_faixas_contract.d.ts.map +0 -1
  268. package/build/core/contracts/rotation_enum.d.ts.map +0 -1
  269. package/build/core/contracts/suspension_type.d.ts.map +0 -1
  270. package/build/core/contracts/transport_record.d.ts.map +0 -1
  271. package/build/core/contracts/vehicle_type.d.ts.map +0 -1
  272. package/build/core/contracts/vehicle_version.d.ts.map +0 -1
  273. package/build/core/contracts/wire_flags.d.ts.map +0 -1
  274. package/build/core/math/float_tools.d.ts.map +0 -1
  275. package/build/core/math/gaussian_elimination.d.ts.map +0 -1
  276. package/build/core/orchestration/axle_weight_physics.d.ts.map +0 -1
  277. package/build/core/orchestration/collision_checker.d.ts.map +0 -1
  278. package/build/core/orchestration/connector_payload_builder.d.ts.map +0 -1
  279. package/build/core/orchestration/java_mass_center.d.ts.map +0 -1
  280. package/build/core/orchestration/output_builder.d.ts.map +0 -1
  281. package/build/core/orchestration/request_schema.d.ts.map +0 -1
  282. package/build/core/orchestration/request_schema.js +0 -20
  283. package/build/core/orchestration/weight_by_axis_task.d.ts +0 -7
  284. package/build/core/orchestration/weight_by_axis_task.d.ts.map +0 -1
  285. package/build/core/physics/items/allocated_item.d.ts.map +0 -1
  286. package/build/core/physics/items/allocated_item_manager.d.ts.map +0 -1
  287. package/build/core/physics/items/center_of_mass.d.ts.map +0 -1
  288. package/build/core/physics/items/compute_grouper_center_of_mass.d.ts.map +0 -1
  289. package/build/core/physics/items/item_templates.d.ts.map +0 -1
  290. package/build/core/physics/items/multi_container_allocated_items.d.ts.map +0 -1
  291. package/build/core/physics/items/rotation_transforms.d.ts.map +0 -1
  292. package/build/core/physics/models/axle_weight_model.d.ts.map +0 -1
  293. package/build/core/physics/models/bi_truck_model.d.ts.map +0 -1
  294. package/build/core/physics/models/bi_truck_tractor_semi_trailer_model.d.ts.map +0 -1
  295. package/build/core/physics/models/bitrem_model.d.ts.map +0 -1
  296. package/build/core/physics/models/chassi_forces.d.ts.map +0 -1
  297. package/build/core/physics/models/deflection/beam_deflection.d.ts.map +0 -1
  298. package/build/core/physics/models/deflection/bitrem_deflection.d.ts.map +0 -1
  299. package/build/core/physics/models/deflection/create_deflection_delegate.d.ts.map +0 -1
  300. package/build/core/physics/models/deflection/create_deflection_delegate.js +0 -32
  301. package/build/core/physics/models/deflection/deflection_model.d.ts.map +0 -1
  302. package/build/core/physics/models/deflection/deflection_support_manager.d.ts.map +0 -1
  303. package/build/core/physics/models/deflection/deflection_tools.d.ts.map +0 -1
  304. package/build/core/physics/models/deflection/integration_constant_calculator.d.ts.map +0 -1
  305. package/build/core/physics/models/deflection/rodotrem_deflection.d.ts.map +0 -1
  306. package/build/core/physics/models/deflection/semi_reboque_deflection.d.ts.map +0 -1
  307. package/build/core/physics/models/deflection/simple_truck_deflection.d.ts.map +0 -1
  308. package/build/core/physics/models/deflection/vanderleia_deflection.d.ts.map +0 -1
  309. package/build/core/physics/models/old_tare_model.d.ts.map +0 -1
  310. package/build/core/physics/models/old_tare_scale.d.ts.map +0 -1
  311. package/build/core/physics/models/old_tare_semireboque.d.ts.map +0 -1
  312. package/build/core/physics/models/old_tare_truck.d.ts.map +0 -1
  313. package/build/core/physics/models/old_tare_vanderleia.d.ts.map +0 -1
  314. package/build/core/physics/models/percentage_on_axles_calculator.d.ts.map +0 -1
  315. package/build/core/physics/models/quad_semi_trailer_model.d.ts.map +0 -1
  316. package/build/core/physics/models/rodotrem_model.d.ts.map +0 -1
  317. package/build/core/physics/models/semi_reboque_base.d.ts.map +0 -1
  318. package/build/core/physics/models/semi_reboque_model.d.ts.map +0 -1
  319. package/build/core/physics/models/simple_truck_base.d.ts.map +0 -1
  320. package/build/core/physics/models/simple_truck_model.d.ts.map +0 -1
  321. package/build/core/physics/models/single_container_tare.d.ts.map +0 -1
  322. package/build/core/physics/models/tare_model.d.ts.map +0 -1
  323. package/build/core/physics/models/vanderleia_model.d.ts.map +0 -1
  324. package/build/core/physics/services/axle_weight_output_builder.d.ts.map +0 -1
  325. package/build/core/physics/services/axle_weight_service.d.ts.map +0 -1
  326. package/build/core/physics/services/cm_axle_weight_service.d.ts.map +0 -1
  327. package/build/core/physics/services/container_corner_forces.d.ts.map +0 -1
  328. package/build/core/physics/transports/axle_manager.d.ts.map +0 -1
  329. package/build/core/physics/transports/axle_record.d.ts.map +0 -1
  330. package/build/core/physics/transports/container_record.d.ts.map +0 -1
  331. package/build/core/physics/transports/containerweight/container_max_weight_calculator.d.ts.map +0 -1
  332. package/build/core/physics/transports/containerweight/container_tare_calculator.d.ts.map +0 -1
  333. package/build/core/physics/transports/containerweight/container_weight_model.d.ts.map +0 -1
  334. package/build/core/physics/transports/containerweight/merged_containers_weight_calculator.d.ts.map +0 -1
  335. package/build/core/physics/transports/containerweight/single_container_weight_calculator.d.ts.map +0 -1
  336. package/build/core/physics/transports/grouped_containers.d.ts.map +0 -1
  337. package/build/core/physics/transports/merged_containers.d.ts.map +0 -1
  338. package/build/core/physics/transports/tare/bitrem_axle_splitter.d.ts.map +0 -1
  339. package/build/core/physics/transports/tare/bitrem_axle_weight_split.d.ts.map +0 -1
  340. package/build/core/physics/transports/transport.d.ts.map +0 -1
  341. package/eslint.config.js +0 -51
  342. package/src/core/contracts/chassi_reference.ts +0 -7
  343. package/src/core/contracts/ms_faixas_contract.ts +0 -114
  344. package/src/core/contracts/rotation_enum.ts +0 -11
  345. package/src/core/contracts/suspension_type.ts +0 -4
  346. package/src/core/contracts/transport_record.ts +0 -4
  347. package/src/core/contracts/vehicle_type.ts +0 -12
  348. package/src/core/contracts/vehicle_version.ts +0 -7
  349. package/src/core/contracts/wire_flags.ts +0 -26
  350. package/src/core/math/float_tools.ts +0 -17
  351. package/src/core/math/gaussian_elimination.ts +0 -104
  352. package/src/core/orchestration/axle_weight_physics.ts +0 -37
  353. package/src/core/orchestration/collision_checker.ts +0 -86
  354. package/src/core/orchestration/connector_payload_builder.ts +0 -81
  355. package/src/core/orchestration/java_mass_center.ts +0 -98
  356. package/src/core/orchestration/output_builder.ts +0 -18
  357. package/src/core/orchestration/request_schema.ts +0 -26
  358. package/src/core/orchestration/weight_by_axis_task.ts +0 -140
  359. package/src/core/physics/items/allocated_item.ts +0 -41
  360. package/src/core/physics/items/allocated_item_manager.ts +0 -50
  361. package/src/core/physics/items/center_of_mass.ts +0 -31
  362. package/src/core/physics/items/compute_grouper_center_of_mass.ts +0 -44
  363. package/src/core/physics/items/item_templates.ts +0 -65
  364. package/src/core/physics/items/multi_container_allocated_items.ts +0 -120
  365. package/src/core/physics/items/rotation_transforms.ts +0 -29
  366. package/src/core/physics/models/axle_weight_model.ts +0 -109
  367. package/src/core/physics/models/bi_truck_model.ts +0 -74
  368. package/src/core/physics/models/bi_truck_tractor_semi_trailer_model.ts +0 -86
  369. package/src/core/physics/models/bitrem_model.ts +0 -148
  370. package/src/core/physics/models/chassi_forces.ts +0 -50
  371. package/src/core/physics/models/deflection/beam_deflection.ts +0 -105
  372. package/src/core/physics/models/deflection/bitrem_deflection.ts +0 -68
  373. package/src/core/physics/models/deflection/create_deflection_delegate.ts +0 -46
  374. package/src/core/physics/models/deflection/deflection_model.ts +0 -33
  375. package/src/core/physics/models/deflection/deflection_support_manager.ts +0 -56
  376. package/src/core/physics/models/deflection/deflection_tools.ts +0 -11
  377. package/src/core/physics/models/deflection/integration_constant_calculator.ts +0 -62
  378. package/src/core/physics/models/deflection/rodotrem_deflection.ts +0 -57
  379. package/src/core/physics/models/deflection/semi_reboque_deflection.ts +0 -40
  380. package/src/core/physics/models/deflection/simple_truck_deflection.ts +0 -35
  381. package/src/core/physics/models/deflection/vanderleia_deflection.ts +0 -48
  382. package/src/core/physics/models/old_tare_model.ts +0 -51
  383. package/src/core/physics/models/old_tare_scale.ts +0 -9
  384. package/src/core/physics/models/old_tare_semireboque.ts +0 -51
  385. package/src/core/physics/models/old_tare_truck.ts +0 -15
  386. package/src/core/physics/models/old_tare_vanderleia.ts +0 -44
  387. package/src/core/physics/models/percentage_on_axles_calculator.ts +0 -49
  388. package/src/core/physics/models/quad_semi_trailer_model.ts +0 -87
  389. package/src/core/physics/models/rodotrem_model.ts +0 -131
  390. package/src/core/physics/models/semi_reboque_base.ts +0 -103
  391. package/src/core/physics/models/semi_reboque_model.ts +0 -127
  392. package/src/core/physics/models/simple_truck_base.ts +0 -70
  393. package/src/core/physics/models/simple_truck_model.ts +0 -115
  394. package/src/core/physics/models/single_container_tare.ts +0 -56
  395. package/src/core/physics/models/tare_model.ts +0 -46
  396. package/src/core/physics/models/vanderleia_model.ts +0 -125
  397. package/src/core/physics/services/axle_weight_output_builder.ts +0 -63
  398. package/src/core/physics/services/axle_weight_service.ts +0 -116
  399. package/src/core/physics/services/cm_axle_weight_service.ts +0 -45
  400. package/src/core/physics/services/container_corner_forces.ts +0 -95
  401. package/src/core/physics/transports/axle_manager.ts +0 -45
  402. package/src/core/physics/transports/axle_record.ts +0 -68
  403. package/src/core/physics/transports/chassi.ts +0 -130
  404. package/src/core/physics/transports/container_record.ts +0 -58
  405. package/src/core/physics/transports/containerweight/container_max_weight_calculator.ts +0 -59
  406. package/src/core/physics/transports/containerweight/container_tare_calculator.ts +0 -76
  407. package/src/core/physics/transports/containerweight/container_weight_model.ts +0 -38
  408. package/src/core/physics/transports/containerweight/merged_containers_weight_calculator.ts +0 -39
  409. package/src/core/physics/transports/containerweight/single_container_weight_calculator.ts +0 -65
  410. package/src/core/physics/transports/grouped_containers.ts +0 -91
  411. package/src/core/physics/transports/merged_containers.ts +0 -62
  412. package/src/core/physics/transports/tare/bitrem_axle_splitter.ts +0 -107
  413. package/src/core/physics/transports/tare/bitrem_axle_weight_split.ts +0 -55
  414. package/src/core/physics/transports/transport.ts +0 -137
  415. package/src/index.ts +0 -12
  416. package/src/service/.gitkeep +0 -0
  417. package/test/data/src/core/orchestration/weight_by_axis/case_1_basic_truck_input.json +0 -1759
  418. package/test/data/src/core/orchestration/weight_by_axis/case_2_vanderleia_input.json +0 -1286
  419. package/test/data/src/core/orchestration/weight_by_axis/case_3_interlink_input.json +0 -2226
  420. package/test/data/src/core/orchestration/weight_by_axis/case_4_quad_semi_trailer.json +0 -639
  421. package/test/data/src/core/orchestration/weight_by_axis/case_5_custom_center_of_gravity.json +0 -557
  422. package/test/data/src/core/physics/axle_weight_calculations/case_2_bitruck.json +0 -664
  423. package/test/data/src/core/physics/axle_weight_calculations/case_4_quad_semi_trailer.json +0 -674
  424. package/test/data/src/core/physics/axle_weight_calculations/case_5_bi_truck_semi_trailer.json +0 -674
  425. package/test/data/src/core/physics/axle_weight_service/case_1_input_truck.json +0 -1025
  426. package/test/data/src/core/physics/axle_weight_service/case_1_output_truck.json +0 -38
  427. package/test/data/src/core/physics/axle_weight_service/case_2_vanderleia_input.json +0 -1286
  428. package/test/data/src/core/physics/axle_weight_service/case_2_vanderleia_output.json +0 -65
  429. package/test/data/src/core/physics/axle_weight_service/case_3_input_semireboque.json +0 -24625
  430. package/test/data/src/core/physics/axle_weight_service/case_3_output_semireboque.json +0 -57
  431. package/test/data/src/core/physics/axle_weight_service/case_4_input_bitrem.json +0 -2226
  432. package/test/data/src/core/physics/axle_weight_service/case_4_output_bitrem.json +0 -96
  433. package/test/data/src/core/physics/beam_deflection/case_10_rodotrem_offset.json +0 -474
  434. package/test/data/src/core/physics/beam_deflection/case_11_bitruck.json +0 -664
  435. package/test/data/src/core/physics/beam_deflection/case_12_quad_semi_trailer.json +0 -792
  436. package/test/data/src/core/physics/beam_deflection/case_13_bi_truck_semi_trailer.json +0 -792
  437. package/test/data/src/core/physics/beam_deflection/case_1_documentation.ipynb +0 -316
  438. package/test/data/src/core/physics/beam_deflection/case_1_semireboque.json +0 -402
  439. package/test/data/src/core/physics/beam_deflection/case_2_bitrem.json +0 -434
  440. package/test/data/src/core/physics/beam_deflection/case_3_rodotrem.json +0 -474
  441. package/test/data/src/core/physics/beam_deflection/case_4_vanderleia_pneumatica.json +0 -425
  442. package/test/data/src/core/physics/beam_deflection/case_5_vanderleia_mecanica.json +0 -366
  443. package/test/data/src/core/physics/beam_deflection/case_6_truck.json +0 -279
  444. package/test/data/src/core/physics/beam_deflection/case_7_semireboque_structural_offset.json +0 -318
  445. package/test/data/src/core/physics/beam_deflection/case_8_vanderleia_offset.json +0 -425
  446. package/test/data/src/core/physics/beam_deflection/case_9_bitrem_offset.json +0 -434
  447. package/test/data/src/core/physics/bitrem_axle_splitter/case_1_simple_bitrem.json +0 -145
  448. package/test/data/src/core/physics/bitrem_axle_splitter/case_2_lowered_bitrem.json +0 -238
  449. package/test/data/src/core/physics/bitrem_axle_splitter/case_3_lowered_positive_proportion.json +0 -238
  450. package/test/data/src/core/physics/c_m_axle_weight_service/case_1_interlink_trailer.json +0 -94
  451. package/test/data/src/core/physics/calculations/case_1_simple_truck.json +0 -83
  452. package/test/data/src/core/physics/calculations/case_2_lowered_bitrem.json +0 -1051
  453. package/test/data/src/core/physics/calculations/case_3_container_mercedes.json +0 -50
  454. package/test/data/src/core/physics/container_corner_forces/case_1.json +0 -674
  455. package/test/data/src/core/physics/container_weight/case_1_basictruck.json +0 -223
  456. package/test/data/src/core/physics/container_weight/case_2_roadtrain.json +0 -277
  457. package/test/data/src/core/physics/container_weight/case_3_semireboque_rebaixado.json +0 -197
  458. package/test/data/src/core/physics/container_weight/case_4_semireboque_neck_limit.json +0 -197
  459. package/test/data/src/core/physics/container_weight/case_5_vanderleia_rebaixada.json +0 -211
  460. package/test/data/src/core/physics/container_weight/case_6_lowered_interlink.json +0 -230
  461. package/test/data/src/core/physics/python_goldens.json +0 -9
  462. package/test/data/src/core/physics/tare/case_1_simple_vanderleia.json +0 -185
  463. package/test/data/src/core/physics/tare/case_2_lowered_vanderleia.json +0 -646
  464. package/test/data/src/core/physics/tare/case_3_lowered_interlink.json +0 -230
  465. package/test/data/src/core/physics/tare/case_4_negative_tare_VUC.json +0 -483
  466. package/test/data/src/core/physics/tare/case_5_truck_bitruck.json +0 -664
  467. package/test/data/src/core/physics/tare/case_6_quad_semi_trailer.json +0 -203
  468. package/test/data/src/core/physics/tare/case_7_bi_truck_semi_trailer.json +0 -203
  469. package/test/data/src/core/physics/tare/case_8_triaxle_semi_trailer.json +0 -203
  470. package/test/data/src/core/physics/time_performance/case_1_center_of_mass.json +0 -2916
  471. package/test/data/src/core/physics/trucks/bitrem.json +0 -150
  472. package/test/data/src/core/physics/trucks/lowered_bitrem.json +0 -1216
  473. package/test/data/src/core/physics/trucks/lowered_bitrem_empty_first_container.json +0 -1182
  474. package/test/data/src/core/physics/trucks/rodotrem.json +0 -148
  475. package/test/data/src/core/physics/trucks/semi_reboque.json +0 -91
  476. package/test/data/src/core/physics/trucks/semi_reboque_rebaixado.json +0 -1629
  477. package/test/data/src/core/physics/trucks/simple_truck.json +0 -85
  478. package/test/data/src/core/physics/trucks/vanderleia_mechanical.json +0 -105
  479. package/test/data/src/core/physics/trucks/vanderleia_pneumatic.json +0 -105
  480. package/test/src/core/orchestration/request_schema.test.ts +0 -20
  481. package/test/src/core/orchestration/weight_by_axis_task.test.ts +0 -87
  482. package/test/src/core/physics/items/center_of_mass.test.ts +0 -38
  483. package/test/src/core/physics/items/multi_container_allocated_items.test.ts +0 -22
  484. package/test/src/core/physics/math_input_helpers.ts +0 -64
  485. package/test/src/core/physics/models/bitrem_model.test.ts +0 -54
  486. package/test/src/core/physics/models/deflection/deflection_model.test.ts +0 -78
  487. package/test/src/core/physics/models/rodotrem_model.test.ts +0 -29
  488. package/test/src/core/physics/models/semi_reboque_model.test.ts +0 -72
  489. package/test/src/core/physics/models/simple_truck_model.test.ts +0 -23
  490. package/test/src/core/physics/models/tare_model.test.ts +0 -34
  491. package/test/src/core/physics/models/vanderleia_model.test.ts +0 -36
  492. package/test/src/core/physics/services/axle_weight_service.test.ts +0 -56
  493. package/test/src/core/physics/services/cm_axle_weight_service.test.ts +0 -23
  494. package/test/src/core/physics/services/container_corner_forces.test.ts +0 -23
  495. package/test/src/core/physics/test_helpers.ts +0 -13
  496. package/test/src/core/physics/transports/chassi.test.ts +0 -35
  497. package/test/src/core/physics/transports/containerweight/container_weight_model.test.ts +0 -57
  498. package/test/src/core/physics/transports/tare/bitrem_axle_splitter.test.ts +0 -30
  499. package/test/src/index.test.ts +0 -35
  500. /package/build/core/contracts/{chassi_reference.js → ChassiReference.js} +0 -0
  501. /package/build/core/contracts/{rotation_enum.js → RotationEnum.js} +0 -0
  502. /package/build/core/contracts/{suspension_type.js → SuspensionType.js} +0 -0
  503. /package/build/core/contracts/{transport_record.js → TransportRecord.js} +0 -0
  504. /package/build/core/contracts/{vehicle_type.js → VehicleType.js} +0 -0
  505. /package/build/core/contracts/{vehicle_version.js → VehicleVersion.js} +0 -0
  506. /package/build/core/contracts/{wire_flags.js → WireFlags.js} +0 -0
  507. /package/build/core/math/{float_tools.js → FloatTools.js} +0 -0
  508. /package/build/core/math/{gaussian_elimination.js → GaussianElimination.js} +0 -0
  509. /package/build/core/orchestration/{output_builder.js → OutputBuilder.js} +0 -0
  510. /package/build/core/physics/items/{allocated_item_manager.js → AllocatedItemManager.js} +0 -0
  511. /package/build/core/physics/items/{center_of_mass.js → CenterOfMass.js} +0 -0
  512. /package/build/core/physics/models/{chassi_forces.js → ChassiForces.js} +0 -0
  513. /package/build/core/physics/models/{old_tare_scale.js → OldTareScale.js} +0 -0
  514. /package/build/core/physics/models/deflection/{deflection_tools.js → DeflectionTools.js} +0 -0
  515. /package/build/core/physics/services/{container_corner_forces.js → ContainerCornerForces.js} +0 -0
  516. /package/build/core/physics/transports/containerweight/{container_max_weight_calculator.js → ContainerMaxWeightCalculator.js} +0 -0
  517. /package/build/core/physics/transports/containerweight/{container_tare_calculator.js → ContainerTareCalculator.js} +0 -0
  518. /package/build/core/physics/transports/containerweight/{merged_containers_weight_calculator.js → MergedContainersWeightCalculator.js} +0 -0
  519. /package/build/core/physics/transports/tare/{bitrem_axle_weight_split.js → BitremAxleWeightSplit.js} +0 -0
@@ -1,62 +0,0 @@
1
- import type { AllocatedItemManager } from '../../items/allocated_item_manager.js'
2
- import { solve_linear_system } from '../../../math/gaussian_elimination.js'
3
- import type { DeflectionSupportManager } from './deflection_support_manager.js'
4
-
5
- /**
6
- * Integration constants for beam elastic curve (two supports).
7
- */
8
- export class IntegrationConstantCalculator
9
- {
10
- private readonly b_constants: number[]
11
-
12
- /**
13
- * @param deflection_supports - Support manager.
14
- * @param structural_offset - Beam offset.
15
- */
16
- constructor(
17
- private readonly deflection_supports: DeflectionSupportManager,
18
- private readonly structural_offset: number
19
- )
20
- {
21
- this.b_constants = deflection_supports.list_support_indexes().map(() => 0)
22
- }
23
-
24
- /**
25
- * @param allocated_items - Load items.
26
- * @returns Integration constants C1 and C2.
27
- */
28
- calculate_integration_constants(
29
- allocated_items: AllocatedItemManager
30
- ): [number, number]
31
- {
32
- this.calculate_b_constants(allocated_items)
33
- const a_matrix = this.deflection_supports.list_support_indexes().map((index) => [
34
- this.deflection_supports.get_position(index),
35
- 1
36
- ])
37
- const displacement = this.deflection_supports.get_position(1)
38
- - this.deflection_supports.get_position(0)
39
- const second_term = (-this.deflection_supports.get_force(0) / 6)
40
- * displacement * displacement * displacement
41
- const solution = solve_linear_system(a_matrix, [this.b_constants[0], this.b_constants[1] + second_term])
42
- return [solution[0], solution[1]]
43
- }
44
-
45
- private calculate_b_constants(allocated_items: AllocatedItemManager): void
46
- {
47
- for (const item_index of allocated_items.list_item_indexes())
48
- {
49
- const item = allocated_items.get_item(item_index)
50
- const center = item.zi + item.length / 2 + this.structural_offset
51
- const factor = item.weight / 6
52
- for (const support_index of this.deflection_supports.list_support_indexes())
53
- {
54
- const displacement = this.deflection_supports.get_position(support_index) - center
55
- if (displacement > 0)
56
- {
57
- this.b_constants[support_index] += factor * displacement ** 3
58
- }
59
- }
60
- }
61
- }
62
- }
@@ -1,57 +0,0 @@
1
- import { CHASSI_REFERENCE } from '../../../contracts/chassi_reference.js'
2
- import type { RodotremModel } from '../rodotrem_model.js'
3
- import type { ChassiForces } from '../chassi_forces.js'
4
- import type { MultiContainerAllocatedItems } from '../../items/multi_container_allocated_items.js'
5
- import { BeamDeflection } from './beam_deflection.js'
6
- import { calculate_deflection_indicator } from './deflection_tools.js'
7
-
8
- /**
9
- * Rodotrem semi + simple trailer deflection indicator sum.
10
- */
11
- export class RodotremDeflection
12
- {
13
- /**
14
- * @param rodotrem_model - Axle weight model.
15
- * @param number_of_curve_samples - Curve sample count.
16
- */
17
- constructor(
18
- private readonly rodotrem_model: RodotremModel,
19
- private readonly number_of_curve_samples: number
20
- )
21
- {}
22
-
23
- /**
24
- * @param multi_items - Allocated items.
25
- * @returns Combined deflection indicator.
26
- */
27
- calculate_deflection(multi_items: MultiContainerAllocatedItems): number
28
- {
29
- const forces = this.rodotrem_model.calculate_chassi_forces(multi_items)
30
- const semi = this.semi_curve(multi_items, forces)
31
- const simple = this.simple_curve(multi_items, forces)
32
- return calculate_deflection_indicator(semi) + calculate_deflection_indicator(simple)
33
- }
34
-
35
- private semi_curve(multi_items: MultiContainerAllocatedItems, forces: ChassiForces): number[]
36
- {
37
- const pin = this.rodotrem_model.chassi.get_pin_position(0, CHASSI_REFERENCE.GROUPER_1)
38
- const axle_3 = this.rodotrem_model.chassi.get_axle_position(2, CHASSI_REFERENCE.GROUPER_1)
39
- const support: [number, number][] = [[pin, forces.get_force_on_pin(0)], [axle_3, forces.get_force_on_axle(2)]]
40
- const items = multi_items.get_allocated_items_by_grouper_index(1)
41
- const length = this.rodotrem_model.chassi.get_grouper_end(1, CHASSI_REFERENCE.GROUPER_1)
42
- return new BeamDeflection(support, items).generate_curve_values(length, this.number_of_curve_samples)
43
- }
44
-
45
- private simple_curve(multi_items: MultiContainerAllocatedItems, forces: ChassiForces): number[]
46
- {
47
- const axle_4 = this.rodotrem_model.chassi.get_axle_position(3, CHASSI_REFERENCE.GROUPER_2)
48
- const axle_5 = this.rodotrem_model.chassi.get_axle_position(4, CHASSI_REFERENCE.GROUPER_2)
49
- const support: [number, number][] = [
50
- [axle_4, forces.get_force_on_axle(3)],
51
- [axle_5, forces.get_force_on_axle(4)]
52
- ]
53
- const items = multi_items.get_allocated_items_by_grouper_index(2)
54
- const length = this.rodotrem_model.chassi.get_grouper_end(2, CHASSI_REFERENCE.GROUPER_2)
55
- return new BeamDeflection(support, items).generate_curve_values(length, this.number_of_curve_samples)
56
- }
57
- }
@@ -1,40 +0,0 @@
1
- import type { SemiReboqueModel } from '../semi_reboque_model.js'
2
- import type { MultiContainerAllocatedItems } from '../../items/multi_container_allocated_items.js'
3
- import { BeamDeflection } from './beam_deflection.js'
4
- import { calculate_deflection_indicator } from './deflection_tools.js'
5
-
6
- /**
7
- * Semi-reboque beam deflection indicator.
8
- */
9
- export class SemiReboqueDeflection
10
- {
11
- /**
12
- * @param semi_reboque_model - Axle weight model.
13
- * @param number_of_curve_samples - Curve sample count.
14
- */
15
- constructor(
16
- private readonly semi_reboque_model: SemiReboqueModel,
17
- private readonly number_of_curve_samples: number
18
- )
19
- {}
20
-
21
- /**
22
- * @param multi_items - Allocated items.
23
- * @returns Deflection indicator scalar.
24
- */
25
- calculate_deflection(multi_items: MultiContainerAllocatedItems): number
26
- {
27
- const curve = this.calculate_deflection_curve(multi_items)
28
- return calculate_deflection_indicator(curve)
29
- }
30
-
31
- private calculate_deflection_curve(multi_items: MultiContainerAllocatedItems): number[]
32
- {
33
- const support = this.semi_reboque_model.calculate_support_data(multi_items)
34
- const allocated = multi_items.get_allocated_items_by_grouper_index(1)
35
- const beam = new BeamDeflection(support, allocated)
36
- return beam.generate_curve_values(
37
- this.semi_reboque_model.calculate_container_length(),
38
- this.number_of_curve_samples)
39
- }
40
- }
@@ -1,35 +0,0 @@
1
- import type { SimpleTruckModel } from '../simple_truck_model.js'
2
- import type { MultiContainerAllocatedItems } from '../../items/multi_container_allocated_items.js'
3
- import { BeamDeflection } from './beam_deflection.js'
4
- import { calculate_deflection_indicator } from './deflection_tools.js'
5
-
6
- /**
7
- * Caminhão beam deflection indicator.
8
- */
9
- export class SimpleTruckDeflection
10
- {
11
- /**
12
- * @param simple_truck_model - Axle weight model.
13
- * @param number_of_curve_samples - Curve sample count.
14
- */
15
- constructor(
16
- private readonly simple_truck_model: SimpleTruckModel,
17
- private readonly number_of_curve_samples: number
18
- )
19
- {}
20
-
21
- /**
22
- * @param multi_items - Allocated items.
23
- * @returns Deflection indicator scalar.
24
- */
25
- calculate_deflection(multi_items: MultiContainerAllocatedItems): number
26
- {
27
- const support = this.simple_truck_model.calculate_support_data(multi_items)
28
- const allocated = multi_items.get_allocated_items_by_grouper_index(1)
29
- const beam = new BeamDeflection(support, allocated)
30
- const curve = beam.generate_curve_values(
31
- this.simple_truck_model.calculate_container_length(),
32
- this.number_of_curve_samples)
33
- return calculate_deflection_indicator(curve)
34
- }
35
- }
@@ -1,48 +0,0 @@
1
- import { CHASSI_REFERENCE } from '../../../contracts/chassi_reference.js'
2
- import type { VanderleiaModel } from '../vanderleia_model.js'
3
- import type { MultiContainerAllocatedItems } from '../../items/multi_container_allocated_items.js'
4
- import { BeamDeflection } from './beam_deflection.js'
5
- import { calculate_deflection_indicator } from './deflection_tools.js'
6
-
7
- /**
8
- * Vanderleia trailer beam deflection indicator.
9
- */
10
- export class VanderleiaDeflection
11
- {
12
- /**
13
- * @param vanderleia_model - Axle weight model.
14
- * @param number_of_curve_samples - Curve sample count.
15
- */
16
- constructor(
17
- private readonly vanderleia_model: VanderleiaModel,
18
- private readonly number_of_curve_samples: number
19
- )
20
- {}
21
-
22
- /**
23
- * @param multi_items - Allocated items.
24
- * @returns Deflection indicator scalar.
25
- */
26
- calculate_deflection(multi_items: MultiContainerAllocatedItems): number
27
- {
28
- const support = this.generate_support_data(multi_items)
29
- const allocated = multi_items.get_allocated_items_by_grouper_index(1)
30
- const beam = new BeamDeflection(support, allocated)
31
- const length = this.vanderleia_model.chassi.get_grouper_end(1, CHASSI_REFERENCE.GROUPER_1)
32
- const curve = beam.generate_curve_values(length, this.number_of_curve_samples)
33
- return calculate_deflection_indicator(curve)
34
- }
35
-
36
- private generate_support_data(multi_items: MultiContainerAllocatedItems): [number, number][]
37
- {
38
- const forces = this.vanderleia_model.calculate_chassi_forces(multi_items)
39
- const trailer_force = forces.get_force_on_axle(2)
40
- + forces.get_force_on_axle(3)
41
- + forces.get_force_on_axle(4)
42
- const pin = this.vanderleia_model.chassi.get_pin_position(0, CHASSI_REFERENCE.GROUPER_1)
43
- const axle_3 = this.vanderleia_model.chassi.get_axle_position(2, CHASSI_REFERENCE.GROUPER_1)
44
- const axle_5 = this.vanderleia_model.chassi.get_axle_position(4, CHASSI_REFERENCE.GROUPER_1)
45
- const mean_axle = 0.5 * (axle_5 - axle_3) + axle_3
46
- return [[pin, forces.get_force_on_pin(0)], [mean_axle, trailer_force]]
47
- }
48
- }
@@ -1,51 +0,0 @@
1
- import { VEHICLE_TYPE } from '../../contracts/vehicle_type.js'
2
- import type { Transport } from '../transports/transport.js'
3
- import { scale_tare } from './old_tare_scale.js'
4
- import { semireboque_tare } from './old_tare_semireboque.js'
5
- import { vanderleia_tare } from './old_tare_vanderleia.js'
6
- import { truck_tare } from './old_tare_truck.js'
7
-
8
- /**
9
- * Legacy tare split by vehicle type (Python OldTareModel).
10
- */
11
- export class OldTareModel
12
- {
13
- /**
14
- * @param transport - Parsed transport.
15
- * @returns Tare per axle.
16
- */
17
- calculate(transport: Transport): number[]
18
- {
19
- return old_tare_by_vehicle(transport)
20
- }
21
- }
22
-
23
- /**
24
- * @param transport - Parsed transport.
25
- * @returns Tare per axle for vehicle type.
26
- */
27
- export function old_tare_by_vehicle(transport: Transport): number[]
28
- {
29
- const type = transport.vehicle_type
30
- if (type === VEHICLE_TYPE.BITREM)
31
- {
32
- return scale_tare(transport.tare, [0.23, 0.255, 0.285, 0.23])
33
- }
34
- if (type === VEHICLE_TYPE.RODOTREM)
35
- {
36
- return scale_tare(transport.tare, [0.19, 0.28, 0.21, 0.16, 0.16])
37
- }
38
- if (type === VEHICLE_TYPE.SEMIREBOQUE || type === VEHICLE_TYPE.REBAIXADO)
39
- {
40
- return semireboque_tare(transport)
41
- }
42
- if (type === VEHICLE_TYPE.VANDERLEIA)
43
- {
44
- return vanderleia_tare(transport)
45
- }
46
- if (type === VEHICLE_TYPE.CAMINHAO || type === VEHICLE_TYPE.VUC)
47
- {
48
- return truck_tare(transport)
49
- }
50
- return []
51
- }
@@ -1,9 +0,0 @@
1
- /**
2
- * @param tare - Total vehicle tare.
3
- * @param multipliers - Per-axle factors.
4
- * @returns Scaled tare list.
5
- */
6
- export function scale_tare(tare: number, multipliers: number[]): number[]
7
- {
8
- return multipliers.map((factor) => tare * factor)
9
- }
@@ -1,51 +0,0 @@
1
- import { VEHICLE_VERSION } from '../../contracts/vehicle_version.js'
2
- import type { Transport } from '../transports/transport.js'
3
- import { scale_tare } from './old_tare_scale.js'
4
-
5
- const TRUNCATED_LIMIT = 13000
6
-
7
- /**
8
- * @param transport - Parsed transport.
9
- * @returns Semireboque tare per axle.
10
- */
11
- export function semireboque_tare(transport: Transport): number[]
12
- {
13
- const version = transport.vehicle_version
14
- if (version === VEHICLE_VERSION.SEMIREBOQUE_QUAD
15
- || version === VEHICLE_VERSION.SEMIREBOQUE_QUAD_ALT)
16
- {
17
- return scale_tare(transport.tare, [0.27509640559, 0.29967158355, 0.11978366503, 0.30544834583])
18
- }
19
- if (version === VEHICLE_VERSION.SEMIREBOQUE_BITRUCK)
20
- {
21
- return scale_tare(transport.tare, [0.17852139406, 0.17852139406, 0.43218944824, 0.21076776365])
22
- }
23
- return semireboque_standard_tare(transport)
24
- }
25
-
26
- function semireboque_standard_tare(transport: Transport): number[]
27
- {
28
- const axle_1_max = transport.axle_manager.get_axle(1).max_supported_weight
29
- if (axle_1_max > TRUNCATED_LIMIT)
30
- {
31
- return semireboque_heavy_axle_tare(transport.tare)
32
- }
33
- if (transport.tare < 18500)
34
- {
35
- return scale_tare(transport.tare, [0.312, 0.2, 0.488])
36
- }
37
- return scale_tare(transport.tare, [0.26, 0.35, 0.39])
38
- }
39
-
40
- function semireboque_heavy_axle_tare(tare: number): number[]
41
- {
42
- if (tare > 19000)
43
- {
44
- return scale_tare(tare, [0.24, 0.35, 0.41])
45
- }
46
- if (tare > 17000)
47
- {
48
- return scale_tare(tare, [0.3, 0.315, 0.385])
49
- }
50
- return scale_tare(tare, [0.286, 0.379, 0.335])
51
- }
@@ -1,15 +0,0 @@
1
- import { VEHICLE_VERSION } from '../../contracts/vehicle_version.js'
2
- import type { Transport } from '../transports/transport.js'
3
- import { scale_tare } from './old_tare_scale.js'
4
-
5
- /**
6
- * @param transport - Truck or VUC transport.
7
- * @returns Tare per axle.
8
- */
9
- export function truck_tare(transport: Transport): number[]
10
- {
11
- const multipliers = transport.vehicle_version === VEHICLE_VERSION.CAMINHAO_BITRUCK
12
- ? [0.2834844826865682, 0.28348448268656806, 0.43303103462686376]
13
- : [0.452, 0.548]
14
- return scale_tare(transport.tare, multipliers)
15
- }
@@ -1,44 +0,0 @@
1
- import type { Transport } from '../transports/transport.js'
2
- import { scale_tare } from './old_tare_scale.js'
3
-
4
- const TRUNCATED_LIMIT = 13000
5
-
6
- /**
7
- * @param transport - Parsed transport.
8
- * @returns Vanderleia tare per axle.
9
- */
10
- export function vanderleia_tare(transport: Transport): number[]
11
- {
12
- const axle_1_max = transport.axle_manager.get_axle(1).max_supported_weight
13
- if (axle_1_max > TRUNCATED_LIMIT)
14
- {
15
- return vanderleia_heavy_axle_tare(transport.tare)
16
- }
17
- return vanderleia_light_axle_tare(transport.tare)
18
- }
19
-
20
- function vanderleia_heavy_axle_tare(tare: number): number[]
21
- {
22
- if (tare > 23500)
23
- {
24
- return scale_tare(tare, [0.22, 0.33, 0.155, 0.155, 0.14])
25
- }
26
- if (tare > 21000)
27
- {
28
- return scale_tare(tare, [0.25, 0.32, 0.145, 0.145, 0.14])
29
- }
30
- return scale_tare(tare, [0.267, 0.314, 0.141, 0.141, 0.137])
31
- }
32
-
33
- function vanderleia_light_axle_tare(tare: number): number[]
34
- {
35
- if (tare > 23500)
36
- {
37
- return scale_tare(tare, [0.22, 0.24, 0.185, 0.185, 0.17])
38
- }
39
- if (tare > 21000)
40
- {
41
- return scale_tare(tare, [0.25, 0.2, 0.185, 0.185, 0.18])
42
- }
43
- return scale_tare(tare, [0.267, 0.164, 0.191, 0.191, 0.187])
44
- }
@@ -1,49 +0,0 @@
1
- import { VEHICLE_TYPE } from '../../contracts/vehicle_type.js'
2
- import type { Transport } from '../transports/transport.js'
3
-
4
- /**
5
- * Converts loaded cargo per axle into utilization percentages.
6
- */
7
- export class PercentageOnAxlesCalculator
8
- {
9
- /**
10
- * @param transport - Parsed transport.
11
- */
12
- constructor(private readonly transport: Transport)
13
- {}
14
-
15
- /**
16
- * @param loaded_weight_list - Cargo load per axle index.
17
- * @returns Utilization ratio per axle (bitrem: 4 entries).
18
- */
19
- weight_on_axles_to_percentages(loaded_weight_list: number[]): number[]
20
- {
21
- if (this.transport.vehicle_type === VEHICLE_TYPE.BITREM)
22
- {
23
- return [
24
- this.calculate_percentage(0, loaded_weight_list[0]),
25
- this.calculate_percentage(1, loaded_weight_list[1]),
26
- this.calculate_bitrem_joined_percentage(
27
- loaded_weight_list[2] + loaded_weight_list[3]),
28
- this.calculate_percentage(4, loaded_weight_list[4])
29
- ]
30
- }
31
- return this.transport.axle_manager.list_axles_indexes().map((index) =>
32
- this.calculate_percentage(index, loaded_weight_list[index]))
33
- }
34
-
35
- private calculate_percentage(axle_index: number, loaded_weight: number): number
36
- {
37
- const axle = this.transport.axle_manager.get_axle(axle_index)
38
- return (loaded_weight + axle.tare) / axle.max_supported_weight
39
- }
40
-
41
- private calculate_bitrem_joined_percentage(loaded_weight: number): number
42
- {
43
- const axle_2 = this.transport.axle_manager.get_axle(2)
44
- const axle_3 = this.transport.axle_manager.get_axle(3)
45
- const total_tare = axle_2.tare + axle_3.tare
46
- const total_max = axle_2.max_supported_weight + axle_3.max_supported_weight
47
- return (loaded_weight + total_tare) / total_max
48
- }
49
- }
@@ -1,87 +0,0 @@
1
- import type { Transport } from '../transports/transport.js'
2
- import { Chassi } from '../transports/chassi.js'
3
- import { CHASSI_REFERENCE } from '../../contracts/chassi_reference.js'
4
- import { CenterOfMass } from '../items/center_of_mass.js'
5
- import { ChassiForces } from './chassi_forces.js'
6
- import { SemiReboqueBase } from './semi_reboque_base.js'
7
- import { solve_linear_system } from '../../math/gaussian_elimination.js'
8
-
9
- /**
10
- * Quad-axle semi-trailer (equivalent semi + 2×2 split on axles 3–4).
11
- */
12
- export class QuadSemiTrailerModel
13
- {
14
- private readonly chassi: Chassi
15
- readonly equivalent_semi_trailer: SemiReboqueBase
16
-
17
- /**
18
- * @param transport - Parsed transport.
19
- */
20
- constructor(transport: Transport)
21
- {
22
- this.chassi = new Chassi(transport)
23
- this.equivalent_semi_trailer = new SemiReboqueBase(transport)
24
- this.equivalent_semi_trailer.set_linear_system_matrix(
25
- get_equivalent_chassi_positions(this.chassi, transport))
26
- }
27
-
28
- /**
29
- * @param center_of_mass_by_grouper - CM per grouper.
30
- * @returns Four-axle chassis forces.
31
- */
32
- calculate_chassi_forces_with_load_center_of_mass(
33
- center_of_mass_by_grouper: Record<number, CenterOfMass>
34
- ): ChassiForces
35
- {
36
- const equivalent = this.equivalent_semi_trailer
37
- .calculate_chassi_forces_with_load_center_of_mass(center_of_mass_by_grouper)
38
- const equivalent_z = this.equivalent_semi_trailer.chassi_positions[4]
39
- const independent = [
40
- equivalent.get_force_on_axle(2),
41
- equivalent.get_force_on_axle(2) * equivalent_z
42
- ]
43
- const quad = solve_linear_system(generate_quad_matrix(this.chassi), independent)
44
- const forces = new ChassiForces()
45
- forces.add_axle_forces([
46
- equivalent.get_force_on_axle(0),
47
- equivalent.get_force_on_axle(1),
48
- quad[0],
49
- quad[1]
50
- ])
51
- forces.add_pin_forces([equivalent.get_force_on_pin(0)])
52
- return forces
53
- }
54
- }
55
-
56
- /**
57
- * @param chassi - Chassis geometry.
58
- * @returns 2×2 quad axle matrix.
59
- */
60
- function generate_quad_matrix(chassi: Chassi): number[][]
61
- {
62
- const semi_axle_3 = chassi.get_axle_position(2, CHASSI_REFERENCE.GROUPER_1)
63
- const semi_axle_4 = chassi.get_axle_position(3, CHASSI_REFERENCE.GROUPER_1)
64
- return [[1, 1], [semi_axle_3, semi_axle_4]]
65
- }
66
-
67
- /**
68
- * @param chassi - Chassis geometry.
69
- * @param transport - Parsed transport.
70
- * @returns Equivalent 5-position layout for semi base.
71
- */
72
- function get_equivalent_chassi_positions(chassi: Chassi, transport: Transport): number[]
73
- {
74
- const tractor_pin = chassi.get_pin_position(0, CHASSI_REFERENCE.TRACTOR)
75
- const tractor_axle_1 = chassi.get_axle_position(0, CHASSI_REFERENCE.TRACTOR)
76
- const tractor_axle_2 = chassi.get_axle_position(1, CHASSI_REFERENCE.TRACTOR)
77
- const semi_pin = chassi.get_pin_position(0, CHASSI_REFERENCE.GROUPER_1)
78
- const semi_axle_3 = chassi.get_axle_position(2, CHASSI_REFERENCE.GROUPER_1)
79
- const semi_axle_4 = chassi.get_axle_position(3, CHASSI_REFERENCE.GROUPER_1)
80
- const axle_3 = transport.axle_manager.get_axle(2)
81
- const axle_4 = transport.axle_manager.get_axle(3)
82
- const semi_equivalent = (
83
- semi_axle_3 * axle_3.max_supported_weight
84
- + semi_axle_4 * axle_4.max_supported_weight
85
- ) / (axle_3.max_supported_weight + axle_4.max_supported_weight)
86
- return [tractor_pin, tractor_axle_1, tractor_axle_2, semi_pin, semi_equivalent]
87
- }