0.4.0 • Published 10 years ago

bbox v0.4.0

Weekly downloads
17
License
MIT
Repository
github
Last release
10 years ago

Bounding Box (BBox)

Find bounding box dimensions either within or surrounding arbitrary containers

Installation

Available as a node package. To install use

$ npm install bbox

Methods

The following methods are available

  • create
  • fit
  • surround

Use

create

BBox.create(x0, y0, x1, y1)

OR

BBox.create(width, height)

Creates a frozen bbox object with both position and dimensions. When using dimensions the box has undefined location but can still be used for its aspect ratio.

var BBox = require('bbox');

var fixed = BBox.create(1, 1, 4, 4);
// => {x0: 1, y0: 1, x1: 4, y1: 4, width: 3, height: 3}

var floating = BBox.create(2, 3);
// => {width: 2, height: 3, x0: undefined, y0: undefined, x1: undefined, y1: undefined}

fit

BBox.fit(container, aspect)

Creates the largest box with the same aspect ratio as aspect that will fit within container. The box is centered within container. Note container requires a fixed bbox but aspect may be fixed or floating.

var container = BBox.create(0, 0, 100, 100);
var aspect = BBox.create(250, 500);

BBox.fit(container, aspect);
// => {x0: 25, y0: 0, x1: 75, y1: 100, width: 50, height: 100}

surround

BBox.surround(container, aspect)

Creates the smallest box with the same aspect ratio as aspect that will surround container. The box is centered around container. Note container requires a fixed bbox but aspect may be fixed or floating.

var container = BBox.create(0, 0, 100, 100);
var aspect = BBox.create(250, 500);

BBox.surround(container, aspect);
// => {x0: 0, y0: -50, x1: 100, y1: 150, width: 100, height: 200}
0.4.0

10 years ago

0.1.0

10 years ago