@bitbybit-dev/base
Version:
Bit By Bit Developers Base CAD Library to Program Geometry
79 lines (78 loc) • 2.09 kB
TypeScript
export declare namespace Base {
type Color = string;
type ColorRGB = {
r: number;
g: number;
b: number;
};
type Material = any;
type Point2 = [number, number];
type Vector2 = [number, number];
type Point3 = [number, number, number];
type Vector3 = [number, number, number];
type Axis3 = {
origin: Base.Point3;
direction: Base.Vector3;
};
type Axis2 = {
origin: Base.Point2;
direction: Base.Vector2;
};
type Segment2 = [Point2, Point2];
type Segment3 = [Point3, Point3];
type TrianglePlane3 = {
normal: Vector3;
d: number;
};
type Triangle3 = [Base.Point3, Base.Point3, Base.Point3];
type Mesh3 = Triangle3[];
type Plane3 = {
origin: Base.Point3;
normal: Base.Vector3;
direction: Base.Vector3;
};
type BoundingBox = {
min: Base.Point3;
max: Base.Point3;
center?: Base.Point3;
width?: number;
height?: number;
length?: number;
};
type Line2 = {
start: Base.Point2;
end: Base.Point2;
};
type Line3 = {
start: Base.Point3;
end: Base.Point3;
};
type Polyline3 = {
points: Base.Point3[];
isClosed?: boolean;
color?: number[];
};
type Polyline2 = {
points: Base.Point2[];
isClosed?: boolean;
color?: number[];
};
type TransformMatrix3x3 = [number, number, number, number, number, number, number, number, number];
type TransformMatrixes3x3 = TransformMatrix3x3[];
type TransformMatrix = [number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number];
type TransformMatrixes = TransformMatrix[];
enum horizontalAlignEnum {
/**
* Aligns to the left
*/
left = "left",
/**
* Aligns to the center
*/
center = "center",
/**
* Aligns to the right
*/
right = "right"
}
}