@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,58 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BitremDeflection = void 0;
4
+ const ChassiReference_js_1 = require("../../../contracts/ChassiReference.js");
5
+ const BeamDeflection_js_1 = require("./BeamDeflection.js");
6
+ const DeflectionTools_js_1 = require("./DeflectionTools.js");
7
+ /**
8
+ * Bitrem interlink + semi beam deflection (sum of two indicators).
9
+ */
10
+ class BitremDeflection {
11
+ bitrem_model;
12
+ number_of_curve_samples;
13
+ /**
14
+ * @param bitrem_model - Axle weight model.
15
+ * @param number_of_curve_samples - Curve sample count.
16
+ */
17
+ constructor(bitrem_model, number_of_curve_samples) {
18
+ this.bitrem_model = bitrem_model;
19
+ this.number_of_curve_samples = number_of_curve_samples;
20
+ }
21
+ /**
22
+ * @param multi_items - Allocated items.
23
+ * @returns Combined deflection indicator.
24
+ */
25
+ calculate_deflection(multi_items) {
26
+ const forces = this.bitrem_model.calculate_chassi_forces(multi_items);
27
+ const interlink = this.interlink_curve(multi_items, forces);
28
+ const semi = this.semitrailer_curve(multi_items, forces);
29
+ return (0, DeflectionTools_js_1.calculate_deflection_indicator)(interlink)
30
+ + (0, DeflectionTools_js_1.calculate_deflection_indicator)(semi);
31
+ }
32
+ interlink_curve(multi_items, forces) {
33
+ const pin_1 = this.bitrem_model.chassi.get_pin_position(0, ChassiReference_js_1.CHASSI_REFERENCE.GROUPER_1);
34
+ const axle_3 = this.bitrem_model.chassi.get_axle_position(2, ChassiReference_js_1.CHASSI_REFERENCE.GROUPER_1);
35
+ const support = [
36
+ [pin_1, forces.get_force_on_pin(0)],
37
+ [axle_3, forces.get_force_on_axle(2) + forces.get_force_on_axle(3)]
38
+ ];
39
+ const pin_2 = this.bitrem_model.chassi.get_pin_position(1, ChassiReference_js_1.CHASSI_REFERENCE.GROUPER_1);
40
+ const external = [[pin_2, -forces.get_force_on_pin(1)]];
41
+ const items = multi_items.get_allocated_items_by_grouper_index(1);
42
+ const pin_2_pos = pin_2;
43
+ const length = Math.max(pin_2_pos, axle_3);
44
+ return new BeamDeflection_js_1.BeamDeflection(support, items, external).generate_curve_values(length, this.number_of_curve_samples);
45
+ }
46
+ semitrailer_curve(multi_items, forces) {
47
+ const pin_2 = this.bitrem_model.chassi.get_pin_position(1, ChassiReference_js_1.CHASSI_REFERENCE.GROUPER_2);
48
+ const axle_4 = this.bitrem_model.chassi.get_axle_position(4, ChassiReference_js_1.CHASSI_REFERENCE.GROUPER_2);
49
+ const support = [
50
+ [pin_2, forces.get_force_on_pin(1)],
51
+ [axle_4, forces.get_force_on_axle(4)]
52
+ ];
53
+ const items = multi_items.get_allocated_items_by_grouper_index(2);
54
+ const length = this.bitrem_model.chassi.get_grouper_end(2, ChassiReference_js_1.CHASSI_REFERENCE.GROUPER_2);
55
+ return new BeamDeflection_js_1.BeamDeflection(support, items).generate_curve_values(length, this.number_of_curve_samples);
56
+ }
57
+ }
58
+ exports.BitremDeflection = BitremDeflection;
@@ -0,0 +1,9 @@
1
+ import type { Transport } from '../../transports/Transport.js';
2
+ import type { DeflectionDelegate } from './DeflectionDelegate.js';
3
+ /**
4
+ * @param transport - Parsed transport.
5
+ * @param number_of_curve_samples - Sample count for deflection curve.
6
+ * @returns Vehicle-specific deflection delegate.
7
+ */
8
+ export declare function create_deflection_delegate(transport: Transport, number_of_curve_samples: number): DeflectionDelegate;
9
+ //# sourceMappingURL=CreateDeflectionDelegate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CreateDeflectionDelegate.d.ts","sourceRoot":"","sources":["../../../../../src/core/physics/models/deflection/CreateDeflectionDelegate.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAA;AAE9D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAoBjE;;;;GAIG;AACH,wBAAgB,0BAA0B,CACtC,SAAS,EAAE,SAAS,EACpB,uBAAuB,EAAE,MAAM,GAChC,kBAAkB,CAQpB"}
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.create_deflection_delegate = create_deflection_delegate;
4
+ const VehicleType_js_1 = require("../../../contracts/VehicleType.js");
5
+ const DeflectionModelNotImplementedError_js_1 = require("./DeflectionModelNotImplementedError.js");
6
+ const DeflectionDelegateFactories_js_1 = require("./DeflectionDelegateFactories.js");
7
+ const DELEGATE_BY_TYPE = {
8
+ [VehicleType_js_1.VEHICLE_TYPE.SEMIREBOQUE]: DeflectionDelegateFactories_js_1.create_semi_reboque_deflection,
9
+ [VehicleType_js_1.VEHICLE_TYPE.REBAIXADO]: DeflectionDelegateFactories_js_1.create_semi_reboque_deflection,
10
+ [VehicleType_js_1.VEHICLE_TYPE.BITREM]: DeflectionDelegateFactories_js_1.create_bitrem_deflection,
11
+ [VehicleType_js_1.VEHICLE_TYPE.RODOTREM]: DeflectionDelegateFactories_js_1.create_rodotrem_deflection,
12
+ [VehicleType_js_1.VEHICLE_TYPE.VANDERLEIA]: DeflectionDelegateFactories_js_1.create_vanderleia_deflection,
13
+ [VehicleType_js_1.VEHICLE_TYPE.CAMINHAO]: DeflectionDelegateFactories_js_1.create_simple_truck_deflection,
14
+ [VehicleType_js_1.VEHICLE_TYPE.VUC]: DeflectionDelegateFactories_js_1.create_simple_truck_deflection
15
+ };
16
+ /**
17
+ * @param transport - Parsed transport.
18
+ * @param number_of_curve_samples - Sample count for deflection curve.
19
+ * @returns Vehicle-specific deflection delegate.
20
+ */
21
+ function create_deflection_delegate(transport, number_of_curve_samples) {
22
+ const factory = DELEGATE_BY_TYPE[transport.vehicle_type];
23
+ if (!factory) {
24
+ throw new DeflectionModelNotImplementedError_js_1.DeflectionModelNotImplementedError();
25
+ }
26
+ return factory(transport, number_of_curve_samples);
27
+ }
@@ -0,0 +1,8 @@
1
+ import type { MultiContainerAllocatedItems } from '../../items/MultiContainerAllocatedItems.js';
2
+ /**
3
+ * Vehicle-specific deflection calculator contract.
4
+ */
5
+ export type DeflectionDelegate = {
6
+ calculate_deflection: (multi: MultiContainerAllocatedItems) => number;
7
+ };
8
+ //# sourceMappingURL=DeflectionDelegate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DeflectionDelegate.d.ts","sourceRoot":"","sources":["../../../../../src/core/physics/models/deflection/DeflectionDelegate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,6CAA6C,CAAA;AAE/F;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC7B,oBAAoB,EAAE,CAAC,KAAK,EAAE,4BAA4B,KAAK,MAAM,CAAA;CACxE,CAAA"}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,36 @@
1
+ import type { Transport } from '../../transports/Transport.js';
2
+ import type { DeflectionDelegate } from './DeflectionDelegate.js';
3
+ import type { DelegateFactory } from './DelegateFactory.js';
4
+ /**
5
+ * @param transport - Parsed transport.
6
+ * @param number_of_curve_samples - Sample count for deflection curve.
7
+ * @returns Semi-reboque deflection delegate.
8
+ */
9
+ declare function create_semi_reboque_deflection(transport: Transport, number_of_curve_samples: number): DeflectionDelegate;
10
+ /**
11
+ * @param transport - Parsed transport.
12
+ * @param number_of_curve_samples - Sample count for deflection curve.
13
+ * @returns Bitrem deflection delegate.
14
+ */
15
+ declare function create_bitrem_deflection(transport: Transport, number_of_curve_samples: number): DeflectionDelegate;
16
+ /**
17
+ * @param transport - Parsed transport.
18
+ * @param number_of_curve_samples - Sample count for deflection curve.
19
+ * @returns Rodotrem deflection delegate.
20
+ */
21
+ declare function create_rodotrem_deflection(transport: Transport, number_of_curve_samples: number): DeflectionDelegate;
22
+ /**
23
+ * @param transport - Parsed transport.
24
+ * @param number_of_curve_samples - Sample count for deflection curve.
25
+ * @returns Vanderleia deflection delegate.
26
+ */
27
+ declare function create_vanderleia_deflection(transport: Transport, number_of_curve_samples: number): DeflectionDelegate;
28
+ /**
29
+ * @param transport - Parsed transport.
30
+ * @param number_of_curve_samples - Sample count for deflection curve.
31
+ * @returns Simple truck deflection delegate.
32
+ */
33
+ declare function create_simple_truck_deflection(transport: Transport, number_of_curve_samples: number): DeflectionDelegate;
34
+ export { create_semi_reboque_deflection, create_bitrem_deflection, create_rodotrem_deflection, create_vanderleia_deflection, create_simple_truck_deflection };
35
+ export type DeflectionFactory = DelegateFactory;
36
+ //# sourceMappingURL=DeflectionDelegateFactories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DeflectionDelegateFactories.d.ts","sourceRoot":"","sources":["../../../../../src/core/physics/models/deflection/DeflectionDelegateFactories.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAA;AAW9D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AACjE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAE3D;;;;GAIG;AACH,iBAAS,8BAA8B,CACnC,SAAS,EAAE,SAAS,EACpB,uBAAuB,EAAE,MAAM,GAChC,kBAAkB,CAGpB;AAED;;;;GAIG;AACH,iBAAS,wBAAwB,CAC7B,SAAS,EAAE,SAAS,EACpB,uBAAuB,EAAE,MAAM,GAChC,kBAAkB,CAGpB;AAED;;;;GAIG;AACH,iBAAS,0BAA0B,CAC/B,SAAS,EAAE,SAAS,EACpB,uBAAuB,EAAE,MAAM,GAChC,kBAAkB,CAGpB;AAED;;;;GAIG;AACH,iBAAS,4BAA4B,CACjC,SAAS,EAAE,SAAS,EACpB,uBAAuB,EAAE,MAAM,GAChC,kBAAkB,CAGpB;AAED;;;;GAIG;AACH,iBAAS,8BAA8B,CACnC,SAAS,EAAE,SAAS,EACpB,uBAAuB,EAAE,MAAM,GAChC,kBAAkB,CAGpB;AAED,OAAO,EACH,8BAA8B,EAC9B,wBAAwB,EACxB,0BAA0B,EAC1B,4BAA4B,EAC5B,8BAA8B,EACjC,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG,eAAe,CAAA"}
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.create_semi_reboque_deflection = create_semi_reboque_deflection;
4
+ exports.create_bitrem_deflection = create_bitrem_deflection;
5
+ exports.create_rodotrem_deflection = create_rodotrem_deflection;
6
+ exports.create_vanderleia_deflection = create_vanderleia_deflection;
7
+ exports.create_simple_truck_deflection = create_simple_truck_deflection;
8
+ const SemiReboqueModel_js_1 = require("../SemiReboqueModel.js");
9
+ const BitremModel_js_1 = require("../BitremModel.js");
10
+ const RodotremModel_js_1 = require("../RodotremModel.js");
11
+ const VanderleiaModel_js_1 = require("../VanderleiaModel.js");
12
+ const SimpleTruckModel_js_1 = require("../SimpleTruckModel.js");
13
+ const SemiReboqueDeflection_js_1 = require("./SemiReboqueDeflection.js");
14
+ const BitremDeflection_js_1 = require("./BitremDeflection.js");
15
+ const RodotremDeflection_js_1 = require("./RodotremDeflection.js");
16
+ const VanderleiaDeflection_js_1 = require("./VanderleiaDeflection.js");
17
+ const SimpleTruckDeflection_js_1 = require("./SimpleTruckDeflection.js");
18
+ /**
19
+ * @param transport - Parsed transport.
20
+ * @param number_of_curve_samples - Sample count for deflection curve.
21
+ * @returns Semi-reboque deflection delegate.
22
+ */
23
+ function create_semi_reboque_deflection(transport, number_of_curve_samples) {
24
+ return new SemiReboqueDeflection_js_1.SemiReboqueDeflection(new SemiReboqueModel_js_1.SemiReboqueModel(transport), number_of_curve_samples);
25
+ }
26
+ /**
27
+ * @param transport - Parsed transport.
28
+ * @param number_of_curve_samples - Sample count for deflection curve.
29
+ * @returns Bitrem deflection delegate.
30
+ */
31
+ function create_bitrem_deflection(transport, number_of_curve_samples) {
32
+ return new BitremDeflection_js_1.BitremDeflection(new BitremModel_js_1.BitremModel(transport), number_of_curve_samples);
33
+ }
34
+ /**
35
+ * @param transport - Parsed transport.
36
+ * @param number_of_curve_samples - Sample count for deflection curve.
37
+ * @returns Rodotrem deflection delegate.
38
+ */
39
+ function create_rodotrem_deflection(transport, number_of_curve_samples) {
40
+ return new RodotremDeflection_js_1.RodotremDeflection(new RodotremModel_js_1.RodotremModel(transport), number_of_curve_samples);
41
+ }
42
+ /**
43
+ * @param transport - Parsed transport.
44
+ * @param number_of_curve_samples - Sample count for deflection curve.
45
+ * @returns Vanderleia deflection delegate.
46
+ */
47
+ function create_vanderleia_deflection(transport, number_of_curve_samples) {
48
+ return new VanderleiaDeflection_js_1.VanderleiaDeflection(new VanderleiaModel_js_1.VanderleiaModel(transport), number_of_curve_samples);
49
+ }
50
+ /**
51
+ * @param transport - Parsed transport.
52
+ * @param number_of_curve_samples - Sample count for deflection curve.
53
+ * @returns Simple truck deflection delegate.
54
+ */
55
+ function create_simple_truck_deflection(transport, number_of_curve_samples) {
56
+ return new SimpleTruckDeflection_js_1.SimpleTruckDeflection(new SimpleTruckModel_js_1.SimpleTruckModel(transport), number_of_curve_samples);
57
+ }
@@ -0,0 +1,19 @@
1
+ import type { Transport } from '../../transports/Transport.js';
2
+ import type { AllocatedItemManager } from '../../items/AllocatedItemManager.js';
3
+ /**
4
+ * Vehicle-specific beam deflection facade (DRAGON-76).
5
+ */
6
+ export declare class DeflectionModel {
7
+ private readonly delegate;
8
+ /**
9
+ * @param transport - Parsed transport.
10
+ * @param number_of_curve_samples - Curve sample count.
11
+ */
12
+ constructor(transport: Transport, number_of_curve_samples: number);
13
+ /**
14
+ * @param allocated_by_sequence - Items per container sequence.
15
+ * @returns Deflection indicator.
16
+ */
17
+ calculate_deflection(allocated_by_sequence: Record<number, AllocatedItemManager>): number;
18
+ }
19
+ //# sourceMappingURL=DeflectionModel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DeflectionModel.d.ts","sourceRoot":"","sources":["../../../../../src/core/physics/models/deflection/DeflectionModel.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAA;AAC9D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAA;AAK/E;;GAEG;AACH,qBAAa,eAAe;IAExB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAoB;IAE7C;;;OAGG;gBACS,SAAS,EAAE,SAAS,EAAE,uBAAuB,EAAE,MAAM;IAKjE;;;OAGG;IACH,oBAAoB,CAAC,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,GAAG,MAAM;CAK5F"}
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DeflectionModel = void 0;
4
+ const MultiContainerAllocatedItems_js_1 = require("../../items/MultiContainerAllocatedItems.js");
5
+ const CreateDeflectionDelegate_js_1 = require("./CreateDeflectionDelegate.js");
6
+ /**
7
+ * Vehicle-specific beam deflection facade (DRAGON-76).
8
+ */
9
+ class DeflectionModel {
10
+ delegate;
11
+ /**
12
+ * @param transport - Parsed transport.
13
+ * @param number_of_curve_samples - Curve sample count.
14
+ */
15
+ constructor(transport, number_of_curve_samples) {
16
+ this.delegate = (0, CreateDeflectionDelegate_js_1.create_deflection_delegate)(transport, number_of_curve_samples);
17
+ }
18
+ /**
19
+ * @param allocated_by_sequence - Items per container sequence.
20
+ * @returns Deflection indicator.
21
+ */
22
+ calculate_deflection(allocated_by_sequence) {
23
+ const multi = new MultiContainerAllocatedItems_js_1.MultiContainerAllocatedItems(allocated_by_sequence);
24
+ return this.delegate.calculate_deflection(multi);
25
+ }
26
+ }
27
+ exports.DeflectionModel = DeflectionModel;
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Raised when no deflection delegate exists for the transport vehicle type.
3
+ */
4
+ export declare class DeflectionModelNotImplementedError extends Error {
5
+ /**
6
+ */
7
+ constructor();
8
+ }
9
+ //# sourceMappingURL=DeflectionModelNotImplementedError.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DeflectionModelNotImplementedError.d.ts","sourceRoot":"","sources":["../../../../../src/core/physics/models/deflection/DeflectionModelNotImplementedError.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,qBAAa,kCAAmC,SAAQ,KAAK;IAEzD;OACG;;CAMN"}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DeflectionModelNotImplementedError = void 0;
4
+ /**
5
+ * Raised when no deflection delegate exists for the transport vehicle type.
6
+ */
7
+ class DeflectionModelNotImplementedError extends Error {
8
+ /**
9
+ */
10
+ constructor() {
11
+ super('Deflection model of this vehicle is not implemented yet');
12
+ this.name = 'DeflectionModelNotImplementedError';
13
+ }
14
+ }
15
+ exports.DeflectionModelNotImplementedError = DeflectionModelNotImplementedError;
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Ordered support positions and reaction forces for beam deflection.
3
+ */
4
+ export declare class DeflectionSupportManager {
5
+ structural_offset: number;
6
+ private readonly support_data;
7
+ /**
8
+ * @param support_data - [[position, force], ...] sorted by position.
9
+ */
10
+ constructor(support_data: [number, number][]);
11
+ /**
12
+ * @returns Support indices in beam order.
13
+ */
14
+ list_support_indexes(): number[];
15
+ /**
16
+ * @param support_index - Index into support_data.
17
+ * @returns Longitudinal position after structural offset.
18
+ */
19
+ get_position(support_index: number): number;
20
+ /**
21
+ * @param support_index - Index into support_data.
22
+ * @returns Reaction force at support.
23
+ */
24
+ get_force(support_index: number): number;
25
+ /**
26
+ * @param external_forces - Optional extra point loads.
27
+ * @returns Forces with structural offset applied to positions.
28
+ */
29
+ add_structural_offset_to_external_forces(external_forces: [number, number][]): [number, number][];
30
+ /**
31
+ * Shifts support positions so the leftmost support is at zero.
32
+ */
33
+ private evaluate_structural_offset;
34
+ }
35
+ //# sourceMappingURL=DeflectionSupportManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DeflectionSupportManager.d.ts","sourceRoot":"","sources":["../../../../../src/core/physics/models/deflection/DeflectionSupportManager.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,qBAAa,wBAAwB;IAEjC,iBAAiB,SAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAoB;IAEjD;;OAEG;gBACS,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE;IAM5C;;OAEG;IACH,oBAAoB,IAAI,MAAM,EAAE;IAKhC;;;OAGG;IACH,YAAY,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM;IAK3C;;;OAGG;IACH,SAAS,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM;IAKxC;;;OAGG;IACH,wCAAwC,CACpC,eAAe,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,GACpC,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE;IAQrB;;OAEG;IACH,OAAO,CAAC,0BAA0B;CASrC"}
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DeflectionSupportManager = void 0;
4
+ /**
5
+ * Ordered support positions and reaction forces for beam deflection.
6
+ */
7
+ class DeflectionSupportManager {
8
+ structural_offset = 0;
9
+ support_data;
10
+ /**
11
+ * @param support_data - [[position, force], ...] sorted by position.
12
+ */
13
+ constructor(support_data) {
14
+ this.support_data = support_data.map((row) => [...row]);
15
+ this.evaluate_structural_offset();
16
+ }
17
+ /**
18
+ * @returns Support indices in beam order.
19
+ */
20
+ list_support_indexes() {
21
+ return this.support_data.map((_row, index) => index);
22
+ }
23
+ /**
24
+ * @param support_index - Index into support_data.
25
+ * @returns Longitudinal position after structural offset.
26
+ */
27
+ get_position(support_index) {
28
+ return this.support_data[support_index][0];
29
+ }
30
+ /**
31
+ * @param support_index - Index into support_data.
32
+ * @returns Reaction force at support.
33
+ */
34
+ get_force(support_index) {
35
+ return this.support_data[support_index][1];
36
+ }
37
+ /**
38
+ * @param external_forces - Optional extra point loads.
39
+ * @returns Forces with structural offset applied to positions.
40
+ */
41
+ add_structural_offset_to_external_forces(external_forces) {
42
+ return external_forces.map(([position, force]) => [
43
+ position + this.structural_offset,
44
+ force
45
+ ]);
46
+ }
47
+ /**
48
+ * Shifts support positions so the leftmost support is at zero.
49
+ */
50
+ evaluate_structural_offset() {
51
+ const leftmost = Math.min(...this.support_data.map((row) => row[0]));
52
+ this.structural_offset = leftmost < 0 ? -leftmost : 0;
53
+ for (const row of this.support_data) {
54
+ row[0] += this.structural_offset;
55
+ }
56
+ }
57
+ }
58
+ exports.DeflectionSupportManager = DeflectionSupportManager;
@@ -0,0 +1,6 @@
1
+ /**
2
+ * @param curve_values - Beam deflection samples.
3
+ * @returns Scalar deflection indicator.
4
+ */
5
+ export declare function calculate_deflection_indicator(curve_values: number[]): number;
6
+ //# sourceMappingURL=DeflectionTools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DeflectionTools.d.ts","sourceRoot":"","sources":["../../../../../src/core/physics/models/deflection/DeflectionTools.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,wBAAgB,8BAA8B,CAAC,YAAY,EAAE,MAAM,EAAE,GAAG,MAAM,CAM7E"}
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.calculate_deflection_indicator = calculate_deflection_indicator;
4
+ /**
5
+ * @param curve_values - Beam deflection samples.
6
+ * @returns Scalar deflection indicator.
7
+ */
8
+ function calculate_deflection_indicator(curve_values) {
9
+ const mean = curve_values.reduce((sum, value) => sum + value, 0) / curve_values.length;
10
+ const variance = curve_values.reduce((sum, value) => sum + (value - mean) ** 2, 0)
11
+ / curve_values.length;
12
+ return Math.sqrt(variance) + Math.abs(mean);
13
+ }
@@ -0,0 +1,12 @@
1
+ import type { Transport } from '../../transports/Transport.js';
2
+ import type { VehicleTypeCode } from '../../../contracts/VehicleType.js';
3
+ import type { DeflectionDelegate } from './DeflectionDelegate.js';
4
+ /**
5
+ * Builds a vehicle-specific deflection delegate.
6
+ */
7
+ export type DelegateFactory = (transport: Transport, samples: number) => DeflectionDelegate;
8
+ /**
9
+ * Registry of deflection delegate factories keyed by vehicle type.
10
+ */
11
+ export type DelegateFactoryByType = Partial<Record<VehicleTypeCode, DelegateFactory>>;
12
+ //# sourceMappingURL=DelegateFactory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DelegateFactory.d.ts","sourceRoot":"","sources":["../../../../../src/core/physics/models/deflection/DelegateFactory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAA;AAC9D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAA;AACxE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAEjE;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,KAAK,kBAAkB,CAAA;AAE3F;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC,eAAe,EAAE,eAAe,CAAC,CAAC,CAAA"}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,25 @@
1
+ import type { AllocatedItemManager } from '../../items/AllocatedItemManager.js';
2
+ import type { DeflectionSupportManager } from './DeflectionSupportManager.js';
3
+ /**
4
+ * Integration constants for beam elastic curve (two supports).
5
+ */
6
+ export declare class IntegrationConstantCalculator {
7
+ private readonly deflection_supports;
8
+ private readonly structural_offset;
9
+ private readonly b_constants;
10
+ /**
11
+ * @param deflection_supports - Support manager.
12
+ * @param structural_offset - Beam offset.
13
+ */
14
+ constructor(deflection_supports: DeflectionSupportManager, structural_offset: number);
15
+ /**
16
+ * @param allocated_items - Load items.
17
+ * @returns Integration constants C1 and C2.
18
+ */
19
+ calculate_integration_constants(allocated_items: AllocatedItemManager): [number, number];
20
+ /**
21
+ * @param allocated_items - Distributed load items on the beam.
22
+ */
23
+ private calculate_b_constants;
24
+ }
25
+ //# sourceMappingURL=IntegrationConstantCalculator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IntegrationConstantCalculator.d.ts","sourceRoot":"","sources":["../../../../../src/core/physics/models/deflection/IntegrationConstantCalculator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAA;AAE/E,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAA;AAE7E;;GAEG;AACH,qBAAa,6BAA6B;IASlC,OAAO,CAAC,QAAQ,CAAC,mBAAmB;IACpC,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IARtC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAU;IAEtC;;;OAGG;gBAEkB,mBAAmB,EAAE,wBAAwB,EAC7C,iBAAiB,EAAE,MAAM;IAM9C;;;OAGG;IACH,+BAA+B,CAC3B,eAAe,EAAE,oBAAoB,GACtC,CAAC,MAAM,EAAE,MAAM,CAAC;IAenB;;OAEG;IACH,OAAO,CAAC,qBAAqB;CAiBhC"}
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.IntegrationConstantCalculator = void 0;
4
+ const GaussianElimination_js_1 = require("../../../math/GaussianElimination.js");
5
+ /**
6
+ * Integration constants for beam elastic curve (two supports).
7
+ */
8
+ class IntegrationConstantCalculator {
9
+ deflection_supports;
10
+ structural_offset;
11
+ b_constants;
12
+ /**
13
+ * @param deflection_supports - Support manager.
14
+ * @param structural_offset - Beam offset.
15
+ */
16
+ constructor(deflection_supports, structural_offset) {
17
+ this.deflection_supports = deflection_supports;
18
+ this.structural_offset = structural_offset;
19
+ this.b_constants = deflection_supports.list_support_indexes().map(() => 0);
20
+ }
21
+ /**
22
+ * @param allocated_items - Load items.
23
+ * @returns Integration constants C1 and C2.
24
+ */
25
+ calculate_integration_constants(allocated_items) {
26
+ this.calculate_b_constants(allocated_items);
27
+ const a_matrix = this.deflection_supports.list_support_indexes().map((index) => [
28
+ this.deflection_supports.get_position(index),
29
+ 1
30
+ ]);
31
+ const displacement = this.deflection_supports.get_position(1)
32
+ - this.deflection_supports.get_position(0);
33
+ const second_term = (-this.deflection_supports.get_force(0) / 6)
34
+ * displacement * displacement * displacement;
35
+ const solution = (0, GaussianElimination_js_1.solve_linear_system)(a_matrix, [this.b_constants[0], this.b_constants[1] + second_term]);
36
+ return [solution[0], solution[1]];
37
+ }
38
+ /**
39
+ * @param allocated_items - Distributed load items on the beam.
40
+ */
41
+ calculate_b_constants(allocated_items) {
42
+ for (const item_index of allocated_items.list_item_indexes()) {
43
+ const item = allocated_items.get_item(item_index);
44
+ const center = item.zi + item.length / 2 + this.structural_offset;
45
+ const factor = item.weight / 6;
46
+ for (const support_index of this.deflection_supports.list_support_indexes()) {
47
+ const displacement = this.deflection_supports.get_position(support_index) - center;
48
+ if (displacement > 0) {
49
+ this.b_constants[support_index] += factor * displacement ** 3;
50
+ }
51
+ }
52
+ }
53
+ }
54
+ }
55
+ exports.IntegrationConstantCalculator = IntegrationConstantCalculator;
@@ -0,0 +1,22 @@
1
+ import type { RodotremModel } from '../RodotremModel.js';
2
+ import type { MultiContainerAllocatedItems } from '../../items/MultiContainerAllocatedItems.js';
3
+ /**
4
+ * Rodotrem semi + simple trailer deflection indicator sum.
5
+ */
6
+ export declare class RodotremDeflection {
7
+ private readonly rodotrem_model;
8
+ private readonly number_of_curve_samples;
9
+ /**
10
+ * @param rodotrem_model - Axle weight model.
11
+ * @param number_of_curve_samples - Curve sample count.
12
+ */
13
+ constructor(rodotrem_model: RodotremModel, number_of_curve_samples: number);
14
+ /**
15
+ * @param multi_items - Allocated items.
16
+ * @returns Combined deflection indicator.
17
+ */
18
+ calculate_deflection(multi_items: MultiContainerAllocatedItems): number;
19
+ private semi_curve;
20
+ private simple_curve;
21
+ }
22
+ //# sourceMappingURL=RodotremDeflection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RodotremDeflection.d.ts","sourceRoot":"","sources":["../../../../../src/core/physics/models/deflection/RodotremDeflection.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAExD,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,6CAA6C,CAAA;AAI/F;;GAEG;AACH,qBAAa,kBAAkB;IAOvB,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,uBAAuB;IAN5C;;;OAGG;gBAEkB,cAAc,EAAE,aAAa,EAC7B,uBAAuB,EAAE,MAAM;IAIpD;;;OAGG;IACH,oBAAoB,CAAC,WAAW,EAAE,4BAA4B,GAAG,MAAM;IAQvE,OAAO,CAAC,UAAU;IAUlB,OAAO,CAAC,YAAY;CAYvB"}
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RodotremDeflection = void 0;
4
+ const ChassiReference_js_1 = require("../../../contracts/ChassiReference.js");
5
+ const BeamDeflection_js_1 = require("./BeamDeflection.js");
6
+ const DeflectionTools_js_1 = require("./DeflectionTools.js");
7
+ /**
8
+ * Rodotrem semi + simple trailer deflection indicator sum.
9
+ */
10
+ class RodotremDeflection {
11
+ rodotrem_model;
12
+ number_of_curve_samples;
13
+ /**
14
+ * @param rodotrem_model - Axle weight model.
15
+ * @param number_of_curve_samples - Curve sample count.
16
+ */
17
+ constructor(rodotrem_model, number_of_curve_samples) {
18
+ this.rodotrem_model = rodotrem_model;
19
+ this.number_of_curve_samples = number_of_curve_samples;
20
+ }
21
+ /**
22
+ * @param multi_items - Allocated items.
23
+ * @returns Combined deflection indicator.
24
+ */
25
+ calculate_deflection(multi_items) {
26
+ const forces = this.rodotrem_model.calculate_chassi_forces(multi_items);
27
+ const semi = this.semi_curve(multi_items, forces);
28
+ const simple = this.simple_curve(multi_items, forces);
29
+ return (0, DeflectionTools_js_1.calculate_deflection_indicator)(semi) + (0, DeflectionTools_js_1.calculate_deflection_indicator)(simple);
30
+ }
31
+ semi_curve(multi_items, forces) {
32
+ const pin = this.rodotrem_model.chassi.get_pin_position(0, ChassiReference_js_1.CHASSI_REFERENCE.GROUPER_1);
33
+ const axle_3 = this.rodotrem_model.chassi.get_axle_position(2, ChassiReference_js_1.CHASSI_REFERENCE.GROUPER_1);
34
+ const support = [[pin, forces.get_force_on_pin(0)], [axle_3, forces.get_force_on_axle(2)]];
35
+ const items = multi_items.get_allocated_items_by_grouper_index(1);
36
+ const length = this.rodotrem_model.chassi.get_grouper_end(1, ChassiReference_js_1.CHASSI_REFERENCE.GROUPER_1);
37
+ return new BeamDeflection_js_1.BeamDeflection(support, items).generate_curve_values(length, this.number_of_curve_samples);
38
+ }
39
+ simple_curve(multi_items, forces) {
40
+ const axle_4 = this.rodotrem_model.chassi.get_axle_position(3, ChassiReference_js_1.CHASSI_REFERENCE.GROUPER_2);
41
+ const axle_5 = this.rodotrem_model.chassi.get_axle_position(4, ChassiReference_js_1.CHASSI_REFERENCE.GROUPER_2);
42
+ const support = [
43
+ [axle_4, forces.get_force_on_axle(3)],
44
+ [axle_5, forces.get_force_on_axle(4)]
45
+ ];
46
+ const items = multi_items.get_allocated_items_by_grouper_index(2);
47
+ const length = this.rodotrem_model.chassi.get_grouper_end(2, ChassiReference_js_1.CHASSI_REFERENCE.GROUPER_2);
48
+ return new BeamDeflection_js_1.BeamDeflection(support, items).generate_curve_values(length, this.number_of_curve_samples);
49
+ }
50
+ }
51
+ exports.RodotremDeflection = RodotremDeflection;
@@ -0,0 +1,21 @@
1
+ import type { SemiReboqueModel } from '../SemiReboqueModel.js';
2
+ import type { MultiContainerAllocatedItems } from '../../items/MultiContainerAllocatedItems.js';
3
+ /**
4
+ * Semi-reboque beam deflection indicator.
5
+ */
6
+ export declare class SemiReboqueDeflection {
7
+ private readonly semi_reboque_model;
8
+ private readonly number_of_curve_samples;
9
+ /**
10
+ * @param semi_reboque_model - Axle weight model.
11
+ * @param number_of_curve_samples - Curve sample count.
12
+ */
13
+ constructor(semi_reboque_model: SemiReboqueModel, number_of_curve_samples: number);
14
+ /**
15
+ * @param multi_items - Allocated items.
16
+ * @returns Deflection indicator scalar.
17
+ */
18
+ calculate_deflection(multi_items: MultiContainerAllocatedItems): number;
19
+ private calculate_deflection_curve;
20
+ }
21
+ //# sourceMappingURL=SemiReboqueDeflection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SemiReboqueDeflection.d.ts","sourceRoot":"","sources":["../../../../../src/core/physics/models/deflection/SemiReboqueDeflection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAC9D,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,6CAA6C,CAAA;AAI/F;;GAEG;AACH,qBAAa,qBAAqB;IAO1B,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IACnC,OAAO,CAAC,QAAQ,CAAC,uBAAuB;IAN5C;;;OAGG;gBAEkB,kBAAkB,EAAE,gBAAgB,EACpC,uBAAuB,EAAE,MAAM;IAIpD;;;OAGG;IACH,oBAAoB,CAAC,WAAW,EAAE,4BAA4B,GAAG,MAAM;IAMvE,OAAO,CAAC,0BAA0B;CASrC"}