Options
All
  • Public
  • Public/Protected
  • All
Menu

globe 형태에서 움직이는 camera class

Hierarchy

Implements

Index

Constructors

constructor

Properties

Private CameraPositionGeo

CameraPositionGeo: Vector3 = new THREE.Vector3(0, 0, 0)

Private CameraPositionWorld

CameraPositionWorld: Vector3 = new THREE.Vector3(0, 0, 0)

Private Direction

Direction: Vector3 = new THREE.Vector3(0, 0, 1)

HeadDeg

HeadDeg: number = 0

Private LookAtPositionGeo

LookAtPositionGeo: Vector3 = new THREE.Vector3(0, 0, 0)

Private LookAtPositionWorld

LookAtPositionWorld: Vector3 = new THREE.Vector3(0, 0, 0)

PanningMode

PanningMode: GlobePanningMode = GlobePanningMode.AnyRotation

Protected Position

Position: Vector3 = new THREE.Vector3(0, 0, 0)

Protected PositionGeo

PositionGeo: Vector3 = new THREE.Vector3(0, 0, 0)

TiltDeg

TiltDeg: number = 0

cmworld3Viewer

cmworld3Viewer: CmWorld3 = null

distanceFromLook

distanceFromLook: number = CMWORLD.cm_const.EarthRadius * 1.3

eventCommited

eventCommited: any = null

commit 된후에 호출될 수 있는 사용자 function을 설정한다.

event_PositionCommited

event_PositionCommited: any

isGoing

isGoing: boolean = false

mainCamera

mainCamera: PerspectiveCamera = new THREE.PerspectiveCamera(45, CMWORLD.CmWorld3.getInstance().canvas.width / CMWORLD.CmWorld3.getInstance().canvas.height, 1, CMWORLD.cm_const.EarthRadius * 2)

mainCameraForPicking

mainCameraForPicking: PerspectiveCamera = new THREE.PerspectiveCamera(45, CMWORLD.CmWorld3.getInstance().canvas.width / CMWORLD.CmWorld3.getInstance().canvas.height, 1000, CMWORLD.cm_const.EarthRadius * 2)

raycaster

raycaster: Raycaster = new THREE.Raycaster()

testnumber

testnumber: number = -10

viewRange

viewRange: number = 0

Methods

ChangeAspect

  • ChangeAspect(canvasWidth: number, canvasHeight: number): void
  • Parameters

    • canvasWidth: number
    • canvasHeight: number

    Returns void

Commit

  • Commit(): void
  • Returns void

GetCameraRay

  • GetCameraRay(screenCoord: Vector2, outOrigin: Vector3, outDir: Vector3): void
  • Parameters

    • screenCoord: Vector2
    • outOrigin: Vector3
    • outDir: Vector3

    Returns void

GetDirectionForward

  • GetDirectionForward(): Vector3
  • Returns Vector3

GetDirectionRight

  • GetDirectionRight(): Vector3
  • Returns Vector3

GetDirectionUp

  • GetDirectionUp(): Vector3
  • Returns Vector3

GetHitPosition

  • GetHitPosition(screenPosition: Vector2, normalized: boolean): Vector3
  • Parameters

    • screenPosition: Vector2
    • normalized: boolean

    Returns Vector3

GetHitPositionOnGround

  • GetHitPositionOnGround(screenPosition: Vector2, simpleCalc?: boolean): Vector3
  • Parameters

    • screenPosition: Vector2
    • Default value simpleCalc: boolean = true

    Returns Vector3

GetLookPosition

  • Parameters

    Returns Vector3

GetProjectionMatrix

  • GetProjectionMatrix(): Matrix4

GetViewMatrix

  • GetViewMatrix(): Matrix4

HeadDown

  • HeadDown(deg: number): void
  • Parameters

    • deg: number

    Returns void

InitPosition

  • InitPosition(camera_lon: number, camera_lat: number, distance: number, head: number, tilt: number): void
  • Parameters

    • camera_lon: number
    • camera_lat: number
    • distance: number
    • head: number
    • tilt: number

    Returns void

MoveRight

  • MoveRight(dist: number): void
  • Parameters

    • dist: number

    Returns void

MoveToward

  • MoveToward(dist: number): void
  • Parameters

    • dist: number

    Returns void

Panning

  • Panning(pre_x: number, pre_y: number, cur_x: number, cur_y: number): void
  • Parameters

    • pre_x: number
    • pre_y: number
    • cur_x: number
    • cur_y: number

    Returns void

SetPosition_1

  • SetPosition_1(x: number, y: number, height: number): void
  • Parameters

    • x: number
    • y: number
    • height: number

    Returns void

VerifyHeadRange

  • VerifyHeadRange(): void
  • Returns void

VerifyTiltRange

  • VerifyTiltRange(): void
  • Returns void

Zoom

  • Zoom(dist: number): void
  • Parameters

    • dist: number

    Returns void

afterUpdate

  • afterUpdate(): void

attachToScene

  • attachToScene(scene: Scene): void
  • Parameters

    • scene: Scene

    Returns void

calcHeadingTilt

  • calcHeadingTilt(EyeWorldPos: Vector3, LookWorldPos: Vector3): Vector3
  • Parameters

    • EyeWorldPos: Vector3
    • LookWorldPos: Vector3

    Returns Vector3

calcLocalWorldHeadingTilt

  • calcLocalWorldHeadingTilt(localEyePos: Vector3, localLookLookPos: Vector3): Vector3
  • Parameters

    • localEyePos: Vector3
    • localLookLookPos: Vector3

    Returns Vector3

calcViewRage

  • calcViewRage(altitude: number): number
  • Parameters

    • altitude: number

    Returns number

detachToScene

  • detachToScene(scene: Scene): void
  • Parameters

    • scene: Scene

    Returns void

firstpersonRotate

  • firstpersonRotate(pre_x: number, pre_y: number, cur_x: number, cur_y: number): void
  • Parameters

    • pre_x: number
    • pre_y: number
    • cur_x: number
    • cur_y: number

    Returns void

getAltitude

  • getAltitude(): number
  • 해수면 기준의 높이값.

    Returns number

getAltitudeFromGround

  • getAltitudeFromGround(): number
  • Returns number

getDirection

  • getDirection(): Vector3
  • 카메라의 진행방향

    Returns Vector3

getDistanceFromEarthCenter

  • getDistanceFromEarthCenter(): number
  • 지구 중심으로 부터 카메라까지의 거리

    Returns number

getDistanceFromLook

  • getDistanceFromLook(): number
  • 카메라가 바라보고 있는 지점까지의 거리.

    Returns number

getDistanceToWorldPos

  • getDistanceToWorldPos(worldPos: Vector3): number
  • 지정한 위치와 카메라와의 거리를 계산한다.

    Parameters

    • worldPos: Vector3

      world상의 직교좌표.

    Returns number

    거리

getHitCoordinate

  • getHitCoordinate(sx: number, sy: number, outToGeo?: boolean, simpleCalc?: boolean): Vector3
  • Parameters

    • sx: number
    • sy: number
    • Default value outToGeo: boolean = true
    • Default value simpleCalc: boolean = true

    Returns Vector3

getHitObjectFromScreenCoordinate

  • getHitObjectFromScreenCoordinate(screenPosition: Vector2, normalized: boolean): Vector3
  • Parameters

    • screenPosition: Vector2
    • normalized: boolean

    Returns Vector3

getIntersectObjects

  • getIntersectObjects(screenPosition: Vector2, normalized: boolean): Intersection[]
  • Parameters

    • screenPosition: Vector2
    • normalized: boolean

    Returns Intersection[]

getIntersectObjectsFromRay

  • getIntersectObjectsFromRay(startWorldPosition: Vector3, endWorldPosition: Vector3): Array<Intersection>
  • Parameters

    • startWorldPosition: Vector3
    • endWorldPosition: Vector3

    Returns Array<Intersection>

getLookPositionGeo

  • getLookPositionGeo(): Vector3

getLookPositionWorld

  • getLookPositionWorld(): Vector3

getPositionGeo

  • getPositionGeo(): Vector3
  • 논리적으로 카메라가 위치해 있는 GeoCoodinate

    Returns Vector3

getPositionWorld

  • getPositionWorld(): Vector3
  • 논리적으로 카메라가 위치하는 3차원 지심좌표

    Returns Vector3

getRayCasterFromScreenCoordinate

  • getRayCasterFromScreenCoordinate(screen_x: number, screen_y: number): Raycaster
  • 화면좌표를 이용해서 THREE.Raycaster를 구한다.

    Parameters

    • screen_x: number
    • screen_y: number

    Returns Raycaster

getReal3DWorldPosition

  • getReal3DWorldPosition(): Vector3
  • Returns Vector3

getThreejsCamera

  • getThreejsCamera(): Camera
  • threejs 카메라 객체를 얻는다.

    Returns Camera

getViewRange

  • getViewRange(): number

gotoGeo

  • gotoGeo(x: number, y: number, distanceFromLook: number): void
  • Parameters

    • x: number
    • y: number
    • distanceFromLook: number

    Returns void

gotoTarget

  • gotoTarget(look_lon: number, look_lat: number, look_height: number, camera_x: number, camera_y: number, camera_height: number): void
  • Parameters

    • look_lon: number
    • look_lat: number
    • look_height: number
    • camera_x: number
    • camera_y: number
    • camera_height: number

    Returns void

Private init

  • init(): void
  • 초기화 한다.

    Returns void

moveRotation

  • moveRotation(pre_x: number, pre_y: number, cur_x: number, cur_y: number): void
  • Head, Tilt만 움직인다.

    Parameters

    • pre_x: number
    • pre_y: number
    • cur_x: number
    • cur_y: number

    Returns void

pan

  • pan(pre_x: number, pre_y: number, cur_x: number, cur_y: number): void
  • Parameters

    • pre_x: number
    • pre_y: number
    • cur_x: number
    • cur_y: number

    Returns void

pickingByScreenCoordinateInArray

  • pickingByScreenCoordinateInArray(screen_x: number, screen_y: number, objArray: Object3D[]): Intersection[]

preUpdate

  • preUpdate(): void
  • Returns void

setDistanceFromLook

  • setDistanceFromLook(dist: number): void
  • 카메라가 바라보고 있는 지점까지의 거리를 설정한다.

    Parameters

    • dist: number

    Returns void

Private setEyeLookPosition

  • setEyeLookPosition(look_lon: number, look_lat: number, look_height: number, camera_x: number, camera_y: number, camera_height: number): void
  • Parameters

    • look_lon: number
    • look_lat: number
    • look_height: number
    • camera_x: number
    • camera_y: number
    • camera_height: number

    Returns void

setLookAltitude

  • setLookAltitude(altitude: number): void
  • Parameters

    • altitude: number

    Returns void

setLookPositionGeo

  • setLookPositionGeo(lon: number, lat: number, alt: number): void
  • Parameters

    • lon: number
    • lat: number
    • alt: number

    Returns void

setPositionGeo

  • setPositionGeo(lon: number, lat: number, alt: number): void
  • Parameters

    • lon: number
    • lat: number
    • alt: number

    Returns void

Static CalcRotateQuaternion

  • CalcRotateQuaternion(lon: number, lat: number): Quaternion
  • Parameters

    • lon: number
    • lat: number

    Returns Quaternion

Static calcInverseRotationtoPlane

  • calcInverseRotationtoPlane(longitude: number, latitude: number): Matrix4
  • Parameters

    • longitude: number
    • latitude: number

    Returns Matrix4

Static getXAxis

  • getXAxis(): Vector3
  • 절대 X축

    Returns Vector3

Static getYAxis

  • getYAxis(): Vector3
  • 절대 Y축

    Returns Vector3

Static getZAxis

  • getZAxis(): Vector3
  • 절대 Z축

    Returns Vector3

Generated using TypeDoc