@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
TypeScript
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[];
}