@voxel-3d/docs
    Preparing search index...

    Interface IVoxel3D

    Voxel3D 클래스 interface

    interface IVoxel3D {
        state: ViewerState;
        isReady: boolean;
        isDisposed: boolean;
        renderer: WebGLRenderer | null;
        scene: Scene<Object3DEventMap> | null;
        camera: PerspectiveCamera | OrthographicCamera | null;
        container: HTMLElement | null;
        events: EventSystem<Voxel3DEvents>;
        errors: ErrorSystem;
        width: number;
        height: number;
        start(): void;
        stop(): void;
        render(): void;
        resize(width?: number, height?: number): void;
        setBackgroundColor(color: ColorRepresentation): void;
        getBackgroundColor(): Color | null;
        setGridSize(size: number): void;
        setAxesSize(size: number): void;
        setGridVisible(visible: boolean): void;
        setAxesVisible(visible: boolean): void;
        getSceneSettings(): SceneSettings;
        setSceneSettings(settings: Partial<SceneSettings>): void;
        applySceneTheme(theme: SceneTheme): void;
        setFOV(fov: number): void;
        upAxis: UpAxis;
        setUpAxis(axis: UpAxis): void;
        flipUpVector(): void;
        getProjectionMode(): ProjectionMode;
        setProjectionMode(mode: ProjectionMode): void;
        getNavigationMode(): NavigationMode;
        setNavigationMode(mode: NavigationMode): void;
        getMouseControlMode(): MouseControlMode;
        setMouseControlMode(mode: MouseControlMode): void;
        setView(view: StandardView, animate?: boolean): void;
        setUpVector(dir: UpVectorDir, animate?: boolean): void;
        fitToBounds(offset?: number): void;
        focusOnObject(object: Object3D, offset?: number): void;
        focusOnSelected(offset?: number): void;
        setAutoRotate(enabled: boolean): void;
        setAutoRotateSpeed(speed: number): void;
        setDampingFactor(factor: number): void;
        fixedUpVector: boolean;
        setFixedUpVector(fixed: boolean): void;
        getCanvas(): HTMLCanvasElement | null;
        takeScreenshot(type?: string, quality?: number): string | null;
        computeBVH(
            object: Object3D,
            filter?: (mesh: Mesh) => boolean,
        ): BVHStats | null;
        computeBVHAsync(
            object: Object3D,
            options?: {
                onProgress?: (progress: number) => void;
                filter?: (mesh: Mesh) => boolean;
            },
        ): Promise<BVHStats | null>;
        disposeBVH(object: Object3D): void;
        setBVHHelperVisible(visible: boolean): void;
        setBVHOptions(options: Partial<BVHOptions>): void;
        getBVHStats(): BVHStats | null;
        setSelectionEnabled(enabled: boolean): void;
        selectedObject: Object3D<Object3DEventMap> | null;
        deselect(): void;
        highlightObject(object: Object3D): void;
        unhighlightAll(): void;
        outlineEnabled: boolean;
        setOutlineEnabled(enabled: boolean): void;
        setOutlineColor(color: ColorRepresentation): void;
        setOutlineThickness(thickness: number): void;
        setOutlineStrength(strength: number): void;
        setOutlineGlow(glow: number): void;
        setHiddenEdgeColor(color: ColorRepresentation): void;
        setOutlinePulsePeriod(period: number): void;
        setFXAAEnabled(enabled: boolean): void;
        setAllLight(): void;
        clearAdditionalLights(): void;
        setRoomEnvironment(): void;
        loadHDR(url: string): Promise<void>;
        clearEnvironment(): void;
        setEnvironmentBackgroundVisible(visible: boolean): void;
        setEnvironmentIntensity(intensity: number): void;
        setBackgroundBlurriness(blurriness: number): void;
        setBackgroundIntensity(intensity: number): void;
        setMeasureMode(mode: MeasureMode): void;
        startMeasure(): void;
        cancelMeasure(): void;
        clearAllMeasures(): void;
        deleteMeasure(id: string): void;
        getMeasurements(): MeasurementData[];
        onMeasureComplete(callback: (data: MeasurementData) => void): void;
        exportMeasurements(): MeasurementExport;
        initMeshAnalysis(force?: boolean): Promise<void>;
        registerAnimationClips(object: Object3D, clips: AnimationClip[]): void;
        unregisterAnimationClips(object: Object3D): void;
        getAnimationClips(objectUuid?: string): AnimationClipInfo[];
        getAnimatedModels(): AnimatedModelInfo[];
        playAnimation(clipName?: string, objectUuid?: string): void;
        pauseAnimation(): void;
        stopAnimation(): void;
        seekAnimation(time: number): void;
        setAnimationSpeed(speed: number): void;
        setAnimationLoopMode(mode: AnimationLoopMode): void;
        setAnimationForceVisible(enabled: boolean): void;
        crossfadeAnimation(clipName: string, duration?: number): void;
        getAnimationState(): AnimationState | null;
        loadPLMXML(file: File): Promise<void>;
        playPLMXML(): void;
        pausePLMXML(): void;
        stopPLMXML(): void;
        seekPLMXMLToFrame(frame: number): void;
        seekPLMXMLToTime(time: number): void;
        setPLMXMLPlaybackSpeed(speed: number): void;
        setPLMXMLLoop(loop: boolean): void;
        switchPLMXMLSequence(index: number): void;
        getPLMXMLAnimationState(): PLMXMLAnimationState | null;
        getPLMXMLCurrentTransforms(): Map<string, InterpolatedTransform>;
        isPLMXMLPlaying(): boolean;
        getPLMXMLTotalDuration(): number;
        bindPLMXMLObjects(
            coordinateConversion?: "none" | "z-up-to-y-up" | "y-up",
            autoApply?: boolean,
        ): void;
        setAutoApplyPLMXMLTransforms(enabled: boolean): void;
        applyCurrentPLMXMLTransforms(): void;
        resetPLMXMLObjects(): void;
        unbindPLMXMLObjects(): void;
        createClippingPlane(axis: ClippingAxis): string;
        deleteClippingPlane(planeId: string): void;
        deleteAllClippingPlanes(): void;
        setClippingEnabled(enabled: boolean): void;
        isClippingEnabled(): boolean;
        setClippingMode(side: ClipSide): void;
        getClippingMode(): ClipSide;
        setClippingPlaneSide(planeId: string, side: ClipSide): void;
        getClippingPlaneSide(planeId: string): ClipSide | null;
        setClippingPlanePositionPercent(planeId: string, percent: number): void;
        getClippingPlanePositionPercent(planeId: string): number | null;
        setPlaneConstant(planeId: string, constant: number): void;
        setPlaneStep(planeId: string, step: number): void;
        setClippingPlaneFromFace(
            planeId: string,
            worldNormal: Vector3,
            worldPoint: Vector3,
        ): void;
        enterClippingAlignMode(planeId: string): void;
        exitClippingAlignMode(): void;
        getClippingAlignModePlaneId(): string | null;
        setClippingEdgeVisible(visible: boolean): void;
        setClippingEdgeColor(color: ColorRepresentation): void;
        setClippingEdgeLineWidth(width: number): void;
        isClippingEdgeVisible(): boolean;
        getClippingEdgeColor(): number;
        getClippingEdgeLineWidth(): number;
        setClippingEdgePreview(enabled: boolean): void;
        getClippingEdgePreview(): boolean;
        setClippingPreciseEdge(enabled: boolean): void;
        getClippingPreciseEdge(): boolean;
        setClippingTargetMesh(
            mesh:
                | Mesh<
                    BufferGeometry<NormalBufferAttributes, BufferGeometryEventMap>,
                    Material<MaterialEventMap> | Material<MaterialEventMap>[],
                    Object3DEventMap,
                >
                | null,
        ): void;
        setClippingTargetMeshes(
            meshes:
                | Mesh<
                    BufferGeometry<NormalBufferAttributes, BufferGeometryEventMap>,
                    Material<MaterialEventMap> | Material<MaterialEventMap>[],
                    Object3DEventMap,
                >[]
                | null,
        ): void;
        setClippingScope(nodeIds: string[] | null): void;
        getClippingTargetMesh(): | Mesh<
            BufferGeometry<NormalBufferAttributes, BufferGeometryEventMap>,
            Material<MaterialEventMap> | Material<MaterialEventMap>[],
            Object3DEventMap,
        >
        | null;
        setClippingGizmoVisible(visible: boolean): void;
        isClippingGizmoVisible(): boolean;
        setClippingBoundsVisible(visible: boolean): void;
        isClippingBoundsVisible(): boolean;
        setAllClippingUIVisible(visible: boolean): void;
        selectClippingGizmo(planeId: string): void;
        deselectClippingGizmo(): void;
        setClippingGizmoMode(mode: GizmoTransformMode): void;
        getClippingPlanes(): ClippingPlaneData[];
        createSectionBox(): void;
        setClippingSectionBox(min: Vector3, max: Vector3): void;
        setClippingSectionBoxEnabled(enabled: boolean): void;
        setClippingSectionBoxFace(face: SectionBoxFace, value: number): void;
        deleteClippingSectionBox(): void;
        getClippingSectionBox(): SectionBoxData | null;
        createClippingSlab(axisOrNormal: ClippingAxis | Vector3): void;
        setClippingSlabPosition(center: number): void;
        stepClippingSlab(delta: number): void;
        setClippingSlabThickness(thickness: number): void;
        setClippingSlabEnabled(enabled: boolean): void;
        deleteClippingSlab(): void;
        getClippingSlab(): SlabData | null;
        getClippingSnapshot(): ClippingSnapshot | null;
        restoreClippingSnapshot(snapshot: ClippingSnapshot): void;
        on<K extends keyof Voxel3DEvents>(
            event: K,
            callback: (data: Voxel3DEvents[K]) => void,
        ): () => void;
        sceneGraph: ISceneGraphManager;
        registerModel(rootObject: Object3D, modelName: string): string;
        registerSceneNode(options: RegisterNodeOptions): string;
        deleteSceneNode(nodeId: string): void;
        setSceneNodeVisible(nodeId: string, visible: boolean): void;
        logSceneGraph(): void;
        importJsonTree(
            jsonOrUrl: string | JsonTreeNode,
            basePath: string,
        ): Promise<string>;
        loadCheckedModels(): Promise<void>;
        hasFolder: boolean;
        folderName: string | null;
        pickFolder(): Promise<boolean>;
        loadFiles(files: FileList): Promise<ImportResult[]>;
        loadUrl(url: string): Promise<ImportResult>;
        loadNodeById(nodeId: string): Promise<void>;
        clearImportResources(): void;
        getMissingTextures(): MissingTextureEntry[];
        resolveMissingTextures(
            files: FileList | File[],
        ): Promise<MissingTextureResolveResult>;
        clearMissingTextures(): void;
        clearModelCache(): Promise<boolean>;
        getModelCacheStats(): ModelCacheStats | null;
        setImportFileOverlap(enabled: boolean): void;
        getImportFileOverlap(): boolean;
        setImportBinCacheInject(enabled: boolean): void;
        getImportBinCacheInject(): boolean;
        setImportWorkerParse(enabled: boolean): void;
        getImportWorkerParse(): boolean;
        setImportWorkerParseVerify(enabled: boolean): void;
        getImportWorkerParseVerify(): boolean;
        setImportWorkerLoadPoC(enabled: boolean): void;
        getImportWorkerLoadPoC(): boolean;
        setImportRenderSuppression(enabled: boolean): void;
        getImportRenderSuppression(): boolean;
        getSceneAddMode(): SceneAddMode;
        setSceneAddMode(mode: SceneAddMode): void;
        batchRenderingEnabled: boolean;
        enableBatchRendering(batchSize?: number): void;
        disableBatchRendering(): void;
        flushBatchRender(): void;
        getBatchRenderStats(): | {
            queueSize: number;
            totalRendered: number;
            totalBatches: number;
        }
        | null;
        isBatchedRenderingEnabled(): boolean;
        setBatchedRendering(enabled: boolean): void;
        transformEnabled: boolean;
        enableTransform(): void;
        disableTransform(): void;
        resetTransform(): void;
        setTransformSpace(space: TransformSpace): void;
        setTransformTarget(object: Object3D<Object3DEventMap> | null): void;
        undoTransform(): void;
        redoTransform(): void;
        setTransformSnap(
            snap: {
                translation?: number | null;
                rotation?: number | null;
                scale?: number | null;
            },
        ): void;
        setTransformGizmoVisible(visible: boolean): void;
        isTransformGizmoVisible(): boolean;
        selectMaterialTarget(mesh: Mesh): void;
        deselectMaterialTarget(): void;
        setMaterialColor(color: Color): void;
        setMaterialRoughness(roughness: number, recordHistory?: boolean): void;
        setMaterialMetalness(metalness: number, recordHistory?: boolean): void;
        setMaterialEnvMapIntensity(
            intensity: number,
            recordHistory?: boolean,
        ): void;
        adjustMaterialHSL(
            adjustments: { hue?: number; saturation?: number; brightness?: number },
            recordHistory?: boolean,
        ): void;
        resetMaterial(): void;
        undoMaterial(): boolean;
        redoMaterial(): boolean;
        selectTextureTarget(mesh: Mesh): void;
        deselectTextureTarget(): void;
        loadTextureFromFile(
            slot: TextureSlot,
            file: File,
        ): Promise<TextureInfo | null>;
        loadTextureFromUrl(
            slot: TextureSlot,
            url: string,
        ): Promise<TextureInfo | null>;
        removeTexture(slot: TextureSlot): void;
        setTextureUVSettings(
            slot: TextureSlot,
            settings: Partial<TextureUVSettings>,
        ): void;
        resetTextureUVSettings(slot: TextureSlot): void;
        setTextureFilterSettings(
            slot: TextureSlot,
            settings: Partial<TextureFilterSettings>,
        ): void;
        getTextureInfo(slot: TextureSlot): TextureInfo | null;
        availableTextureSlots: TextureSlotInfo[];
        currentTextureState: TextureState | null;
        setViewCubeVisible(visible: boolean): void;
        setViewCubeEnabled(enabled: boolean): void;
        setViewCubeCorner(corner: ViewCubeCorner): void;
        setViewCubeSize(size: number): void;
        setViewCubeFaceLabels(labels: Partial<ViewCubeFaceLabels>): void;
        setViewCubeOffset(offsetX: number, offsetY: number): void;
        setViewCubeColors(colors: ViewCubeColorOptions): void;
        setMarkupEnabled(enabled: boolean): void;
        isMarkupEnabled(): boolean;
        enterMarkupAddMode(type: MarkupType): void;
        exitMarkupAddMode(): void;
        getMarkupAddMode(): MarkupAddMode;
        selectMarkup(markupId: string): void;
        deselectMarkup(): void;
        selectedMarkup: { id: string; type: MarkupType } | null;
        deleteMarkup(markupId: string): boolean;
        deleteAllMarkups(): void;
        getMarkupList(type?: MarkupType): MarkupListItem[];
        getMarkupData(markupId: string): MarkupData | null;
        markupCount: number;
        subscribeToLogs(handler: LogHandler): () => void;
        getLogHistory(filter?: LogHistoryFilter): LogEntry[];
        setAnalyticsHandler(handler: AnalyticsHandler | null): void;
        createSnapshot(name: string, description?: string): SnapshotData;
        applySnapshot(id: string): boolean;
        deleteSnapshot(id: string): boolean;
        updateSnapshot(
            id: string,
            updates: { name?: string; description?: string },
        ): boolean;
        getSnapshots(): readonly SnapshotData[];
        getCurrentSnapshotId(): string | null;
        exportSnapshotSession(): SnapshotSessionData;
        importSnapshotSession(data: SnapshotSessionData): boolean;
        clearSnapshotSession(): void;
        getPerformanceReport(): PerformanceReport;
        printPerformanceReport(): void;
        getImportReport(): ImportReport | null;
        getImportPerformanceReport(): ImportPerformanceReport | null;
        printImportReport(): string;
        printImportProfile(): string;
        benchRender(durationSec?: number): Promise<string>;
        dispose(): void;
    }

    Implemented by

    Index

    Methods

    start stop render resize setBackgroundColor getBackgroundColor setGridSize setAxesSize setGridVisible setAxesVisible getSceneSettings setSceneSettings applySceneTheme setFOV setUpAxis flipUpVector getProjectionMode setProjectionMode getNavigationMode setNavigationMode getMouseControlMode setMouseControlMode setView setUpVector fitToBounds focusOnObject focusOnSelected setAutoRotate setAutoRotateSpeed setDampingFactor setFixedUpVector getCanvas takeScreenshot computeBVH computeBVHAsync disposeBVH setBVHHelperVisible setBVHOptions getBVHStats setSelectionEnabled deselect highlightObject unhighlightAll setOutlineEnabled setOutlineColor setOutlineThickness setOutlineStrength setOutlineGlow setHiddenEdgeColor setOutlinePulsePeriod setFXAAEnabled setAllLight clearAdditionalLights setRoomEnvironment loadHDR clearEnvironment setEnvironmentBackgroundVisible setEnvironmentIntensity setBackgroundBlurriness setBackgroundIntensity setMeasureMode startMeasure cancelMeasure clearAllMeasures deleteMeasure getMeasurements onMeasureComplete exportMeasurements initMeshAnalysis registerAnimationClips unregisterAnimationClips getAnimationClips getAnimatedModels playAnimation pauseAnimation stopAnimation seekAnimation setAnimationSpeed setAnimationLoopMode setAnimationForceVisible crossfadeAnimation getAnimationState loadPLMXML playPLMXML pausePLMXML stopPLMXML seekPLMXMLToFrame seekPLMXMLToTime setPLMXMLPlaybackSpeed setPLMXMLLoop switchPLMXMLSequence getPLMXMLAnimationState getPLMXMLCurrentTransforms isPLMXMLPlaying getPLMXMLTotalDuration bindPLMXMLObjects setAutoApplyPLMXMLTransforms applyCurrentPLMXMLTransforms resetPLMXMLObjects unbindPLMXMLObjects createClippingPlane deleteClippingPlane deleteAllClippingPlanes setClippingEnabled isClippingEnabled setClippingMode getClippingMode setClippingPlaneSide getClippingPlaneSide setClippingPlanePositionPercent getClippingPlanePositionPercent setPlaneConstant setPlaneStep setClippingPlaneFromFace enterClippingAlignMode exitClippingAlignMode getClippingAlignModePlaneId setClippingEdgeVisible setClippingEdgeColor setClippingEdgeLineWidth isClippingEdgeVisible getClippingEdgeColor getClippingEdgeLineWidth setClippingEdgePreview getClippingEdgePreview setClippingPreciseEdge getClippingPreciseEdge setClippingTargetMesh setClippingTargetMeshes setClippingScope getClippingTargetMesh setClippingGizmoVisible isClippingGizmoVisible setClippingBoundsVisible isClippingBoundsVisible setAllClippingUIVisible selectClippingGizmo deselectClippingGizmo setClippingGizmoMode getClippingPlanes createSectionBox setClippingSectionBox setClippingSectionBoxEnabled setClippingSectionBoxFace deleteClippingSectionBox getClippingSectionBox createClippingSlab setClippingSlabPosition stepClippingSlab setClippingSlabThickness setClippingSlabEnabled deleteClippingSlab getClippingSlab getClippingSnapshot restoreClippingSnapshot on registerModel registerSceneNode deleteSceneNode setSceneNodeVisible logSceneGraph importJsonTree loadCheckedModels pickFolder loadFiles loadUrl loadNodeById clearImportResources getMissingTextures resolveMissingTextures clearMissingTextures clearModelCache getModelCacheStats setImportFileOverlap getImportFileOverlap setImportBinCacheInject getImportBinCacheInject setImportWorkerParse getImportWorkerParse setImportWorkerParseVerify getImportWorkerParseVerify setImportWorkerLoadPoC getImportWorkerLoadPoC setImportRenderSuppression getImportRenderSuppression getSceneAddMode setSceneAddMode enableBatchRendering disableBatchRendering flushBatchRender getBatchRenderStats isBatchedRenderingEnabled setBatchedRendering enableTransform disableTransform resetTransform setTransformSpace setTransformTarget undoTransform redoTransform setTransformSnap setTransformGizmoVisible isTransformGizmoVisible selectMaterialTarget deselectMaterialTarget setMaterialColor setMaterialRoughness setMaterialMetalness setMaterialEnvMapIntensity adjustMaterialHSL resetMaterial undoMaterial redoMaterial selectTextureTarget deselectTextureTarget loadTextureFromFile loadTextureFromUrl removeTexture setTextureUVSettings resetTextureUVSettings setTextureFilterSettings getTextureInfo setViewCubeVisible setViewCubeEnabled setViewCubeCorner setViewCubeSize setViewCubeFaceLabels setViewCubeOffset setViewCubeColors setMarkupEnabled isMarkupEnabled enterMarkupAddMode exitMarkupAddMode getMarkupAddMode selectMarkup deselectMarkup deleteMarkup deleteAllMarkups getMarkupList getMarkupData subscribeToLogs getLogHistory setAnalyticsHandler createSnapshot applySnapshot deleteSnapshot updateSnapshot getSnapshots getCurrentSnapshotId exportSnapshotSession importSnapshotSession clearSnapshotSession getPerformanceReport printPerformanceReport getImportReport getImportPerformanceReport printImportReport printImportProfile benchRender dispose

    Properties

    Methods

    • Returns void

    • Returns void

    • Returns void

    • Parameters

      • Optionalwidth: number
      • Optionalheight: number

      Returns void

    • Parameters

      • color: ColorRepresentation

      Returns void

    • Returns Color | null

    • 그리드 크기 설정

      Parameters

      • size: number

      Returns void

    • 축 헬퍼 크기 설정

      Parameters

      • size: number

      Returns void

    • 그리드 표시/숨김 설정

      Parameters

      • visible: boolean

      Returns void

    • 축 헬퍼 표시/숨김 설정

      Parameters

      • visible: boolean

      Returns void

    • 현재 Scene 설정 조회

      Returns SceneSettings

    • Scene 설정 일괄 적용

      Parameters

      • settings: Partial<SceneSettings>

      Returns void

    • 테마 프리셋 적용

      Parameters

      • theme: SceneTheme

      Returns void

    • 카메라 FOV 설정

      Parameters

      • fov: number

      Returns void

    • Up 축 방향 설정

      Parameters

      • axis: UpAxis

        Up 축 ('y' 또는 'z')

      Returns void

    • Up 벡터 반전

      Returns void

    • 현재 카메라 투영 모드 조회

      Returns ProjectionMode

      현재 투영 모드

    • 카메라 투영 모드 전환 (perspective/orthographic)

      Parameters

      • mode: ProjectionMode

        대상 투영 모드

      Returns void

    • 현재 내비게이션 모드 조회

      Returns NavigationMode

      현재 내비게이션 모드

    • 내비게이션 모드 전환 (turntable/trackball)

      Parameters

      • mode: NavigationMode

        대상 내비게이션 모드

      Returns void

    • 현재 마우스 컨트롤 모드 조회

      Returns MouseControlMode

      현재 마우스 컨트롤 모드

    • 마우스 버튼 매핑 프리셋 전환 (default/catia)

      Parameters

      • mode: MouseControlMode

        대상 마우스 컨트롤 모드

      Returns void

    • 표준 뷰로 카메라 이동

      Parameters

      • view: StandardView

        표준 뷰 식별자

      • Optionalanimate: boolean

        (선택적) 전환 애니메이션 여부 (기본: true)

      Returns void

    • 카메라 Up 벡터를 부호 있는 월드 축으로 설정

      Parameters

      • dir: UpVectorDir

        Up 벡터 방향

      • Optionalanimate: boolean

        (선택적) 재정렬 애니메이션 여부 (기본: true)

      Returns void

    • 씬 내 모든 모델에 카메라를 맞춤

      Parameters

      • Optionaloffset: number

        (선택적) 여백 배수 (기본: 1.5)

      Returns void

    • 특정 오브젝트에 카메라를 포커싱

      Parameters

      • object: Object3D

        대상 오브젝트

      • Optionaloffset: number

        (선택적) 여백 배수 (기본: 1.5)

      Returns void

    • 현재 선택된 오브젝트에 카메라를 포커싱

      Parameters

      • Optionaloffset: number

        (선택적) 여백 배수 (기본: 1.5)

      Returns void

    • 자동 회전 설정

      Parameters

      • enabled: boolean

      Returns void

    • 자동 회전 속도 설정

      Parameters

      • speed: number

      Returns void

    • 댐핑 팩터 설정

      Parameters

      • factor: number

      Returns void

    • Up 벡터 고정 설정

      Parameters

      • fixed: boolean

        true이면 카메라 뒤집힘 방지, false이면 자유 회전

      Returns void

    • Returns HTMLCanvasElement | null

    • Parameters

      • Optionaltype: string
      • Optionalquality: number

      Returns string | null

    • Parameters

      • object: Object3D
      • Optionalfilter: (mesh: Mesh) => boolean

      Returns BVHStats | null

    • Parameters

      • object: Object3D
      • Optionaloptions: { onProgress?: (progress: number) => void; filter?: (mesh: Mesh) => boolean }

      Returns Promise<BVHStats | null>

    • Parameters

      • object: Object3D

      Returns void

    • Parameters

      • visible: boolean

      Returns void

    • Parameters

      • options: Partial<BVHOptions>

      Returns void

    • Returns BVHStats | null

    • 선택 활성화/비활성화

      Parameters

      • enabled: boolean

      Returns void

    • 선택 해제

      Returns void

    • 오브젝트 하이라이트

      Parameters

      • object: Object3D

      Returns void

    • 하이라이트 해제

      Returns void

    • 외곽선 활성화/비활성화

      Parameters

      • enabled: boolean

      Returns void

    • 외곽선 색상 설정

      Parameters

      • color: ColorRepresentation

      Returns void

    • 외곽선 두께 설정

      Parameters

      • thickness: number

      Returns void

    • 외곽선 강도 설정

      Parameters

      • strength: number

      Returns void

    • 외곽선 글로우 설정

      Parameters

      • glow: number

      Returns void

    • 숨겨진 외곽선 색상 설정

      Parameters

      • color: ColorRepresentation

      Returns void

    • 외곽선 펄스 주기 설정

      Parameters

      • period: number

      Returns void

    • FXAA 안티앨리어싱 활성화 설정

      Parameters

      • enabled: boolean

      Returns void

    • 전체 조명 설정

      Returns void

    • 추가 조명 제거

      Returns void

    • RoomEnvironment 프리셋 적용

      Returns void

    • 외부 HDR 파일 로드

      Parameters

      • url: string

      Returns Promise<void>

    • 환경맵 제거

      Returns void

    • 환경맵을 배경으로 표시할지 설정

      Parameters

      • visible: boolean

      Returns void

    • 환경맵 강도 설정

      Parameters

      • intensity: number

      Returns void

    • 배경 블러 정도 설정

      Parameters

      • blurriness: number

      Returns void

    • 배경 강도 설정

      Parameters

      • intensity: number

      Returns void

    • 측정 모드 설정

      Parameters

      Returns void

    • 측정 시작

      Returns void

    • 측정 취소

      Returns void

    • 모든 측정 삭제

      Returns void

    • 특정 측정 삭제

      Parameters

      • id: string

      Returns void

    • 측정 완료 콜백 등록

      Parameters

      Returns void

    • 호/원 측정을 위한 mesh 분석 초기화 (임포트 시 자동 시작, force로 재실행)

      Parameters

      • Optionalforce: boolean

      Returns Promise<void>

    • 애니메이션 클립 등록

      Parameters

      • object: Object3D
      • clips: AnimationClip[]

      Returns void

    • 애니메이션 클립 등록 해제

      Parameters

      • object: Object3D

      Returns void

    • 사용 가능한 애니메이션 클립 목록

      Parameters

      • OptionalobjectUuid: string

      Returns AnimationClipInfo[]

    • 애니메이션 재생

      Parameters

      • OptionalclipName: string
      • OptionalobjectUuid: string

      Returns void

    • 애니메이션 일시정지

      Returns void

    • 애니메이션 정지

      Returns void

    • 애니메이션 특정 시간으로 이동

      Parameters

      • time: number

      Returns void

    • 애니메이션 재생 속도 설정

      Parameters

      • speed: number

      Returns void

    • 애니메이션 루프 모드 설정

      Parameters

      Returns void

    • 애니메이션 재생 중 보이지 않는 오브젝트 강제 표시 설정

      Parameters

      • enabled: boolean

      Returns void

    • 다른 애니메이션으로 crossfade 전환

      Parameters

      • clipName: string
      • Optionalduration: number

      Returns void

    • PLMXML 파일 로드

      Parameters

      • file: File

      Returns Promise<void>

    • PLMXML 애니메이션 재생

      Returns void

    • PLMXML 애니메이션 일시정지

      Returns void

    • PLMXML 애니메이션 정지

      Returns void

    • PLMXML 특정 프레임으로 이동

      Parameters

      • frame: number

      Returns void

    • PLMXML 특정 시간으로 이동

      Parameters

      • time: number

      Returns void

    • PLMXML 재생 속도 설정

      Parameters

      • speed: number

      Returns void

    • PLMXML 루프 설정

      Parameters

      • loop: boolean

      Returns void

    • PLMXML 시퀀스 전환

      Parameters

      • index: number

      Returns void

    • PLMXML 애니메이션 상태 반환

      Returns PLMXMLAnimationState | null

    • PLMXML 현재 transform 값들 반환

      Returns Map<string, InterpolatedTransform>

    • PLMXML 재생 중 여부

      Returns boolean

    • PLMXML 총 재생 시간 반환

      Returns number

    • PLMXML 오브젝트 바인딩 (autoApply=true면 자동 transform 적용도 활성화)

      Parameters

      • OptionalcoordinateConversion: "none" | "z-up-to-y-up" | "y-up"
      • OptionalautoApply: boolean

      Returns void

    • PLMXML 자동 transform 적용 설정

      Parameters

      • enabled: boolean

      Returns void

    • PLMXML 현재 transform 수동 적용

      Returns void

    • PLMXML 바인딩된 오브젝트 리셋

      Returns void

    • PLMXML 오브젝트 바인딩 해제

      Returns void

    • 클리핑 플레인 생성

      Parameters

      Returns string

    • 클리핑 플레인 삭제

      Parameters

      • planeId: string

      Returns void

    • 모든 클리핑 플레인 삭제

      Returns void

    • 클리핑 활성화/비활성화

      Parameters

      • enabled: boolean

      Returns void

    • 클리핑 활성화 여부 조회

      Returns boolean

    • 전체 클리핑 모드 설정 (far/near/both, 모든 평면 일괄 적용)

      Parameters

      Returns void

    • 전체 클리핑 모드 조회

      Returns ClipSide

    • 특정 평면 절단 방향 설정 (far/near/both)

      Parameters

      Returns void

    • 특정 평면 절단 방향 조회 (평면이 없으면 null)

      Parameters

      • planeId: string

      Returns ClipSide | null

    • 평면 위치 퍼센트 설정 (normal 투영 범위 기준 0~100)

      Parameters

      • planeId: string
      • percent: number

      Returns void

    • 평면 위치 퍼센트 조회 (평면 또는 모델 경계가 없으면 null)

      Parameters

      • planeId: string

      Returns number | null

    • 플레인 constant 설정

      Parameters

      • planeId: string
      • constant: number

      Returns void

    • 평면 constant를 현재값에서 step만큼 증분 (bounds 클램프 적용)

      Parameters

      • planeId: string
      • step: number

      Returns void

    • 평면 normal/constant를 지정한 월드 면(법선+점)에 스냅 (프로그램적 정렬)

      Parameters

      • planeId: string
      • worldNormal: Vector3
      • worldPoint: Vector3

      Returns void

    • 평면의 1회성 면 정렬 모드 진입 (다음 모델 클릭이 평면을 그 면에 스냅)

      Parameters

      • planeId: string

      Returns void

    • 면 정렬 모드 종료 (커서 복원, 레이어 잠금 해제)

      Returns void

    • 면 정렬 모드 대상 플레인 ID 조회 (null이면 비활성)

      Returns string | null

    • 교차선 표시 설정

      Parameters

      • visible: boolean

      Returns void

    • 교차선 색상 설정

      Parameters

      • color: ColorRepresentation

      Returns void

    • 교차선 굵기 설정

      Parameters

      • width: number

      Returns void

    • 교차선 표시 여부 조회

      Returns boolean

    • 교차선 색상 조회 (hex)

      Returns number

    • 교차선 굵기 조회

      Returns number

    • 드래그 중 GPU 셰이더 엣지 프리뷰 사용 여부 설정 (기본: true)

      Parameters

      • enabled: boolean

      Returns void

      셰이더 상시 엣지가 기본 표현이 되어 기본 경로에는 효과가 없습니다. 정밀 엣지 모드(setClippingPreciseEdge)에서만 동작합니다.

    • 드래그 중 GPU 셰이더 엣지 프리뷰 사용 여부 조회

      Returns boolean

      정밀 엣지 모드에서만 의미가 있습니다.

    • 정밀 엣지 모드(BVH 지오메트리 라인) 설정 (기본: false — 셰이더 상시 엣지 사용)

      Parameters

      • enabled: boolean

      Returns void

    • 정밀 엣지 모드(BVH 지오메트리 라인) 사용 여부 조회

      Returns boolean

    • 클리핑 대상 메시 설정 (null이면 전체 모델)

      Parameters

      • mesh:
            | Mesh<
                BufferGeometry<NormalBufferAttributes, BufferGeometryEventMap>,
                Material<MaterialEventMap> | Material<MaterialEventMap>[],
                Object3DEventMap,
            >
            | null

      Returns void

    • 클리핑 대상 메시 다중 설정 (null이나 빈 배열이면 전체 모델)

      Parameters

      • meshes:
            | Mesh<
                BufferGeometry<NormalBufferAttributes, BufferGeometryEventMap>,
                Material<MaterialEventMap> | Material<MaterialEventMap>[],
                Object3DEventMap,
            >[]
            | null

      Returns void

    • 트리 노드 id 집합으로 클립 대상 스코프 설정 (null이나 빈 배열이면 전체 모델)

      Parameters

      • nodeIds: string[] | null

      Returns void

    • 현재 클리핑 대상 메시 반환 (단일 대상일 때만, 다중/전체면 null)

      Returns
          | Mesh<
              BufferGeometry<NormalBufferAttributes, BufferGeometryEventMap>,
              Material<MaterialEventMap> | Material<MaterialEventMap>[],
              Object3DEventMap,
          >
          | null

    • Gizmo 표시 설정

      Parameters

      • visible: boolean

      Returns void

    • Gizmo 표시 여부 조회

      Returns boolean

    • 바운딩박스 헬퍼 표시 설정

      Parameters

      • visible: boolean

      Returns void

    • 바운딩박스 헬퍼 표시 여부 조회

      Returns boolean

    • 모든 클리핑 UI(기즈모, 교차 단면 헬퍼, 바운딩박스 헬퍼) 일괄 표시/숨김

      Parameters

      • visible: boolean

      Returns void

      캡처(스냅샷/썸네일) 시 숨김→캡처→복원 흐름용. 이전 상태를 백업하지 않으므로 복원이 필요하면 isClippingGizmoVisible()/isClippingBoundsVisible()를 미리 조회하세요.

    • 기즈모 선택

      Parameters

      • planeId: string

      Returns void

    • 모든 기즈모 선택 해제

      Returns void

    • 기즈모 변환 모드 설정 (translate / rotate)

      Parameters

      Returns void

    • 섹션 박스 생성/재맞춤 후 활성화 (모델 바운드 기준, 마스터 클리핑 자동 활성)

      Returns void

    • 섹션 박스를 명시적 min/max 영역으로 설정 (없으면 생성, 활성 상태 유지)

      Parameters

      • min: Vector3
      • max: Vector3

      Returns void

    • 섹션 박스 클립 활성/비활성 (박스 없으면 바운드로 자동 생성)

      Parameters

      • enabled: boolean

      Returns void

    • 섹션 박스의 한 면을 새 좌표값으로 이동

      Parameters

      • face: SectionBoxFace
      • value: number

      Returns void

    • 섹션 박스 삭제 (헬퍼 제거 + 클립 비활성)

      Returns void

    • 현재 섹션 박스 상태 반환 (박스 없으면 null)

      Returns SectionBoxData | null

    • 얇은 슬랩 생성/재정렬 후 활성화 (축 또는 임의 법선, 마스터 클리핑 자동 활성)

      Parameters

      Returns void

    • 슬랩 중심 위치를 법선 방향으로 설정 (n·p 값)

      Parameters

      • center: number

      Returns void

    • 슬랩을 법선 방향으로 부호 있는 증분만큼 스캔 이동 (position += delta)

      Parameters

      • delta: number

      Returns void

    • 슬랩 두께 설정 (작은 양의 최소값으로 클램프)

      Parameters

      • thickness: number

      Returns void

    • 슬랩 클립 활성/비활성 (슬랩 없으면 X축 슬랩으로 자동 생성)

      Parameters

      • enabled: boolean

      Returns void

    • 슬랩 삭제 (클립 비활성 + 상태 초기화)

      Returns void

    • 현재 슬랩 상태 반환 (슬랩 없으면 null)

      Returns SlabData | null

    • 전체 클리핑 상태 스냅샷 직렬화 (순수 JSON, 미초기화 시 null)

      Returns ClippingSnapshot | null

    • 스냅샷으로 클리핑 상태 복원

      Parameters

      • snapshot: ClippingSnapshot

      Returns void

    • 이벤트 구독

      Type Parameters

      Parameters

      • event: K

        이벤트 이름

      • callback: (data: Voxel3DEvents[K]) => void

        콜백 함수

      Returns () => void

      구독 해제 함수

    • 모델 계층 구조를 SceneGraph에 등록

      Parameters

      • rootObject: Object3D

        루트 Object3D

      • modelName: string

        모델 이름

      Returns string

      생성된 루트 노드 ID

    • SceneGraph에 노드 등록

      Parameters

      Returns string

      생성된 노드 ID

    • SceneGraph에서 노드 삭제

      Parameters

      • nodeId: string

        노드 ID

      Returns void

    • SceneGraph 노드 visible 설정

      Parameters

      • nodeId: string

        노드 ID

      • visible: boolean

        visible 여부

      Returns void

    • SceneGraph 트리를 콘솔에 출력

      Returns void

    • JSON 트리 구조를 import

      Parameters

      • jsonOrUrl: string | JsonTreeNode

        JSON 객체 또는 JSON 파일 URL

      • basePath: string

        GLTF 파일의 기본 경로

      Returns Promise<string>

      생성된 루트 노드 ID

    • 체크된 노드 중 미로드된 모델들을 일괄 로드

      Returns Promise<void>

      로드 결과

    • GLTF 폴더 선택 (File System Access API)

      Returns Promise<boolean>

      선택 성공 여부

    • 파일 목록 로드 (3D 모델 또는 JSON 트리)

      Parameters

      • files: FileList

        FileList 객체

      Returns Promise<ImportResult[]>

      로드 결과 배열

    • URL에서 모델 로드

      Parameters

      • url: string

        모델 URL

      Returns Promise<ImportResult>

      로드 결과

    • 특정 노드 로드 (JSON 트리에서 filePath 기반)

      Parameters

      • nodeId: string

        노드 ID

      Returns Promise<void>

      로드 완료 시 resolve

    • Import 리소스 정리 (Blob URL 해제 등)

      Returns void

      누락 텍스처 목록도 함께 비웁니다.

    • Returns textures the loaded model declares but whose files were not supplied. 로드된 모델이 선언했으나 파일이 제공되지 않은 텍스처 목록을 반환합니다.

      Returns MissingTextureEntry[]

      Snapshot array of missing entries; empty when nothing is missing 누락 항목 스냅샷 배열. 누락이 없으면 빈 배열

    • Fills missing texture slots by matching supplied image files on file name. 제공된 이미지 파일을 파일명으로 매칭하여 누락 텍스처 슬롯을 채웁니다.

      Parameters

      • files: FileList | File[]

        Image files (File[] or FileList). Matching is by basename, case-insensitive. Extra files are ignored. 이미지 파일. 매칭은 basename 기준 대소문자 무시. 여분 파일은 무시됩니다

      Returns Promise<MissingTextureResolveResult>

      Promise resolving with which entries were resolved and which remain 어떤 항목이 해결되고 어떤 항목이 남았는지로 resolve되는 Promise

      The model is never reparsed, so camera / selection / measurement state is preserved. Partial resolution is supported. 모델을 재파싱하지 않으므로 카메라/선택/측정 상태가 보존됩니다. 부분 해결을 지원합니다.

    • Clears the missing texture list without filling any slot. 슬롯을 채우지 않고 누락 텍스처 목록을 비웁니다.

      Returns void

    • Clears the model cache. 모델 캐시를 초기화합니다.

      Returns Promise<boolean>

      Whether clear succeeded 초기화 성공 여부

    • Returns model cache statistics. 모델 캐시 통계를 반환합니다.

      Returns ModelCacheStats | null

      Cache statistics or null if cache is not available 캐시 통계 또는 null (캐시 미사용 시)

    • Enables or disables the file-overlap optimization path used during GLTF import. GLTF 임포트 시 사용되는 파일 오버랩 최적화 경로를 켜거나 끕니다.

      Parameters

      • enabled: boolean

        Whether to enable the overlap optimization path 오버랩 최적화 경로 활성화 여부

      Returns void

    • Returns whether the GLTF import file-overlap optimization path is enabled. GLTF 임포트 파일 오버랩 최적화 경로의 활성화 여부를 반환합니다.

      Returns boolean

      true if enabled, otherwise false (defaults to true when importer is absent) 활성화되어 있으면 true, 아니면 false (임포터 미초기화 시 기본값 true)

    • Enables or disables the BIN cache injection path used during GLTF import. GLTF 임포트 시 사용되는 BIN 캐시 주입 경로를 켜거나 끕니다.

      Parameters

      • enabled: boolean

        Whether to enable the BIN cache injection path BIN 캐시 주입 경로 활성화 여부

      Returns void

    • Returns whether the GLTF import BIN cache injection path is enabled. GLTF 임포트 BIN 캐시 주입 경로의 활성화 여부를 반환합니다.

      Returns boolean

      true if enabled, otherwise false (defaults to true when importer is absent) 활성화되어 있으면 true, 아니면 false (임포터 미초기화 시 기본값 true)

    • Enables or disables worker-based GLTF parsing used during import. 임포트 시 사용되는 Worker 기반 GLTF 파싱을 켜거나 끕니다.

      Parameters

      • enabled: boolean

        Whether to enable worker-based GLTF parsing Worker 기반 GLTF 파싱 활성화 여부

      Returns void

    • Returns whether worker-based GLTF parsing for import is enabled. 임포트 시 Worker 기반 GLTF 파싱의 활성화 여부를 반환합니다.

      Returns boolean

      true if enabled, otherwise false (defaults to true when importer is absent) 활성화되어 있으면 true, 아니면 false (임포터 미초기화 시 기본값 true)

    • Enables or disables the worker/main-thread 1:1 parse comparison mode. worker/메인스레드 1:1 파싱 비교 모드를 켜거나 끕니다.

      Parameters

      • enabled: boolean

        Whether to enable the parse comparison mode 파싱 비교 모드 활성화 여부

      Returns void

    • Returns whether the worker/main-thread parse comparison mode is enabled. worker/메인스레드 파싱 비교 모드의 활성화 여부를 반환합니다.

      Returns boolean

      true if enabled, otherwise false (defaults to false when importer is absent) 활성화되어 있으면 true, 아니면 false (임포터 미초기화 시 기본값 false)

    • Enables or disables the worker-loading PoC decode path used during import. 임포트 시 사용되는 워커 로딩 PoC 디코드 경로를 켜거나 끕니다.

      Parameters

      • enabled: boolean

        Whether to enable the worker-loading PoC decode path 워커 로딩 PoC 디코드 경로 활성화 여부

      Returns void

    • Returns whether the worker-loading PoC decode path for import is enabled. 임포트 시 워커 로딩 PoC 디코드 경로의 활성화 여부를 반환합니다.

      Returns boolean

      true if enabled, otherwise false (defaults to false when importer is absent) 활성화되어 있으면 true, 아니면 false (임포터 미초기화 시 기본값 false)

    • Enables or disables render suppression while a model is loading. 모델 로드 중 렌더 억제를 켜거나 끕니다.

      Parameters

      • enabled: boolean

        Whether to enable render suppression during load 로드 중 렌더 억제 활성화 여부

      Returns void

    • Returns whether render suppression during load is enabled. 로드 중 렌더 억제의 활성화 여부를 반환합니다.

      Returns boolean

      true if enabled, otherwise false (defaults to true when the queue is absent) 활성화되어 있으면 true, 아니면 false (배치 렌더 큐 미초기화 시 기본값 true)

    • Returns the current scene add mode. 현재 씬 추가 모드를 반환합니다.

      Returns SceneAddMode

      'progressive' | '1/2' | '1/3' | '1/5' | 'onComplete' 'progressive' | '1/2' | '1/3' | '1/5' | 'onComplete'

    • Sets the scene add mode. Takes effect on the next import. 씬 추가 모드를 설정합니다. 다음 import부터 적용됩니다.

      Parameters

      • mode: SceneAddMode

        Scene add mode ('progressive' | '1/2' | '1/3' | '1/5' | 'onComplete') 씬 추가 모드 ('progressive' | '1/2' | '1/3' | '1/5' | 'onComplete')

      Returns void

    • 배치 렌더링 활성화

      Parameters

      • OptionalbatchSize: number

        배치 크기 (기본: 30)

      Returns void

    • 배치 렌더링 비활성화

      Returns void

    • 배치 렌더 큐 플러시

      Returns void

    • 배치 렌더 큐 통계 반환

      Returns { queueSize: number; totalRendered: number; totalBatches: number } | null

    • Returns whether BatchedMesh-based draw-call merging is enabled. BatchedMesh 기반 드로우 콜 병합 활성화 여부를 반환합니다.

      Returns boolean

      true if the batched rendering gate is on 배치 렌더링 게이트가 켜져 있으면 true

    • Enables or disables BatchedMesh-based draw-call merging (default: off). BatchedMesh 기반 드로우 콜 병합을 켜거나 끕니다 (기본: off).

      Parameters

      • enabled: boolean

        Whether to enable the batched rendering gate 배치 렌더링 게이트 활성화 여부

      Returns void

      Takes effect on the next load completion. Disabling does not restore already-batched meshes; reload the models to return to the per-mesh path. 다음 로드 완료 시점부터 적용됩니다. 비활성화해도 이미 배치된 메시는 복원되지 않으며, per-mesh 경로로 돌아가려면 모델을 다시 로드해야 합니다.

    • Transform Gizmo 활성화

      Returns void

    • Transform Gizmo 비활성화

      Returns void

    • Transform 초기값 복원

      Returns void

      attach 시점의 matrix로 되돌립니다. Undo 히스토리에 기록됩니다.

    • Transform 좌표계 설정

      Parameters

      Returns void

    • Transform 대상 오브젝트 설정

      Parameters

      • object: Object3D<Object3DEventMap> | null

        대상 오브젝트 (null이면 해제)

      Returns void

    • Transform Undo

      Returns void

    • Transform Redo

      Returns void

    • Transform 스냅 설정

      Parameters

      • snap: { translation?: number | null; rotation?: number | null; scale?: number | null }

        스냅 설정 객체

      Returns void

    • Transform Gizmo 시각적 표시 설정

      Parameters

      • visible: boolean

        표시 여부

      Returns void

    • Transform Gizmo 표시 여부 반환

      Returns boolean

    • Material 편집 대상 선택

      Parameters

      • mesh: Mesh

        편집할 메시

      Returns void

      배치로 병합된 인스턴스(BatchedMesh 픽)가 전달되면 해당 노드를 자동 이탈(eject)시키고 standalone 메시를 편집 대상으로 선택합니다.

    • Material 편집 대상 해제

      Returns void

    • Material 색상 설정

      Parameters

      • color: Color

        새 색상

      Returns void

    • Material Roughness 설정

      Parameters

      • roughness: number

        Roughness 값 (0-1)

      • OptionalrecordHistory: boolean

        히스토리 기록 여부 (기본: true)

      Returns void

    • Material Metalness 설정

      Parameters

      • metalness: number

        Metalness 값 (0-1)

      • OptionalrecordHistory: boolean

        히스토리 기록 여부 (기본: true)

      Returns void

    • Material EnvMap 강도 설정

      Parameters

      • intensity: number

        EnvMap 강도 값 (0-3)

      • OptionalrecordHistory: boolean

        히스토리 기록 여부 (기본: true)

      Returns void

    • Material HSL 조정

      Parameters

      • adjustments: { hue?: number; saturation?: number; brightness?: number }

        HSL 조정값 (hue, saturation, brightness)

      • OptionalrecordHistory: boolean

        히스토리 기록 여부 (기본: true)

      Returns void

    • Material 원본 복원

      Returns void

      편집 대상이 배치 이탈 메시이면 원본 복원 후 편집 대상을 해제하고 배치로 복귀시킵니다.

    • Material Undo

      Returns boolean

      성공 여부

    • Material Redo

      Returns boolean

      성공 여부

    • Texture 편집 대상 선택

      Parameters

      • mesh: Mesh

        편집할 메시

      Returns void

      배치로 병합된 인스턴스(BatchedMesh 픽)가 전달되면 해당 노드를 자동 이탈(eject)시키고 첫 standalone 메시를 편집 대상으로 선택합니다.

    • Texture 편집 대상 해제

      Returns void

    • 파일에서 텍스처 로드

      Parameters

      • slot: TextureSlot

        텍스처 슬롯

      • file: File

        이미지 파일

      Returns Promise<TextureInfo | null>

      로드된 텍스처 정보

    • URL에서 텍스처 로드

      Parameters

      • slot: TextureSlot

        텍스처 슬롯

      • url: string

        이미지 URL

      Returns Promise<TextureInfo | null>

      로드된 텍스처 정보

    • 텍스처 제거

      Parameters

      Returns void

    • 텍스처 UV 설정 초기화

      Parameters

      Returns void

    • ViewCube 표시 여부 설정

      Parameters

      • visible: boolean

        표시 여부

      Returns void

    • ViewCube 활성화 여부 설정

      Parameters

      • enabled: boolean

        활성화 여부

      Returns void

    • ViewCube 코너 위치 설정

      Parameters

      • corner: ViewCubeCorner

        코너 위치

      Returns void

    • ViewCube 크기 설정

      Parameters

      • size: number

        크기 (px)

      Returns void

    • ViewCube 면 라벨 설정

      Parameters

      • labels: Partial<ViewCubeFaceLabels>

        면 라벨

      Returns void

    • ViewCube 코너 기준 오프셋 설정

      Parameters

      • offsetX: number

        X축 오프셋 (px, 안쪽 방향)

      • offsetY: number

        Y축 오프셋 (px, 안쪽 방향)

      Returns void

    • ViewCube 색상 동적 변경 (테마 전환 시)

      Parameters

      Returns void

    • 마크업 시스템 활성화/비활성화

      Parameters

      • enabled: boolean

        활성화 여부

      Returns void

    • 마크업 시스템 활성화 상태 확인

      Returns boolean

    • 마크업 추가 모드 진입

      Parameters

      Returns void

    • 마크업 추가 모드 종료

      Returns void

    • 현재 마크업 추가 모드 확인

      Returns MarkupAddMode

    • 마크업 선택

      Parameters

      • markupId: string

        마크업 ID

      Returns void

    • 마크업 선택 해제

      Returns void

    • 마크업 삭제

      Parameters

      • markupId: string

        마크업 ID

      Returns boolean

      삭제 성공 여부

    • 모든 마크업 삭제

      Returns void

    • 마크업 데이터 조회

      Parameters

      • markupId: string

        마크업 ID

      Returns MarkupData | null

      마크업 데이터

    • 로그 구독

      Parameters

      Returns () => void

      구독 해제 함수

    • Analytics 이벤트 핸들러 설정

      Parameters

      • handler: AnalyticsHandler | null

        Analytics 핸들러 (null이면 해제)

      Returns void

      주요 사용자 액션(import, transform, clipping 등) 발생 시 콜백이 호출됩니다. gtag, Mixpanel 등 외부 analytics 서비스와 연동할 수 있습니다.

    • 현재 뷰어 상태를 스냅샷으로 저장

      Parameters

      • name: string

        스냅샷 이름

      • Optionaldescription: string

        (선택적) 설명

      Returns SnapshotData

      생성된 스냅샷 데이터

    • 스냅샷 적용 (저장된 상태 완전 복원)

      Parameters

      • id: string

        스냅샷 ID

      Returns boolean

      적용 성공 여부

    • 스냅샷 삭제

      Parameters

      • id: string

        스냅샷 ID

      Returns boolean

      삭제 성공 여부

    • 스냅샷 메타데이터 업데이트

      Parameters

      • id: string

        스냅샷 ID

      • updates: { name?: string; description?: string }

        변경할 필드

      Returns boolean

      업데이트 성공 여부

    • 스냅샷 목록 반환

      Returns readonly SnapshotData[]

    • 현재 활성 스냅샷 ID

      Returns string | null

    • 스냅샷 세션 가져오기 (JSON)

      Parameters

      Returns boolean

      가져오기 성공 여부

    • 스냅샷 세션 초기화 (모든 스냅샷 삭제)

      Returns void

    • Returns a complete performance report snapshot. 전체 성능 리포트 스냅샷을 반환합니다.

      Returns PerformanceReport

    • Prints performance report to console. 성능 리포트를 콘솔에 출력합니다.

      Returns void

    • Returns the last import session report. 마지막 임포트 세션 리포트를 반환합니다.

      Returns ImportReport | null

    • Returns the last import performance report collected during a bulk node load. 대량 노드 로드 중 수집된 마지막 임포트 성능 리포트를 반환합니다.

      Returns ImportPerformanceReport | null

      The last performance report, or null if none has been produced 마지막 성능 리포트 또는 null (생성된 적 없을 때)

    • Prints the last import performance report to console and returns it as markdown. 마지막 임포트 성능 리포트를 콘솔에 출력하고 마크다운 문자열로 반환합니다.

      Returns string

      Markdown-formatted report string, or empty string if no report exists 마크다운 형식 리포트 문자열 또는 빈 문자열 (리포트 없을 때)

    • Prints the last worker-loading step-1 profile as markdown and returns it. 마지막 워커 로딩 1단계 프로파일을 마크다운으로 출력하고 반환합니다.

      Returns string

      Markdown-formatted profile string, or empty string if none exists 마크다운 형식 프로파일 문자열 또는 빈 문자열 (프로파일 없을 때)

    • Runs an automated render benchmark (camera orbit) and returns markdown. 자동 렌더 벤치마크(카메라 궤도 회전)를 실행하고 마크다운을 반환합니다.

      Parameters

      • OptionaldurationSec: number

        (optional) Benchmark duration in seconds (default: 5) (선택적) 측정 시간 (초, 기본: 5)

      Returns Promise<string>

      Promise that resolves with the markdown report 마크다운 리포트로 resolve되는 Promise

    • Returns void

    Properties

    isReady: boolean
    isDisposed: boolean
    renderer: WebGLRenderer | null
    scene: Scene<Object3DEventMap> | null
    camera: PerspectiveCamera | OrthographicCamera | null
    container: HTMLElement | null
    errors: ErrorSystem
    width: number
    height: number
    upAxis: UpAxis

    현재 Up 축 방향

    fixedUpVector: boolean

    Up 벡터 고정 여부

    selectedObject: Object3D<Object3DEventMap> | null

    현재 선택된 오브젝트

    outlineEnabled: boolean

    외곽선 활성화 여부

    sceneGraph: ISceneGraphManager

    SceneGraphManager 인스턴스

    hasFolder: boolean

    GLTF 폴더가 선택되었는지 여부

    folderName: string | null

    선택된 GLTF 폴더 이름

    batchRenderingEnabled: boolean

    배치 렌더링 활성화 여부

    transformEnabled: boolean

    Transform Gizmo 활성화 여부

    availableTextureSlots: TextureSlotInfo[]

    사용 가능한 텍스처 슬롯 목록

    currentTextureState: TextureState | null

    현재 텍스처 상태

    selectedMarkup: { id: string; type: MarkupType } | null

    선택된 마크업 정보

    markupCount: number

    마크업 개수