@polygonjs/polygonjs
Version:
node-based WebGL 3D engine https://polygonjs.com
38 lines (37 loc) • 1.57 kB
TypeScript
import { BaseSopOperation } from './_Base';
import { CoreGroup } from '../../../core/geometry/Group';
import { PerspectiveCamera, Vector3 } from 'three';
import { InputCloneMode } from '../../../engine/poly/InputCloneMode';
import { DefaultOperationParams } from '../../../core/operations/_Base';
import { CameraNodeType } from '../../poly/NodeContext';
import type { BaseNodeType } from '../../nodes/_Base';
interface CreatePerspectiveCameraParams {
fov: number;
near: number;
far: number;
}
interface PerspectiveCameraSopParams extends CreatePerspectiveCameraParams, DefaultOperationParams {
position: Vector3;
rotation: Vector3;
showHelper: boolean;
matrixAutoUpdate: boolean;
name: string;
apertureBlades: number;
fStop: number;
focusDistance: number;
apertureRotation: number;
anamorphicRatio: number;
}
interface AttributeOptions {
fov: number;
}
export declare class PerspectiveCameraSopOperation extends BaseSopOperation {
static readonly DEFAULT_PARAMS: PerspectiveCameraSopParams;
static readonly INPUT_CLONED_STATE = InputCloneMode.NEVER;
static type(): Readonly<CameraNodeType.PERSPECTIVE>;
static onRegister: import("../../poly/registers/nodes/NodesRegister").OnNodeRegisterCallback;
cook(inputCoreGroups: CoreGroup[], params: PerspectiveCameraSopParams): CoreGroup;
static createCamera(params: CreatePerspectiveCameraParams, nodeGenerator?: BaseNodeType): PerspectiveCamera;
static setCameraAttributes(camera: PerspectiveCamera, options: AttributeOptions): void;
}
export {};