import * as THREE from 'three'; import { GeometryData, IPrimitiveData } from '@shapediver/viewer.shared.types'; import { IBox } from '@shapediver/viewer.shared.math'; import { RenderingEngine } from '../RenderingEngine'; import { ILoader } from '../interfaces/ILoader'; import { SDData } from '../objects/SDData'; export declare class GeometryLoader implements ILoader { private readonly _renderingEngine; private _primitiveCache; private _geometryCache; private _logger; private _gemSphericalMapsCache; private _gemNormalMaterial?; private _gemCubeCameraRenderTarget?; private _gemScene?; private _gemCubeCamera?; constructor(_renderingEngine: RenderingEngine); emptyGeometryCache(): void; init(): void; /** * Create a geometry object with the provided geometry data. * * @param geometry the geometry data * @returns the geometry object */ load(geometry: GeometryData, parent: SDData, newChild: boolean, skeleton?: THREE.Skeleton): IBox; loadPrimitive(primitive: IPrimitiveData): THREE.BufferGeometry; removeFromGeometryCache(id: string): void; removeFromGemSphericalMapsCache(id: string): void; removeFromPrimitiveCache(id: string): void; private checkNormals; private convertToTriangleMode; private createCubeNormalMap; private createMesh; private getAttributeName; private loadAttribute; } //# sourceMappingURL=GeometryLoader.d.ts.map