UNPKG

@polygonjs/polygonjs

Version:

node-based WebGL 3D engine https://polygonjs.com

160 lines (159 loc) 9.65 kB
import { Constructor, valueof } from '../../../types/GlobalTypes'; import { Camera } from 'three'; import { LayersController } from './utils/LayersController'; import { TransformController } from './utils/TransformController'; import { ObjChildrenDisplayController } from './utils/ObjChildrenDisplayController'; import { DisplayNodeController } from '../utils/DisplayNodeController'; import { NodeContext } from '../../poly/NodeContext'; import { ThreejsViewer } from '../../viewers/Threejs'; import { FlagsControllerD } from '../utils/FlagsController'; import { BaseParamType } from '../../params/_Base'; import { BaseNodeType } from '../_Base'; import { BaseSopNodeType } from '../sop/_Base'; import { TypedObjNode } from './_Base'; import { BaseViewerType } from '../../viewers/_Base'; import { HierarchyController } from './utils/HierarchyController'; import { GeoNodeChildrenMap } from '../../poly/registers/nodes/Sop'; import { NodeParamsConfig } from '../utils/params/ParamsConfig'; import { NodeCreateOptions } from '../utils/hierarchy/ChildrenController'; export interface OrthoOrPerspCamera extends Camera { near: number; far: number; updateProjectionMatrix: () => void; getFocalLength?: () => void; } export declare function CameraMainCameraParamConfig<TBase extends Constructor>(Base: TBase): { new (...args: any[]): { setMainCamera: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.BUTTON>; }; } & TBase; export declare function ThreejsCameraTransformParamConfig<TBase extends Constructor>(Base: TBase): { new (...args: any[]): { camera: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.FOLDER>; /** @param controls node to allow the camera to be moved by user input */ controls: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.NODE_PATH>; /** @param near */ near: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.FLOAT>; /** @param far */ far: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.FLOAT>; /** @param display */ display: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.BOOLEAN>; /** @param show helper */ showHelper: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.BOOLEAN>; }; } & TBase; declare const BaseCameraObjParamsConfig_base: { new (...args: any[]): { setMainCamera: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.BUTTON>; }; } & typeof NodeParamsConfig; export declare class BaseCameraObjParamsConfig extends BaseCameraObjParamsConfig_base { } declare const BaseThreejsCameraObjParamsConfig_base: { new (...args: any[]): { doPostProcess: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.BOOLEAN>; postProcessNode: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.NODE_PATH>; }; } & { new (...args: any[]): { render: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.FOLDER>; setScene: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.BOOLEAN>; scene: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.NODE_PATH>; setRenderer: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.BOOLEAN>; renderer: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.NODE_PATH>; setCSSRenderer: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.BOOLEAN>; CSSRenderer: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.NODE_PATH>; }; } & { new (...args: any[]): { frameMode: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.INTEGER>; expectedAspectRatio: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.FLOAT>; }; } & { new (...args: any[]): { transform: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.FOLDER>; keepPosWhenParenting: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.BOOLEAN>; rotationOrder: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.INTEGER>; t: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.VECTOR3>; r: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.VECTOR3>; s: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.VECTOR3>; scale: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.FLOAT>; matrixAutoUpdate: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.BOOLEAN>; updateTransformFromObject: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.BUTTON>; }; } & { new (...args: any[]): { layer: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.INTEGER>; }; } & { new (...args: any[]): { camera: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.FOLDER>; /** @param controls node to allow the camera to be moved by user input */ controls: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.NODE_PATH>; /** @param near */ near: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.FLOAT>; /** @param far */ far: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.FLOAT>; /** @param display */ display: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.BOOLEAN>; /** @param show helper */ showHelper: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.BOOLEAN>; }; } & { new (...args: any[]): { setMainCamera: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.BUTTON>; }; } & typeof NodeParamsConfig; export declare class BaseThreejsCameraObjParamsConfig extends BaseThreejsCameraObjParamsConfig_base { } export interface BaseViewerOptions { element?: HTMLElement; updateAutoRenderOnIntersectionChange?: boolean; } export declare abstract class TypedCameraObjNode<O extends OrthoOrPerspCamera, K extends BaseCameraObjParamsConfig> extends TypedObjNode<O, K> { readonly renderOrder: number; protected _object: O; protected _aspect: number; get object(): O; cook(): Promise<void>; camera(): O; updateCamera(): void; static PARAM_CALLBACK_setMainCamera(node: BaseCameraObjNodeType): void; setAsMainCamera(): void; setupForAspectRatio(aspect: number): void; update_transform_params_from_object(): void; abstract createViewer(options?: BaseViewerOptions | HTMLElement): Promise<BaseViewerType | undefined>; static PARAM_CALLBACK_update_from_param(node: BaseCameraObjNodeType, param: BaseParamType): void; } export declare class TypedThreejsCameraObjNode<O extends OrthoOrPerspCamera, K extends BaseThreejsCameraObjParamsConfig> extends TypedCameraObjNode<O, K> { readonly flags: FlagsControllerD; readonly hierarchyController: HierarchyController; readonly transformController: TransformController; protected __layersController__: LayersController | undefined; private _layersController; readonly childrenDisplayController: ObjChildrenDisplayController; readonly displayNodeController: DisplayNodeController; protected _childrenControllerContext: NodeContext; initializeBaseNode(): void; createNode<S extends keyof GeoNodeChildrenMap>(node_class: S, options?: NodeCreateOptions): GeoNodeChildrenMap[S]; createNode<K extends valueof<GeoNodeChildrenMap>>(node_class: Constructor<K>, options?: NodeCreateOptions): K; children(): BaseSopNodeType[]; nodesByType<K extends keyof GeoNodeChildrenMap>(type: K): GeoNodeChildrenMap[K][]; cook(): Promise<void>; static PARAM_CALLBACK_update_near_far_from_param(node: BaseThreejsCameraObjNodeType, param: BaseParamType): void; updateNearFar(): void; createViewer(options?: BaseViewerOptions | HTMLElement): Promise<ThreejsViewer<Camera> | undefined>; private _helper; initHelperHook(): void; helperVisible(): boolean; private _createHelper; _updateHelper(): void; } export type BaseCameraObjNodeType = TypedCameraObjNode<OrthoOrPerspCamera, BaseCameraObjParamsConfig>; export declare abstract class BaseCameraObjNodeClass extends TypedCameraObjNode<OrthoOrPerspCamera, BaseCameraObjParamsConfig> { } export type BaseThreejsCameraObjNodeType = TypedThreejsCameraObjNode<OrthoOrPerspCamera, BaseThreejsCameraObjParamsConfig>; export declare class BaseThreejsCameraObjNodeClass extends TypedThreejsCameraObjNode<OrthoOrPerspCamera, BaseThreejsCameraObjParamsConfig> { PARAM_CALLBACK_update_effects_composer(node: BaseNodeType): void; } export {};