@bitbybit-dev/base
Version:
Bit By Bit Developers Base CAD Library to Program Geometry
90 lines (89 loc) • 2.43 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 {
left = "left",
center = "center",
right = "right"
}
enum verticalAlignmentEnum {
top = "top",
middle = "middle",
bottom = "bottom"
}
enum topBottomEnum {
top = "top",
bottom = "bottom"
}
enum basicAlignmentEnum {
topLeft = "topLeft",
topMid = "topMid",
topRight = "topRight",
midLeft = "midLeft",
midMid = "midMid",
midRight = "midRight",
bottomLeft = "bottomLeft",
bottomMid = "bottomMid",
bottomRight = "bottomRight"
}
}