UNPKG

@bitbybit-dev/occt-worker

Version:

Bit By Bit Developers CAD algorithms using OpenCascade Technology kernel adapted for WebWorker

31 lines (30 loc) 1.47 kB
import { OpenCascadeInstance } from "@bitbybit-dev/occt/bitbybit-dev-occt/bitbybit-dev-occt"; export declare class CacheHelper { private readonly occ; hashesFromPreviousRun: {}; usedHashes: {}; argCache: {}; constructor(occ: OpenCascadeInstance); cleanAllCache(): void; cleanCacheForHash(hash: string): void; cleanUpCache(): void; isOCCTObject(obj: any): boolean; /** Hashes input arguments and checks the cache for that hash. * It returns a copy of the cached object if it exists, but will * call the `cacheMiss()` callback otherwise. The result will be * added to the cache if `GUIState["Cache?"]` is true. */ cacheOp(args: any, cacheMiss: () => any): any; /** Returns the cached object if it exists and is valid, or null otherwise. */ checkCache(hash: string | number): any; /** Adds this `shape` to the cache, indexable by `hash`. */ addToCache(hash: string | number, shape: any): string | number; /** This function computes a 32-bit integer hash given a set of `arguments`. * If `raw` is true, the raw set of sanitized arguments will be returned instead. */ computeHash(args: any, raw?: boolean): number | string; /** This function converts a string to a 32bit integer. */ stringToHash(str: string): number; /** This function returns a version of the `inputArray` without the `objectToRemove`. */ remove(inputArray: any[], objectToRemove: any): any[]; }