///
import { WebGL2RenderContext } from "../rendering/renderContext";
import { List } from "./gs.collections";
import { EventArgs } from "../events";
declare let JS_Init_Database: any;
declare let JS_Fina_Database: any;
declare let JS_Create_RenderContext: (options: string) => number;
declare let JS_Destroy_RenderContext: (handle: number) => number;
declare let JS_Open_Segment: any;
declare let JS_Open_Segment_By_Key: any;
declare let JS_Close_Segment: any;
declare let JS_Delete_Segment: any;
declare let JS_Delete_Segment_By_Key: any;
declare let JS_Delete_By_Key: any;
declare let JS_Clear_Geometry: any;
declare let JS_Clear_Geometry_By_Key: any;
declare let JS_Clear_Attributes: any;
declare let JS_Clear_Attributes_By_Key: any;
declare let JS_Clear_Includes: any;
declare let JS_Clear_Includes_By_Key: any;
declare let JS_Clear_Styles: any;
declare let JS_Clear_Styles_By_Key: any;
declare let JS_Clear_Subsegments: any;
declare let JS_Clear_Subsegments_By_Key: any;
declare let JS_Clear_All: any;
declare let JS_Clear_All_By_Key: any;
declare let JS_Include_Segment_By_Key: any;
declare let JS_Conditional_Include_By_Key: any;
declare let JS_Style_Segment_By_Key: any;
declare let JS_Conditional_Style_By_Key: any;
declare let JS_Make_Context_Current: any;
declare let JS_Update_Display: any;
declare let JS_Update_Transparency: any;
declare let JS_Update_View_Display_By_Key: any;
declare let JS_Update_Camera: any;
declare let JS_Update_View_Display_With_Framerate_By_Key: any;
declare let JS_Update_View_Display_With_Time_By_Key: any;
declare let JS_Asyn_Update_Geometry_Data_By_Key: any;
declare let JS_Asyn_Update_Geometry_Data_By_Key_Tt: any;
declare let JS_Asyn_Need_Update_View_By_Key: any;
declare let JS_Asyn_Update_Camera_By_Key: any;
declare let JS_Asyn_Update_View_By_Key: any;
declare let JS_Asyn_Update_View_By_Key_Tt: any;
declare let JS_Asyn_Render_View_By_Key: any;
declare let JS_Asyn_Render_View_With_Time_By_Key: any;
declare let JS_Show_Asyn_Geometry_Data_Keys: any;
declare let JS_Show_Asyn_Remove_Geometry_Data_Keys: any;
declare let JS_Show_Asyn_Buffer_Geometry_Keys: any;
declare let JS_Asyn_Buffer_Geometry_By_Key: any;
declare let JS_Asyn_Buffer_Geometry_By_Key_Tt: any;
declare let JS_Show_Key_Type: any;
declare let JS_Show_Owner_By_Key: any;
declare let JS_Compute_Path: any;
declare let JS_Compute_Coordinates_By_Key: (key: number, in_coordinate: string, in_position: ArrayLike, out_coordinate: string) => Float32Array;
declare let JS_Compute_Coordinates_By_Path: any;
declare let JS_Compute_Boundingbox_By_Key: any;
declare let JS_Compute_Boundingbox_With_Visibility_By_Key: (key: number, element_types: ElementType) => Float32Array;
declare let JS_Compute_View_Boundingbox_By_Key: (seg_key: number, key: number) => Float32Array;
declare let JS_Compute_View_Boundingbox_By_Keys: any;
declare let JS_Compute_View_Boundingboxes_By_Keys: any;
declare let JS_Compute_Segment_Boundingbox_By_Key: any;
declare let JS_Clear_Segment_Boundingbox_By_Key: any;
declare let JS_Set_BoundingBox: any;
declare let JS_Show_BoundingBox: any;
declare let JS_Set_BoundingBox_By_Key: any;
declare let JS_Show_BoundingBox_By_Key: any;
declare let JS_Compute_Visible_By_Key: any;
declare let JS_Show_Attribute_Count: any;
declare let JS_Show_Attribute_List: any;
declare let JS_Show_Geometry_Count: any;
declare let JS_Show_Geometry_List: any;
declare let JS_Show_Subsegment_Count: any;
declare let JS_Show_Subsegment_List: any;
declare let JS_Show_All_Subsegment_Count: any;
declare let JS_Show_All_Subsegment_List: any;
declare let JS_Show_Include_Count: any;
declare let JS_Show_Include_List: any;
declare let JS_Show_Include: any;
declare let JS_Show_Include_Segment: any;
declare let JS_Show_Style_Count: any;
declare let JS_Show_Style_List: any;
declare let JS_Show_Style: any;
declare let JS_Show_Style_Segment: any;
declare let JS_Show_Segment_Name: any;
declare let JS_Show_Segment_Path: any;
declare let JS_Segment_Exists: any;
declare let JS_Move_Key: any;
declare let JS_Move_Key_By_Key: any;
declare let JS_Rename_Segment: any;
declare let JS_Add_Property_Boolean: any;
declare let JS_Add_Property_Integer: any;
declare let JS_Add_Property_Double: any;
declare let JS_Add_Property_String: any;
declare let JS_Add_Property_Json: any;
declare let JS_Show_Property_Type: any;
declare let JS_Show_Property_Boolean: any;
declare let JS_Show_Property_Integer: any;
declare let JS_Show_Property_Double: any;
declare let JS_Show_Property_String: any;
declare let JS_Property_Exists: any;
declare let JS_Remove_Property: any;
declare let JS_Clear_Properties: any;
declare let JS_Show_Properties: any;
declare let JS_Show_Key_By_Id: any;
declare let JS_Set_Key_Index: any;
declare let JS_Show_Key_Index: any;
declare let JS_Show_Key_Tag: any;
declare let JS_Set_Absolute_Tolerance: any;
declare let JS_Compute_Selection_By_Key: any;
declare let JS_Compute_Selection_By_Area: any;
declare let JS_Show_Selection_Count: any;
declare let JS_Show_Selection_Element: any;
declare let JS_Show_Selection_Path: any;
declare let JS_Show_Selection_Path_By_Keys: any;
declare let JS_Show_Selection_Position: any;
declare let JS_Show_Selection_Param: any;
declare let JS_Show_Selection_Indexes: any;
declare let JS_Show_Selection_Test_Info: any;
declare let JS_Compute_Collision_By_Keys: (viewKey: number, oneKeys: Int32Array, twoKeys: Int32Array, type: CollisionType) => number;
declare let JS_Compute_Collision_By_Key: (viewKey: number, oneKey: number, twoKey: number, type: CollisionType, options: string) => number;
declare let JS_Compute_Collision_By_Key_Tt: (viewkey: number, oneKey: number, twoKey: number, type: CollisionType, no: number, options: string) => void;
declare let JS_Compute_Collision_By_Keys_Tt: (view_key: number, oneKeys: Int32Array, twoKeys: Int32Array, type: CollisionType) => number;
declare let JS_Show_Collision_Status: any;
declare let JS_Show_Collision_Count: () => number;
declare let JS_Show_Collision_Elements: (index: number) => Int32Array;
declare let JS_Show_Collision_Paths: any;
declare let JS_Show_Collision_Path_By_Keys: (index: number) => Int32Array[];
declare let JS_Show_Collision_Position: (index: number) => Float32Array;
declare let JS_Show_Collision_Type: (index: number) => number;
declare let JS_Add_Font_Library: any;
declare let JS_Font_Library_Exists: any;
declare let JS_Remove_Font_Library: any;
declare let JS_Clear_Font_Library: any;
declare let JS_Set_Driver_Configs: any;
declare let JS_Set_Driver_Options: any;
declare let JS_Show_Driver_Options: any;
declare let JS_Show_One_Driver_Option: any;
declare let JS_Set_Shader: any;
declare let JS_Show_Shader: any;
declare let JS_Show_One_Shader: any;
declare let JS_UnSet_Shader: any;
declare let JS_Set_Viewport: any;
declare let JS_Set_Camera: any;
declare let JS_Set_Camera_Position: any;
declare let JS_Set_Camera_Target: any;
declare let JS_Set_Camera_Up: any;
declare let JS_Set_Camera_Field: any;
declare let JS_Set_Camera_Extent: any;
declare let JS_Set_Camera_View: any;
declare let JS_Set_Camera_Projection: any;
declare let JS_Keep_Camera_Ratio: any;
declare let JS_Show_Camera: any;
declare let JS_Show_Camera_Position: any;
declare let JS_Show_Camera_Target: any;
declare let JS_Show_Camera_Up: any;
declare let JS_Show_Camera_Field: any;
declare let JS_Show_Camera_Extent: any;
declare let JS_Show_Camera_View: any;
declare let JS_Show_Camera_Projection: any;
declare let JS_Show_Camera_Projection_Matrix: any;
declare let JS_Show_Camera_View_Matrix: any;
declare let JS_Show_Path_Camera_Position: any;
declare let JS_Show_Path_Camera_Target: any;
declare let JS_Dolly_Camera: any;
declare let JS_Roll_Camera: any;
declare let JS_Zoom_Camera: any;
declare let JS_UnSet_Camera: any;
declare let JS_Set_Color: any;
declare let JS_UnSet_Color: any;
declare let JS_UnSet_One_Color: any;
declare let JS_Show_Color: any;
declare let JS_Show_One_Color: any;
declare let JS_Show_Color_By_Value: any;
declare let JS_Set_Geometry_Color: any;
declare let JS_Set_Geometry_Color_By_Value: any;
declare let JS_Show_Geometry_Color_By_Value: any;
declare let JS_UnSet_Geometry_Color: any;
declare let JS_Set_Visibility: any;
declare let JS_UnSet_Visibility: any;
declare let JS_UnSet_One_Visibility: any;
declare let JS_Show_Visibility: any;
declare let JS_Show_One_Visibility: any;
declare let JS_Set_Selectability: any;
declare let JS_UnSet_Selectability: any;
declare let JS_UnSet_One_Selectability: any;
declare let JS_Show_Selectability: any;
declare let JS_Show_One_Selectability: any;
declare let JS_Set_ModellingMatrix: any;
declare let JS_Append_ModellingMatrix: any;
declare let JS_Apply_ModellingMatrix: any;
declare let JS_Show_ModellingMatrix: any;
declare let JS_Show_Path_ModellingMatrix: any;
declare let JS_UnSet_ModellingMatrix: any;
declare let JS_Set_Rendering_Options: any;
declare let JS_UnSet_Rendering_Options: any;
declare let JS_UnSet_One_Rendering_Option: any;
declare let JS_Show_Rendering_Options: any;
declare let JS_Show_One_Rendering_Option: any;
declare let JS_Show_One_Default_Rendering_Option: any;
declare let JS_Show_One_Path_Rendering_Option: any;
declare let JS_Set_Heuristic_Options: any;
declare let JS_Set_One_Heuristic_Option: any;
declare let JS_UnSet_Heuristic_Options: any;
declare let JS_UnSet_One_Heuristic_Option: any;
declare let JS_Show_Heuristic_Options: any;
declare let JS_Show_One_Heuristic_Option: any;
declare let JS_Set_Condition: any;
declare let JS_Show_Condition: any;
declare let JS_UnSet_Condition: any;
declare let JS_Set_Text_Font: any;
declare let JS_UnSet_Text_Font: any;
declare let JS_UnSet_One_Text_Font: any;
declare let JS_Show_Text_Font: any;
declare let JS_Show_One_Text_Font: any;
declare let JS_Attribute_Exists: any;
declare let JS_Image_Exists: any;
declare let JS_Resize_By_Key: any;
declare let JS_Insert_Marker: any;
declare let JS_Edit_Marker: any;
declare let JS_Show_Marker: any;
declare let JS_Insert_Point_Cloud: any;
declare let JS_Edit_Point_Cloud: any;
declare let JS_Show_Point_Cloud: any;
declare let JS_Insert_Line: any;
declare let JS_Show_Line: any;
declare let JS_Edit_Line: any;
declare let JS_Insert_Polyline: any;
declare let JS_Show_Polyline_Count: any;
declare let JS_Show_Polyline: any;
declare let JS_Edit_Polyline: any;
declare let JS_Insert_Circle: any;
declare let JS_Insert_Circular_Arc: any;
declare let JS_Insert_Ellipse: any;
declare let JS_Edit_Ellipse: any;
declare let JS_Insert_Ellipse_Arc: any;
declare let JS_Edit_Circle: any;
declare let JS_Show_Circle: any;
declare let JS_Insert_Cylinder: any;
declare let JS_Show_Cylinder: any;
declare let JS_Insert_PolyCylinder: any;
declare let JS_Edit_PolyCylinder: any;
declare let JS_Insert_Shell: any;
declare let JS_Edit_Shell: any;
declare let JS_Show_Shell_Size: any;
declare let JS_Show_Shell: any;
declare let JS_Insert_Triangular_Shell: any;
declare let JS_Insert_Mesh: any;
declare let JS_Edit_Mesh_Points: any;
declare let JS_Show_Mesh_Size: any;
declare let JS_Show_Mesh: any;
declare let JS_Insert_Vector_Text: any;
declare let JS_Insert_Parametric_Geometry: (type: string, params: Float64Array) => number;
declare let JS_Insert_Negative_Parametric_Geometry: (key: number, type: string, params: Float64Array) => number;
declare let JS_Delete_Negative_Parametric_Geometry: (positiveKey: number, negativeKey: number) => boolean;
declare let JS_Insert_Negative_Parametric_Geometries: (key: number, neTypes: string, neParams: Float64Array, counts: Int32Array) => number;
declare let JS_Compute_Parametric_Geometry: (type: string, params: Float64Array) => {
oPositions: Float32Array;
oPosCount: number;
oIndexes: Int32Array;
oIdxCount: number;
};
declare let JS_Insert_Parametric_Geometries: (type: string, params: Float64Array, geoCount: number) => number;
declare let JS_Edit_Parametric_Geometry: (key: number, type: string, params: Float64Array) => number;
declare let JS_Edit_Parametric_Geometry_IndexInverse: (key: number, indexInverse: number) => void;
declare let JS_Edit_Negative_Parametric_Geometry: (po_key: number, ne_key: number, type: string, params: Float64Array) => void;
declare let JS_Edit_Negative_Parametric_Geometry_JointBoolean: (po_key: number, ne_key: number, isJointInBoolean: boolean) => void;
declare let JS_Show_Parametric_Geometry: (key: number) => {
type: string;
params: Float64Array;
};
declare let JS_Insert_Light: any;
declare let JS_Edit_Light: any;
declare let JS_Show_Light: any;
declare let JS_Insert_Image: any;
declare let JS_Set_Image_Options: any;
declare let JS_UnSet_One_Image_Option: any;
declare let JS_Show_Image_Position: any;
declare let JS_Show_Image_Size: any;
declare let JS_Show_Image_Data: any;
declare let JS_Show_Image_Options: any;
declare let JS_Show_One_Image_Option: any;
declare let JS_Show_Image: any;
declare let JS_Insert_Cutting_Planes: any;
declare let JS_Edit_Cutting_Planes: any;
declare let JS_Show_Cutting_Planes: any;
declare let JS_Show_Geometry_Vertices_Position_By_Indexes: any;
declare let JS_Show_Geometry_Element_Type: any;
declare let JS_Set_Geometry_Texture_Coords: any;
declare let JS_Show_Geometry_Texture_Dimension: any;
declare let JS_Show_Geometry_Texture_Coords: any;
declare let JS_UnSet_Geometry_Texture_Coords: any;
declare let JS_Compute_Geometry_Texture_Coords: any;
declare let JS_Set_Geometry_Normals: any;
declare let JS_Show_Geometry_Normals: (key: number, offset: number, count: number) => Float32Array;
declare let JS_UnSet_Geometry_Normals: any;
declare let JS_Compute_Geometry_Tessellate_Data: (key: number, image_key: number, options: string) => {
positions: Float32Array;
indexes: Int32Array;
normals: Float32Array;
texcoords: Float32Array;
};
declare let JS_Show_Geometry_Borders: (key: number, isWaistLine: boolean) => {
out_border_points: Float32Array;
out_point_count: number;
};
declare let JS_Compute_Geometry_Data: any;
declare let JS_Merge_Shell: any;
declare let JS_Extrude_By_Shell_ComputeData: (points: ArrayLike, indexes: ArrayLike, normal: ArrayLike, options: string) => {
oPositions: Float32Array;
oPosCount: number;
oIndexes: Int32Array;
oIdxCount: number;
};
declare let JS_Extrude_By_Shell: any;
declare let JS_Sweep_By_Shell: any;
declare let JS_DSweep_By_Shell: any;
declare let JS_DExtrude_By_Shell: any;
declare let JS_Rotate_By_Shell: any;
declare let JS_DRotate_By_Shell: any;
declare let JS_Compute_Ray_Test: (view_key: number, origin: ArrayLike, direct: ArrayLike) => Float32Array;
declare let JS_Compute_Geometry_Ray_Test: (view_key: number, geom_key: number, origin: ArrayLike, direct: ArrayLike) => Float32Array;
declare let JS_Compute_Box_Test: any;
declare let JS_Compute_Polygon_Area: any;
declare let JS_Compute_Area: (key: number) => any;
declare let JS_Compute_Volume: (key: number) => any;
declare let JS_Is_Solid_Geometry: (key: number) => boolean;
declare let JS_Compute_Geometry_Distance: (geomKey1: number, geomKey2: number, path1: Int32Array, path2: Int32Array) => Float32Array;
declare let JS_Segment_To_Stream: any;
declare let JS_Segment_To_Stream_By_Key: any;
declare let JS_Segment_To_Stream_With_Compression: any;
declare let JS_Segment_To_Stream_With_Compression_By_Key: any;
declare let JS_Stream_To_Segment: any;
declare let JS_Stream_To_Segment_By_Key: any;
declare let JS_Stream_To_Segment_By_Key_Tt: any;
declare let JS_Stream_With_Compression_To_Segment_By_Key: any;
declare let JS_Segment_Data_To_Stream: any;
declare let JS_Stream_To_Segment_Data: any;
declare let JS_Geometry_Data_To_Stream: any;
declare let JS_Stream_To_Geometry_Data: any;
declare let JS_Stream_To_Geometry_Data_By_Key: any;
declare let JS_Stream_To_Geometry_Data_By_Keys: any;
declare let JS_Stream_To_Geometry_Data_By_Keys_Tt: any;
declare let JS_Stream_To_Geometry_Data_With_Compression: any;
declare let JS_Copy_Segment_By_Key: any;
declare let JS_Show_Database_Info: any;
declare let JS_Show_Allocated_Memory_Size: any;
declare let JS_Execute_Task_Post_Processing: any;
declare let JS_Create_Texture: (buffer: number) => WebGLTexture;
declare let JS_Boolean_Intersection_Graph: any;
declare let JS_Boolean_Intersect_Polyline_Polygon_Xy: any;
declare let JS_Boolean_Intersect_Polygon_Polygon_Xy: (polygon_points: Float64Array, polygon_indexes: Int32Array, tool_points: Float64Array, tool_indexes: Int32Array) => {
positions: Float64Array;
indexes: Int32Array;
};
declare let JS_Boolean_Intersect_Graph_Polygon_Xy: (graph_points: Float64Array, graph_indexes: Int32Array, tool_points: Float64Array, tool_indexes: Int32Array) => {
positions: Float64Array;
indexes: Int32Array;
};
declare let JS_Boolean_Subtract_Polygon_Polygon_Xy: (polygon_points: Float64Array, polygon_indexes: Int32Array, tool_points: Float64Array, tool_indexes: Int32Array) => {
positions: Float64Array;
indexes: Int32Array;
};
declare let JS_Boolean_Cut_Polygon_Polygon_Xy: (polygon_points: Float64Array, polygon_indexes: Int32Array, tool_points: Float64Array, tool_indexes: Int32Array) => {
positions: Float64Array;
indexes: Int32Array;
};
declare let JS_Boolean_Subtract: (blank_points: Float64Array, blank_indexes: Int32Array, tool_points: Float64Array, tool_indexes: Int32Array) => {
positions: Float64Array;
indexes: Int32Array;
};
declare let JS_Feature_Extrude: (points: Float64Array, indexes: Int32Array, normal: Float64Array, options: string) => {
positions: Float64Array;
indexes: Int32Array;
};
declare let JS_Planar_Polyline_Offset: (points: Float64Array, offset_value: number) => List;
declare let JS_Compute_HLOD_Levels: (scene_key: number, segment_key: number, cull_extent: number, screenError: number) => any;
declare let JS_Is_Intersection_Ray_BBox: (origin: Float64Array, direct: Float64Array, min: Float64Array, max: Float64Array) => boolean;
declare let JS_Intersection_Line_Triangle_Roughly: (point: Float64Array, direct: Float64Array, tri_p1: Float64Array, tri_p2: Float64Array, tri_p3: Float64Array) => {
param: number;
point: Float64Array;
};
declare let JS_FLT_Compute_Ray_Test_Triangles_By_Projection: (ray_pos: Float32Array, ray_dir: Float32Array, points: Float32Array, indexes: Int32Array, stride: number, pvm: Float32Array, bb: Float32Array, tolerance: number) => {
param: number;
info: Int32Array;
};
declare let JS_Compute_Ray_Test_Triangles: (ray_pos: Float32Array, ray_dir: Float32Array, points: Float32Array, indexes: Int32Array, stride: number, bb: Float32Array) => Float32Array;
declare let JS_FLT_Compute_Distance_Triangles: (points1: Float32Array, indexes1: Int32Array, points2: Float32Array, indexes2: Int32Array, stride: number) => Float32Array;
declare let JS_Triangulate_Polygon: (points: Float64Array, indices: Int32Array) => Int32Array;
declare let JS_Shader_Add_Version: (value: string) => void;
declare let JS_Shader_Add_Define: (name: string, value: string) => void;
declare let JS_Shader_Add_Include: (name: string, value: string) => void;
declare let JS_Shader_Add_Pre_Processing: (name: string, value: string) => void;
declare let JS_Shader_Add_Post_Processing: (name: string, value: string) => void;
declare let JS_Shader_Remove_Define: (name: string) => void;
declare let JS_Shader_Remove_Include: (name: string) => void;
declare let JS_Shader_Remove_Pre_Processing: (name: string) => void;
declare let JS_Shader_Remove_Post_Processing: (name: string) => void;
declare let JS_Shader_Clear_Defines: () => void;
declare let JS_Shader_Clear_Includes: () => void;
declare let JS_Shader_Clear_Pre_Processings: () => void;
declare let JS_Shader_Clear_Post_Processings: () => void;
declare let JS_Pre_Compile_Shader: (source: string, options: string) => {
succeeded: boolean;
source: string;
};
declare let JS_Init_Apis: () => void;
export declare enum CameraChangeType {
Translate = 1,
Rotate = 2,
Scale = 4
}
export declare enum ObjectType {
TYPE_Unknown = 0,
TYPE_Segment = 1,
TYPE_Include = 2,
TYPE_Style = 3,
TYPE_Driver = 10,
TYPE_RenderContext = 11,
TYPE_Color = 12,
TYPE_Shader = 13,
TYPE_Viewport = 14,
TYPE_Camera = 15,
TYPE_Visibility = 16,
TYPE_ModellingMatrix = 17,
TYPE_RenderingOptions = 18,
TYPE_Condition = 19,
TYPE_Selectability = 20,
TYPE_Font = 21,
TYPE_HeuristicOptions = 22,
TYPE_Marker = 100,
TYPE_Line = 101,
TYPE_Polyline = 102,
TYPE_Circle = 106,
TYPE_Shell = 103,
TYPE_Mesh = 104,
TYPE_Cylinder = 105,
TYPE_TriangularShell = 107,
TYPE_CuttingPlanes = 109,
TYPE_CircularArc = 110,
TYPE_Ellipse = 111,
TYPE_EllipseArc = 112,
TYPE_PolyCylinder = 113,
TYPE_Light = 120,
TYPE_Image = 121,
TYPE_VectorText = 122,
TYPE_ParametricGeometry = 123,
TYPE_PointCloud = 124,
TYPE_ParametricGeometries = 125
}
export declare enum ElementType {
ELEMENT_TYPE_Unknown = 0,
ELEMENT_TYPE_Vertex = 1,
ELEMENT_TYPE_Edge = 2,
ELEMENT_TYPE_Marker = 4,
ELEMENT_TYPE_Line = 8,
ELEMENT_TYPE_Face = 16
}
export declare enum VertexType {
VERTEX_TYPE_None = 0,
VERTEX_TYPE_Inner = 1,
VERTEX_TYPE_Border = 2
}
export declare enum EdgeType {
EDGE_TYPE_None = 0,
EDGE_TYPE_Inner = 1,
EDGE_TYPE_Border = 2
}
export declare enum ViewMode {
XY = 0,
YX = 1,
XZ = 2,
ZX = 3,
YZ = 4,
ZY = 5,
Iso = 6,
EN = 7,
NW = 8,
WS = 9,
SE = 10,
TopE = 11,
BottomE = 12,
TopN = 13,
BottomN = 14,
TopW = 15,
BottomW = 16,
TopS = 17,
BottomS = 18,
TopEN = 19,
BottomEN = 20,
TopNW = 21,
BottomNW = 22,
TopWS = 23,
BottomWS = 24,
TopSE = 25,
BottomSE = 26,
YUpIso = 27,
OFSIso = 28
}
export declare enum CoordinateSystem {
window = 0,
pixels = 1,
world = 2,
object = 3,
viewpoint = 4
}
export declare enum UpdateType {
/**同步更新 */
Synchronization = 0,
/**异步更新 */
Asynchronization = 1
}
export declare enum AreaSelectionType {
TouchAndContain = 0,
Contain = 1
}
export declare enum FontUnitsType {
Points = 1,
Pixels = 2,
Object = 3,
World = 4,
Window = 5
}
export declare enum TextAlignment {
LeftBottom = 1,
LeftCenter = 2,
LeftTop = 3,
CenterBottom = 4,
CenterCenter = 5,
CenterTop = 6,
RightBottom = 7,
RightCenter = 8,
RightTop = 9
}
export declare enum LightingMode {
None = 0,
Phong = 1,
BlinnPhong = 2,
Lambert = 3,
HalfLambert = 4,
Banded = 5,
PBR = 6
}
export declare enum CollisionType {
None = 0,
/** 硬碰撞 */
Intersect = 1,
/** 接触碰撞 */
Touch = 2,
/** 包含 */
Contain = 4,
/** 软碰撞 */
Soft = 8
}
export declare enum GLTypes {
BYTE = 5120,
UNSIGNED_BYTE = 5121,
SHORT = 5122,
UNSIGNED_SHORT = 5123,
INT = 5124,
UNSIGNED_INT = 5125,
FLOAT = 5126,
DOUBLE = 5130,
STATIC_DRAW = 35044,
DYNAMIC_DRAW = 35048
}
export interface RenderingConfigs {
antialiasing: boolean;
offscreenRendering: boolean;
staticRendering: boolean;
keepMemoryBuffers: boolean;
}
export declare class Viewer {
container: HTMLElement;
canvas: HTMLCanvasElement;
contextHandle: number;
renderContext: WebGL2RenderContext;
protected _viewKey: number;
protected _sceneKey: number;
protected _modelKey: number;
protected _styleKey: number;
protected _backgroundKey: number;
protected _screenKey: number;
protected _width: number;
protected _height: number;
protected _aspectRatio: number;
configs: RenderingConfigs;
resize: List<(viewer: Viewer, args: EventArgs) => void>;
protected _cameraOrientationFixed: boolean;
protected _smoothTransition: boolean;
protected _smoothTransitionDuration: number;
collisionComputing: List;
collisionComputed: List;
geometryItem: List;
geometryItems: List;
geometryDrawFinish: List;
zoomLimit: number;
protected _testGslId: string;
get aspectRatio(): number;
set aspectRatio(aspectRatio: number);
constructor(containerId: string);
private createView;
dispose(): void;
rebind(containerId: string): void;
get viewKey(): number;
get sceneKey(): number;
get modelKey(): number;
get styleKey(): number;
get lightingMode(): LightingMode;
set lightingMode(mode: LightingMode);
makeContextCurrent(): void;
getGslId(key: any): string;
get width(): number;
set width(value: number);
get height(): number;
set height(value: number);
protected onUpdateSize(): void;
updateSize: () => void;
get cameraOrientationFixed(): boolean;
set cameraOrientationFixed(val: boolean);
get smoothTransition(): boolean;
set smoothTransition(val: boolean);
get smoothTransitionDuration(): number;
set smoothTransitionDuration(duration: number);
get backgroundColor(): ArrayLike;
set backgroundColor(val: ArrayLike);
private imagePathToImageData;
set backgroundImage(imageSrc: string);
get selectionTolerance(): number;
set selectionTolerance(value: number);
get collisionTolerance(): number;
set collisionTolerance(value: number);
get softCollisionDistance(): number;
set softCollisionDistance(value: number);
updateCameraNearFar(): void;
protected internalFitWorld(type?: ElementType): void;
protected internalFitWorldByBB(bb: Float32Array): void;
fitWorld(type?: ElementType): void;
locateWorld(key: number): void;
locateWorldByData(tmin: number[], tmax: number[], target?: Float32Array): void;
setViewMode(mode: ViewMode, fitWorld?: boolean, bb?: Float32Array): void;
setSceneCamera(position: ArrayLike, target: ArrayLike, up: ArrayLike, width?: number, height?: number): void;
selectPositionByPoint(winPos: ArrayLike): Float32Array;
}
export declare enum UpdateDisplayType {
Synchronization = 0,
Busy = 1,
AsynBufferGeometry = 2,
AsynNoneBufferGeometry = 3,
AsynThreadBufferGeometry = 4,
AsynThreadNoneBufferGeometry = 5
}
export declare class UpdateInfo {
private _viewer;
private _type;
_count: number;
get viewer(): Viewer;
get type(): UpdateDisplayType;
get count(): number;
constructor(viewer: Viewer, type: UpdateDisplayType);
}
export declare class GsWebGLUtility {
private static readonly EPSILON;
static smoothTransition(co: Float32Array, to: Float32Array, uo: Float32Array, widtho: number, heighto: number, cn: Float32Array, tn: Float32Array, un: Float32Array, widthn: number, heightn: number, vi: any): void;
static smoothTransitionD(co: Float64Array, to: Float64Array, uo: Float64Array, widtho: number, heighto: number, cn: Float64Array, tn: Float64Array, un: Float64Array, widthn: number, heightn: number, vi: any): void;
private static GetMatrixFromCamera;
private static GetMatrixFromCameraD;
private static MatrixToQuaternion;
private static MatrixToQuaternionD;
private static PA;
private static PB;
private static PC;
private static EaseInEaseOut;
private static H_ACOS;
private static H_ASIN;
private static TransitionQuaternion;
private static TransitionQuaternionD;
private static QuaternionToMatrix;
private static QuaternionToMatrixD;
static browserType(): string;
}
export { JS_Init_Apis, JS_Init_Database, JS_Fina_Database, JS_Create_RenderContext, JS_Destroy_RenderContext, JS_Open_Segment, JS_Open_Segment_By_Key, JS_Close_Segment, JS_Delete_Segment, JS_Delete_Segment_By_Key, JS_Delete_By_Key, JS_Clear_Geometry, JS_Clear_Geometry_By_Key, JS_Clear_Attributes, JS_Clear_Attributes_By_Key, JS_Clear_Includes, JS_Clear_Includes_By_Key, JS_Clear_Styles, JS_Clear_Styles_By_Key, JS_Clear_Subsegments, JS_Clear_Subsegments_By_Key, JS_Clear_All, JS_Clear_All_By_Key, JS_Include_Segment_By_Key, JS_Conditional_Include_By_Key, JS_Style_Segment_By_Key, JS_Conditional_Style_By_Key, JS_Make_Context_Current, JS_Update_Display, JS_Update_Transparency, JS_Update_View_Display_By_Key, JS_Update_Camera, JS_Update_View_Display_With_Framerate_By_Key, JS_Update_View_Display_With_Time_By_Key, JS_Asyn_Update_Geometry_Data_By_Key, JS_Asyn_Update_Geometry_Data_By_Key_Tt, JS_Asyn_Need_Update_View_By_Key, JS_Asyn_Update_Camera_By_Key, JS_Asyn_Update_View_By_Key, JS_Asyn_Update_View_By_Key_Tt, JS_Asyn_Render_View_By_Key, JS_Asyn_Render_View_With_Time_By_Key, JS_Show_Asyn_Geometry_Data_Keys, JS_Show_Asyn_Remove_Geometry_Data_Keys, JS_Show_Asyn_Buffer_Geometry_Keys, JS_Asyn_Buffer_Geometry_By_Key, JS_Asyn_Buffer_Geometry_By_Key_Tt, JS_Show_Key_Type, JS_Show_Key_Tag, JS_Set_Absolute_Tolerance, JS_Show_Owner_By_Key, JS_Compute_Path, JS_Compute_Coordinates_By_Key, JS_Compute_Coordinates_By_Path, JS_Set_BoundingBox, JS_Show_BoundingBox, JS_Set_BoundingBox_By_Key, JS_Show_BoundingBox_By_Key, JS_Compute_Boundingbox_By_Key, JS_Compute_Boundingbox_With_Visibility_By_Key, JS_Compute_View_Boundingbox_By_Key, JS_Compute_View_Boundingbox_By_Keys, JS_Compute_View_Boundingboxes_By_Keys, JS_Compute_Segment_Boundingbox_By_Key, JS_Clear_Segment_Boundingbox_By_Key, JS_Compute_Visible_By_Key, JS_Show_Attribute_Count, JS_Show_Attribute_List, JS_Show_Geometry_Count, JS_Show_Geometry_List, JS_Show_Subsegment_Count, JS_Show_Subsegment_List, JS_Show_All_Subsegment_Count, JS_Show_All_Subsegment_List, JS_Show_Include_Count, JS_Show_Include_List, JS_Show_Include, JS_Show_Include_Segment, JS_Show_Style_Count, JS_Show_Style_List, JS_Show_Style, JS_Show_Style_Segment, JS_Show_Segment_Name, JS_Show_Segment_Path, JS_Segment_Exists, JS_Move_Key, JS_Move_Key_By_Key, JS_Rename_Segment, JS_Add_Property_Boolean, JS_Add_Property_Integer, JS_Add_Property_Double, JS_Add_Property_String, JS_Add_Property_Json, JS_Show_Property_Type, JS_Show_Property_Boolean, JS_Show_Property_Integer, JS_Show_Property_Double, JS_Show_Property_String, JS_Property_Exists, JS_Remove_Property, JS_Clear_Properties, JS_Show_Properties, JS_Show_Key_By_Id, JS_Set_Key_Index, JS_Show_Key_Index, JS_Compute_Selection_By_Key, JS_Compute_Selection_By_Area, JS_Show_Selection_Count, JS_Show_Selection_Element, JS_Show_Selection_Path, JS_Show_Selection_Path_By_Keys, JS_Show_Selection_Position, JS_Show_Selection_Param, JS_Show_Selection_Indexes, JS_Show_Selection_Test_Info, JS_Compute_Collision_By_Keys, JS_Compute_Collision_By_Key, JS_Compute_Collision_By_Keys_Tt, JS_Compute_Collision_By_Key_Tt, JS_Show_Collision_Status, JS_Show_Collision_Count, JS_Show_Collision_Elements, JS_Show_Collision_Paths, JS_Show_Collision_Path_By_Keys, JS_Show_Collision_Position, JS_Show_Collision_Type, JS_Add_Font_Library, JS_Font_Library_Exists, JS_Remove_Font_Library, JS_Clear_Font_Library, JS_Set_Driver_Configs, JS_Set_Driver_Options, JS_Show_Driver_Options, JS_Show_One_Driver_Option, JS_Set_Shader, JS_UnSet_Shader, JS_Show_Shader, JS_Show_One_Shader, JS_Set_Viewport, JS_Set_Camera, JS_Set_Camera_Position, JS_Set_Camera_Target, JS_Set_Camera_Up, JS_Set_Camera_Field, JS_Set_Camera_Extent, JS_Set_Camera_View, JS_Set_Camera_Projection, JS_Keep_Camera_Ratio, JS_Show_Camera, JS_Show_Camera_Position, JS_Show_Camera_Target, JS_Show_Camera_Up, JS_Show_Camera_Field, JS_Show_Camera_Extent, JS_Show_Camera_View, JS_Show_Camera_Projection, JS_Show_Camera_Projection_Matrix, JS_Show_Camera_View_Matrix, JS_Show_Path_Camera_Position, JS_Show_Path_Camera_Target, JS_Dolly_Camera, JS_Roll_Camera, JS_Zoom_Camera, JS_UnSet_Camera, JS_Set_Color, JS_UnSet_Color, JS_UnSet_One_Color, JS_Show_Color, JS_Show_One_Color, JS_Show_Color_By_Value, JS_Set_Geometry_Color, JS_Set_Geometry_Color_By_Value, JS_Show_Geometry_Color_By_Value, JS_UnSet_Geometry_Color, JS_Set_Visibility, JS_UnSet_Visibility, JS_UnSet_One_Visibility, JS_Show_Visibility, JS_Show_One_Visibility, JS_Set_Selectability, JS_UnSet_Selectability, JS_UnSet_One_Selectability, JS_Show_Selectability, JS_Show_One_Selectability, JS_Set_ModellingMatrix, JS_Append_ModellingMatrix, JS_Apply_ModellingMatrix, JS_Show_ModellingMatrix, JS_Show_Path_ModellingMatrix, JS_UnSet_ModellingMatrix, JS_Set_Rendering_Options, JS_UnSet_Rendering_Options, JS_UnSet_One_Rendering_Option, JS_Show_Rendering_Options, JS_Show_One_Rendering_Option, JS_Show_One_Default_Rendering_Option, JS_Show_One_Path_Rendering_Option, JS_Set_Heuristic_Options, JS_Set_One_Heuristic_Option, JS_UnSet_Heuristic_Options, JS_UnSet_One_Heuristic_Option, JS_Show_Heuristic_Options, JS_Show_One_Heuristic_Option, JS_Set_Condition, JS_Show_Condition, JS_UnSet_Condition, JS_Set_Text_Font, JS_UnSet_Text_Font, JS_UnSet_One_Text_Font, JS_Show_Text_Font, JS_Show_One_Text_Font, JS_Attribute_Exists, JS_Image_Exists, JS_Resize_By_Key, JS_Insert_Marker, JS_Edit_Marker, JS_Show_Marker, JS_Insert_Point_Cloud, JS_Edit_Point_Cloud, JS_Show_Point_Cloud, JS_Insert_Line, JS_Edit_Line, JS_Show_Line, JS_Insert_Polyline, JS_Edit_Polyline, JS_Show_Polyline_Count, JS_Show_Polyline, JS_Insert_Circle, JS_Insert_Circular_Arc, JS_Insert_Ellipse, JS_Edit_Ellipse, JS_Insert_Ellipse_Arc, JS_Edit_Circle, JS_Show_Circle, JS_Insert_Cylinder, JS_Show_Cylinder, JS_Insert_PolyCylinder, JS_Edit_PolyCylinder, JS_Insert_Shell, JS_Edit_Shell, JS_Show_Shell_Size, JS_Show_Shell, JS_Insert_Triangular_Shell, JS_Insert_Mesh, JS_Edit_Mesh_Points, JS_Show_Mesh_Size, JS_Show_Mesh, JS_Insert_Vector_Text, JS_Insert_Parametric_Geometry, JS_Insert_Negative_Parametric_Geometry, JS_Delete_Negative_Parametric_Geometry, JS_Insert_Negative_Parametric_Geometries, JS_Compute_Parametric_Geometry, JS_Edit_Parametric_Geometry, JS_Edit_Parametric_Geometry_IndexInverse, JS_Edit_Negative_Parametric_Geometry, JS_Edit_Negative_Parametric_Geometry_JointBoolean, JS_Show_Parametric_Geometry, JS_Insert_Parametric_Geometries, JS_Insert_Light, JS_Edit_Light, JS_Show_Light, JS_Insert_Image, JS_Set_Image_Options, JS_UnSet_One_Image_Option, JS_Show_Image_Position, JS_Show_Image_Size, JS_Show_Image_Data, JS_Show_Image_Options, JS_Show_One_Image_Option, JS_Show_Image, JS_Insert_Cutting_Planes, JS_Edit_Cutting_Planes, JS_Show_Cutting_Planes, JS_Show_Geometry_Vertices_Position_By_Indexes, JS_Show_Geometry_Element_Type, JS_Set_Geometry_Texture_Coords, JS_Show_Geometry_Texture_Dimension, JS_Show_Geometry_Texture_Coords, JS_UnSet_Geometry_Texture_Coords, JS_Compute_Geometry_Texture_Coords, JS_Set_Geometry_Normals, JS_Show_Geometry_Normals, JS_UnSet_Geometry_Normals, JS_Compute_Geometry_Tessellate_Data, JS_Show_Geometry_Borders, JS_Compute_Geometry_Data, JS_Merge_Shell, JS_Extrude_By_Shell_ComputeData, JS_Extrude_By_Shell, JS_Sweep_By_Shell, JS_DSweep_By_Shell, JS_DExtrude_By_Shell, JS_Rotate_By_Shell, JS_DRotate_By_Shell, JS_Compute_Ray_Test, JS_Compute_Geometry_Ray_Test, JS_Compute_Box_Test, JS_Compute_Polygon_Area, JS_Compute_Area, JS_Compute_Volume, JS_Is_Solid_Geometry, JS_Compute_Geometry_Distance, JS_Segment_To_Stream, JS_Segment_To_Stream_By_Key, JS_Segment_To_Stream_With_Compression, JS_Segment_To_Stream_With_Compression_By_Key, JS_Stream_To_Segment, JS_Stream_To_Segment_By_Key, JS_Stream_To_Segment_By_Key_Tt, JS_Stream_With_Compression_To_Segment_By_Key, JS_Segment_Data_To_Stream, JS_Stream_To_Segment_Data, JS_Geometry_Data_To_Stream, JS_Stream_To_Geometry_Data, JS_Stream_To_Geometry_Data_By_Key, JS_Stream_To_Geometry_Data_By_Keys, JS_Stream_To_Geometry_Data_By_Keys_Tt, JS_Stream_To_Geometry_Data_With_Compression, JS_Copy_Segment_By_Key, JS_Show_Database_Info, JS_Show_Allocated_Memory_Size, JS_Execute_Task_Post_Processing, JS_Create_Texture, JS_Boolean_Intersection_Graph, JS_Boolean_Intersect_Polyline_Polygon_Xy, JS_Boolean_Intersect_Polygon_Polygon_Xy, JS_Boolean_Intersect_Graph_Polygon_Xy, JS_Boolean_Subtract_Polygon_Polygon_Xy, JS_Boolean_Cut_Polygon_Polygon_Xy, JS_Boolean_Subtract, JS_Feature_Extrude, JS_Planar_Polyline_Offset, JS_Compute_HLOD_Levels, JS_Is_Intersection_Ray_BBox, JS_Intersection_Line_Triangle_Roughly, JS_FLT_Compute_Ray_Test_Triangles_By_Projection, JS_Compute_Ray_Test_Triangles, JS_FLT_Compute_Distance_Triangles, JS_Shader_Add_Version, JS_Shader_Add_Define, JS_Shader_Add_Include, JS_Shader_Add_Pre_Processing, JS_Shader_Add_Post_Processing, JS_Shader_Remove_Define, JS_Shader_Remove_Include, JS_Shader_Remove_Pre_Processing, JS_Shader_Remove_Post_Processing, JS_Shader_Clear_Defines, JS_Shader_Clear_Includes, JS_Shader_Clear_Pre_Processings, JS_Shader_Clear_Post_Processings, JS_Pre_Compile_Shader, JS_Triangulate_Polygon, };