bbox

0.4.0 • Public • Published

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}

Package Sidebar

Install

npm i bbox

Weekly Downloads

41

Version

0.4.0

License

MIT

Last publish

Collaborators

  • crowdhailer