UNPKG

gs-json

Version:

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

78 lines (77 loc) 2.34 kB
/** * Enum, the different types of geometric elements. * Objects and Points are entities (see subclasses of the Ent class). * Faces, Wires, Edges, and Vertices are topological components (see subclasses of the Topo class). * Attributes can be attached to all these elements. */ export declare enum EGeomType { points = 0, vertices = 1, edges = 2, wires = 3, faces = 4, objs = 5, } /** * Enum, the different data types for attributes. */ export declare enum EDataType { type_str = 0, type_num = 1, type_bool = 2, type_str_arr = 3, type_num_arr = 4, type_bool_arr = 5, } /** * Enum, the different types of geometric objects (see the subclasses of the Obj class.) */ export declare const enum EObjType { acorn = 0, ray = 1, plane = 2, circle = 3, ellipse = 4, parabola = 5, hyperbola = 6, polyline = 100, nurbs_curve = 120, bezier_curve = 121, polymesh = 200, nurbs_surface = 220, bezier_surface = 221, } /** * Map, from EObjType to string. * This is used when generating string representations of objects. */ export declare let mapObjTypeToString: Map<EObjType, string>; export declare type TGeomTypeStr = "points" | "vertices" | "edges" | "wires" | "faces" | "objs"; export declare type TDataTypeStr = "string" | "number" | "boolean" | "string[]" | "number[]" | "boolean[]"; /** * Map, from string to EGeomType. * This is used when parsing JSON. */ export declare let mapStringToGeomType: Map<TGeomTypeStr, EGeomType>; /** * Map, from EGeomType to string. * This is used when generating JSON. */ export declare let mapGeomTypeToString: Map<EGeomType, TGeomTypeStr>; /** * Map, from strings to DataType. * This is used when parsing JSON. */ export declare let mapStringToDataType: Map<TDataTypeStr, EDataType>; /** * Map, from DataType to strings. * This is used when generating JSON. */ export declare let mapDataTypeToString: Map<EDataType, TDataTypeStr>; /** * Map, from GeomType to int. * This is used when generating JSON. */ export declare let mapGeomTypeToTopoPathIndex: Map<EGeomType, 0 | 1>; export declare let mapTTPathIndexToGeomType: Map<0 | 1, EGeomType>; export declare let mapSTPathIndexToGeomType: Map<0 | 1, EGeomType>;