/// 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, };