d3-3d
Version:
D3.js plugin for 3d visualization written in Typescript
53 lines (52 loc) • 1.62 kB
TypeScript
import { Point2D, Point3D } from '../types';
export interface ShapeInstance<Datum = Point3D> {
scale(): number;
scale(scale: number): this;
origin(): Point2D;
origin(origin: Point2D): this;
rotateX(): number;
rotateX(angle: number): this;
rotateY(): number;
rotateY(angle: number): this;
rotateZ(): number;
rotateZ(angle: number): this;
x(): (point: Datum) => number;
x(x: (point: Datum) => number): this;
y(): (point: Datum) => number;
y(y: (point: Datum) => number): this;
z(): (point: Datum) => number;
z(z: (point: Datum) => number): this;
rotationCenter(): Point3D;
rotationCenter(center: Point3D): this;
rotationCenter(center?: Point3D): this | Point3D;
}
export declare class ShapeRenderer<Datum = Point3D> implements ShapeInstance<Datum> {
private _scale;
private _origin;
private _rotateX;
private _rotateY;
private _rotateZ;
private _x;
private _y;
private _z;
private _rotationCenter;
constructor();
scale(): number;
scale(scale: number): this;
origin(): Point2D;
origin(origin: Point2D): this;
rotationCenter(): Point3D;
rotationCenter(center: Point3D): this;
rotateX(): number;
rotateX(angle: number): this;
rotateY(): number;
rotateY(angle: number): this;
rotateZ(): number;
rotateZ(angle: number): this;
x(): (point: Datum) => number;
x(x: (point: Datum) => number): this;
y(): (point: Datum) => number;
y(y: (point: Datum) => number): this;
z(): (point: Datum) => number;
z(z: (point: Datum) => number): this;
}