# Effects 🌎

Add dynamic elements to the 3D scene to allow the scene to move and run more closely to the real world

# DC.Weather

# example

let weather = new DC.Weather()
viewer.use(weather)

# creation

  • constructor()

    • Returns weather

# properties

# Rain

# example

viewer.weather.rain.enable = true
viewer.weather.rain.speed = 2

# properties

  • {Boolean} enable
  • {Number} speed

# Snow

# example

viewer.weather.snow.enable = true
viewer.weather.snow.speed = 2

# properties

  • {Boolean} enable
  • {Number} speed

# Fog

# example

viewer.weather.fog.enable = true
viewer.weather.fog.fogColor = DC.Color.BLACK

# properties

  • {Boolean} enable
  • `{Color} fogColor
  • {Object} fogByDistance: { near: 10, nearValue: 0, far: 2000, farValue: 1.0 }

# Cloud

# example

viewer.weather.cloud.enable = true
viewer.weather.cloud.rotateAmount = 0.02

# properties

  • {Boolean} enable
  • {Number} rotateAmount

# DC.Effect

# example

let effect = new DC.Effect()
viewer.use(effect)

# creation

  • constructor()

    • Returns effect

# properties

# BlackAndWhite

# example

viewer.effect.blackAndWhite.enable = true

# properties

  • {Boolean} enable
  • {Number} gradations
  • {Array} selected

# Bloom

# example

viewer.effect.bloom.enable = true

# properties

  • {Boolean} enable
  • {Number} contrast
  • {Number} brightness
  • {Number} glowOnly
  • {Number} delta
  • {Number} sigma
  • {Number} stepSize
  • {Array} selected

# Brightness

# example

viewer.effect.brightness.enable = true

# properties

  • {Boolean} enable
  • {Number} intensity
  • {Array} selected

# DepthOfField

# example

viewer.effect.depthOfField.enable = true

# properties

  • {Boolean} enable
  • {Number}} focalDistance
  • {Number} delta
  • {Number} sigma
  • {Number} stepSize
  • {Array} selected

# LensFlare

# example

viewer.effect.lensFlare.enable = true

# properties

  • {Boolean} enable
  • {Number}} intensity
  • {Number} distortion
  • {Number} dirtAmount
  • {Number} haloWidth
  • {Array} selected

# Night

# example

viewer.effect.night.enable = true

# properties

  • {Boolean} enable
  • {Array} selected

# Silhouette

# example

viewer.effect.silhouette.enable = true

# properties

  • {Boolean} enable
  • {Color} color
  • {Number} length
  • {Array} selected

# Animation

Animation base class

WARNING

The class cannot be instantiated

# methods

  • start()

    • returns this
  • stop()

    • returns this

# DC.AroundPoint

Inherited from Animation

# example

let aroundPoint = new DC.AroundPoint(viewer, '120.121, 31.12')
aroundPoint.start()

# creation

  • constructor(viewer,position,[options])

    • parameters
      • {Viewer} viewer
      • {Position|String|Array} position
      • {Object} options
    • returns aroundPoint
//options(optional)
{
  "heading": 0,
  "pitch": 0,
  "range": 0,
  "duration": 0,
  "callback": null,
  "context": null
}

# DC.AroundView

Inherited from Animation

# example

let aroundView = new DC.AroundView(viewer)
aroundView.start()

# creation

  • constructor(viewer,options)

    • parameters
      • {Viewer} viewer
      • {Object} options
    • returns aroundView
//options(optional)
{
  "heading": 0,
  "duration": 0,
  "pitch": 0,
  "roll": 0,
  "callback": null,
  "context": null
}

# DC.CircleScan

Inherited from Animation

# example

let circleScan = new DC.CircleScan(viewer, '120, 20', 200)
circleScan.start()

# creation

  • constructor(viewer,position,radius,[options])

    • parameters
      • {Viewer} viewer:场景
      • {DC.Position} position:位置
      • {Number} radius:半径
      • {Object} options:属性
    • returns circleScan
//options(optional)
{
  "color": DC.Color.BLUE,
  "speed": 5
}

# DC.Flying

Inherited from Animation

# example

let flying = new DC.Flying(viewer)
flying.positions = ['121.234,21.212,0,-29', '121.435,21.212,0,-29']
flying.start()

# creation

  • constructor(viewer,options)

    • parameters
      • {Viewer} viewer:场景
      • {Object} options:options
    • returns flying
//options(optional)
{
  "loop": false,
  "dwellTime": 3,
  "callback": null
}

# properties

  • {Array} positions
  • {Array} durations: The flight interval of each point, when the length of the array is 1, each interval is the same, if not 1, the length must be equal to the length of the point

# methods

  • start()

    • returns this
  • pause()

    • returns this
  • restore()

    • returns this

# DC.GlobeRotate

Inherited from Animation

# example

let globeRotate = new DC.GlobeRotate(viewer, {
  duration: 5,
  speed: 1000,
  callback: () => {},
})
globeRotate.start()

# creation

  • constructor(viewer,[options])

    • parameters
      • {DC.Viewer} viewer
      • {Object} options
    • returns globeRotate
//options(optional)
{
  "speed": 12 * 1000,
  "duration": 0,
  "callback": null,
  "context": null
}

# DC.RadarScan

Inherited from Animation

# example

let radarScan = new DC.RadarScan(viewer, '120, 20', 200)
radarScan.start()

# creation

  • constructor(viewer,position,radius,options)

    • parameters
      • {Viewer} viewer
      • {DC.Position} position
      • {Number} radius
      • {Object} options
    • returns radarScan
//options(optional)
{
  "color": DC.Color.BLUE,
  "speed": 5
}

# DC.RoamingController

# example

let rc = new DC.RoamingController(viewer)

# creation

  • constructor(viewer)

    • parameters
      • {Viewer} viewer
    • returns roamingController

# methods

  • addPath(path)

    • parameters
      • {RoamingPath} path
    • returns this
  • addPaths(paths)

    • parameters
      • {Array<RoamingPath>} paths
    • returns this
  • removePath(path)

    • parameters
      • {RoamingPath} path
    • returns path
  • getPath(id)

    • parameters
      • {String} id
    • returns path
  • getPaths()

    • returns array
  • activate(path, viewOption)

    • parameters
      • {RoamingPath} path
      • {String} viewOption
    • returns this
// options (optional)
{
  "pitch": 0,
  "range": 1000
}
  • deactivate()

    • returns this
  • clear()

    • returns this

# DC.RoamingPath

# example

let path = new DC.RoamingPath('120.121,32.1213;121.132,32.1213', 20)
rc.addPath(path)

# creation

  • constructor(positions, duration, [pathMode])

    • parameters
      • {String|Array<Position|Number|String|Object>} positions
      • {Number} duration
      • {String} pathMode speed / time
    • returns roamingPath

# properties

  • {String} pathId readonly
  • {String} id
  • {String|Array<Position|Number|String>} positions
  • {Number} duration
  • {String} pathMode speed / time
  • {String} state readonly

# DC.KeyboardRoaming

# example

let kr = new DC.KeyboardRoaming(viewer)
kr.enable = true

# creation

  • constructor(viewer)

    • parameters
      • {Viewer} viewer
    • returns keyboardRoaming

# properties

  • {Boolean} enable
  • {Number} moveRate default: 100
  • {Number} rotateRate default: 0.01

# DC.TrackController

# example

let tc = new DC.TrackController(viewer)

# creation

  • constructor(viewer)

    • parameters
      • {Viewer} viewer
    • returns trackController

# methods

  • addTrack(track)

    • parameters
      • {Track} track
    • returns this
  • addTracks(tracks)

    • parameters
      • {Array<Track>} tracks
    • returns this
  • removeTrack(track)

    • parameters
      • {Track} track
    • returns path
  • getTrack(id)

    • parameters
      • {String} id
    • returns track
  • getTracks()

    • returns array
  • play()

    • returns this
  • pause()

    • returns this
  • restore()

    • returns this
  • viewTrack(track, viewOption)

    • parameters
      • {Track} track
      • {String} viewOption
    • returns this
// options (optional)
{
  "mode": null, // DC.TrackViewMode
  "pitch": 0,
  "range": 1000
}
  • releaseTrack(track)

    • parameters
      • {Track} track:路径
    • returns this
  • clear()

    • returns this

# DC.Track

# example

let track = new DC.Track('120.121,32.1213;121.132,32.1213', 20)
rc.addTrack(track)

# creation

  • constructor(positions, duration, [callback], [options])

    • parameters
      • {String|Array<Position|Number|String|Object>} positions
      • {Number} duration
      • {Function} callback:Each point arrival callback function, parameters are: position, isLast
      • {Object} options
    • returns track
// options (optional)
{
  "clampToGround": false,
  "clampToTileset": false,
  "interpolationType": "Linear", // Linear、Hermite、Lagrange
  "interpolationDegree": 2,
  "endDelayTime": 0.5 // End time extension time, unit:second
}

# properties

  • {String} trackId readonly
  • {String} id
  • {String|Array<Position|Number|String|Object>} positions
  • {Number} duration
  • {Date} startTime
  • {String} state readonly

# methods

  • addPosition(position,duration)

    • parameters
      • {Position|Array|String|Object} position
      • {Number} duration
    • returns this
  • setModel(modelUrl,style)

    • parameters
      • {String} modelPath
      • {Object} style DC.Model
    • returns this
  • setBillboard(icon,style)

    • parameters
    • returns this
  • setLabel(text,style)

    • parameters
    • returns this
  • setPath(visible,style)

    • parameters
    • returns this