Options
All
  • Public
  • Public/Protected
  • All
Menu

Hierarchy

Index

Constructors

constructor

  • Returns CmMathEngine

Properties

Static Deg2Rad

Deg2Rad: number = cm_const.Deg2Rad

Static PI

PI: number = cm_const.PI

Static Rad2Deg

Rad2Deg: number = cm_const.Rad2Deg

Static Tan30

Tan30: number = cm_const.Tan30

Static Tan60

Tan60: number = cm_const.Tan60

Static Vector3Zero

Vector3Zero: Vector3 = cm_const.Vector3Zero

Static m_MeterPerSec

m_MeterPerSec: number = (2 * cm_const.PI * cm_const.EarthRadius) / 360.0

Methods

does_line_segment_intersect_sphere

  • does_line_segment_intersect_sphere(line_segment_start: Vector3, line_segment_end: Vector3, sphere_center: Vector3, sphere_radius: number): boolean
  • 선분과 구와의 교차판정. 선분은 반직선과 마찬가지인데, 선분의 시작점부터 교차점까지의 거리가 선분의 길이보다 짧은지도 검사해야 합니다

    Parameters

    • line_segment_start: Vector3
    • line_segment_end: Vector3
    • sphere_center: Vector3
    • sphere_radius: number

    Returns boolean

does_ray_intersect_sphere

  • does_ray_intersect_sphere(ray_origin: Vector3, normalized_ray_direction: Vector3, sphere_center: Vector3, sphere_radius: number): boolean
  • Ray와 구와의 교차 판정. 원본 https://sunhyeon.wordpress.com/2013/03/23/642/ 반직선은 직선과 같은 방법으로 처리하면 되는데, 한 가지 조건이 추가됩니다. 즉 반직선의 시작점이 구의 밖에 있고, 구의 중심에서 반직선의 시작점을 향하는 벡터와 반직선의 방향 벡터가 이루는 각이 90도 미만이라면, 반직선과 구는 교차하지 않는다는 것입니다.

    Parameters

    • ray_origin: Vector3
    • normalized_ray_direction: Vector3
    • sphere_center: Vector3
    • sphere_radius: number

    Returns boolean

rotateAroundWorldAxis

  • rotateAroundWorldAxis(object: any, pivot: any, axis: any, radians: number, updiff: any, sidediff: any): void
  • Parameters

    • object: any
    • pivot: any
    • axis: any
    • radians: number
    • updiff: any
    • sidediff: any

    Returns void

Static CalcRotatePosition

  • CalcRotatePosition(Axis: Vector3, src: Vector3, degree: number): Vector3
  • 회전축을 기준으로 회전한 위치를 계산한다.

    Parameters

    • Axis: Vector3
    • src: Vector3
    • degree: number

    Returns Vector3

Static Cartesian2Geo

  • Cartesian2Geo(px: number, py: number, pz: number, sceneType?: SceneModeType): Vector3
  • Parameters

    • px: number
    • py: number
    • pz: number
    • Default value sceneType: SceneModeType = SceneModeType.SCENE_S3D

    Returns Vector3

Static FindLineSphereIntersections

  • FindLineSphereIntersections(linePoint0: Vector3, linePoint1: Vector3, circleCenter: Vector3, circleRadius: number): any
  • Parameters

    • linePoint0: Vector3
    • linePoint1: Vector3
    • circleCenter: Vector3
    • circleRadius: number

    Returns any

Static Geo2Cartesian

  • Geo2Cartesian(lon: number, lat: number, height: number, sceneType?: SceneModeType): Vector3
  • Parameters

    • lon: number
    • lat: number
    • height: number
    • Default value sceneType: SceneModeType = SceneModeType.SCENE_S3D

    Returns Vector3

Static GetAngleBetweenTwoVector3

  • GetAngleBetweenTwoVector3(inBasis: Vector3, inV2: Vector3): number
  • Parameters

    • inBasis: Vector3
    • inV2: Vector3

    Returns number

Static GetBoundFromRowCol

  • GetBoundFromRowCol(level: number, row: number, col: number): cm_coordbound
  • Parameters

    • level: number
    • row: number
    • col: number

    Returns cm_coordbound

Static GetColFromLongitude

  • GetColFromLongitude(longitude: number, tileSize: number): number
  • Parameters

    • longitude: number
    • tileSize: number

    Returns number

Static GetRowFromLatitude

  • GetRowFromLatitude(latitude: number, tileSize: number): number
  • Parameters

    • latitude: number
    • tileSize: number

    Returns number

Static GetTileGeoBoundary

  • GetTileGeoBoundary(level: number, row: number, col: number, leftTop: Vector3, rightBottom: Vector3): void
  • Parameters

    • level: number
    • row: number
    • col: number
    • leftTop: Vector3
    • rightBottom: Vector3

    Returns void

Static GetTileSizeInMeter

  • GetTileSizeInMeter(tileSizeDegree: number, lat: number): number
  • Parameters

    • tileSizeDegree: number
    • lat: number

    Returns number

Static MultiplyQuaternionVector

  • MultiplyQuaternionVector(left: any, right: any): Vector3
  • Parameters

    • left: any
    • right: any

    Returns Vector3

Static calContactDistanceWithCircle

  • calContactDistanceWithCircle(circleCenter: Vector2, circleRadius: any, outPoint: Vector2): number
  • Parameters

    • circleCenter: Vector2
    • circleRadius: any
    • outPoint: Vector2

    Returns number

Static geodesicArea

  • geodesicArea(latLngs: Vector2[]): number
  • geodesic 완전한 구표면 위의 면적을 계산한다.

    Parameters

    • latLngs: Vector2[]

    Returns number

Static getPosInPolyLine

  • getPosInPolyLine(pointArray: Vector3[], distance: number): any
  • PolyLine의 시작지점에서 distance만큼이동한 지점의 좌표를 얻는다.

    Parameters

    • pointArray: Vector3[]
    • distance: number

    Returns any

Static polygonArea

  • polygonArea(Xarray: any, Yarray: any, numPoints: any): number
  • 2차원 다각형의 넓이를 계산한다.

    Parameters

    • Xarray: any
    • Yarray: any
    • numPoints: any

    Returns number

Static polygonAreaByVector2

  • polygonAreaByVector2(geoPoints: Vector2[]): number
  • 2차원 다각형의 넓이를 계산한다.

    Parameters

    • geoPoints: Vector2[]

    Returns number

Static rotateAroundLocalAxis

  • rotateAroundLocalAxis(Camera: any, pivot: any, axis: any, radians: number, updiff: any, sidediff: any): void
  • Parameters

    • Camera: any
    • pivot: any
    • axis: any
    • radians: number
    • updiff: any
    • sidediff: any

    Returns void

Static setSceneMode

  • Parameters

    Returns void

Generated using TypeDoc