// Generated at 2020-11-13 15:44:29 import * as Native from './NativeTypes' import { Pointer, UserPointer } from './NativeTypes' export interface UmbraFunctions { configInit: (config: Pointer) => void clientCreate: (appName: string, config: Pointer) => Pointer clientDestroy: (client: Pointer) => void getLibraryInfo: (field: Native.LibraryInfo) => string environmentInfoDefaults: (environment: Pointer) => void runtimeCreate: (client: Pointer, environment: Pointer, flags: number) => Pointer runtimeUpdate: (runtime: Pointer) => void runtimeGetStreamingState: (runtime: Pointer, streamingState: Pointer) => void runtimeDestroy: (runtime: Pointer) => void sceneCreate: (runtime: Pointer, apiKey: string, locator: string) => Pointer sceneCreatePublic: (runtime: Pointer, publicLink: string) => Pointer sceneCreateLocal: (runtime: Pointer, path: string) => Pointer sceneGetConnectionStatus: (scene: Pointer) => Native.ConnectionStatus sceneGetInfo: (scene: Pointer, info: Pointer) => boolean sceneSetTransform: (scene: Pointer, transform: Pointer) => void sceneDestroy: (scene: Pointer) => void viewCreate: (runtime: Pointer) => Pointer viewUpdateRendering: (view: Pointer, cameraWorldToClip: Pointer, cameraPosition: Pointer, cameraDepthRange: Native.DepthRange, cameraMatrixFormat: Native.MatrixFormat, quality: number, directionalLights: Pointer, numDirectionalLights: number) => void viewUpdateFilter: (view: Pointer, filterShape: Pointer) => void viewGetCompleted: (view: Pointer) => boolean viewNextRenderables: (view: Pointer, renderables: Pointer, numRenderables: number) => number viewResetRenderables: (view: Pointer) => void viewDestroy: (view: Pointer) => void viewRayQuery: (view: Pointer, rayOrigin: Pointer, rayDirection: Pointer, maxDistance: number, flags: number, result: Pointer) => boolean sceneCopyCreate: (runtime: Pointer, destination: Pointer, source: Pointer, environment: Pointer, filter: Pointer) => Pointer sceneCopyGetStatus: (sceneCopy: Pointer, progress: Pointer) => Native.SceneCopyStatus sceneCopyGetError: (sceneCopy: Pointer) => string sceneCopyDestroy: (sceneCopy: Pointer) => void vertexAttributeGetElementByteSize: (vertexAttribute: Native.VertexAttribute) => number runtimeNextAssetLoad: (runtime: Pointer) => Pointer assetLoadGetType: (assetLoad: Pointer) => Native.AssetType assetLoadPrepare: (assetLoad: Pointer, ptr: UserPointer) => void assetLoadAbortRequested: (assetLoad: Pointer) => boolean assetLoadFinish: (assetLoad: Pointer, result: Native.AssetLoadResult) => void meshLoadFinishExternal: (assetLoad: Pointer, result: Native.AssetLoadResult, vertexBuffers: Pointer, indexBuffer: Pointer) => void meshLoadGetInfo: (assetLoad: Pointer, meshInfo: Pointer) => void meshLoadGetData: (assetLoad: Pointer, vertexBuffers: Pointer, indexBuffer: Pointer) => boolean meshStreamSetBuffers: (assetLoad: Pointer, vertexBuffers: Pointer, indexBuffer: Pointer) => boolean meshStreamNext: (assetLoad: Pointer, numVertices: Pointer, numIndices: Pointer) => boolean meshStreamDone: (assetLoad: Pointer) => boolean meshLoadGetSerializedSize: (assetLoad: Pointer) => number textureGetMipmapLevelByteSize: (textureInfo: Pointer, level: number) => number textureGetMipmapLevelOffset: (textureInfo: Pointer, level: number) => number textureLoadGetInfo: (assetLoad: Pointer, textureInfo: Pointer) => void textureLoadGetData: (assetLoad: Pointer, buffer: Pointer) => boolean textureLoadGetSerializedSize: (assetLoad: Pointer) => number textureMetaDataLoadGetData: (assetLoad: Pointer, buffer: Pointer) => boolean textureMetaDataGetClassificationCount: (textureMetaData: Pointer, index: number) => number textureMetaDataGetClassification: (textureMetaData: Pointer, index: number, numClassifications: number) => number textureMetaDataGetClassificationAmount: (textureMetaData: Pointer, index: number, numClassifications: number) => number materialLoadGetInfo: (assetLoad: Pointer, materialInfo: Pointer) => void runtimeNextAssetUnload: (runtime: Pointer) => Pointer assetUnloadGetType: (assetUnload: Pointer) => Native.AssetType assetUnloadGetUserPointer: (assetUnload: Pointer) => UserPointer assetUnloadFinish: (assetUnload: Pointer) => void sendInternalMessage: (client: Pointer, message: Pointer) => boolean } export function wrapNativeFunctions(Module) { Object.assign(Module, { configInit: Module.cwrap('UmbraConfigInit', null, ['number']), clientCreate: Module.cwrap('UmbraClientCreate', 'number', ['string', 'number']), clientDestroy: Module.cwrap('UmbraClientDestroy', null, ['number']), getLibraryInfo: Module.cwrap('UmbraGetLibraryInfo', 'string', ['number']), environmentInfoDefaults: Module.cwrap('UmbraEnvironmentInfoDefaults', null, ['number']), runtimeCreate: Module.cwrap('UmbraRuntimeCreate', 'number', ['number', 'number', 'number']), runtimeUpdate: Module.cwrap('UmbraRuntimeUpdate', null, ['number']), runtimeGetStreamingState: Module.cwrap('UmbraRuntimeGetStreamingState', null, ['number', 'number']), runtimeDestroy: Module.cwrap('UmbraRuntimeDestroy', null, ['number']), sceneCreate: Module.cwrap('UmbraSceneCreate', 'number', ['number', 'string', 'string']), sceneCreatePublic: Module.cwrap('UmbraSceneCreatePublic', 'number', ['number', 'string']), sceneCreateLocal: Module.cwrap('UmbraSceneCreateLocal', 'number', ['number', 'string']), sceneGetConnectionStatus: Module.cwrap('UmbraSceneGetConnectionStatus', 'number', ['number']), sceneGetInfo: Module.cwrap('UmbraSceneGetInfo', 'number', ['number', 'number']), sceneSetTransform: Module.cwrap('UmbraSceneSetTransform', null, ['number', 'number']), sceneDestroy: Module.cwrap('UmbraSceneDestroy', null, ['number']), viewCreate: Module.cwrap('UmbraViewCreate', 'number', ['number']), viewUpdateRendering: Module.cwrap('UmbraViewUpdateRendering', null, ['number', 'number', 'number', 'number', 'number', 'number', 'number', 'number']), viewUpdateFilter: Module.cwrap('UmbraViewUpdateFilter', null, ['number', 'number']), viewGetCompleted: Module.cwrap('UmbraViewGetCompleted', 'number', ['number']), viewNextRenderables: Module.cwrap('UmbraViewNextRenderables', 'number', ['number', 'number', 'number']), viewResetRenderables: Module.cwrap('UmbraViewResetRenderables', null, ['number']), viewDestroy: Module.cwrap('UmbraViewDestroy', null, ['number']), viewRayQuery: Module.cwrap('UmbraViewRayQuery', 'number', ['number', 'number', 'number', 'number', 'number', 'number']), sceneCopyCreate: Module.cwrap('UmbraSceneCopyCreate', 'number', ['number', 'number', 'number', 'number', 'number']), sceneCopyGetStatus: Module.cwrap('UmbraSceneCopyGetStatus', 'number', ['number', 'number']), sceneCopyGetError: Module.cwrap('UmbraSceneCopyGetError', 'string', ['number']), sceneCopyDestroy: Module.cwrap('UmbraSceneCopyDestroy', null, ['number']), vertexAttributeGetElementByteSize: Module.cwrap('UmbraVertexAttributeGetElementByteSize', 'number', ['number']), runtimeNextAssetLoad: Module.cwrap('UmbraRuntimeNextAssetLoad', 'number', ['number']), assetLoadGetType: Module.cwrap('UmbraAssetLoadGetType', 'number', ['number']), assetLoadPrepare: Module.cwrap('UmbraAssetLoadPrepare', null, ['number', 'number']), assetLoadAbortRequested: Module.cwrap('UmbraAssetLoadAbortRequested', 'number', ['number']), assetLoadFinish: Module.cwrap('UmbraAssetLoadFinish', null, ['number', 'number']), meshLoadFinishExternal: Module.cwrap('UmbraMeshLoadFinishExternal', null, ['number', 'number', 'number', 'number']), meshLoadGetInfo: Module.cwrap('UmbraMeshLoadGetInfo', null, ['number', 'number']), meshLoadGetData: Module.cwrap('UmbraMeshLoadGetData', 'number', ['number', 'number', 'number']), meshStreamSetBuffers: Module.cwrap('UmbraMeshStreamSetBuffers', 'number', ['number', 'number', 'number']), meshStreamNext: Module.cwrap('UmbraMeshStreamNext', 'number', ['number', 'number', 'number']), meshStreamDone: Module.cwrap('UmbraMeshStreamDone', 'number', ['number']), meshLoadGetSerializedSize: Module.cwrap('UmbraMeshLoadGetSerializedSize', 'number', ['number']), textureGetMipmapLevelByteSize: Module.cwrap('UmbraTextureGetMipmapLevelByteSize', 'number', ['number', 'number']), textureGetMipmapLevelOffset: Module.cwrap('UmbraTextureGetMipmapLevelOffset', 'number', ['number', 'number']), textureLoadGetInfo: Module.cwrap('UmbraTextureLoadGetInfo', null, ['number', 'number']), textureLoadGetData: Module.cwrap('UmbraTextureLoadGetData', 'number', ['number', 'number']), textureLoadGetSerializedSize: Module.cwrap('UmbraTextureLoadGetSerializedSize', 'number', ['number']), textureMetaDataLoadGetData: Module.cwrap('UmbraTextureMetaDataLoadGetData', 'number', ['number', 'number']), textureMetaDataGetClassificationCount: Module.cwrap('UmbraTextureMetaDataGetClassificationCount', 'number', ['number', 'number']), textureMetaDataGetClassification: Module.cwrap('UmbraTextureMetaDataGetClassification', 'number', ['number', 'number', 'number']), textureMetaDataGetClassificationAmount: Module.cwrap('UmbraTextureMetaDataGetClassificationAmount', 'number', ['number', 'number', 'number']), materialLoadGetInfo: Module.cwrap('UmbraMaterialLoadGetInfo', null, ['number', 'number']), runtimeNextAssetUnload: Module.cwrap('UmbraRuntimeNextAssetUnload', 'number', ['number']), assetUnloadGetType: Module.cwrap('UmbraAssetUnloadGetType', 'number', ['number']), assetUnloadGetUserPointer: Module.cwrap('UmbraAssetUnloadGetUserPointer', 'number', ['number']), assetUnloadFinish: Module.cwrap('UmbraAssetUnloadFinish', null, ['number']), sendInternalMessage: Module.cwrap('UmbraSendInternalMessage', 'number', ['number', 'number']), } as UmbraFunctions) }