@jetta/axle-load-calculator 0.3.5 → 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.
- package/README.md +11 -1
- package/build-cjs/core/contracts/ChassiReference.d.ts +7 -0
- package/build-cjs/core/contracts/ChassiReference.d.ts.map +1 -0
- package/build-cjs/core/contracts/ChassiReference.js +8 -0
- package/build-cjs/core/contracts/MsFaixasContract.d.ts +13 -0
- package/build-cjs/core/contracts/MsFaixasContract.d.ts.map +1 -0
- package/build-cjs/core/contracts/MsFaixasContract.js +93 -0
- package/build-cjs/core/contracts/RotationEnum.d.ts +11 -0
- package/build-cjs/core/contracts/RotationEnum.d.ts.map +1 -0
- package/build-cjs/core/contracts/RotationEnum.js +12 -0
- package/build-cjs/core/contracts/SuspensionType.d.ts +5 -0
- package/build-cjs/core/contracts/SuspensionType.d.ts.map +1 -0
- package/build-cjs/core/contracts/SuspensionType.js +7 -0
- package/build-cjs/core/contracts/TransportRecord.d.ts +5 -0
- package/build-cjs/core/contracts/TransportRecord.d.ts.map +1 -0
- package/build-cjs/core/contracts/TransportRecord.js +2 -0
- package/build-cjs/core/contracts/VehicleType.d.ts +12 -0
- package/build-cjs/core/contracts/VehicleType.d.ts.map +1 -0
- package/build-cjs/core/contracts/VehicleType.js +13 -0
- package/build-cjs/core/contracts/VehicleVersion.d.ts +8 -0
- package/build-cjs/core/contracts/VehicleVersion.d.ts.map +1 -0
- package/build-cjs/core/contracts/VehicleVersion.js +10 -0
- package/build-cjs/core/contracts/WireFlags.d.ts +27 -0
- package/build-cjs/core/contracts/WireFlags.d.ts.map +1 -0
- package/build-cjs/core/contracts/WireFlags.js +29 -0
- package/build-cjs/core/math/FloatTools.d.ts +7 -0
- package/build-cjs/core/math/FloatTools.d.ts.map +1 -0
- package/build-cjs/core/math/FloatTools.js +17 -0
- package/build-cjs/core/math/GaussianElimination.d.ts +8 -0
- package/build-cjs/core/math/GaussianElimination.d.ts.map +1 -0
- package/build-cjs/core/math/GaussianElimination.js +88 -0
- package/build-cjs/core/orchestration/AxleWeightPhysics.d.ts +7 -0
- package/build-cjs/core/orchestration/AxleWeightPhysics.d.ts.map +1 -0
- package/build-cjs/core/orchestration/AxleWeightPhysics.js +30 -0
- package/build-cjs/core/orchestration/CollisionChecker.d.ts +8 -0
- package/build-cjs/core/orchestration/CollisionChecker.d.ts.map +1 -0
- package/build-cjs/core/orchestration/CollisionChecker.js +63 -0
- package/build-cjs/core/orchestration/ConnectorPayloadBuilder.d.ts +11 -0
- package/build-cjs/core/orchestration/ConnectorPayloadBuilder.d.ts.map +1 -0
- package/build-cjs/core/orchestration/ConnectorPayloadBuilder.js +84 -0
- package/build-cjs/core/orchestration/ItemOverlapError.d.ts +7 -0
- package/build-cjs/core/orchestration/ItemOverlapError.d.ts.map +1 -0
- package/build-cjs/core/orchestration/ItemOverlapError.js +13 -0
- package/build-cjs/core/orchestration/JavaMassCenter.d.ts +10 -0
- package/build-cjs/core/orchestration/JavaMassCenter.d.ts.map +1 -0
- package/build-cjs/core/orchestration/JavaMassCenter.js +135 -0
- package/build-cjs/core/orchestration/OutputBuilder.d.ts +7 -0
- package/build-cjs/core/orchestration/OutputBuilder.d.ts.map +1 -0
- package/build-cjs/core/orchestration/OutputBuilder.js +10 -0
- package/build-cjs/core/orchestration/RequestSchema.d.ts +57 -0
- package/build-cjs/core/orchestration/RequestSchema.d.ts.map +1 -0
- package/build-cjs/core/orchestration/RequestSchema.js +21 -0
- package/build-cjs/core/orchestration/WeightByAxisResponse.d.ts +11 -0
- package/build-cjs/core/orchestration/WeightByAxisResponse.d.ts.map +1 -0
- package/build-cjs/core/orchestration/WeightByAxisResponse.js +2 -0
- package/build-cjs/core/orchestration/WeightByAxisTask.d.ts +18 -0
- package/build-cjs/core/orchestration/WeightByAxisTask.d.ts.map +1 -0
- package/build-cjs/core/orchestration/WeightByAxisTask.js +110 -0
- package/build-cjs/core/physics/items/AllocatedItem.d.ts +22 -0
- package/build-cjs/core/physics/items/AllocatedItem.d.ts.map +1 -0
- package/build-cjs/core/physics/items/AllocatedItem.js +33 -0
- package/build-cjs/core/physics/items/AllocatedItemManager.d.ts +31 -0
- package/build-cjs/core/physics/items/AllocatedItemManager.d.ts.map +1 -0
- package/build-cjs/core/physics/items/AllocatedItemManager.js +42 -0
- package/build-cjs/core/physics/items/BindChassiSolver.d.ts +12 -0
- package/build-cjs/core/physics/items/BindChassiSolver.d.ts.map +1 -0
- package/build-cjs/core/physics/items/BindChassiSolver.js +13 -0
- package/build-cjs/core/physics/items/CenterOfMass.d.ts +14 -0
- package/build-cjs/core/physics/items/CenterOfMass.d.ts.map +1 -0
- package/build-cjs/core/physics/items/CenterOfMass.js +28 -0
- package/build-cjs/core/physics/items/ComputeGrouperCenterOfMass.d.ts +19 -0
- package/build-cjs/core/physics/items/ComputeGrouperCenterOfMass.d.ts.map +1 -0
- package/build-cjs/core/physics/items/ComputeGrouperCenterOfMass.js +32 -0
- package/build-cjs/core/physics/items/ItemTemplates.d.ts +32 -0
- package/build-cjs/core/physics/items/ItemTemplates.d.ts.map +1 -0
- package/build-cjs/core/physics/items/ItemTemplates.js +58 -0
- package/build-cjs/core/physics/items/MultiContainerAllocatedItems.d.ts +37 -0
- package/build-cjs/core/physics/items/MultiContainerAllocatedItems.d.ts.map +1 -0
- package/build-cjs/core/physics/items/MultiContainerAllocatedItems.js +95 -0
- package/build-cjs/core/physics/items/RotationTransforms.d.ts +8 -0
- package/build-cjs/core/physics/items/RotationTransforms.d.ts.map +1 -0
- package/build-cjs/core/physics/items/RotationTransforms.js +24 -0
- package/build-cjs/core/physics/items/UnknownItemIdError.d.ts +10 -0
- package/build-cjs/core/physics/items/UnknownItemIdError.d.ts.map +1 -0
- package/build-cjs/core/physics/items/UnknownItemIdError.js +16 -0
- package/build-cjs/core/physics/models/AxleWeightModel.d.ts +32 -0
- package/build-cjs/core/physics/models/AxleWeightModel.d.ts.map +1 -0
- package/build-cjs/core/physics/models/AxleWeightModel.js +77 -0
- package/build-cjs/core/physics/models/BiTruckModel.d.ts +21 -0
- package/build-cjs/core/physics/models/BiTruckModel.d.ts.map +1 -0
- package/build-cjs/core/physics/models/BiTruckModel.js +64 -0
- package/build-cjs/core/physics/models/BiTruckTractorSemiTrailerModel.d.ts +21 -0
- package/build-cjs/core/physics/models/BiTruckTractorSemiTrailerModel.d.ts.map +1 -0
- package/build-cjs/core/physics/models/BiTruckTractorSemiTrailerModel.js +73 -0
- package/build-cjs/core/physics/models/BitremModel.d.ts +33 -0
- package/build-cjs/core/physics/models/BitremModel.d.ts.map +1 -0
- package/build-cjs/core/physics/models/BitremModel.js +128 -0
- package/build-cjs/core/physics/models/ChassiForces.d.ts +30 -0
- package/build-cjs/core/physics/models/ChassiForces.d.ts.map +1 -0
- package/build-cjs/core/physics/models/ChassiForces.js +43 -0
- package/build-cjs/core/physics/models/OldTareModel.d.ts +17 -0
- package/build-cjs/core/physics/models/OldTareModel.d.ts.map +1 -0
- package/build-cjs/core/physics/models/OldTareModel.js +45 -0
- package/build-cjs/core/physics/models/OldTareScale.d.ts +7 -0
- package/build-cjs/core/physics/models/OldTareScale.d.ts.map +1 -0
- package/build-cjs/core/physics/models/OldTareScale.js +11 -0
- package/build-cjs/core/physics/models/OldTareSemireboque.d.ts +7 -0
- package/build-cjs/core/physics/models/OldTareSemireboque.d.ts.map +1 -0
- package/build-cjs/core/physics/models/OldTareSemireboque.js +40 -0
- package/build-cjs/core/physics/models/OldTareTruck.d.ts +7 -0
- package/build-cjs/core/physics/models/OldTareTruck.d.ts.map +1 -0
- package/build-cjs/core/physics/models/OldTareTruck.js +15 -0
- package/build-cjs/core/physics/models/OldTareVanderleia.d.ts +7 -0
- package/build-cjs/core/physics/models/OldTareVanderleia.d.ts.map +1 -0
- package/build-cjs/core/physics/models/OldTareVanderleia.js +34 -0
- package/build-cjs/core/physics/models/PercentageOnAxlesCalculator.d.ts +19 -0
- package/build-cjs/core/physics/models/PercentageOnAxlesCalculator.d.ts.map +1 -0
- package/build-cjs/core/physics/models/PercentageOnAxlesCalculator.js +43 -0
- package/build-cjs/core/physics/models/QuadSemiTrailerModel.d.ts +21 -0
- package/build-cjs/core/physics/models/QuadSemiTrailerModel.d.ts.map +1 -0
- package/build-cjs/core/physics/models/QuadSemiTrailerModel.js +74 -0
- package/build-cjs/core/physics/models/RodotremModel.d.ts +33 -0
- package/build-cjs/core/physics/models/RodotremModel.d.ts.map +1 -0
- package/build-cjs/core/physics/models/RodotremModel.js +106 -0
- package/build-cjs/core/physics/models/SemiDelegate.d.ts +9 -0
- package/build-cjs/core/physics/models/SemiDelegate.d.ts.map +1 -0
- package/build-cjs/core/physics/models/SemiDelegate.js +2 -0
- package/build-cjs/core/physics/models/SemiReboqueBase.d.ts +34 -0
- package/build-cjs/core/physics/models/SemiReboqueBase.d.ts.map +1 -0
- package/build-cjs/core/physics/models/SemiReboqueBase.js +89 -0
- package/build-cjs/core/physics/models/SemiReboqueModel.d.ts +41 -0
- package/build-cjs/core/physics/models/SemiReboqueModel.d.ts.map +1 -0
- package/build-cjs/core/physics/models/SemiReboqueModel.js +89 -0
- package/build-cjs/core/physics/models/SimpleTruckBase.d.ts +29 -0
- package/build-cjs/core/physics/models/SimpleTruckBase.d.ts.map +1 -0
- package/build-cjs/core/physics/models/SimpleTruckBase.js +61 -0
- package/build-cjs/core/physics/models/SimpleTruckModel.d.ts +41 -0
- package/build-cjs/core/physics/models/SimpleTruckModel.d.ts.map +1 -0
- package/build-cjs/core/physics/models/SimpleTruckModel.js +81 -0
- package/build-cjs/core/physics/models/SingleContainerTare.d.ts +18 -0
- package/build-cjs/core/physics/models/SingleContainerTare.d.ts.map +1 -0
- package/build-cjs/core/physics/models/SingleContainerTare.js +49 -0
- package/build-cjs/core/physics/models/TareModel.d.ts +12 -0
- package/build-cjs/core/physics/models/TareModel.d.ts.map +1 -0
- package/build-cjs/core/physics/models/TareModel.js +40 -0
- package/build-cjs/core/physics/models/TruckDelegate.d.ts +9 -0
- package/build-cjs/core/physics/models/TruckDelegate.d.ts.map +1 -0
- package/build-cjs/core/physics/models/TruckDelegate.js +2 -0
- package/build-cjs/core/physics/models/UnrecognizedSuspensionTypeError.d.ts +10 -0
- package/build-cjs/core/physics/models/UnrecognizedSuspensionTypeError.d.ts.map +1 -0
- package/build-cjs/core/physics/models/UnrecognizedSuspensionTypeError.js +16 -0
- package/build-cjs/core/physics/models/UnsupportedVehicleTypeError.d.ts +10 -0
- package/build-cjs/core/physics/models/UnsupportedVehicleTypeError.d.ts.map +1 -0
- package/build-cjs/core/physics/models/UnsupportedVehicleTypeError.js +16 -0
- package/build-cjs/core/physics/models/VanderleiaModel.d.ts +33 -0
- package/build-cjs/core/physics/models/VanderleiaModel.d.ts.map +1 -0
- package/build-cjs/core/physics/models/VanderleiaModel.js +106 -0
- package/build-cjs/core/physics/models/VehicleModel.d.ts +11 -0
- package/build-cjs/core/physics/models/VehicleModel.d.ts.map +1 -0
- package/build-cjs/core/physics/models/VehicleModel.js +2 -0
- package/build-cjs/core/physics/models/deflection/BeamDeflection.d.ts +28 -0
- package/build-cjs/core/physics/models/deflection/BeamDeflection.d.ts.map +1 -0
- package/build-cjs/core/physics/models/deflection/BeamDeflection.js +82 -0
- package/build-cjs/core/physics/models/deflection/BitremDeflection.d.ts +22 -0
- package/build-cjs/core/physics/models/deflection/BitremDeflection.d.ts.map +1 -0
- package/build-cjs/core/physics/models/deflection/BitremDeflection.js +58 -0
- package/build-cjs/core/physics/models/deflection/CreateDeflectionDelegate.d.ts +9 -0
- package/build-cjs/core/physics/models/deflection/CreateDeflectionDelegate.d.ts.map +1 -0
- package/build-cjs/core/physics/models/deflection/CreateDeflectionDelegate.js +27 -0
- package/build-cjs/core/physics/models/deflection/DeflectionDelegate.d.ts +8 -0
- package/build-cjs/core/physics/models/deflection/DeflectionDelegate.d.ts.map +1 -0
- package/build-cjs/core/physics/models/deflection/DeflectionDelegate.js +2 -0
- package/build-cjs/core/physics/models/deflection/DeflectionDelegateFactories.d.ts +36 -0
- package/build-cjs/core/physics/models/deflection/DeflectionDelegateFactories.d.ts.map +1 -0
- package/build-cjs/core/physics/models/deflection/DeflectionDelegateFactories.js +57 -0
- package/build-cjs/core/physics/models/deflection/DeflectionModel.d.ts +19 -0
- package/build-cjs/core/physics/models/deflection/DeflectionModel.d.ts.map +1 -0
- package/build-cjs/core/physics/models/deflection/DeflectionModel.js +27 -0
- package/build-cjs/core/physics/models/deflection/DeflectionModelNotImplementedError.d.ts +9 -0
- package/build-cjs/core/physics/models/deflection/DeflectionModelNotImplementedError.d.ts.map +1 -0
- package/build-cjs/core/physics/models/deflection/DeflectionModelNotImplementedError.js +15 -0
- package/build-cjs/core/physics/models/deflection/DeflectionSupportManager.d.ts +35 -0
- package/build-cjs/core/physics/models/deflection/DeflectionSupportManager.d.ts.map +1 -0
- package/build-cjs/core/physics/models/deflection/DeflectionSupportManager.js +58 -0
- package/build-cjs/core/physics/models/deflection/DeflectionTools.d.ts +6 -0
- package/build-cjs/core/physics/models/deflection/DeflectionTools.d.ts.map +1 -0
- package/build-cjs/core/physics/models/deflection/DeflectionTools.js +13 -0
- package/build-cjs/core/physics/models/deflection/DelegateFactory.d.ts +12 -0
- package/build-cjs/core/physics/models/deflection/DelegateFactory.d.ts.map +1 -0
- package/build-cjs/core/physics/models/deflection/DelegateFactory.js +2 -0
- package/build-cjs/core/physics/models/deflection/IntegrationConstantCalculator.d.ts +25 -0
- package/build-cjs/core/physics/models/deflection/IntegrationConstantCalculator.d.ts.map +1 -0
- package/build-cjs/core/physics/models/deflection/IntegrationConstantCalculator.js +55 -0
- package/build-cjs/core/physics/models/deflection/RodotremDeflection.d.ts +22 -0
- package/build-cjs/core/physics/models/deflection/RodotremDeflection.d.ts.map +1 -0
- package/build-cjs/core/physics/models/deflection/RodotremDeflection.js +51 -0
- package/build-cjs/core/physics/models/deflection/SemiReboqueDeflection.d.ts +21 -0
- package/build-cjs/core/physics/models/deflection/SemiReboqueDeflection.d.ts.map +1 -0
- package/build-cjs/core/physics/models/deflection/SemiReboqueDeflection.js +35 -0
- package/build-cjs/core/physics/models/deflection/SimpleTruckDeflection.d.ts +20 -0
- package/build-cjs/core/physics/models/deflection/SimpleTruckDeflection.d.ts.map +1 -0
- package/build-cjs/core/physics/models/deflection/SimpleTruckDeflection.js +32 -0
- package/build-cjs/core/physics/models/deflection/VanderleiaDeflection.d.ts +21 -0
- package/build-cjs/core/physics/models/deflection/VanderleiaDeflection.d.ts.map +1 -0
- package/build-cjs/core/physics/models/deflection/VanderleiaDeflection.js +45 -0
- package/build-cjs/core/physics/services/AxleWeightOutputBuilder.d.ts +27 -0
- package/build-cjs/core/physics/services/AxleWeightOutputBuilder.d.ts.map +1 -0
- package/build-cjs/core/physics/services/AxleWeightOutputBuilder.js +47 -0
- package/build-cjs/core/physics/services/AxleWeightService.d.ts +20 -0
- package/build-cjs/core/physics/services/AxleWeightService.d.ts.map +1 -0
- package/build-cjs/core/physics/services/AxleWeightService.js +95 -0
- package/build-cjs/core/physics/services/CmAxleWeightService.d.ts +12 -0
- package/build-cjs/core/physics/services/CmAxleWeightService.d.ts.map +1 -0
- package/build-cjs/core/physics/services/CmAxleWeightService.js +37 -0
- package/build-cjs/core/physics/services/ContainerCornerForces.d.ts +33 -0
- package/build-cjs/core/physics/services/ContainerCornerForces.d.ts.map +1 -0
- package/build-cjs/core/physics/services/ContainerCornerForces.js +88 -0
- package/build-cjs/core/physics/transports/AxleManager.d.ts +22 -0
- package/build-cjs/core/physics/transports/AxleManager.d.ts.map +1 -0
- package/build-cjs/core/physics/transports/AxleManager.js +38 -0
- package/build-cjs/core/physics/transports/AxleRecord.d.ts +21 -0
- package/build-cjs/core/physics/transports/AxleRecord.d.ts.map +1 -0
- package/build-cjs/core/physics/transports/AxleRecord.js +61 -0
- package/build-cjs/core/physics/transports/Chassi.d.ts +52 -0
- package/build-cjs/core/physics/transports/Chassi.d.ts.map +1 -0
- package/build-cjs/core/physics/transports/Chassi.js +109 -0
- package/build-cjs/core/physics/transports/ContainerRecord.d.ts +25 -0
- package/build-cjs/core/physics/transports/ContainerRecord.d.ts.map +1 -0
- package/build-cjs/core/physics/transports/ContainerRecord.js +53 -0
- package/build-cjs/core/physics/transports/ContainerSequenceNotFoundError.d.ts +10 -0
- package/build-cjs/core/physics/transports/ContainerSequenceNotFoundError.d.ts.map +1 -0
- package/build-cjs/core/physics/transports/ContainerSequenceNotFoundError.js +16 -0
- package/build-cjs/core/physics/transports/GroupedContainers.d.ts +34 -0
- package/build-cjs/core/physics/transports/GroupedContainers.d.ts.map +1 -0
- package/build-cjs/core/physics/transports/GroupedContainers.js +73 -0
- package/build-cjs/core/physics/transports/GrouperNotFoundError.d.ts +10 -0
- package/build-cjs/core/physics/transports/GrouperNotFoundError.d.ts.map +1 -0
- package/build-cjs/core/physics/transports/GrouperNotFoundError.js +16 -0
- package/build-cjs/core/physics/transports/MergedContainers.d.ts +26 -0
- package/build-cjs/core/physics/transports/MergedContainers.d.ts.map +1 -0
- package/build-cjs/core/physics/transports/MergedContainers.js +50 -0
- package/build-cjs/core/physics/transports/MissingContainerError.d.ts +10 -0
- package/build-cjs/core/physics/transports/MissingContainerError.d.ts.map +1 -0
- package/build-cjs/core/physics/transports/MissingContainerError.js +16 -0
- package/build-cjs/core/physics/transports/Transport.d.ts +33 -0
- package/build-cjs/core/physics/transports/Transport.d.ts.map +1 -0
- package/build-cjs/core/physics/transports/Transport.js +115 -0
- package/build-cjs/core/physics/transports/containerweight/ContainerMaxWeightCalculator.d.ts +21 -0
- package/build-cjs/core/physics/transports/containerweight/ContainerMaxWeightCalculator.d.ts.map +1 -0
- package/build-cjs/core/physics/transports/containerweight/ContainerMaxWeightCalculator.js +44 -0
- package/build-cjs/core/physics/transports/containerweight/ContainerTareCalculator.d.ts +28 -0
- package/build-cjs/core/physics/transports/containerweight/ContainerTareCalculator.d.ts.map +1 -0
- package/build-cjs/core/physics/transports/containerweight/ContainerTareCalculator.js +59 -0
- package/build-cjs/core/physics/transports/containerweight/ContainerWeightModel.d.ts +15 -0
- package/build-cjs/core/physics/transports/containerweight/ContainerWeightModel.d.ts.map +1 -0
- package/build-cjs/core/physics/transports/containerweight/ContainerWeightModel.js +35 -0
- package/build-cjs/core/physics/transports/containerweight/MaxWeightInput.d.ts +10 -0
- package/build-cjs/core/physics/transports/containerweight/MaxWeightInput.d.ts.map +1 -0
- package/build-cjs/core/physics/transports/containerweight/MaxWeightInput.js +2 -0
- package/build-cjs/core/physics/transports/containerweight/MergedContainersWeightCalculator.d.ts +17 -0
- package/build-cjs/core/physics/transports/containerweight/MergedContainersWeightCalculator.d.ts.map +1 -0
- package/build-cjs/core/physics/transports/containerweight/MergedContainersWeightCalculator.js +35 -0
- package/build-cjs/core/physics/transports/containerweight/SingleContainerWeightCalculator.d.ts +20 -0
- package/build-cjs/core/physics/transports/containerweight/SingleContainerWeightCalculator.d.ts.map +1 -0
- package/build-cjs/core/physics/transports/containerweight/SingleContainerWeightCalculator.js +52 -0
- package/build-cjs/core/physics/transports/tare/BitremAxleSplit.d.ts +8 -0
- package/build-cjs/core/physics/transports/tare/BitremAxleSplit.d.ts.map +1 -0
- package/build-cjs/core/physics/transports/tare/BitremAxleSplit.js +2 -0
- package/build-cjs/core/physics/transports/tare/BitremAxleSplitTarget.d.ts +12 -0
- package/build-cjs/core/physics/transports/tare/BitremAxleSplitTarget.d.ts.map +1 -0
- package/build-cjs/core/physics/transports/tare/BitremAxleSplitTarget.js +2 -0
- package/build-cjs/core/physics/transports/tare/BitremAxleSplitter.d.ts +26 -0
- package/build-cjs/core/physics/transports/tare/BitremAxleSplitter.d.ts.map +1 -0
- package/build-cjs/core/physics/transports/tare/BitremAxleSplitter.js +88 -0
- package/build-cjs/core/physics/transports/tare/BitremAxleWeightSplit.d.ts +13 -0
- package/build-cjs/core/physics/transports/tare/BitremAxleWeightSplit.d.ts.map +1 -0
- package/build-cjs/core/physics/transports/tare/BitremAxleWeightSplit.js +36 -0
- package/build-cjs/index.d.ts +25 -0
- package/build-cjs/index.d.ts.map +1 -0
- package/build-cjs/index.js +35 -0
- package/build-cjs/package.json +3 -0
- package/package.json +11 -4
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import type { Transport } from '../transports/Transport.js';
|
|
2
|
+
import type { MultiContainerAllocatedItems } from '../items/MultiContainerAllocatedItems.js';
|
|
3
|
+
import { CenterOfMass } from '../items/CenterOfMass.js';
|
|
4
|
+
import { ChassiForces } from './ChassiForces.js';
|
|
5
|
+
/**
|
|
6
|
+
* Caminhão / VUC axle weight (optional bitruck variant).
|
|
7
|
+
*/
|
|
8
|
+
export declare class SimpleTruckModel {
|
|
9
|
+
private readonly delegate;
|
|
10
|
+
private readonly transport;
|
|
11
|
+
private readonly merged_containers;
|
|
12
|
+
/**
|
|
13
|
+
* @param transport - Parsed transport.
|
|
14
|
+
*/
|
|
15
|
+
constructor(transport: Transport);
|
|
16
|
+
/**
|
|
17
|
+
* @param multi_items - Allocated items.
|
|
18
|
+
* @returns Loaded weights per axle.
|
|
19
|
+
*/
|
|
20
|
+
calculate_weight_on_axles(multi_items: MultiContainerAllocatedItems): number[];
|
|
21
|
+
/**
|
|
22
|
+
* @param multi_items - Allocated items.
|
|
23
|
+
* @returns Chassis forces.
|
|
24
|
+
*/
|
|
25
|
+
calculate_chassi_forces(multi_items: MultiContainerAllocatedItems): ChassiForces;
|
|
26
|
+
/**
|
|
27
|
+
* @param multi_items - Allocated items.
|
|
28
|
+
* @returns Deflection support pairs.
|
|
29
|
+
*/
|
|
30
|
+
calculate_support_data(multi_items: MultiContainerAllocatedItems): [number, number][];
|
|
31
|
+
/**
|
|
32
|
+
* @returns Merged grouper 1 length.
|
|
33
|
+
*/
|
|
34
|
+
calculate_container_length(): number;
|
|
35
|
+
/**
|
|
36
|
+
* @param center_of_mass_by_grouper - CM per grouper.
|
|
37
|
+
* @returns Chassis forces.
|
|
38
|
+
*/
|
|
39
|
+
calculate_chassi_forces_with_load_center_of_mass(center_of_mass_by_grouper: Record<number, CenterOfMass>): ChassiForces;
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=SimpleTruckModel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SimpleTruckModel.d.ts","sourceRoot":"","sources":["../../../../src/core/physics/models/SimpleTruckModel.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAA;AAE3D,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,0CAA0C,CAAA;AAO5F,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAKhD;;GAEG;AACH,qBAAa,gBAAgB;IAEzB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAoF;IAC7G,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAW;IACrC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAkB;IAEpD;;OAEG;gBACS,SAAS,EAAE,SAAS;IAgBhC;;;OAGG;IACH,yBAAyB,CAAC,WAAW,EAAE,4BAA4B,GAAG,MAAM,EAAE;IAM9E;;;OAGG;IACH,uBAAuB,CAAC,WAAW,EAAE,4BAA4B,GAAG,YAAY;IAQhF;;;OAGG;IACH,sBAAsB,CAAC,WAAW,EAAE,4BAA4B,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE;IAqBrF;;OAEG;IACH,0BAA0B,IAAI,MAAM;IAKpC;;;OAGG;IACH,gDAAgD,CAC5C,yBAAyB,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,GACxD,YAAY;CAKlB"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SimpleTruckModel = void 0;
|
|
4
|
+
const MergedContainers_js_1 = require("../transports/MergedContainers.js");
|
|
5
|
+
const ComputeGrouperCenterOfMass_js_1 = require("../items/ComputeGrouperCenterOfMass.js");
|
|
6
|
+
const BindChassiSolver_js_1 = require("../items/BindChassiSolver.js");
|
|
7
|
+
const VehicleVersion_js_1 = require("../../contracts/VehicleVersion.js");
|
|
8
|
+
const SimpleTruckBase_js_1 = require("./SimpleTruckBase.js");
|
|
9
|
+
const BiTruckModel_js_1 = require("./BiTruckModel.js");
|
|
10
|
+
/**
|
|
11
|
+
* Caminhão / VUC axle weight (optional bitruck variant).
|
|
12
|
+
*/
|
|
13
|
+
class SimpleTruckModel {
|
|
14
|
+
delegate;
|
|
15
|
+
transport;
|
|
16
|
+
merged_containers;
|
|
17
|
+
/**
|
|
18
|
+
* @param transport - Parsed transport.
|
|
19
|
+
*/
|
|
20
|
+
constructor(transport) {
|
|
21
|
+
this.transport = transport;
|
|
22
|
+
this.merged_containers = new MergedContainers_js_1.MergedContainers(transport);
|
|
23
|
+
if (transport.vehicle_version === VehicleVersion_js_1.VEHICLE_VERSION.CAMINHAO_BITRUCK) {
|
|
24
|
+
this.delegate = new BiTruckModel_js_1.BiTruckModel(transport);
|
|
25
|
+
}
|
|
26
|
+
else {
|
|
27
|
+
const base = new SimpleTruckBase_js_1.SimpleTruckBase(transport);
|
|
28
|
+
base.set_axles_positions();
|
|
29
|
+
this.delegate = base;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* @param multi_items - Allocated items.
|
|
34
|
+
* @returns Loaded weights per axle.
|
|
35
|
+
*/
|
|
36
|
+
calculate_weight_on_axles(multi_items) {
|
|
37
|
+
const forces = this.calculate_chassi_forces(multi_items);
|
|
38
|
+
return forces.list_axles_indexes().map((index) => forces.get_force_on_axle(index));
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* @param multi_items - Allocated items.
|
|
42
|
+
* @returns Chassis forces.
|
|
43
|
+
*/
|
|
44
|
+
calculate_chassi_forces(multi_items) {
|
|
45
|
+
return (0, ComputeGrouperCenterOfMass_js_1.calculate_chassi_forces_from_multi)(this.transport, multi_items, (0, BindChassiSolver_js_1.bind_chassi_solver)(this));
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* @param multi_items - Allocated items.
|
|
49
|
+
* @returns Deflection support pairs.
|
|
50
|
+
*/
|
|
51
|
+
calculate_support_data(multi_items) {
|
|
52
|
+
if (this.transport.vehicle_version === VehicleVersion_js_1.VEHICLE_VERSION.CAMINHAO_BITRUCK) {
|
|
53
|
+
const center_of_mass_by_grouper = (0, ComputeGrouperCenterOfMass_js_1.compute_center_of_mass_by_grouper)(multi_items, this.merged_containers);
|
|
54
|
+
const bi_truck = this.delegate;
|
|
55
|
+
const forces = bi_truck.equivalent_truck
|
|
56
|
+
.calculate_chassi_forces_with_load_center_of_mass(center_of_mass_by_grouper);
|
|
57
|
+
const positions = bi_truck.equivalent_truck.axles_positions;
|
|
58
|
+
return [[positions[0], forces.get_force_on_axle(0)], [positions[1], forces.get_force_on_axle(1)]];
|
|
59
|
+
}
|
|
60
|
+
const forces = this.calculate_chassi_forces(multi_items);
|
|
61
|
+
const base = this.delegate;
|
|
62
|
+
return [
|
|
63
|
+
[base.axles_positions[0], forces.get_force_on_axle(0)],
|
|
64
|
+
[base.axles_positions[1], forces.get_force_on_axle(1)]
|
|
65
|
+
];
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* @returns Merged grouper 1 length.
|
|
69
|
+
*/
|
|
70
|
+
calculate_container_length() {
|
|
71
|
+
return this.merged_containers.get_container_by_grouper_index(1).length;
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* @param center_of_mass_by_grouper - CM per grouper.
|
|
75
|
+
* @returns Chassis forces.
|
|
76
|
+
*/
|
|
77
|
+
calculate_chassi_forces_with_load_center_of_mass(center_of_mass_by_grouper) {
|
|
78
|
+
return this.delegate.calculate_chassi_forces_with_load_center_of_mass(center_of_mass_by_grouper);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
exports.SimpleTruckModel = SimpleTruckModel;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { Transport } from '../transports/Transport.js';
|
|
2
|
+
/**
|
|
3
|
+
* Physics-based tare from uniform load at volume centroid.
|
|
4
|
+
*/
|
|
5
|
+
export declare class SingleContainerTare {
|
|
6
|
+
private readonly transport;
|
|
7
|
+
/**
|
|
8
|
+
* @param transport - Parsed transport.
|
|
9
|
+
*/
|
|
10
|
+
constructor(transport: Transport);
|
|
11
|
+
/**
|
|
12
|
+
* @returns Calculated tare per axle.
|
|
13
|
+
*/
|
|
14
|
+
calculate(): number[];
|
|
15
|
+
private calculate_z_centroid;
|
|
16
|
+
private calculate_forces_on_axles;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=SingleContainerTare.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SingleContainerTare.d.ts","sourceRoot":"","sources":["../../../../src/core/physics/models/SingleContainerTare.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAA;AAE3D;;GAEG;AACH,qBAAa,mBAAmB;IAKhB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAHtC;;OAEG;gBAC0B,SAAS,EAAE,SAAS;IAGjD;;OAEG;IACH,SAAS,IAAI,MAAM,EAAE;IAYrB,OAAO,CAAC,oBAAoB;IAiB5B,OAAO,CAAC,yBAAyB;CAQpC"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SingleContainerTare = void 0;
|
|
4
|
+
const CenterOfMass_js_1 = require("../items/CenterOfMass.js");
|
|
5
|
+
const AxleWeightModel_js_1 = require("./AxleWeightModel.js");
|
|
6
|
+
/**
|
|
7
|
+
* Physics-based tare from uniform load at volume centroid.
|
|
8
|
+
*/
|
|
9
|
+
class SingleContainerTare {
|
|
10
|
+
transport;
|
|
11
|
+
/**
|
|
12
|
+
* @param transport - Parsed transport.
|
|
13
|
+
*/
|
|
14
|
+
constructor(transport) {
|
|
15
|
+
this.transport = transport;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* @returns Calculated tare per axle.
|
|
19
|
+
*/
|
|
20
|
+
calculate() {
|
|
21
|
+
const forces = this.calculate_forces_on_axles(this.calculate_z_centroid(), this.transport.supported_weight);
|
|
22
|
+
return this.transport.axle_manager.list_axles_indexes().map((index) => {
|
|
23
|
+
const axle = this.transport.axle_manager.get_axle(index);
|
|
24
|
+
return axle.max_supported_weight - forces.get_force_on_axle(index);
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
calculate_z_centroid() {
|
|
28
|
+
let z_offset = 0;
|
|
29
|
+
let sum_z = 0;
|
|
30
|
+
let total_volume = 0;
|
|
31
|
+
for (const sequence of this.transport.list_containers_sequence_indexes()) {
|
|
32
|
+
const container = this.transport.get_container_by_sequence_index(sequence);
|
|
33
|
+
const z_centroid = z_offset + container.length / 2;
|
|
34
|
+
z_offset += container.length;
|
|
35
|
+
const volume = container.volume();
|
|
36
|
+
sum_z += z_centroid * volume;
|
|
37
|
+
total_volume += volume;
|
|
38
|
+
}
|
|
39
|
+
return sum_z / total_volume;
|
|
40
|
+
}
|
|
41
|
+
calculate_forces_on_axles(z_position, mass) {
|
|
42
|
+
const model = new AxleWeightModel_js_1.AxleWeightModel(this.transport);
|
|
43
|
+
const center_of_mass = new CenterOfMass_js_1.CenterOfMass();
|
|
44
|
+
center_of_mass.z = z_position;
|
|
45
|
+
center_of_mass.mass = mass;
|
|
46
|
+
return model.calculate_chassi_forces_with_load_center_of_mass({ 1: center_of_mass });
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
exports.SingleContainerTare = SingleContainerTare;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { Transport } from '../transports/Transport.js';
|
|
2
|
+
/**
|
|
3
|
+
* Selects legacy or physics tare model per axle.
|
|
4
|
+
*/
|
|
5
|
+
export declare class TareModel {
|
|
6
|
+
/**
|
|
7
|
+
* @param transport - Parsed transport.
|
|
8
|
+
* @returns Tare per axle.
|
|
9
|
+
*/
|
|
10
|
+
calculate(transport: Transport): number[];
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=TareModel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TareModel.d.ts","sourceRoot":"","sources":["../../../../src/core/physics/models/TareModel.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAA;AAM3D;;GAEG;AACH,qBAAa,SAAS;IAElB;;;OAGG;IACH,SAAS,CAAC,SAAS,EAAE,SAAS,GAAG,MAAM,EAAE;CAW5C"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TareModel = void 0;
|
|
4
|
+
const VehicleType_js_1 = require("../../contracts/VehicleType.js");
|
|
5
|
+
const OldTareModel_js_1 = require("./OldTareModel.js");
|
|
6
|
+
const SingleContainerTare_js_1 = require("./SingleContainerTare.js");
|
|
7
|
+
const DISTANCE_TOLERANCE = 0.9;
|
|
8
|
+
/**
|
|
9
|
+
* Selects legacy or physics tare model per axle.
|
|
10
|
+
*/
|
|
11
|
+
class TareModel {
|
|
12
|
+
/**
|
|
13
|
+
* @param transport - Parsed transport.
|
|
14
|
+
* @returns Tare per axle.
|
|
15
|
+
*/
|
|
16
|
+
calculate(transport) {
|
|
17
|
+
if (transport.vehicle_type === VehicleType_js_1.VEHICLE_TYPE.BITREM
|
|
18
|
+
|| transport.vehicle_type === VehicleType_js_1.VEHICLE_TYPE.RODOTREM) {
|
|
19
|
+
return new OldTareModel_js_1.OldTareModel().calculate(transport);
|
|
20
|
+
}
|
|
21
|
+
const reference = new OldTareModel_js_1.OldTareModel().calculate(transport);
|
|
22
|
+
const physics = new SingleContainerTare_js_1.SingleContainerTare(transport).calculate();
|
|
23
|
+
return choose_tare_model(reference, physics);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
exports.TareModel = TareModel;
|
|
27
|
+
/**
|
|
28
|
+
* @param reference_values - Legacy tare per axle.
|
|
29
|
+
* @param new_values - Physics tare per axle.
|
|
30
|
+
* @returns Selected tare list.
|
|
31
|
+
*/
|
|
32
|
+
function choose_tare_model(reference_values, new_values) {
|
|
33
|
+
for (let index = 0; index < reference_values.length; index++) {
|
|
34
|
+
const ref = reference_values[index];
|
|
35
|
+
if (Math.abs(new_values[index] - ref) > ref * DISTANCE_TOLERANCE) {
|
|
36
|
+
return reference_values;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
return new_values;
|
|
40
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { CenterOfMass } from '../items/CenterOfMass.js';
|
|
2
|
+
import type { ChassiForces } from './ChassiForces.js';
|
|
3
|
+
/**
|
|
4
|
+
* Truck-family delegate for chassis force calculation.
|
|
5
|
+
*/
|
|
6
|
+
export type TruckDelegate = {
|
|
7
|
+
calculate_chassi_forces_with_load_center_of_mass: (center_of_mass_by_grouper: Record<number, CenterOfMass>) => ChassiForces;
|
|
8
|
+
};
|
|
9
|
+
//# sourceMappingURL=TruckDelegate.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TruckDelegate.d.ts","sourceRoot":"","sources":["../../../../src/core/physics/models/TruckDelegate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAC5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAErD;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG;IACxB,gDAAgD,EAAE,CAC9C,yBAAyB,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,KACtD,YAAY,CAAA;CACpB,CAAA"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Raised when a Vanderleia model receives an unknown suspension wire value.
|
|
3
|
+
*/
|
|
4
|
+
export declare class UnrecognizedSuspensionTypeError extends Error {
|
|
5
|
+
/**
|
|
6
|
+
* @param suspension_type - Unrecognized suspension wire value.
|
|
7
|
+
*/
|
|
8
|
+
constructor(suspension_type: string);
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=UnrecognizedSuspensionTypeError.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UnrecognizedSuspensionTypeError.d.ts","sourceRoot":"","sources":["../../../../src/core/physics/models/UnrecognizedSuspensionTypeError.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,qBAAa,+BAAgC,SAAQ,KAAK;IAEtD;;OAEG;gBACS,eAAe,EAAE,MAAM;CAKtC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.UnrecognizedSuspensionTypeError = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Raised when a Vanderleia model receives an unknown suspension wire value.
|
|
6
|
+
*/
|
|
7
|
+
class UnrecognizedSuspensionTypeError extends Error {
|
|
8
|
+
/**
|
|
9
|
+
* @param suspension_type - Unrecognized suspension wire value.
|
|
10
|
+
*/
|
|
11
|
+
constructor(suspension_type) {
|
|
12
|
+
super(`Unrecognized suspension type: ${suspension_type}`);
|
|
13
|
+
this.name = 'UnrecognizedSuspensionTypeError';
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
exports.UnrecognizedSuspensionTypeError = UnrecognizedSuspensionTypeError;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Raised when axle weight dispatch does not support the transport vehicle type.
|
|
3
|
+
*/
|
|
4
|
+
export declare class UnsupportedVehicleTypeError extends Error {
|
|
5
|
+
/**
|
|
6
|
+
* @param vehicle_type - Unsupported vehicle type code.
|
|
7
|
+
*/
|
|
8
|
+
constructor(vehicle_type: number);
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=UnsupportedVehicleTypeError.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UnsupportedVehicleTypeError.d.ts","sourceRoot":"","sources":["../../../../src/core/physics/models/UnsupportedVehicleTypeError.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,qBAAa,2BAA4B,SAAQ,KAAK;IAElD;;OAEG;gBACS,YAAY,EAAE,MAAM;CAKnC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.UnsupportedVehicleTypeError = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Raised when axle weight dispatch does not support the transport vehicle type.
|
|
6
|
+
*/
|
|
7
|
+
class UnsupportedVehicleTypeError extends Error {
|
|
8
|
+
/**
|
|
9
|
+
* @param vehicle_type - Unsupported vehicle type code.
|
|
10
|
+
*/
|
|
11
|
+
constructor(vehicle_type) {
|
|
12
|
+
super(`Unsupported vehicle type: ${vehicle_type}`);
|
|
13
|
+
this.name = 'UnsupportedVehicleTypeError';
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
exports.UnsupportedVehicleTypeError = UnsupportedVehicleTypeError;
|
|
@@ -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
|
+
* Vanderleia five-axle static model with suspension-dependent coupling.
|
|
8
|
+
*/
|
|
9
|
+
export declare class VanderleiaModel {
|
|
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.
|
|
19
|
+
* @returns Loaded weights per axle.
|
|
20
|
+
*/
|
|
21
|
+
calculate_weight_on_axles(multi_items: MultiContainerAllocatedItems): number[];
|
|
22
|
+
/**
|
|
23
|
+
* @param multi_items - Allocated items.
|
|
24
|
+
* @returns Chassis forces.
|
|
25
|
+
*/
|
|
26
|
+
calculate_chassi_forces(multi_items: MultiContainerAllocatedItems): ChassiForces;
|
|
27
|
+
/**
|
|
28
|
+
* @param center_of_mass_by_grouper - CM for grouper 1.
|
|
29
|
+
* @returns Chassis forces on five axles.
|
|
30
|
+
*/
|
|
31
|
+
calculate_chassi_forces_with_load_center_of_mass(center_of_mass_by_grouper: Record<number, CenterOfMass>): ChassiForces;
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=VanderleiaModel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VanderleiaModel.d.ts","sourceRoot":"","sources":["../../../../src/core/physics/models/VanderleiaModel.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;AAGhD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAIhD;;GAEG;AACH,qBAAa,eAAe;IAQZ,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;CAclB"}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.VanderleiaModel = 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 SuspensionType_js_1 = require("../../contracts/SuspensionType.js");
|
|
9
|
+
const ChassiForces_js_1 = require("./ChassiForces.js");
|
|
10
|
+
const GaussianElimination_js_1 = require("../../math/GaussianElimination.js");
|
|
11
|
+
const UnrecognizedSuspensionTypeError_js_1 = require("./UnrecognizedSuspensionTypeError.js");
|
|
12
|
+
/**
|
|
13
|
+
* Vanderleia five-axle static model with suspension-dependent coupling.
|
|
14
|
+
*/
|
|
15
|
+
class VanderleiaModel {
|
|
16
|
+
transport;
|
|
17
|
+
chassi;
|
|
18
|
+
matrix;
|
|
19
|
+
/**
|
|
20
|
+
* @param transport - Parsed transport.
|
|
21
|
+
*/
|
|
22
|
+
constructor(transport) {
|
|
23
|
+
this.transport = transport;
|
|
24
|
+
this.chassi = new Chassi_js_1.Chassi(transport);
|
|
25
|
+
this.matrix = generate_vanderleia_matrix(this.chassi, transport);
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* @param multi_items - Allocated items.
|
|
29
|
+
* @returns Loaded weights per axle.
|
|
30
|
+
*/
|
|
31
|
+
calculate_weight_on_axles(multi_items) {
|
|
32
|
+
const forces = this.calculate_chassi_forces(multi_items);
|
|
33
|
+
return forces.list_axles_indexes().map((index) => forces.get_force_on_axle(index));
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* @param multi_items - Allocated items.
|
|
37
|
+
* @returns Chassis forces.
|
|
38
|
+
*/
|
|
39
|
+
calculate_chassi_forces(multi_items) {
|
|
40
|
+
return (0, ComputeGrouperCenterOfMass_js_1.calculate_chassi_forces_from_multi)(this.transport, multi_items, (0, BindChassiSolver_js_1.bind_chassi_solver)(this));
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* @param center_of_mass_by_grouper - CM for grouper 1.
|
|
44
|
+
* @returns Chassis forces on five axles.
|
|
45
|
+
*/
|
|
46
|
+
calculate_chassi_forces_with_load_center_of_mass(center_of_mass_by_grouper) {
|
|
47
|
+
const solution = solve_vanderleia_system(this.matrix, center_of_mass_by_grouper[1]);
|
|
48
|
+
const forces = new ChassiForces_js_1.ChassiForces();
|
|
49
|
+
forces.add_pin_forces([solution[3]]);
|
|
50
|
+
forces.add_axle_forces([
|
|
51
|
+
solution[5],
|
|
52
|
+
solution[4],
|
|
53
|
+
solution[2],
|
|
54
|
+
solution[1],
|
|
55
|
+
solution[0]
|
|
56
|
+
]);
|
|
57
|
+
return forces;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
exports.VanderleiaModel = VanderleiaModel;
|
|
61
|
+
/**
|
|
62
|
+
* @param chassi - Chassis geometry.
|
|
63
|
+
* @param transport - Parsed transport (suspension type).
|
|
64
|
+
* @returns 6×6 matrix.
|
|
65
|
+
*/
|
|
66
|
+
function generate_vanderleia_matrix(chassi, transport) {
|
|
67
|
+
const tractor_pin = chassi.get_pin_position(0, ChassiReference_js_1.CHASSI_REFERENCE.TRACTOR);
|
|
68
|
+
const tractor_axle_1 = chassi.get_axle_position(0, ChassiReference_js_1.CHASSI_REFERENCE.TRACTOR);
|
|
69
|
+
const tractor_axle_2 = chassi.get_axle_position(1, ChassiReference_js_1.CHASSI_REFERENCE.TRACTOR);
|
|
70
|
+
const pin_1 = chassi.get_pin_position(0, ChassiReference_js_1.CHASSI_REFERENCE.GROUPER_1);
|
|
71
|
+
const axle_3 = chassi.get_axle_position(2, ChassiReference_js_1.CHASSI_REFERENCE.GROUPER_1);
|
|
72
|
+
const axle_4 = chassi.get_axle_position(3, ChassiReference_js_1.CHASSI_REFERENCE.GROUPER_1);
|
|
73
|
+
const axle_5 = chassi.get_axle_position(4, ChassiReference_js_1.CHASSI_REFERENCE.GROUPER_1);
|
|
74
|
+
const relation = reactions_relation(transport);
|
|
75
|
+
return [
|
|
76
|
+
[1, 0, -relation[0], 0, 0, 0],
|
|
77
|
+
[0, 1, -relation[1], 0, 0, 0],
|
|
78
|
+
[1, 1, 1, 1, 0, 0],
|
|
79
|
+
[axle_5, axle_4, axle_3, pin_1, 0, 0],
|
|
80
|
+
[0, 0, 0, -1, 1, 1],
|
|
81
|
+
[0, 0, 0, -tractor_pin, tractor_axle_2, tractor_axle_1]
|
|
82
|
+
];
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* @param transport - Parsed transport.
|
|
86
|
+
* @returns Reaction coupling factors.
|
|
87
|
+
*/
|
|
88
|
+
function reactions_relation(transport) {
|
|
89
|
+
const raw = transport.suspension_type;
|
|
90
|
+
if (raw === SuspensionType_js_1.SUSPENSION_TYPE.PNEUMATICA || raw === 'Pneumatica') {
|
|
91
|
+
return [1, 1];
|
|
92
|
+
}
|
|
93
|
+
if (raw === SuspensionType_js_1.SUSPENSION_TYPE.MECANICA || raw === 'Mecanica') {
|
|
94
|
+
return [0.867469880, 0.542168675];
|
|
95
|
+
}
|
|
96
|
+
throw new UnrecognizedSuspensionTypeError_js_1.UnrecognizedSuspensionTypeError(String(raw));
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* @param matrix - System matrix.
|
|
100
|
+
* @param center_of_mass - Load CM.
|
|
101
|
+
* @returns Solution vector.
|
|
102
|
+
*/
|
|
103
|
+
function solve_vanderleia_system(matrix, center_of_mass) {
|
|
104
|
+
const independent = [0, 0, center_of_mass.mass, center_of_mass.mass * center_of_mass.z, 0, 0];
|
|
105
|
+
return (0, GaussianElimination_js_1.solve_linear_system)(matrix, independent);
|
|
106
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { CenterOfMass } from '../items/CenterOfMass.js';
|
|
2
|
+
import type { MultiContainerAllocatedItems } from '../items/MultiContainerAllocatedItems.js';
|
|
3
|
+
import type { ChassiForces } from './ChassiForces.js';
|
|
4
|
+
/**
|
|
5
|
+
* Vehicle axle-weight model contract used by AxleWeightModel dispatch.
|
|
6
|
+
*/
|
|
7
|
+
export type VehicleModel = {
|
|
8
|
+
calculate_chassi_forces_with_load_center_of_mass: (center_of_mass_by_grouper: Record<number, CenterOfMass>) => ChassiForces;
|
|
9
|
+
calculate_weight_on_axles: (multi_items: MultiContainerAllocatedItems) => number[];
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=VehicleModel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VehicleModel.d.ts","sourceRoot":"","sources":["../../../../src/core/physics/models/VehicleModel.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAC5D,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,0CAA0C,CAAA;AAC5F,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAErD;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG;IACvB,gDAAgD,EAAE,CAC9C,yBAAyB,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,KACtD,YAAY,CAAA;IACjB,yBAAyB,EAAE,CAAC,WAAW,EAAE,4BAA4B,KAAK,MAAM,EAAE,CAAA;CACrF,CAAA"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { AllocatedItemManager } from '../../items/AllocatedItemManager.js';
|
|
2
|
+
/**
|
|
3
|
+
* Cantilever beam deflection curve (DRAGON-76).
|
|
4
|
+
*/
|
|
5
|
+
export declare class BeamDeflection {
|
|
6
|
+
private readonly allocated_item_manager;
|
|
7
|
+
private readonly support_manager;
|
|
8
|
+
private readonly constant_1;
|
|
9
|
+
private readonly constant_2;
|
|
10
|
+
private readonly external_forces;
|
|
11
|
+
/**
|
|
12
|
+
* @param support_data - Support positions and forces.
|
|
13
|
+
* @param allocated_item_manager - Load items.
|
|
14
|
+
* @param external_forces - Optional external point loads.
|
|
15
|
+
*/
|
|
16
|
+
constructor(support_data: [number, number][], allocated_item_manager: AllocatedItemManager, external_forces?: [number, number][]);
|
|
17
|
+
/**
|
|
18
|
+
* @param beam_length - Container beam length.
|
|
19
|
+
* @param number_of_curve_samples - Sample count.
|
|
20
|
+
* @returns Deflection values along beam.
|
|
21
|
+
*/
|
|
22
|
+
generate_curve_values(beam_length: number, number_of_curve_samples: number): number[];
|
|
23
|
+
private evaluate_at_x;
|
|
24
|
+
private item_cubic_contribution;
|
|
25
|
+
private support_cubic_contribution;
|
|
26
|
+
private external_cubic_contribution;
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=BeamDeflection.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BeamDeflection.d.ts","sourceRoot":"","sources":["../../../../../src/core/physics/models/deflection/BeamDeflection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAA;AAI/E;;GAEG;AACH,qBAAa,cAAc;IAcnB,OAAO,CAAC,QAAQ,CAAC,sBAAsB;IAZ3C,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA0B;IAC1D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAQ;IACnC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAQ;IACnC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAoB;IAEpD;;;;OAIG;gBAEC,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,EACf,sBAAsB,EAAE,oBAAoB,EAC7D,eAAe,GAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAO;IAa5C;;;;OAIG;IACH,qBAAqB,CAAC,WAAW,EAAE,MAAM,EAAE,uBAAuB,EAAE,MAAM,GAAG,MAAM,EAAE;IAYrF,OAAO,CAAC,aAAa;IASrB,OAAO,CAAC,uBAAuB;IAgB/B,OAAO,CAAC,0BAA0B;IAclC,OAAO,CAAC,2BAA2B;CAatC"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BeamDeflection = void 0;
|
|
4
|
+
const DeflectionSupportManager_js_1 = require("./DeflectionSupportManager.js");
|
|
5
|
+
const IntegrationConstantCalculator_js_1 = require("./IntegrationConstantCalculator.js");
|
|
6
|
+
/**
|
|
7
|
+
* Cantilever beam deflection curve (DRAGON-76).
|
|
8
|
+
*/
|
|
9
|
+
class BeamDeflection {
|
|
10
|
+
allocated_item_manager;
|
|
11
|
+
support_manager;
|
|
12
|
+
constant_1;
|
|
13
|
+
constant_2;
|
|
14
|
+
external_forces;
|
|
15
|
+
/**
|
|
16
|
+
* @param support_data - Support positions and forces.
|
|
17
|
+
* @param allocated_item_manager - Load items.
|
|
18
|
+
* @param external_forces - Optional external point loads.
|
|
19
|
+
*/
|
|
20
|
+
constructor(support_data, allocated_item_manager, external_forces = []) {
|
|
21
|
+
this.allocated_item_manager = allocated_item_manager;
|
|
22
|
+
this.support_manager = new DeflectionSupportManager_js_1.DeflectionSupportManager(support_data);
|
|
23
|
+
this.external_forces = this.support_manager
|
|
24
|
+
.add_structural_offset_to_external_forces(external_forces);
|
|
25
|
+
const integration = new IntegrationConstantCalculator_js_1.IntegrationConstantCalculator(this.support_manager, this.support_manager.structural_offset);
|
|
26
|
+
[this.constant_1, this.constant_2] = integration.calculate_integration_constants(allocated_item_manager);
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* @param beam_length - Container beam length.
|
|
30
|
+
* @param number_of_curve_samples - Sample count.
|
|
31
|
+
* @returns Deflection values along beam.
|
|
32
|
+
*/
|
|
33
|
+
generate_curve_values(beam_length, number_of_curve_samples) {
|
|
34
|
+
const length = beam_length + this.support_manager.structural_offset;
|
|
35
|
+
const y_values = [];
|
|
36
|
+
for (let index = 0; index < number_of_curve_samples; index++) {
|
|
37
|
+
const x = (length * index) / (number_of_curve_samples - 1);
|
|
38
|
+
y_values.push(this.evaluate_at_x(x));
|
|
39
|
+
}
|
|
40
|
+
return y_values;
|
|
41
|
+
}
|
|
42
|
+
evaluate_at_x(x) {
|
|
43
|
+
let value = this.constant_1 * x + this.constant_2;
|
|
44
|
+
value += this.item_cubic_contribution(x);
|
|
45
|
+
value += this.support_cubic_contribution(x);
|
|
46
|
+
value += this.external_cubic_contribution(x);
|
|
47
|
+
return value;
|
|
48
|
+
}
|
|
49
|
+
item_cubic_contribution(x) {
|
|
50
|
+
let value = 0;
|
|
51
|
+
for (const item_index of this.allocated_item_manager.list_item_indexes()) {
|
|
52
|
+
const item = this.allocated_item_manager.get_item(item_index);
|
|
53
|
+
const position = item.zi + item.length / 2 + this.support_manager.structural_offset;
|
|
54
|
+
const displacement = x - position;
|
|
55
|
+
if (displacement > 0) {
|
|
56
|
+
value += (-item.weight / 6) * displacement ** 3;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
return value;
|
|
60
|
+
}
|
|
61
|
+
support_cubic_contribution(x) {
|
|
62
|
+
let value = 0;
|
|
63
|
+
for (const support_index of this.support_manager.list_support_indexes()) {
|
|
64
|
+
const displacement = x - this.support_manager.get_position(support_index);
|
|
65
|
+
if (displacement > 0) {
|
|
66
|
+
value += (this.support_manager.get_force(support_index) / 6) * displacement ** 3;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
return value;
|
|
70
|
+
}
|
|
71
|
+
external_cubic_contribution(x) {
|
|
72
|
+
let value = 0;
|
|
73
|
+
for (const [position, force] of this.external_forces) {
|
|
74
|
+
const displacement = x - position;
|
|
75
|
+
if (displacement > 0) {
|
|
76
|
+
value += (force / 6) * displacement ** 3;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
return value;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
exports.BeamDeflection = BeamDeflection;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { BitremModel } from '../BitremModel.js';
|
|
2
|
+
import type { MultiContainerAllocatedItems } from '../../items/MultiContainerAllocatedItems.js';
|
|
3
|
+
/**
|
|
4
|
+
* Bitrem interlink + semi beam deflection (sum of two indicators).
|
|
5
|
+
*/
|
|
6
|
+
export declare class BitremDeflection {
|
|
7
|
+
private readonly bitrem_model;
|
|
8
|
+
private readonly number_of_curve_samples;
|
|
9
|
+
/**
|
|
10
|
+
* @param bitrem_model - Axle weight model.
|
|
11
|
+
* @param number_of_curve_samples - Curve sample count.
|
|
12
|
+
*/
|
|
13
|
+
constructor(bitrem_model: BitremModel, 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 interlink_curve;
|
|
20
|
+
private semitrailer_curve;
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=BitremDeflection.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BitremDeflection.d.ts","sourceRoot":"","sources":["../../../../../src/core/physics/models/deflection/BitremDeflection.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAEpD,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,6CAA6C,CAAA;AAI/F;;GAEG;AACH,qBAAa,gBAAgB;IAOrB,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,uBAAuB;IAN5C;;;OAGG;gBAEkB,YAAY,EAAE,WAAW,EACzB,uBAAuB,EAAE,MAAM;IAIpD;;;OAGG;IACH,oBAAoB,CAAC,WAAW,EAAE,4BAA4B,GAAG,MAAM;IASvE,OAAO,CAAC,eAAe;IAkBvB,OAAO,CAAC,iBAAiB;CAc5B"}
|