[obelisk.js] Lines support added at v1.2.1

This commit is contained in:
rhysd 2019-01-23 11:33:21 +09:00
parent 3182b6a95d
commit ae2e67ec40
2 changed files with 55 additions and 0 deletions

View File

@ -112,6 +112,10 @@ declare namespace obelisk {
getByHorizontalColor(horizontal: number): SlopeColor;
}
export class LineColor extends AbstractColor {
constructor(border?: number, inner?: number);
}
export class AbstractDimension {
constructor();
@ -145,6 +149,18 @@ declare namespace obelisk {
constructor(xAxis?: number, yAxis?: number);
}
export class LineXDimension extends AbstractDimension {
constructor(axis?: number);
}
export class LineYDimension extends AbstractDimension {
constructor(axis?: number);
}
export class LineZDimension extends AbstractDimension {
constructor(axis?: number);
}
export class BitmapData {
constructor(w: number, h: number, useDefaultCanvas?: boolean);
@ -226,4 +242,16 @@ declare namespace obelisk {
export class SlopeWest extends AbstractPrimitive {
constructor(dimension?: SlopeDimension, color?: SlopeColor, border?: boolean, useDefaultCanvas?: boolean);
}
export class LineX extends AbstractPrimitive {
constructor(dimension?: LineXDimension, color?: LineColor, useDefaultCanvas?: boolean);
}
export class LineY extends AbstractPrimitive {
constructor(dimension?: LineYDimension, color?: LineColor, useDefaultCanvas?: boolean);
}
export class LineZ extends AbstractPrimitive {
constructor(dimension?: LineZDimension, color?: LineColor, useDefaultCanvas?: boolean);
}
}

View File

@ -146,3 +146,30 @@ function test_gif_rendering() {
var floor = new obelisk.Cube(floorDimension, new obelisk.CubeColor(), false);
pixelViewFloor.renderObject(floor, new obelisk.Point3D(-20, -30, 0));
}
function test_line_rendering() {
var canvas = document.getElementById('canvas-demo') as HTMLCanvasElement;
// create pixel view container in point
var point = new obelisk.Point(400, 200);
var pixelView = new obelisk.PixelView(canvas, point);
// create brick
var colorX = new obelisk.LineColor(obelisk.ColorPattern.PINK);
var colorY = new obelisk.LineColor(obelisk.ColorPattern.BLACK);
var colorZ = new obelisk.LineColor(obelisk.ColorPattern.BLUE);
var dimensionX = new obelisk.LineXDimension(100);
var dimensionY = new obelisk.LineYDimension(100);
var dimensionZ = new obelisk.LineZDimension(100);
var lineX = new obelisk.LineX(dimensionX, colorX);
var lineY = new obelisk.LineY(dimensionY, colorY);
var lineZ = new obelisk.LineZ(dimensionZ, colorZ);
// render in view
var p3D = new obelisk.Point3D(0, 0, 0);
pixelView.renderObject(lineX, p3D);
pixelView.renderObject(lineY, p3D);
pixelView.renderObject(lineZ, p3D);
}