Compile Time Changes

MhShelvingCompartmentConfigurationItem changes

public class MhShelvingCompartmentConfigurationItem extends MhStorageConfigurationItem {
- Old: public double levelHeight;
- New: public Double levelHeight;

Runtime/Behavior Changes

MhShelvingBayConfigurationItem changes

The method updateBayHeight() has been updated to use logic similar to other storage extensions. It relies on the mhCalculatedBayHeightForConstruction() function.

No floor level by default

We do not expect shelving products to have floor levels and so have update MhShelvingBayEngineBehavior to not generate floor levels by default.

public class MhShelvingBayEngineBehavior extends MhBayEngineBehavior {

    /**
     * Add floor level.
     */
    public bool addFloorLevel(MhSnapper snapper) { return false; }


    /**
     * * Accepts function run.
     */
    public bool acceptFunctionRun(MhSnapper snapper, MhEngineFunctionRun func, symbol event="", Object env=null) {
        str funcName = func.name;
        if (funcName == "bayEnsureFloor") return false;
        return super(..);
    }
}

See "New pre configurator classes" about the new `MhShelvingConfiguration class which mentioned overridden logic to support no floor levels.

Default shelving clearance spec

MhShelvingClearanceConfigurationItem now returns a MhShelvingClearanceSpec object by default for defaultClearance().

public class MhShelvingClearanceConfigurationItem extends MhClearanceCompartmentConfigurationItem {

    /**
     * Default clearance.
     */
    public MhClearanceSpec defaultClearance() {
        return MhShelvingClearanceSpec();
    }
}