Math::PlanePath::Base::NSEW(3) multi-inheritance mixin for North, South, East, West unit steps


package Math::PlanePath::Foo;
use Math::PlanePath;
use Math::PlanePath::Base::NSEW;
@ISA = ('Math::PlanePath::Base::NSEW', 'Math::PlanePath');


This is a multi-inheritance mixin for paths which take only steps North, South, East and West by distance 1 each time. This includes for example the "SquareSpiral" and also things like the "DragonCurve" or "CCurve".

The following path descriptive methods are provided

    dx_minimum()         -1
    dx_maximum()          1
    dy_minimum()         -1
    dy_maximum()          1
    dsumxy_minimum()     -1
    dsumxy_maximum()      1
    ddiffxy_minimum()    -1
    ddiffxy_maximum()     1
    dir_maximum_dxdy()   0,-1    # maximum South


Copyright 2014, 2015, 2016 Kevin Ryde

This file is part of Math-PlanePath.

Math-PlanePath is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version.

Math-PlanePath is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with Math-PlanePath. If not, see <>.