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
TypeScript
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[];
}