UNPKG

@polygonjs/polygonjs

Version:

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

88 lines (87 loc) 5.29 kB
"use strict"; import { arrayCompact } from "../ArrayUtils"; import { coreObjectClassFactory } from "../geometry/CoreObjectFactory"; export const CORE_CAMERA_DEFAULT = { near: 0.1, far: 100 }; export var CameraAttribute = /* @__PURE__ */ ((CameraAttribute2) => { CameraAttribute2["NODE_ID"] = "_Camera_nodeGeneratorId__"; CameraAttribute2["CONTROLS_NODE_ID"] = "_Camera_controlsNodeId"; CameraAttribute2["CSS_RENDERER_NODE_ID"] = "_Camera_CSSRendererNodeId"; CameraAttribute2["FRAME_MODE"] = "_Camera_frameMode"; CameraAttribute2["FRAME_MODE_EXPECTED_ASPECT_RATIO"] = "_Camera_frameModeExpectedAspectRatio"; CameraAttribute2["MAX_FPS"] = "maxFPS"; CameraAttribute2["MAX_FPS_DYNAMIC_CHANGE"] = "_Camera_maxFPSDynamicChange"; CameraAttribute2["VIEW_OFFSET_MIN"] = "_Camera_viewOffsetMin"; CameraAttribute2["VIEW_OFFSET_MAX"] = "_Camera_viewOffsetMax"; CameraAttribute2["POST_PROCESS_NODE_ID"] = "_Camera_postProcessNodeId"; CameraAttribute2["RENDER_SCENE_NODE_ID"] = "_Camera_renderSceneNodeId"; CameraAttribute2["RENDERER_NODE_ID"] = "_Camera_rendererNodeId"; CameraAttribute2["VIEWER_ID"] = "_Camera_viewerId"; CameraAttribute2["VIEWER_HTML"] = "_Camera_viewerHTML"; CameraAttribute2["WEBXR_AR"] = "_Camera_WebXR_AR"; CameraAttribute2["WEBXR_VR"] = "_Camera_WebXR_VR"; CameraAttribute2["WEBXR_AR_FEATURES_OPTIONAL"] = "_Camera_WebXR_AR_Features_Optional"; CameraAttribute2["WEBXR_AR_FEATURES_REQUIRED"] = "_Camera_WebXR_AR_Features_Required"; CameraAttribute2["WEBXR_AR_OVERRIDE_REFERENCE_SPACE_TYPE"] = "_Camera_WebXR_AR_overrideReferenceSpaceType"; CameraAttribute2["WEBXR_AR_REFERENCE_SPACE_TYPE"] = "_Camera_WebXR_AR_referenceSpaceType"; CameraAttribute2["WEBXR_VR_FEATURES_OPTIONAL"] = "_Camera_WebXR_VR_Features_Optional"; CameraAttribute2["WEBXR_VR_FEATURES_REQUIRED"] = "_Camera_WebXR_VR_Features_Required"; CameraAttribute2["WEBXR_VR_OVERRIDE_REFERENCE_SPACE_TYPE"] = "_Camera_WebXR_VR_overrideReferenceSpaceType"; CameraAttribute2["WEBXR_VR_REFERENCE_SPACE_TYPE"] = "_Camera_WebXR_VR_referenceSpaceType"; CameraAttribute2["WEBXR_AR_MARKER_TRACKING"] = "_Camera_WebXR_AR_markerTracking"; CameraAttribute2["WEBXR_AR_MARKER_TRACKING_SOURCE_MODE"] = "_Camera_WebXR_AR_markerTracking_sourceMode"; CameraAttribute2["WEBXR_AR_MARKER_TRACKING_SOURCE_URL"] = "_Camera_WebXR_AR_markerTracking_sourceUrl"; CameraAttribute2["WEBXR_AR_MARKER_TRACKING_BAR_CODE_TYPE"] = "_Camera_WebXR_AR_markerTracking_barCodeType"; CameraAttribute2["WEBXR_AR_MARKER_TRACKING_BAR_CODE_VALUE"] = "_Camera_WebXR_AR_markerTracking_barCodeValue"; CameraAttribute2["WEBXR_AR_MARKER_TRACKING_TRANSFORM_MODE"] = "_Camera_WebXR_AR_markerTracking_transformMode"; CameraAttribute2["WEBXR_AR_MARKER_TRACKING_SMOOTH"] = "_Camera_WebXR_AR_markerTracking_smooth"; CameraAttribute2["WEBXR_AR_MARKER_TRACKING_SMOOTH_COUNT"] = "_Camera_WebXR_AR_markerTracking_smoothCount"; return CameraAttribute2; })(CameraAttribute || {}); export const CAMERA_ATTRIBUTES = [ "_Camera_nodeGeneratorId__" /* NODE_ID */, "_Camera_controlsNodeId" /* CONTROLS_NODE_ID */, "_Camera_CSSRendererNodeId" /* CSS_RENDERER_NODE_ID */, "_Camera_frameMode" /* FRAME_MODE */, "_Camera_frameModeExpectedAspectRatio" /* FRAME_MODE_EXPECTED_ASPECT_RATIO */, "_Camera_viewOffsetMin" /* VIEW_OFFSET_MIN */, "_Camera_viewOffsetMax" /* VIEW_OFFSET_MAX */, "_Camera_postProcessNodeId" /* POST_PROCESS_NODE_ID */, "_Camera_renderSceneNodeId" /* RENDER_SCENE_NODE_ID */, "_Camera_rendererNodeId" /* RENDERER_NODE_ID */, "_Camera_WebXR_AR" /* WEBXR_AR */, "_Camera_WebXR_VR" /* WEBXR_VR */, "_Camera_WebXR_AR_Features_Optional" /* WEBXR_AR_FEATURES_OPTIONAL */, "_Camera_WebXR_AR_Features_Required" /* WEBXR_AR_FEATURES_REQUIRED */, "_Camera_WebXR_AR_overrideReferenceSpaceType" /* WEBXR_AR_OVERRIDE_REFERENCE_SPACE_TYPE */, "_Camera_WebXR_AR_referenceSpaceType" /* WEBXR_AR_REFERENCE_SPACE_TYPE */, "_Camera_WebXR_VR_Features_Optional" /* WEBXR_VR_FEATURES_OPTIONAL */, "_Camera_WebXR_VR_Features_Required" /* WEBXR_VR_FEATURES_REQUIRED */, "_Camera_WebXR_VR_overrideReferenceSpaceType" /* WEBXR_VR_OVERRIDE_REFERENCE_SPACE_TYPE */, "_Camera_WebXR_VR_referenceSpaceType" /* WEBXR_VR_REFERENCE_SPACE_TYPE */ ]; export var PerspectiveCameraAttribute = /* @__PURE__ */ ((PerspectiveCameraAttribute2) => { PerspectiveCameraAttribute2["FOV"] = "_PerspectiveCamera_fov"; return PerspectiveCameraAttribute2; })(PerspectiveCameraAttribute || {}); export const PERSPECTIVE_CAMERA_ATTRIBUTES = ["_PerspectiveCamera_fov" /* FOV */]; export var OrthographicCameraAttribute = /* @__PURE__ */ ((OrthographicCameraAttribute2) => { OrthographicCameraAttribute2["SIZE"] = "_OrthographicCamera_size"; return OrthographicCameraAttribute2; })(OrthographicCameraAttribute || {}); export const ORTHOGRAPHIC_CAMERA_ATTRIBUTES = ["_OrthographicCamera_size" /* SIZE */]; export function serializeCamera(camera, attributeNames) { const values = attributeNames.map((attribName) => { const value = coreObjectClassFactory(camera).attribValue(camera, attribName); if (value != null) { return { [attribName]: value }; } }); const attribValues = []; return JSON.stringify({ uuid: camera.uuid, attributes: arrayCompact(values, attribValues) }); }