@shapediver/viewer.viewport
Version:
This is the npm package for the ShapeDiver Viewer Viewport API. For more information on ShapeDiver, please visit our [homepage](https://shapediver.com/).
218 lines • 9.94 kB
TypeScript
import { type OrthographicCameraProperties, type PerspectiveCameraProperties } from "@shapediver/viewer.rendering-engine.camera-engine";
import { type IConvert3Dto2DResult } from "@shapediver/viewer.rendering-engine.rendering-engine";
import { RenderingEngine as RenderingEngineThreeJs } from "@shapediver/viewer.rendering-engine.rendering-engine-threejs";
import { ISettings } from "@shapediver/viewer.settings";
import { type ITreeNode, MaterialBasicLineData, MaterialPointData, MaterialStandardData } from "@shapediver/viewer.shared.node-tree";
import { type IDomEventListener, SESSION_SETTINGS_MODE } from "@shapediver/viewer.shared.services";
import { type Color, FLAG_TYPE, type IAnimationData, type IGeometryData, type IIntersectionFilter, type ISDTFAttributeVisualizationData, type ISDTFItemData, type ISDTFOverview, MATERIAL_TYPE, RENDERER_TYPE, TEXTURE_ENCODING, TONE_MAPPING } from "@shapediver/viewer.shared.types";
import { quat, vec3 } from "gl-matrix";
import * as THREE from "three";
import { type ICameraApi } from "../interfaces/camera/ICameraApi";
import { type IOrthographicCameraApi } from "../interfaces/camera/IOrthographicCameraApi";
import { type IPerspectiveCameraApi } from "../interfaces/camera/IPerspectiveCameraApi";
import { type IPostProcessingApi } from "../interfaces/IPostProcessingApi";
import { type IViewportApi } from "../interfaces/IViewportApi";
import { type ILightSceneApi } from "../interfaces/lights/ILightSceneApi";
export declare class ViewportApi implements IViewportApi {
#private;
constructor(renderingEngine: RenderingEngineThreeJs);
get animations(): {
[key: string]: IAnimationData;
};
get arRotation(): vec3;
set arRotation(value: vec3);
get arScale(): vec3;
set arScale(value: vec3);
get arTranslation(): vec3;
set arTranslation(value: vec3);
get automaticColorAdjustment(): boolean;
set automaticColorAdjustment(value: boolean);
get automaticResizing(): boolean;
set automaticResizing(value: boolean);
get beautyRenderBlendingDuration(): number;
set beautyRenderBlendingDuration(value: number);
get beautyRenderDelay(): number;
set beautyRenderDelay(value: number);
get camera(): ICameraApi | null;
get cameras(): {
[key: string]: ICameraApi;
};
get canvas(): HTMLCanvasElement;
get clearAlpha(): number;
set clearAlpha(value: number);
get clearColor(): Color;
set clearColor(value: Color);
get contactShadowBlur(): number;
set contactShadowBlur(value: number);
get contactShadowDarkness(): number;
set contactShadowDarkness(value: number);
get contactShadowHeight(): number;
set contactShadowHeight(value: number);
get contactShadowOpacity(): number;
set contactShadowOpacity(value: number);
get contactShadowVisibility(): boolean;
set contactShadowVisibility(value: boolean);
get defaultLineMaterial(): MaterialBasicLineData;
get defaultMaterial(): MaterialStandardData;
get defaultMaterialColor(): Color;
set defaultMaterialColor(value: Color);
get defaultPointMaterial(): MaterialPointData;
get enableAR(): boolean;
set enableAR(value: boolean);
get environmentMap(): string | string[];
set environmentMap(value: string | string[]);
get environmentMapAsBackground(): boolean;
set environmentMapAsBackground(value: boolean);
get environmentMapBlurriness(): number;
set environmentMapBlurriness(value: number);
get environmentMapForUnlitMaterials(): boolean;
set environmentMapForUnlitMaterials(value: boolean);
get environmentMapIntensity(): number;
set environmentMapIntensity(value: number);
get environmentMapResolution(): string;
set environmentMapResolution(value: string);
get environmentMapRotation(): quat;
set environmentMapRotation(value: quat);
get gridColor(): Color;
set gridColor(value: Color);
get gridVisibility(): boolean;
set gridVisibility(value: boolean);
get groundPlaneColor(): Color;
set groundPlaneColor(value: Color);
get groundPlaneShadowColor(): Color;
set groundPlaneShadowColor(value: Color);
get groundPlaneShadowVisibility(): boolean;
set groundPlaneShadowVisibility(value: boolean);
get groundPlaneVisibility(): boolean;
set groundPlaneVisibility(value: boolean);
get id(): string;
get isBusy(): boolean;
get lightScene(): ILightSceneApi | null;
get lightScenes(): {
[key: string]: ILightSceneApi;
};
get lights(): boolean;
set lights(value: boolean);
get loadDefaultCameras(): boolean;
set loadDefaultCameras(value: boolean);
get materialOverrideType(): MATERIAL_TYPE | undefined;
set materialOverrideType(value: MATERIAL_TYPE | undefined);
get maximumRenderingSize(): {
width: number;
height: number;
};
set maximumRenderingSize(value: {
width: number;
height: number;
});
get outputEncoding(): TEXTURE_ENCODING;
set outputEncoding(value: TEXTURE_ENCODING);
get physicallyCorrectLights(): boolean;
set physicallyCorrectLights(value: boolean);
get pointSize(): number;
set pointSize(value: number);
get postProcessing(): IPostProcessingApi;
get postRenderingCallback(): ((renderer: THREE.WebGLRenderer, scene: THREE.Scene, camera: THREE.Camera) => void) | undefined;
set postRenderingCallback(value: ((renderer: THREE.WebGLRenderer, scene: THREE.Scene, camera: THREE.Camera) => void) | undefined);
get preRenderingCallback(): ((renderer: THREE.WebGLRenderer) => void) | undefined;
set preRenderingCallback(value: ((renderer: THREE.WebGLRenderer) => void) | undefined);
get sessionSettingsId(): string | undefined;
get sessionSettingsMode(): SESSION_SETTINGS_MODE;
get shadows(): boolean;
set shadows(value: boolean);
get show(): boolean;
set show(value: boolean);
get showStatistics(): boolean;
set showStatistics(value: boolean);
get softShadows(): boolean;
set softShadows(value: boolean);
get textureEncoding(): TEXTURE_ENCODING;
set textureEncoding(value: TEXTURE_ENCODING);
get threeJsCoreObjects(): {
scene: THREE.Scene;
renderer: THREE.WebGLRenderer;
camera: THREE.Camera;
};
get toneMapping(): TONE_MAPPING;
set toneMapping(value: TONE_MAPPING);
get toneMappingExposure(): number;
set toneMappingExposure(value: number);
get type(): RENDERER_TYPE;
set type(value: RENDERER_TYPE);
get visualizeAttributes(): ((overview: ISDTFOverview, itemData?: ISDTFItemData) => ISDTFAttributeVisualizationData) | undefined;
set visualizeAttributes(value: ((overview: ISDTFOverview, itemData?: ISDTFItemData) => ISDTFAttributeVisualizationData) | undefined);
addCanvasEventListener(listener: IDomEventListener): string;
addFlag(flag: FLAG_TYPE): string;
addRestrictedCanvasListenerToken(token: string): void;
applyViewportSettings(settings: ISettings, sections?: {
ar?: boolean | undefined;
scene?: boolean | undefined;
camera?: boolean | undefined;
light?: boolean | undefined;
environment?: boolean | undefined;
general?: boolean | undefined;
postprocessing?: boolean | undefined;
}): Promise<void>;
assignCamera(id: string): boolean;
assignLightScene(id: string): boolean;
close(): Promise<void>;
continueRendering(): void;
convert3Dto2D(p: vec3): IConvert3Dto2DResult;
convertToGlTF(node?: ITreeNode, convertForAr?: boolean): Promise<Blob>;
createArSessionLink(node?: ITreeNode, qrCode?: boolean, fallbackUrl?: string): Promise<string>;
createLightScene(properties?: {
name?: string | undefined;
standard?: boolean | undefined;
}): ILightSceneApi;
createOrthographicCamera(id?: string): IOrthographicCameraApi;
createPerspectiveCamera(id?: string): IPerspectiveCameraApi;
createSDTFOverview(node: ITreeNode): ISDTFOverview;
displayErrorMessage(message: string): void;
getEnvironmentMapImageUrl(): string;
getScreenshot(type?: string, quality?: number): string;
getScreenshotAdvanced(type?: string, quality?: number, resolution?: {
width: number;
height: number;
}, camera?: OrthographicCameraProperties | PerspectiveCameraProperties): Promise<string>;
getViewportSettings(): ISettings;
isMobileDeviceWithoutBrowserARSupport(): boolean;
pauseRendering(): void;
pointerEventToRay(event: PointerEvent): {
origin: vec3;
direction: vec3;
};
raytraceScene(origin: vec3, direction: vec3, filterCriteria?: IIntersectionFilter[]): {
distance: number;
node: ITreeNode;
data?: IGeometryData;
}[];
removeCamera(id: string): boolean;
removeCanvasEventListener(token: string): boolean;
removeFlag(token: string): boolean;
removeLightScene(id: string): boolean;
removeRestrictedCanvasListenerToken(token: string): void;
render(): void;
resetToDefaultCameras(): void;
resize(width: number, height: number): void;
restrictEventListeners(allowedListeners: {
mousewheel?: boolean;
pointerdown?: boolean;
pointermove?: boolean;
pointerup?: boolean;
pointerout?: boolean;
keydown?: boolean;
keyup?: boolean;
contextmenu?: boolean;
}): void;
update(id?: string): void;
updateDefaultLineMaterial(value: MaterialBasicLineData): void;
updateDefaultMaterial(value: MaterialStandardData): void;
updateDefaultPointMaterial(value: MaterialPointData): void;
updateEnvironmentGeometry(): void;
updateGeometryData(geometryData: IGeometryData): void;
updateNode(node: ITreeNode): void;
updateNodeTransformation(node: ITreeNode): void;
viewInAR(node?: ITreeNode): Promise<void>;
viewableInAR(): boolean;
}
//# sourceMappingURL=ViewportApi.d.ts.map