NAME App::GeometryUtils - Utilities related to geometry VERSION This document describes version 0.001 of App::GeometryUtils (from Perl distribution App-GeometryUtils), released on 2024-06-25. DESCRIPTION This distribution provides the following command-line utilities related to geometry: * calc-box-fit * calc-box-surface-area FUNCTIONS calc_box_fit Usage: calc_box_fit(%args) -> any Calculate how many small boxes fit inside a larger box. Examples: * Example #1: calc_box_fit(smaller_dimension => "5x3x2", larger_dimension => "35x19x18"); # -> "378 (94.74% full)" Keywords: packing algorithm, bin packing This function is not exported. Arguments ('*' denotes required arguments): * allow_multiple_orientation => *bool* (default: 1) (No description) * allow_rotation => *bool* (default: 1) (No description) * larger_dimension* => *str* Dimension (LxWxH) of the smaller box. * smaller_dimension* => *str* Dimension (LxWxH) of the smaller box. Return value: (any) calc_box_surface_area Usage: calc_box_surface_area(%args) -> float Calculate surface area of a box with specified dimension. Examples: * Example #1: calc_box_surface_area(dimension => "5x3x2"); # -> 62 This function is not exported. Arguments ('*' denotes required arguments): * dimension* => *str* Dimension (LxWxH) of the box. Return value: (float) HOMEPAGE Please visit the project's homepage at . SOURCE Source repository is at . SEE ALSO Box::Calc. Given one or more of "smaller boxes" ("items" in Box::Calc lingo) of different sizes, what kind and how many "larger boxes" ("boxes" in Box::Calc lingo) are needed for shipping? Algorithm::BinPack. This is a one-dimensional packing problem instead of 3D one. Given multiple items of different size, and a container (bin) size, how many containers are needed? AUTHOR perlancar CONTRIBUTING To contribute, you can send patches by email/via RT, or send pull requests on GitHub. Most of the time, you don't need to build the distribution yourself. You can simply modify the code, then test via: % prove -l If you want to build the distribution (e.g. to try to install it locally on your system), you can install Dist::Zilla, Dist::Zilla::PluginBundle::Author::PERLANCAR, Pod::Weaver::PluginBundle::Author::PERLANCAR, and sometimes one or two other Dist::Zilla- and/or Pod::Weaver plugins. Any additional steps required beyond that are considered a bug and can be reported to me. COPYRIGHT AND LICENSE This software is copyright (c) 2024 by perlancar . This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself. BUGS Please report any bugs or feature requests on the bugtracker website When submitting a bug or request, please include a test-file or a patch to an existing test-file that illustrates the bug or desired feature.