UNPKG

gs-json

Version:

gs-JSON is a domain agnostic unifying 3D file format for geometric and semantic modelling (hence the 'gs').

61 lines (60 loc) 1.82 kB
import { XYZ, IHyperbola, IPoint } from "./ifaces_gs"; import { EObjType } from "./enums"; import { Obj } from "./entity_obj"; /** * Class ConicCurve. */ export declare class Hyperbola extends Obj implements IHyperbola { /** * Get the object type: "hyperbola". * @return ConicCurve object type. */ getObjType(): EObjType; /** * Get the origin of the hyperbola. * @return Plane object type. */ getOrigin(): IPoint; /** * Returns the x and y vectors of this curve. The length of the x vector * defines the a,b parameters of the hyperbola. * @return The x and y vectors. */ getVectors(): XYZ[]; /** * Sets the x and y vectors of this curve. The length of the x,y vectors * defines the a,b parameters of the hyperbola. * @return The x and y vectors. */ setVectors(x_vec: XYZ, y_vec: XYZ): void; /** * Returns the Alpha and Beta angles of this curve. * @return The Alpha and Beta angles. */ getAngles(): [number, number]; /** * Returns the Alpha and Beta angles of this curve. * @return The Alpha and Beta angles. */ setAngles(angles: [number, number]): void; /** * Returns the radii of this curve (the lengths of the x,y vectors). * @return The radii. */ getRadii(): [number, number]; /** * Get the length of the circle or arc. * @return The length. */ length(): number; /** * Get a point located at t% of the hyperbola length. * @return A Point. */ evalParam(t: number): IPoint; /** * Get a set of equidistant points along the arc of hyperbola. * @return An array of points. */ equiPoints(num_points: number): IPoint[]; }