@jetta/axle-load-calculator 0.3.4 → 0.3.6

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 (285) hide show
  1. package/README.md +13 -1
  2. package/build-cjs/core/contracts/ChassiReference.d.ts +7 -0
  3. package/build-cjs/core/contracts/ChassiReference.d.ts.map +1 -0
  4. package/build-cjs/core/contracts/ChassiReference.js +8 -0
  5. package/build-cjs/core/contracts/MsFaixasContract.d.ts +13 -0
  6. package/build-cjs/core/contracts/MsFaixasContract.d.ts.map +1 -0
  7. package/build-cjs/core/contracts/MsFaixasContract.js +93 -0
  8. package/build-cjs/core/contracts/RotationEnum.d.ts +11 -0
  9. package/build-cjs/core/contracts/RotationEnum.d.ts.map +1 -0
  10. package/build-cjs/core/contracts/RotationEnum.js +12 -0
  11. package/build-cjs/core/contracts/SuspensionType.d.ts +5 -0
  12. package/build-cjs/core/contracts/SuspensionType.d.ts.map +1 -0
  13. package/build-cjs/core/contracts/SuspensionType.js +7 -0
  14. package/build-cjs/core/contracts/TransportRecord.d.ts +5 -0
  15. package/build-cjs/core/contracts/TransportRecord.d.ts.map +1 -0
  16. package/build-cjs/core/contracts/TransportRecord.js +2 -0
  17. package/build-cjs/core/contracts/VehicleType.d.ts +12 -0
  18. package/build-cjs/core/contracts/VehicleType.d.ts.map +1 -0
  19. package/build-cjs/core/contracts/VehicleType.js +13 -0
  20. package/build-cjs/core/contracts/VehicleVersion.d.ts +8 -0
  21. package/build-cjs/core/contracts/VehicleVersion.d.ts.map +1 -0
  22. package/build-cjs/core/contracts/VehicleVersion.js +10 -0
  23. package/build-cjs/core/contracts/WireFlags.d.ts +27 -0
  24. package/build-cjs/core/contracts/WireFlags.d.ts.map +1 -0
  25. package/build-cjs/core/contracts/WireFlags.js +29 -0
  26. package/build-cjs/core/math/FloatTools.d.ts +7 -0
  27. package/build-cjs/core/math/FloatTools.d.ts.map +1 -0
  28. package/build-cjs/core/math/FloatTools.js +17 -0
  29. package/build-cjs/core/math/GaussianElimination.d.ts +8 -0
  30. package/build-cjs/core/math/GaussianElimination.d.ts.map +1 -0
  31. package/build-cjs/core/math/GaussianElimination.js +88 -0
  32. package/build-cjs/core/orchestration/AxleWeightPhysics.d.ts +7 -0
  33. package/build-cjs/core/orchestration/AxleWeightPhysics.d.ts.map +1 -0
  34. package/build-cjs/core/orchestration/AxleWeightPhysics.js +30 -0
  35. package/build-cjs/core/orchestration/CollisionChecker.d.ts +8 -0
  36. package/build-cjs/core/orchestration/CollisionChecker.d.ts.map +1 -0
  37. package/build-cjs/core/orchestration/CollisionChecker.js +63 -0
  38. package/build-cjs/core/orchestration/ConnectorPayloadBuilder.d.ts +11 -0
  39. package/build-cjs/core/orchestration/ConnectorPayloadBuilder.d.ts.map +1 -0
  40. package/build-cjs/core/orchestration/ConnectorPayloadBuilder.js +84 -0
  41. package/build-cjs/core/orchestration/ItemOverlapError.d.ts +7 -0
  42. package/build-cjs/core/orchestration/ItemOverlapError.d.ts.map +1 -0
  43. package/build-cjs/core/orchestration/ItemOverlapError.js +13 -0
  44. package/build-cjs/core/orchestration/JavaMassCenter.d.ts +10 -0
  45. package/build-cjs/core/orchestration/JavaMassCenter.d.ts.map +1 -0
  46. package/build-cjs/core/orchestration/JavaMassCenter.js +135 -0
  47. package/build-cjs/core/orchestration/OutputBuilder.d.ts +7 -0
  48. package/build-cjs/core/orchestration/OutputBuilder.d.ts.map +1 -0
  49. package/build-cjs/core/orchestration/OutputBuilder.js +10 -0
  50. package/build-cjs/core/orchestration/RequestSchema.d.ts +57 -0
  51. package/build-cjs/core/orchestration/RequestSchema.d.ts.map +1 -0
  52. package/build-cjs/core/orchestration/RequestSchema.js +21 -0
  53. package/build-cjs/core/orchestration/WeightByAxisResponse.d.ts +11 -0
  54. package/build-cjs/core/orchestration/WeightByAxisResponse.d.ts.map +1 -0
  55. package/build-cjs/core/orchestration/WeightByAxisResponse.js +2 -0
  56. package/build-cjs/core/orchestration/WeightByAxisTask.d.ts +18 -0
  57. package/build-cjs/core/orchestration/WeightByAxisTask.d.ts.map +1 -0
  58. package/build-cjs/core/orchestration/WeightByAxisTask.js +110 -0
  59. package/build-cjs/core/physics/items/AllocatedItem.d.ts +22 -0
  60. package/build-cjs/core/physics/items/AllocatedItem.d.ts.map +1 -0
  61. package/build-cjs/core/physics/items/AllocatedItem.js +33 -0
  62. package/build-cjs/core/physics/items/AllocatedItemManager.d.ts +31 -0
  63. package/build-cjs/core/physics/items/AllocatedItemManager.d.ts.map +1 -0
  64. package/build-cjs/core/physics/items/AllocatedItemManager.js +42 -0
  65. package/build-cjs/core/physics/items/BindChassiSolver.d.ts +12 -0
  66. package/build-cjs/core/physics/items/BindChassiSolver.d.ts.map +1 -0
  67. package/build-cjs/core/physics/items/BindChassiSolver.js +13 -0
  68. package/build-cjs/core/physics/items/CenterOfMass.d.ts +14 -0
  69. package/build-cjs/core/physics/items/CenterOfMass.d.ts.map +1 -0
  70. package/build-cjs/core/physics/items/CenterOfMass.js +28 -0
  71. package/build-cjs/core/physics/items/ComputeGrouperCenterOfMass.d.ts +19 -0
  72. package/build-cjs/core/physics/items/ComputeGrouperCenterOfMass.d.ts.map +1 -0
  73. package/build-cjs/core/physics/items/ComputeGrouperCenterOfMass.js +32 -0
  74. package/build-cjs/core/physics/items/ItemTemplates.d.ts +32 -0
  75. package/build-cjs/core/physics/items/ItemTemplates.d.ts.map +1 -0
  76. package/build-cjs/core/physics/items/ItemTemplates.js +58 -0
  77. package/build-cjs/core/physics/items/MultiContainerAllocatedItems.d.ts +37 -0
  78. package/build-cjs/core/physics/items/MultiContainerAllocatedItems.d.ts.map +1 -0
  79. package/build-cjs/core/physics/items/MultiContainerAllocatedItems.js +95 -0
  80. package/build-cjs/core/physics/items/RotationTransforms.d.ts +8 -0
  81. package/build-cjs/core/physics/items/RotationTransforms.d.ts.map +1 -0
  82. package/build-cjs/core/physics/items/RotationTransforms.js +24 -0
  83. package/build-cjs/core/physics/items/UnknownItemIdError.d.ts +10 -0
  84. package/build-cjs/core/physics/items/UnknownItemIdError.d.ts.map +1 -0
  85. package/build-cjs/core/physics/items/UnknownItemIdError.js +16 -0
  86. package/build-cjs/core/physics/models/AxleWeightModel.d.ts +32 -0
  87. package/build-cjs/core/physics/models/AxleWeightModel.d.ts.map +1 -0
  88. package/build-cjs/core/physics/models/AxleWeightModel.js +77 -0
  89. package/build-cjs/core/physics/models/BiTruckModel.d.ts +21 -0
  90. package/build-cjs/core/physics/models/BiTruckModel.d.ts.map +1 -0
  91. package/build-cjs/core/physics/models/BiTruckModel.js +64 -0
  92. package/build-cjs/core/physics/models/BiTruckTractorSemiTrailerModel.d.ts +21 -0
  93. package/build-cjs/core/physics/models/BiTruckTractorSemiTrailerModel.d.ts.map +1 -0
  94. package/build-cjs/core/physics/models/BiTruckTractorSemiTrailerModel.js +73 -0
  95. package/build-cjs/core/physics/models/BitremModel.d.ts +33 -0
  96. package/build-cjs/core/physics/models/BitremModel.d.ts.map +1 -0
  97. package/build-cjs/core/physics/models/BitremModel.js +128 -0
  98. package/build-cjs/core/physics/models/ChassiForces.d.ts +30 -0
  99. package/build-cjs/core/physics/models/ChassiForces.d.ts.map +1 -0
  100. package/build-cjs/core/physics/models/ChassiForces.js +43 -0
  101. package/build-cjs/core/physics/models/OldTareModel.d.ts +17 -0
  102. package/build-cjs/core/physics/models/OldTareModel.d.ts.map +1 -0
  103. package/build-cjs/core/physics/models/OldTareModel.js +45 -0
  104. package/build-cjs/core/physics/models/OldTareScale.d.ts +7 -0
  105. package/build-cjs/core/physics/models/OldTareScale.d.ts.map +1 -0
  106. package/build-cjs/core/physics/models/OldTareScale.js +11 -0
  107. package/build-cjs/core/physics/models/OldTareSemireboque.d.ts +7 -0
  108. package/build-cjs/core/physics/models/OldTareSemireboque.d.ts.map +1 -0
  109. package/build-cjs/core/physics/models/OldTareSemireboque.js +40 -0
  110. package/build-cjs/core/physics/models/OldTareTruck.d.ts +7 -0
  111. package/build-cjs/core/physics/models/OldTareTruck.d.ts.map +1 -0
  112. package/build-cjs/core/physics/models/OldTareTruck.js +15 -0
  113. package/build-cjs/core/physics/models/OldTareVanderleia.d.ts +7 -0
  114. package/build-cjs/core/physics/models/OldTareVanderleia.d.ts.map +1 -0
  115. package/build-cjs/core/physics/models/OldTareVanderleia.js +34 -0
  116. package/build-cjs/core/physics/models/PercentageOnAxlesCalculator.d.ts +19 -0
  117. package/build-cjs/core/physics/models/PercentageOnAxlesCalculator.d.ts.map +1 -0
  118. package/build-cjs/core/physics/models/PercentageOnAxlesCalculator.js +43 -0
  119. package/build-cjs/core/physics/models/QuadSemiTrailerModel.d.ts +21 -0
  120. package/build-cjs/core/physics/models/QuadSemiTrailerModel.d.ts.map +1 -0
  121. package/build-cjs/core/physics/models/QuadSemiTrailerModel.js +74 -0
  122. package/build-cjs/core/physics/models/RodotremModel.d.ts +33 -0
  123. package/build-cjs/core/physics/models/RodotremModel.d.ts.map +1 -0
  124. package/build-cjs/core/physics/models/RodotremModel.js +106 -0
  125. package/build-cjs/core/physics/models/SemiDelegate.d.ts +9 -0
  126. package/build-cjs/core/physics/models/SemiDelegate.d.ts.map +1 -0
  127. package/build-cjs/core/physics/models/SemiDelegate.js +2 -0
  128. package/build-cjs/core/physics/models/SemiReboqueBase.d.ts +34 -0
  129. package/build-cjs/core/physics/models/SemiReboqueBase.d.ts.map +1 -0
  130. package/build-cjs/core/physics/models/SemiReboqueBase.js +89 -0
  131. package/build-cjs/core/physics/models/SemiReboqueModel.d.ts +41 -0
  132. package/build-cjs/core/physics/models/SemiReboqueModel.d.ts.map +1 -0
  133. package/build-cjs/core/physics/models/SemiReboqueModel.js +89 -0
  134. package/build-cjs/core/physics/models/SimpleTruckBase.d.ts +29 -0
  135. package/build-cjs/core/physics/models/SimpleTruckBase.d.ts.map +1 -0
  136. package/build-cjs/core/physics/models/SimpleTruckBase.js +61 -0
  137. package/build-cjs/core/physics/models/SimpleTruckModel.d.ts +41 -0
  138. package/build-cjs/core/physics/models/SimpleTruckModel.d.ts.map +1 -0
  139. package/build-cjs/core/physics/models/SimpleTruckModel.js +81 -0
  140. package/build-cjs/core/physics/models/SingleContainerTare.d.ts +18 -0
  141. package/build-cjs/core/physics/models/SingleContainerTare.d.ts.map +1 -0
  142. package/build-cjs/core/physics/models/SingleContainerTare.js +49 -0
  143. package/build-cjs/core/physics/models/TareModel.d.ts +12 -0
  144. package/build-cjs/core/physics/models/TareModel.d.ts.map +1 -0
  145. package/build-cjs/core/physics/models/TareModel.js +40 -0
  146. package/build-cjs/core/physics/models/TruckDelegate.d.ts +9 -0
  147. package/build-cjs/core/physics/models/TruckDelegate.d.ts.map +1 -0
  148. package/build-cjs/core/physics/models/TruckDelegate.js +2 -0
  149. package/build-cjs/core/physics/models/UnrecognizedSuspensionTypeError.d.ts +10 -0
  150. package/build-cjs/core/physics/models/UnrecognizedSuspensionTypeError.d.ts.map +1 -0
  151. package/build-cjs/core/physics/models/UnrecognizedSuspensionTypeError.js +16 -0
  152. package/build-cjs/core/physics/models/UnsupportedVehicleTypeError.d.ts +10 -0
  153. package/build-cjs/core/physics/models/UnsupportedVehicleTypeError.d.ts.map +1 -0
  154. package/build-cjs/core/physics/models/UnsupportedVehicleTypeError.js +16 -0
  155. package/build-cjs/core/physics/models/VanderleiaModel.d.ts +33 -0
  156. package/build-cjs/core/physics/models/VanderleiaModel.d.ts.map +1 -0
  157. package/build-cjs/core/physics/models/VanderleiaModel.js +106 -0
  158. package/build-cjs/core/physics/models/VehicleModel.d.ts +11 -0
  159. package/build-cjs/core/physics/models/VehicleModel.d.ts.map +1 -0
  160. package/build-cjs/core/physics/models/VehicleModel.js +2 -0
  161. package/build-cjs/core/physics/models/deflection/BeamDeflection.d.ts +28 -0
  162. package/build-cjs/core/physics/models/deflection/BeamDeflection.d.ts.map +1 -0
  163. package/build-cjs/core/physics/models/deflection/BeamDeflection.js +82 -0
  164. package/build-cjs/core/physics/models/deflection/BitremDeflection.d.ts +22 -0
  165. package/build-cjs/core/physics/models/deflection/BitremDeflection.d.ts.map +1 -0
  166. package/build-cjs/core/physics/models/deflection/BitremDeflection.js +58 -0
  167. package/build-cjs/core/physics/models/deflection/CreateDeflectionDelegate.d.ts +9 -0
  168. package/build-cjs/core/physics/models/deflection/CreateDeflectionDelegate.d.ts.map +1 -0
  169. package/build-cjs/core/physics/models/deflection/CreateDeflectionDelegate.js +27 -0
  170. package/build-cjs/core/physics/models/deflection/DeflectionDelegate.d.ts +8 -0
  171. package/build-cjs/core/physics/models/deflection/DeflectionDelegate.d.ts.map +1 -0
  172. package/build-cjs/core/physics/models/deflection/DeflectionDelegate.js +2 -0
  173. package/build-cjs/core/physics/models/deflection/DeflectionDelegateFactories.d.ts +36 -0
  174. package/build-cjs/core/physics/models/deflection/DeflectionDelegateFactories.d.ts.map +1 -0
  175. package/build-cjs/core/physics/models/deflection/DeflectionDelegateFactories.js +57 -0
  176. package/build-cjs/core/physics/models/deflection/DeflectionModel.d.ts +19 -0
  177. package/build-cjs/core/physics/models/deflection/DeflectionModel.d.ts.map +1 -0
  178. package/build-cjs/core/physics/models/deflection/DeflectionModel.js +27 -0
  179. package/build-cjs/core/physics/models/deflection/DeflectionModelNotImplementedError.d.ts +9 -0
  180. package/build-cjs/core/physics/models/deflection/DeflectionModelNotImplementedError.d.ts.map +1 -0
  181. package/build-cjs/core/physics/models/deflection/DeflectionModelNotImplementedError.js +15 -0
  182. package/build-cjs/core/physics/models/deflection/DeflectionSupportManager.d.ts +35 -0
  183. package/build-cjs/core/physics/models/deflection/DeflectionSupportManager.d.ts.map +1 -0
  184. package/build-cjs/core/physics/models/deflection/DeflectionSupportManager.js +58 -0
  185. package/build-cjs/core/physics/models/deflection/DeflectionTools.d.ts +6 -0
  186. package/build-cjs/core/physics/models/deflection/DeflectionTools.d.ts.map +1 -0
  187. package/build-cjs/core/physics/models/deflection/DeflectionTools.js +13 -0
  188. package/build-cjs/core/physics/models/deflection/DelegateFactory.d.ts +12 -0
  189. package/build-cjs/core/physics/models/deflection/DelegateFactory.d.ts.map +1 -0
  190. package/build-cjs/core/physics/models/deflection/DelegateFactory.js +2 -0
  191. package/build-cjs/core/physics/models/deflection/IntegrationConstantCalculator.d.ts +25 -0
  192. package/build-cjs/core/physics/models/deflection/IntegrationConstantCalculator.d.ts.map +1 -0
  193. package/build-cjs/core/physics/models/deflection/IntegrationConstantCalculator.js +55 -0
  194. package/build-cjs/core/physics/models/deflection/RodotremDeflection.d.ts +22 -0
  195. package/build-cjs/core/physics/models/deflection/RodotremDeflection.d.ts.map +1 -0
  196. package/build-cjs/core/physics/models/deflection/RodotremDeflection.js +51 -0
  197. package/build-cjs/core/physics/models/deflection/SemiReboqueDeflection.d.ts +21 -0
  198. package/build-cjs/core/physics/models/deflection/SemiReboqueDeflection.d.ts.map +1 -0
  199. package/build-cjs/core/physics/models/deflection/SemiReboqueDeflection.js +35 -0
  200. package/build-cjs/core/physics/models/deflection/SimpleTruckDeflection.d.ts +20 -0
  201. package/build-cjs/core/physics/models/deflection/SimpleTruckDeflection.d.ts.map +1 -0
  202. package/build-cjs/core/physics/models/deflection/SimpleTruckDeflection.js +32 -0
  203. package/build-cjs/core/physics/models/deflection/VanderleiaDeflection.d.ts +21 -0
  204. package/build-cjs/core/physics/models/deflection/VanderleiaDeflection.d.ts.map +1 -0
  205. package/build-cjs/core/physics/models/deflection/VanderleiaDeflection.js +45 -0
  206. package/build-cjs/core/physics/services/AxleWeightOutputBuilder.d.ts +27 -0
  207. package/build-cjs/core/physics/services/AxleWeightOutputBuilder.d.ts.map +1 -0
  208. package/build-cjs/core/physics/services/AxleWeightOutputBuilder.js +47 -0
  209. package/build-cjs/core/physics/services/AxleWeightService.d.ts +20 -0
  210. package/build-cjs/core/physics/services/AxleWeightService.d.ts.map +1 -0
  211. package/build-cjs/core/physics/services/AxleWeightService.js +95 -0
  212. package/build-cjs/core/physics/services/CmAxleWeightService.d.ts +12 -0
  213. package/build-cjs/core/physics/services/CmAxleWeightService.d.ts.map +1 -0
  214. package/build-cjs/core/physics/services/CmAxleWeightService.js +37 -0
  215. package/build-cjs/core/physics/services/ContainerCornerForces.d.ts +33 -0
  216. package/build-cjs/core/physics/services/ContainerCornerForces.d.ts.map +1 -0
  217. package/build-cjs/core/physics/services/ContainerCornerForces.js +88 -0
  218. package/build-cjs/core/physics/transports/AxleManager.d.ts +22 -0
  219. package/build-cjs/core/physics/transports/AxleManager.d.ts.map +1 -0
  220. package/build-cjs/core/physics/transports/AxleManager.js +38 -0
  221. package/build-cjs/core/physics/transports/AxleRecord.d.ts +21 -0
  222. package/build-cjs/core/physics/transports/AxleRecord.d.ts.map +1 -0
  223. package/build-cjs/core/physics/transports/AxleRecord.js +61 -0
  224. package/build-cjs/core/physics/transports/Chassi.d.ts +52 -0
  225. package/build-cjs/core/physics/transports/Chassi.d.ts.map +1 -0
  226. package/build-cjs/core/physics/transports/Chassi.js +109 -0
  227. package/build-cjs/core/physics/transports/ContainerRecord.d.ts +25 -0
  228. package/build-cjs/core/physics/transports/ContainerRecord.d.ts.map +1 -0
  229. package/build-cjs/core/physics/transports/ContainerRecord.js +53 -0
  230. package/build-cjs/core/physics/transports/ContainerSequenceNotFoundError.d.ts +10 -0
  231. package/build-cjs/core/physics/transports/ContainerSequenceNotFoundError.d.ts.map +1 -0
  232. package/build-cjs/core/physics/transports/ContainerSequenceNotFoundError.js +16 -0
  233. package/build-cjs/core/physics/transports/GroupedContainers.d.ts +34 -0
  234. package/build-cjs/core/physics/transports/GroupedContainers.d.ts.map +1 -0
  235. package/build-cjs/core/physics/transports/GroupedContainers.js +73 -0
  236. package/build-cjs/core/physics/transports/GrouperNotFoundError.d.ts +10 -0
  237. package/build-cjs/core/physics/transports/GrouperNotFoundError.d.ts.map +1 -0
  238. package/build-cjs/core/physics/transports/GrouperNotFoundError.js +16 -0
  239. package/build-cjs/core/physics/transports/MergedContainers.d.ts +26 -0
  240. package/build-cjs/core/physics/transports/MergedContainers.d.ts.map +1 -0
  241. package/build-cjs/core/physics/transports/MergedContainers.js +50 -0
  242. package/build-cjs/core/physics/transports/MissingContainerError.d.ts +10 -0
  243. package/build-cjs/core/physics/transports/MissingContainerError.d.ts.map +1 -0
  244. package/build-cjs/core/physics/transports/MissingContainerError.js +16 -0
  245. package/build-cjs/core/physics/transports/Transport.d.ts +33 -0
  246. package/build-cjs/core/physics/transports/Transport.d.ts.map +1 -0
  247. package/build-cjs/core/physics/transports/Transport.js +115 -0
  248. package/build-cjs/core/physics/transports/containerweight/ContainerMaxWeightCalculator.d.ts +21 -0
  249. package/build-cjs/core/physics/transports/containerweight/ContainerMaxWeightCalculator.d.ts.map +1 -0
  250. package/build-cjs/core/physics/transports/containerweight/ContainerMaxWeightCalculator.js +44 -0
  251. package/build-cjs/core/physics/transports/containerweight/ContainerTareCalculator.d.ts +28 -0
  252. package/build-cjs/core/physics/transports/containerweight/ContainerTareCalculator.d.ts.map +1 -0
  253. package/build-cjs/core/physics/transports/containerweight/ContainerTareCalculator.js +59 -0
  254. package/build-cjs/core/physics/transports/containerweight/ContainerWeightModel.d.ts +15 -0
  255. package/build-cjs/core/physics/transports/containerweight/ContainerWeightModel.d.ts.map +1 -0
  256. package/build-cjs/core/physics/transports/containerweight/ContainerWeightModel.js +35 -0
  257. package/build-cjs/core/physics/transports/containerweight/MaxWeightInput.d.ts +10 -0
  258. package/build-cjs/core/physics/transports/containerweight/MaxWeightInput.d.ts.map +1 -0
  259. package/build-cjs/core/physics/transports/containerweight/MaxWeightInput.js +2 -0
  260. package/build-cjs/core/physics/transports/containerweight/MergedContainersWeightCalculator.d.ts +17 -0
  261. package/build-cjs/core/physics/transports/containerweight/MergedContainersWeightCalculator.d.ts.map +1 -0
  262. package/build-cjs/core/physics/transports/containerweight/MergedContainersWeightCalculator.js +35 -0
  263. package/build-cjs/core/physics/transports/containerweight/SingleContainerWeightCalculator.d.ts +20 -0
  264. package/build-cjs/core/physics/transports/containerweight/SingleContainerWeightCalculator.d.ts.map +1 -0
  265. package/build-cjs/core/physics/transports/containerweight/SingleContainerWeightCalculator.js +52 -0
  266. package/build-cjs/core/physics/transports/tare/BitremAxleSplit.d.ts +8 -0
  267. package/build-cjs/core/physics/transports/tare/BitremAxleSplit.d.ts.map +1 -0
  268. package/build-cjs/core/physics/transports/tare/BitremAxleSplit.js +2 -0
  269. package/build-cjs/core/physics/transports/tare/BitremAxleSplitTarget.d.ts +12 -0
  270. package/build-cjs/core/physics/transports/tare/BitremAxleSplitTarget.d.ts.map +1 -0
  271. package/build-cjs/core/physics/transports/tare/BitremAxleSplitTarget.js +2 -0
  272. package/build-cjs/core/physics/transports/tare/BitremAxleSplitter.d.ts +26 -0
  273. package/build-cjs/core/physics/transports/tare/BitremAxleSplitter.d.ts.map +1 -0
  274. package/build-cjs/core/physics/transports/tare/BitremAxleSplitter.js +88 -0
  275. package/build-cjs/core/physics/transports/tare/BitremAxleWeightSplit.d.ts +13 -0
  276. package/build-cjs/core/physics/transports/tare/BitremAxleWeightSplit.d.ts.map +1 -0
  277. package/build-cjs/core/physics/transports/tare/BitremAxleWeightSplit.js +36 -0
  278. package/build-cjs/index.d.ts +25 -0
  279. package/build-cjs/index.d.ts.map +1 -0
  280. package/build-cjs/index.js +35 -0
  281. package/build-cjs/package.json +3 -0
  282. package/package.json +27 -4
  283. package/CHANGELOG.md +0 -71
  284. package/tsconfig.eslint.json +0 -15
  285. package/tsconfig.json +0 -19
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BiTruckModel = void 0;
4
+ const Chassi_js_1 = require("../transports/Chassi.js");
5
+ const ChassiReference_js_1 = require("../../contracts/ChassiReference.js");
6
+ const ChassiForces_js_1 = require("./ChassiForces.js");
7
+ const SimpleTruckBase_js_1 = require("./SimpleTruckBase.js");
8
+ const GaussianElimination_js_1 = require("../../math/GaussianElimination.js");
9
+ /**
10
+ * Bitruck caminhão: equivalent 2-axle truck + front axle pair split.
11
+ */
12
+ class BiTruckModel {
13
+ chassi;
14
+ equivalent_truck;
15
+ /**
16
+ * @param transport - Parsed transport.
17
+ */
18
+ constructor(transport) {
19
+ this.chassi = new Chassi_js_1.Chassi(transport);
20
+ this.equivalent_truck = new SimpleTruckBase_js_1.SimpleTruckBase(transport);
21
+ this.equivalent_truck.set_axles_positions(get_equivalent_positions(this.chassi, transport));
22
+ }
23
+ /**
24
+ * @param center_of_mass_by_grouper - CM per grouper.
25
+ * @returns Three-axle forces.
26
+ */
27
+ calculate_chassi_forces_with_load_center_of_mass(center_of_mass_by_grouper) {
28
+ const equivalent = this.equivalent_truck
29
+ .calculate_chassi_forces_with_load_center_of_mass(center_of_mass_by_grouper);
30
+ const equivalent_z = this.equivalent_truck.axles_positions[0];
31
+ const independent = [
32
+ equivalent.get_force_on_axle(0),
33
+ equivalent.get_force_on_axle(0) * equivalent_z
34
+ ];
35
+ const front = (0, GaussianElimination_js_1.solve_linear_system)(generate_front_matrix(this.chassi), independent);
36
+ const forces = new ChassiForces_js_1.ChassiForces();
37
+ forces.add_axle_forces([front[0], front[1], equivalent.get_force_on_axle(1)]);
38
+ return forces;
39
+ }
40
+ }
41
+ exports.BiTruckModel = BiTruckModel;
42
+ /**
43
+ * @param chassi - Chassis geometry.
44
+ * @returns 2×2 front axle matrix.
45
+ */
46
+ function generate_front_matrix(chassi) {
47
+ const axle_1 = chassi.get_axle_position(0, ChassiReference_js_1.CHASSI_REFERENCE.GROUPER_1);
48
+ const axle_2 = chassi.get_axle_position(1, ChassiReference_js_1.CHASSI_REFERENCE.GROUPER_1);
49
+ return [[1, 1], [axle_1, axle_2]];
50
+ }
51
+ /**
52
+ * @param chassi - Chassis geometry.
53
+ * @param transport - Parsed transport.
54
+ * @returns Equivalent two-axle positions.
55
+ */
56
+ function get_equivalent_positions(chassi, transport) {
57
+ const axle_1 = chassi.get_axle_position(0, ChassiReference_js_1.CHASSI_REFERENCE.GROUPER_1);
58
+ const axle_2 = chassi.get_axle_position(1, ChassiReference_js_1.CHASSI_REFERENCE.GROUPER_1);
59
+ const axle_3 = chassi.get_axle_position(2, ChassiReference_js_1.CHASSI_REFERENCE.GROUPER_1);
60
+ const cap_1 = transport.axle_manager.get_axle(0).max_supported_weight;
61
+ const cap_2 = transport.axle_manager.get_axle(1).max_supported_weight;
62
+ const front_equivalent = (axle_1 * cap_1 + axle_2 * cap_2) / (cap_1 + cap_2);
63
+ return [front_equivalent, axle_3];
64
+ }
@@ -0,0 +1,21 @@
1
+ import type { Transport } from '../transports/Transport.js';
2
+ import { CenterOfMass } from '../items/CenterOfMass.js';
3
+ import { ChassiForces } from './ChassiForces.js';
4
+ import { SemiReboqueBase } from './SemiReboqueBase.js';
5
+ /**
6
+ * Bitruck tractor + semi-trailer variant.
7
+ */
8
+ export declare class BiTruckTractorSemiTrailerModel {
9
+ private readonly chassi;
10
+ readonly equivalent_semi_trailer: SemiReboqueBase;
11
+ /**
12
+ * @param transport - Parsed transport.
13
+ */
14
+ constructor(transport: Transport);
15
+ /**
16
+ * @param center_of_mass_by_grouper - CM per grouper.
17
+ * @returns Four-axle + pin forces.
18
+ */
19
+ calculate_chassi_forces_with_load_center_of_mass(center_of_mass_by_grouper: Record<number, CenterOfMass>): ChassiForces;
20
+ }
21
+ //# sourceMappingURL=BiTruckTractorSemiTrailerModel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BiTruckTractorSemiTrailerModel.d.ts","sourceRoot":"","sources":["../../../../src/core/physics/models/BiTruckTractorSemiTrailerModel.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAA;AAG3D,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAGtD;;GAEG;AACH,qBAAa,8BAA8B;IAEvC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAQ;IAC/B,QAAQ,CAAC,uBAAuB,EAAE,eAAe,CAAA;IAEjD;;OAEG;gBACS,SAAS,EAAE,SAAS;IAQhC;;;OAGG;IACH,gDAAgD,CAC5C,yBAAyB,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,GACxD,YAAY;CAoBlB"}
@@ -0,0 +1,73 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BiTruckTractorSemiTrailerModel = void 0;
4
+ const Chassi_js_1 = require("../transports/Chassi.js");
5
+ const ChassiReference_js_1 = require("../../contracts/ChassiReference.js");
6
+ const ChassiForces_js_1 = require("./ChassiForces.js");
7
+ const SemiReboqueBase_js_1 = require("./SemiReboqueBase.js");
8
+ const GaussianElimination_js_1 = require("../../math/GaussianElimination.js");
9
+ /**
10
+ * Bitruck tractor + semi-trailer variant.
11
+ */
12
+ class BiTruckTractorSemiTrailerModel {
13
+ chassi;
14
+ equivalent_semi_trailer;
15
+ /**
16
+ * @param transport - Parsed transport.
17
+ */
18
+ constructor(transport) {
19
+ this.chassi = new Chassi_js_1.Chassi(transport);
20
+ this.equivalent_semi_trailer = new SemiReboqueBase_js_1.SemiReboqueBase(transport);
21
+ this.equivalent_semi_trailer.set_linear_system_matrix(get_equivalent_positions(this.chassi, transport));
22
+ }
23
+ /**
24
+ * @param center_of_mass_by_grouper - CM per grouper.
25
+ * @returns Four-axle + pin forces.
26
+ */
27
+ calculate_chassi_forces_with_load_center_of_mass(center_of_mass_by_grouper) {
28
+ const equivalent = this.equivalent_semi_trailer
29
+ .calculate_chassi_forces_with_load_center_of_mass(center_of_mass_by_grouper);
30
+ const equivalent_z = this.equivalent_semi_trailer.chassi_positions[1];
31
+ const independent = [
32
+ equivalent.get_force_on_axle(0),
33
+ equivalent.get_force_on_axle(0) * equivalent_z
34
+ ];
35
+ const front = (0, GaussianElimination_js_1.solve_linear_system)(generate_tractor_front_matrix(this.chassi), independent);
36
+ const forces = new ChassiForces_js_1.ChassiForces();
37
+ forces.add_axle_forces([
38
+ front[0],
39
+ front[1],
40
+ equivalent.get_force_on_axle(1),
41
+ equivalent.get_force_on_axle(2)
42
+ ]);
43
+ forces.add_pin_forces([equivalent.get_force_on_pin(0)]);
44
+ return forces;
45
+ }
46
+ }
47
+ exports.BiTruckTractorSemiTrailerModel = BiTruckTractorSemiTrailerModel;
48
+ /**
49
+ * @param chassi - Chassis geometry.
50
+ * @returns 2×2 tractor front matrix.
51
+ */
52
+ function generate_tractor_front_matrix(chassi) {
53
+ const axle_1 = chassi.get_axle_position(0, ChassiReference_js_1.CHASSI_REFERENCE.TRACTOR);
54
+ const axle_2 = chassi.get_axle_position(1, ChassiReference_js_1.CHASSI_REFERENCE.TRACTOR);
55
+ return [[1, 1], [axle_1, axle_2]];
56
+ }
57
+ /**
58
+ * @param chassi - Chassis geometry.
59
+ * @param transport - Parsed transport.
60
+ * @returns Equivalent semi chassis positions.
61
+ */
62
+ function get_equivalent_positions(chassi, transport) {
63
+ const tractor_pin = chassi.get_pin_position(0, ChassiReference_js_1.CHASSI_REFERENCE.TRACTOR);
64
+ const tractor_axle_1 = chassi.get_axle_position(0, ChassiReference_js_1.CHASSI_REFERENCE.TRACTOR);
65
+ const tractor_axle_2 = chassi.get_axle_position(1, ChassiReference_js_1.CHASSI_REFERENCE.TRACTOR);
66
+ const tractor_axle_3 = chassi.get_axle_position(2, ChassiReference_js_1.CHASSI_REFERENCE.TRACTOR);
67
+ const semi_pin = chassi.get_pin_position(0, ChassiReference_js_1.CHASSI_REFERENCE.GROUPER_1);
68
+ const semi_axle_4 = chassi.get_axle_position(3, ChassiReference_js_1.CHASSI_REFERENCE.GROUPER_1);
69
+ const cap_1 = transport.axle_manager.get_axle(0).max_supported_weight;
70
+ const cap_2 = transport.axle_manager.get_axle(1).max_supported_weight;
71
+ const tractor_equivalent = (tractor_axle_1 * cap_1 + tractor_axle_2 * cap_2) / (cap_1 + cap_2);
72
+ return [tractor_pin, tractor_equivalent, tractor_axle_3, semi_pin, semi_axle_4];
73
+ }
@@ -0,0 +1,33 @@
1
+ import type { Transport } from '../transports/Transport.js';
2
+ import type { MultiContainerAllocatedItems } from '../items/MultiContainerAllocatedItems.js';
3
+ import { Chassi } from '../transports/Chassi.js';
4
+ import { CenterOfMass } from '../items/CenterOfMass.js';
5
+ import { ChassiForces } from './ChassiForces.js';
6
+ /**
7
+ * Bitrem interlink + semi static equilibrium (6×6 system).
8
+ */
9
+ export declare class BitremModel {
10
+ private readonly transport;
11
+ readonly chassi: Chassi;
12
+ private readonly matrix;
13
+ /**
14
+ * @param transport - Parsed transport.
15
+ */
16
+ constructor(transport: Transport);
17
+ /**
18
+ * @param multi_items - Allocated items by container sequence.
19
+ * @returns Loaded weight per axle.
20
+ */
21
+ calculate_weight_on_axles(multi_items: MultiContainerAllocatedItems): number[];
22
+ /**
23
+ * @param multi_items - Allocated items.
24
+ * @returns Chassis forces before rebalance split on axles 3–4.
25
+ */
26
+ calculate_chassi_forces(multi_items: MultiContainerAllocatedItems): ChassiForces;
27
+ /**
28
+ * @param center_of_mass_by_grouper - CM for groupers 1 and 2.
29
+ * @returns Combined chassis forces.
30
+ */
31
+ calculate_chassi_forces_with_load_center_of_mass(center_of_mass_by_grouper: Record<number, CenterOfMass>): ChassiForces;
32
+ }
33
+ //# sourceMappingURL=BitremModel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BitremModel.d.ts","sourceRoot":"","sources":["../../../../src/core/physics/models/BitremModel.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAA;AAC3D,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,0CAA0C,CAAA;AAG5F,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAEhD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAGhD;;GAEG;AACH,qBAAa,WAAW;IAQR,OAAO,CAAC,QAAQ,CAAC,SAAS;IANtC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAY;IAEnC;;OAEG;gBAC0B,SAAS,EAAE,SAAS;IAMjD;;;OAGG;IACH,yBAAyB,CAAC,WAAW,EAAE,4BAA4B,GAAG,MAAM,EAAE;IAM9E;;;OAGG;IACH,uBAAuB,CAAC,WAAW,EAAE,4BAA4B,GAAG,YAAY;IAQhF;;;OAGG;IACH,gDAAgD,CAC5C,yBAAyB,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,GACxD,YAAY;CAqBlB"}
@@ -0,0 +1,128 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BitremModel = void 0;
4
+ const ComputeGrouperCenterOfMass_js_1 = require("../items/ComputeGrouperCenterOfMass.js");
5
+ const BindChassiSolver_js_1 = require("../items/BindChassiSolver.js");
6
+ const Chassi_js_1 = require("../transports/Chassi.js");
7
+ const ChassiReference_js_1 = require("../../contracts/ChassiReference.js");
8
+ const ChassiForces_js_1 = require("./ChassiForces.js");
9
+ const GaussianElimination_js_1 = require("../../math/GaussianElimination.js");
10
+ /**
11
+ * Bitrem interlink + semi static equilibrium (6×6 system).
12
+ */
13
+ class BitremModel {
14
+ transport;
15
+ chassi;
16
+ matrix;
17
+ /**
18
+ * @param transport - Parsed transport.
19
+ */
20
+ constructor(transport) {
21
+ this.transport = transport;
22
+ this.chassi = new Chassi_js_1.Chassi(transport);
23
+ this.matrix = generate_bitrem_matrix(this.chassi);
24
+ }
25
+ /**
26
+ * @param multi_items - Allocated items by container sequence.
27
+ * @returns Loaded weight per axle.
28
+ */
29
+ calculate_weight_on_axles(multi_items) {
30
+ const forces = this.calculate_chassi_forces(multi_items);
31
+ return forces.list_axles_indexes().map((index) => forces.get_force_on_axle(index));
32
+ }
33
+ /**
34
+ * @param multi_items - Allocated items.
35
+ * @returns Chassis forces before rebalance split on axles 3–4.
36
+ */
37
+ calculate_chassi_forces(multi_items) {
38
+ return (0, ComputeGrouperCenterOfMass_js_1.calculate_chassi_forces_from_multi)(this.transport, multi_items, (0, BindChassiSolver_js_1.bind_chassi_solver)(this));
39
+ }
40
+ /**
41
+ * @param center_of_mass_by_grouper - CM for groupers 1 and 2.
42
+ * @returns Combined chassis forces.
43
+ */
44
+ calculate_chassi_forces_with_load_center_of_mass(center_of_mass_by_grouper) {
45
+ const interlink = center_of_mass_by_grouper[1];
46
+ const semi = center_of_mass_by_grouper[2];
47
+ const solution_interlink = solve_interlink_system(this.matrix, interlink);
48
+ const solution_semi = solve_semi_system(this.matrix, semi);
49
+ const forces = new ChassiForces_js_1.ChassiForces();
50
+ forces.add_pin_forces([
51
+ solution_interlink[3] + solution_semi[3],
52
+ solution_interlink[1] + solution_semi[1]
53
+ ]);
54
+ const loaded = [
55
+ solution_interlink[5] + solution_semi[5],
56
+ solution_interlink[4] + solution_semi[4],
57
+ solution_interlink[2],
58
+ solution_semi[2],
59
+ solution_interlink[0] + solution_semi[0]
60
+ ];
61
+ forces.add_axle_forces(linked_axle_weight_rebalance(this.transport, loaded));
62
+ return forces;
63
+ }
64
+ }
65
+ exports.BitremModel = BitremModel;
66
+ /**
67
+ * @param chassi - Chassis geometry.
68
+ * @returns 6×6 matrix coefficients.
69
+ */
70
+ function generate_bitrem_matrix(chassi) {
71
+ const tractor_pin = chassi.get_pin_position(0, ChassiReference_js_1.CHASSI_REFERENCE.TRACTOR);
72
+ const tractor_axle_1 = chassi.get_axle_position(0, ChassiReference_js_1.CHASSI_REFERENCE.TRACTOR);
73
+ const tractor_axle_2 = chassi.get_axle_position(1, ChassiReference_js_1.CHASSI_REFERENCE.TRACTOR);
74
+ const interlink_pin_1 = chassi.get_pin_position(0, ChassiReference_js_1.CHASSI_REFERENCE.GROUPER_1);
75
+ const interlink_pin_2 = chassi.get_pin_position(1, ChassiReference_js_1.CHASSI_REFERENCE.GROUPER_1);
76
+ const interlink_axle_3 = chassi.get_axle_position(2, ChassiReference_js_1.CHASSI_REFERENCE.GROUPER_1);
77
+ const semi_pin_2 = chassi.get_pin_position(1, ChassiReference_js_1.CHASSI_REFERENCE.GROUPER_2);
78
+ const semi_axle_4 = chassi.get_axle_position(4, ChassiReference_js_1.CHASSI_REFERENCE.GROUPER_2);
79
+ return [
80
+ [1, 1, 0, 0, 0, 0],
81
+ [semi_axle_4, semi_pin_2, 0, 0, 0, 0],
82
+ [0, -1, 1, 1, 0, 0],
83
+ [0, -interlink_pin_2, interlink_axle_3, interlink_pin_1, 0, 0],
84
+ [0, 0, 0, -1, 1, 1],
85
+ [0, 0, 0, -tractor_pin, tractor_axle_2, tractor_axle_1]
86
+ ];
87
+ }
88
+ /**
89
+ * @param matrix - System matrix.
90
+ * @param center_of_mass - Interlink load CM.
91
+ * @returns Solution vector.
92
+ */
93
+ function solve_interlink_system(matrix, center_of_mass) {
94
+ const independent = [0, 0, center_of_mass.mass, center_of_mass.mass * center_of_mass.z, 0, 0];
95
+ return (0, GaussianElimination_js_1.solve_linear_system)(matrix, independent);
96
+ }
97
+ /**
98
+ * @param matrix - System matrix.
99
+ * @param center_of_mass - Semi load CM.
100
+ * @returns Solution vector.
101
+ */
102
+ function solve_semi_system(matrix, center_of_mass) {
103
+ const independent = [
104
+ center_of_mass.mass,
105
+ center_of_mass.mass * center_of_mass.z,
106
+ 0,
107
+ 0,
108
+ 0,
109
+ 0
110
+ ];
111
+ return (0, GaussianElimination_js_1.solve_linear_system)(matrix, independent);
112
+ }
113
+ /**
114
+ * @param transport - Parsed transport.
115
+ * @param loaded_weights - Raw axle loads before rebalance.
116
+ * @returns Rebalanced axle 3–4 loads.
117
+ */
118
+ function linked_axle_weight_rebalance(transport, loaded_weights) {
119
+ const first = transport.axle_manager.get_axle(2);
120
+ const second = transport.axle_manager.get_axle(3);
121
+ const first_cap = first.max_supported_weight - first.tare;
122
+ const second_cap = second.max_supported_weight - second.tare;
123
+ const total_cap = first_cap + second_cap;
124
+ const total_load = loaded_weights[2] + loaded_weights[3];
125
+ loaded_weights[2] = (first_cap / total_cap) * total_load;
126
+ loaded_weights[3] = (second_cap / total_cap) * total_load;
127
+ return loaded_weights;
128
+ }
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Pin and axle reaction forces from static equilibrium solution.
3
+ */
4
+ export declare class ChassiForces {
5
+ private pin_forces;
6
+ private axle_forces;
7
+ /**
8
+ * @param pin_forces_list - Pin reaction forces.
9
+ */
10
+ add_pin_forces(pin_forces_list: number[]): void;
11
+ /**
12
+ * @param axle_forces_list - Axle reaction forces (cargo load per axle).
13
+ */
14
+ add_axle_forces(axle_forces_list: number[]): void;
15
+ /**
16
+ * @param axle_index - Zero-based axle index.
17
+ * @returns Force on axle.
18
+ */
19
+ get_force_on_axle(axle_index: number): number;
20
+ /**
21
+ * @param pin_index - Zero-based pin index.
22
+ * @returns Force on pin.
23
+ */
24
+ get_force_on_pin(pin_index: number): number;
25
+ /**
26
+ * @returns Axle index list.
27
+ */
28
+ list_axles_indexes(): number[];
29
+ }
30
+ //# sourceMappingURL=ChassiForces.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChassiForces.d.ts","sourceRoot":"","sources":["../../../../src/core/physics/models/ChassiForces.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,qBAAa,YAAY;IAErB,OAAO,CAAC,UAAU,CAAe;IACjC,OAAO,CAAC,WAAW,CAAe;IAElC;;OAEG;IACH,cAAc,CAAC,eAAe,EAAE,MAAM,EAAE,GAAG,IAAI;IAK/C;;OAEG;IACH,eAAe,CAAC,gBAAgB,EAAE,MAAM,EAAE,GAAG,IAAI;IAKjD;;;OAGG;IACH,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM;IAK7C;;;OAGG;IACH,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;IAK3C;;OAEG;IACH,kBAAkB,IAAI,MAAM,EAAE;CAIjC"}
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ChassiForces = void 0;
4
+ /**
5
+ * Pin and axle reaction forces from static equilibrium solution.
6
+ */
7
+ class ChassiForces {
8
+ pin_forces = [];
9
+ axle_forces = [];
10
+ /**
11
+ * @param pin_forces_list - Pin reaction forces.
12
+ */
13
+ add_pin_forces(pin_forces_list) {
14
+ this.pin_forces = pin_forces_list.map((value) => Number(value));
15
+ }
16
+ /**
17
+ * @param axle_forces_list - Axle reaction forces (cargo load per axle).
18
+ */
19
+ add_axle_forces(axle_forces_list) {
20
+ this.axle_forces = axle_forces_list.map((value) => Number(value));
21
+ }
22
+ /**
23
+ * @param axle_index - Zero-based axle index.
24
+ * @returns Force on axle.
25
+ */
26
+ get_force_on_axle(axle_index) {
27
+ return this.axle_forces[axle_index];
28
+ }
29
+ /**
30
+ * @param pin_index - Zero-based pin index.
31
+ * @returns Force on pin.
32
+ */
33
+ get_force_on_pin(pin_index) {
34
+ return this.pin_forces[pin_index];
35
+ }
36
+ /**
37
+ * @returns Axle index list.
38
+ */
39
+ list_axles_indexes() {
40
+ return this.axle_forces.map((_force, index) => index);
41
+ }
42
+ }
43
+ exports.ChassiForces = ChassiForces;
@@ -0,0 +1,17 @@
1
+ import type { Transport } from '../transports/Transport.js';
2
+ /**
3
+ * Legacy tare split by vehicle type (Python OldTareModel).
4
+ */
5
+ export declare class OldTareModel {
6
+ /**
7
+ * @param transport - Parsed transport.
8
+ * @returns Tare per axle.
9
+ */
10
+ calculate(transport: Transport): number[];
11
+ }
12
+ /**
13
+ * @param transport - Parsed transport.
14
+ * @returns Tare per axle for vehicle type.
15
+ */
16
+ export declare function old_tare_by_vehicle(transport: Transport): number[];
17
+ //# sourceMappingURL=OldTareModel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OldTareModel.d.ts","sourceRoot":"","sources":["../../../../src/core/physics/models/OldTareModel.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAA;AAM3D;;GAEG;AACH,qBAAa,YAAY;IAErB;;;OAGG;IACH,SAAS,CAAC,SAAS,EAAE,SAAS,GAAG,MAAM,EAAE;CAI5C;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,SAAS,GAAG,MAAM,EAAE,CAwBlE"}
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.OldTareModel = void 0;
4
+ exports.old_tare_by_vehicle = old_tare_by_vehicle;
5
+ const VehicleType_js_1 = require("../../contracts/VehicleType.js");
6
+ const OldTareScale_js_1 = require("./OldTareScale.js");
7
+ const OldTareSemireboque_js_1 = require("./OldTareSemireboque.js");
8
+ const OldTareVanderleia_js_1 = require("./OldTareVanderleia.js");
9
+ const OldTareTruck_js_1 = require("./OldTareTruck.js");
10
+ /**
11
+ * Legacy tare split by vehicle type (Python OldTareModel).
12
+ */
13
+ class OldTareModel {
14
+ /**
15
+ * @param transport - Parsed transport.
16
+ * @returns Tare per axle.
17
+ */
18
+ calculate(transport) {
19
+ return old_tare_by_vehicle(transport);
20
+ }
21
+ }
22
+ exports.OldTareModel = OldTareModel;
23
+ /**
24
+ * @param transport - Parsed transport.
25
+ * @returns Tare per axle for vehicle type.
26
+ */
27
+ function old_tare_by_vehicle(transport) {
28
+ const type = transport.vehicle_type;
29
+ if (type === VehicleType_js_1.VEHICLE_TYPE.BITREM) {
30
+ return (0, OldTareScale_js_1.scale_tare)(transport.tare, [0.23, 0.255, 0.285, 0.23]);
31
+ }
32
+ if (type === VehicleType_js_1.VEHICLE_TYPE.RODOTREM) {
33
+ return (0, OldTareScale_js_1.scale_tare)(transport.tare, [0.19, 0.28, 0.21, 0.16, 0.16]);
34
+ }
35
+ if (type === VehicleType_js_1.VEHICLE_TYPE.SEMIREBOQUE || type === VehicleType_js_1.VEHICLE_TYPE.REBAIXADO) {
36
+ return (0, OldTareSemireboque_js_1.semireboque_tare)(transport);
37
+ }
38
+ if (type === VehicleType_js_1.VEHICLE_TYPE.VANDERLEIA) {
39
+ return (0, OldTareVanderleia_js_1.vanderleia_tare)(transport);
40
+ }
41
+ if (type === VehicleType_js_1.VEHICLE_TYPE.CAMINHAO || type === VehicleType_js_1.VEHICLE_TYPE.VUC) {
42
+ return (0, OldTareTruck_js_1.truck_tare)(transport);
43
+ }
44
+ return [];
45
+ }
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @param tare - Total vehicle tare.
3
+ * @param multipliers - Per-axle factors.
4
+ * @returns Scaled tare list.
5
+ */
6
+ export declare function scale_tare(tare: number, multipliers: number[]): number[];
7
+ //# sourceMappingURL=OldTareScale.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OldTareScale.d.ts","sourceRoot":"","sources":["../../../../src/core/physics/models/OldTareScale.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAGxE"}
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.scale_tare = scale_tare;
4
+ /**
5
+ * @param tare - Total vehicle tare.
6
+ * @param multipliers - Per-axle factors.
7
+ * @returns Scaled tare list.
8
+ */
9
+ function scale_tare(tare, multipliers) {
10
+ return multipliers.map((factor) => tare * factor);
11
+ }
@@ -0,0 +1,7 @@
1
+ import type { Transport } from '../transports/Transport.js';
2
+ /**
3
+ * @param transport - Parsed transport.
4
+ * @returns Semireboque tare per axle.
5
+ */
6
+ export declare function semireboque_tare(transport: Transport): number[];
7
+ //# sourceMappingURL=OldTareSemireboque.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OldTareSemireboque.d.ts","sourceRoot":"","sources":["../../../../src/core/physics/models/OldTareSemireboque.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAA;AAK3D;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,SAAS,GAAG,MAAM,EAAE,CAa/D"}
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.semireboque_tare = semireboque_tare;
4
+ const VehicleVersion_js_1 = require("../../contracts/VehicleVersion.js");
5
+ const OldTareScale_js_1 = require("./OldTareScale.js");
6
+ const TRUNCATED_LIMIT = 13000;
7
+ /**
8
+ * @param transport - Parsed transport.
9
+ * @returns Semireboque tare per axle.
10
+ */
11
+ function semireboque_tare(transport) {
12
+ const version = transport.vehicle_version;
13
+ if (version === VehicleVersion_js_1.VEHICLE_VERSION.SEMIREBOQUE_QUAD
14
+ || version === VehicleVersion_js_1.VEHICLE_VERSION.SEMIREBOQUE_QUAD_ALT) {
15
+ return (0, OldTareScale_js_1.scale_tare)(transport.tare, [0.27509640559, 0.29967158355, 0.11978366503, 0.30544834583]);
16
+ }
17
+ if (version === VehicleVersion_js_1.VEHICLE_VERSION.SEMIREBOQUE_BITRUCK) {
18
+ return (0, OldTareScale_js_1.scale_tare)(transport.tare, [0.17852139406, 0.17852139406, 0.43218944824, 0.21076776365]);
19
+ }
20
+ return semireboque_standard_tare(transport);
21
+ }
22
+ function semireboque_standard_tare(transport) {
23
+ const axle_1_max = transport.axle_manager.get_axle(1).max_supported_weight;
24
+ if (axle_1_max > TRUNCATED_LIMIT) {
25
+ return semireboque_heavy_axle_tare(transport.tare);
26
+ }
27
+ if (transport.tare < 18500) {
28
+ return (0, OldTareScale_js_1.scale_tare)(transport.tare, [0.312, 0.2, 0.488]);
29
+ }
30
+ return (0, OldTareScale_js_1.scale_tare)(transport.tare, [0.26, 0.35, 0.39]);
31
+ }
32
+ function semireboque_heavy_axle_tare(tare) {
33
+ if (tare > 19000) {
34
+ return (0, OldTareScale_js_1.scale_tare)(tare, [0.24, 0.35, 0.41]);
35
+ }
36
+ if (tare > 17000) {
37
+ return (0, OldTareScale_js_1.scale_tare)(tare, [0.3, 0.315, 0.385]);
38
+ }
39
+ return (0, OldTareScale_js_1.scale_tare)(tare, [0.286, 0.379, 0.335]);
40
+ }
@@ -0,0 +1,7 @@
1
+ import type { Transport } from '../transports/Transport.js';
2
+ /**
3
+ * @param transport - Truck or VUC transport.
4
+ * @returns Tare per axle.
5
+ */
6
+ export declare function truck_tare(transport: Transport): number[];
7
+ //# sourceMappingURL=OldTareTruck.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OldTareTruck.d.ts","sourceRoot":"","sources":["../../../../src/core/physics/models/OldTareTruck.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAA;AAG3D;;;GAGG;AACH,wBAAgB,UAAU,CAAC,SAAS,EAAE,SAAS,GAAG,MAAM,EAAE,CAMzD"}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.truck_tare = truck_tare;
4
+ const VehicleVersion_js_1 = require("../../contracts/VehicleVersion.js");
5
+ const OldTareScale_js_1 = require("./OldTareScale.js");
6
+ /**
7
+ * @param transport - Truck or VUC transport.
8
+ * @returns Tare per axle.
9
+ */
10
+ function truck_tare(transport) {
11
+ const multipliers = transport.vehicle_version === VehicleVersion_js_1.VEHICLE_VERSION.CAMINHAO_BITRUCK
12
+ ? [0.2834844826865682, 0.28348448268656806, 0.43303103462686376]
13
+ : [0.452, 0.548];
14
+ return (0, OldTareScale_js_1.scale_tare)(transport.tare, multipliers);
15
+ }
@@ -0,0 +1,7 @@
1
+ import type { Transport } from '../transports/Transport.js';
2
+ /**
3
+ * @param transport - Parsed transport.
4
+ * @returns Vanderleia tare per axle.
5
+ */
6
+ export declare function vanderleia_tare(transport: Transport): number[];
7
+ //# sourceMappingURL=OldTareVanderleia.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OldTareVanderleia.d.ts","sourceRoot":"","sources":["../../../../src/core/physics/models/OldTareVanderleia.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAA;AAK3D;;;GAGG;AACH,wBAAgB,eAAe,CAAC,SAAS,EAAE,SAAS,GAAG,MAAM,EAAE,CAQ9D"}
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.vanderleia_tare = vanderleia_tare;
4
+ const OldTareScale_js_1 = require("./OldTareScale.js");
5
+ const TRUNCATED_LIMIT = 13000;
6
+ /**
7
+ * @param transport - Parsed transport.
8
+ * @returns Vanderleia tare per axle.
9
+ */
10
+ function vanderleia_tare(transport) {
11
+ const axle_1_max = transport.axle_manager.get_axle(1).max_supported_weight;
12
+ if (axle_1_max > TRUNCATED_LIMIT) {
13
+ return vanderleia_heavy_axle_tare(transport.tare);
14
+ }
15
+ return vanderleia_light_axle_tare(transport.tare);
16
+ }
17
+ function vanderleia_heavy_axle_tare(tare) {
18
+ if (tare > 23500) {
19
+ return (0, OldTareScale_js_1.scale_tare)(tare, [0.22, 0.33, 0.155, 0.155, 0.14]);
20
+ }
21
+ if (tare > 21000) {
22
+ return (0, OldTareScale_js_1.scale_tare)(tare, [0.25, 0.32, 0.145, 0.145, 0.14]);
23
+ }
24
+ return (0, OldTareScale_js_1.scale_tare)(tare, [0.267, 0.314, 0.141, 0.141, 0.137]);
25
+ }
26
+ function vanderleia_light_axle_tare(tare) {
27
+ if (tare > 23500) {
28
+ return (0, OldTareScale_js_1.scale_tare)(tare, [0.22, 0.24, 0.185, 0.185, 0.17]);
29
+ }
30
+ if (tare > 21000) {
31
+ return (0, OldTareScale_js_1.scale_tare)(tare, [0.25, 0.2, 0.185, 0.185, 0.18]);
32
+ }
33
+ return (0, OldTareScale_js_1.scale_tare)(tare, [0.267, 0.164, 0.191, 0.191, 0.187]);
34
+ }
@@ -0,0 +1,19 @@
1
+ import type { Transport } from '../transports/Transport.js';
2
+ /**
3
+ * Converts loaded cargo per axle into utilization percentages.
4
+ */
5
+ export declare class PercentageOnAxlesCalculator {
6
+ private readonly transport;
7
+ /**
8
+ * @param transport - Parsed transport.
9
+ */
10
+ constructor(transport: Transport);
11
+ /**
12
+ * @param loaded_weight_list - Cargo load per axle index.
13
+ * @returns Utilization ratio per axle (bitrem: 4 entries).
14
+ */
15
+ weight_on_axles_to_percentages(loaded_weight_list: number[]): number[];
16
+ private calculate_percentage;
17
+ private calculate_bitrem_joined_percentage;
18
+ }
19
+ //# sourceMappingURL=PercentageOnAxlesCalculator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PercentageOnAxlesCalculator.d.ts","sourceRoot":"","sources":["../../../../src/core/physics/models/PercentageOnAxlesCalculator.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAA;AAE3D;;GAEG;AACH,qBAAa,2BAA2B;IAKxB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAHtC;;OAEG;gBAC0B,SAAS,EAAE,SAAS;IAGjD;;;OAGG;IACH,8BAA8B,CAAC,kBAAkB,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE;IAgBtE,OAAO,CAAC,oBAAoB;IAM5B,OAAO,CAAC,kCAAkC;CAQ7C"}