Browse Source

update model

tags/3.0.0
Caven Chen 2 years ago
parent
commit
2035d13bcc
2 changed files with 17 additions and 49 deletions
  1. 17
    47
      src/modules/overlay/primitive/ModelPrimitive.js
  2. 0
    2
      src/modules/viewer/Viewer.js

+ 17
- 47
src/modules/overlay/primitive/ModelPrimitive.js View File

@@ -14,7 +14,7 @@ class ModelPrimitive extends Overlay {
super()
this._position = Parse.parsePosition(position)
this._modelUrl = modelUrl
this._delegate = Cesium.Model.fromGltf({ url: modelUrl })
this._delegate = Cesium.Model.fromGltfAsync({ url: modelUrl })
this._state = State.INITIALIZED
}

@@ -22,21 +22,19 @@ class ModelPrimitive extends Overlay {
return Overlay.getOverlayType('model_primitive')
}

get readyPromise() {
return this._delegate.readyPromise
}

set position(position) {
this._position = Parse.parsePosition(position)
let origin = Transform.transformWGS84ToCartesian(this._position)
this._delegate.modelMatrix = Cesium.Transforms.headingPitchRollToFixedFrame(
origin,
new Cesium.HeadingPitchRoll(
Cesium.Math.toRadians(this._position.heading),
Cesium.Math.toRadians(this._position.pitch),
Cesium.Math.toRadians(this._position.roll)
this._delegate.then((model) => {
model.modelMatrix = Cesium.Transforms.headingPitchRollToFixedFrame(
origin,
new Cesium.HeadingPitchRoll(
Cesium.Math.toRadians(this._position.heading),
Cesium.Math.toRadians(this._position.pitch),
Cesium.Math.toRadians(this._position.roll)
)
)
)
})
}

get position() {
@@ -45,7 +43,10 @@ class ModelPrimitive extends Overlay {

set modelUrl(modelUrl) {
this._modelUrl = modelUrl
this._delegate = Cesium.Model.fromGltf({ url: modelUrl })
this._delegate = Cesium.Model.fromGltfAsync({
url: modelUrl,
...this._style,
})
this.position = this._position
}

@@ -64,39 +65,6 @@ class ModelPrimitive extends Overlay {
this.position = this._position
}

/**
*
* @param name
*/
getMaterial(name) {
return this._delegate.getMaterial(name)
}

/**
*
* @param name
*/
getMesh(name) {
return this._delegate.getMesh(name)
}

/**
*
* @param name
* @returns {*}
*/
getNode(name) {
return this._delegate.getNode(name)
}

/**
*
* @returns {*}
*/
getNodes() {
return this._delegate._runtime.nodes
}

/**
* Sets style
* @param style
@@ -107,7 +75,9 @@ class ModelPrimitive extends Overlay {
return this
}
Util.merge(this._style, style)
Util.merge(this._delegate, style)
this._delegate.then((model) => {
Util.merge(model, style)
})
return this
}
}

+ 0
- 2
src/modules/viewer/Viewer.js View File

@@ -189,7 +189,6 @@ class Viewer {
return this._delegate.scene.globe._surface._debug.maxDepthVisited
}


/**
* Adds a plugin
* @param plugin
@@ -671,7 +670,6 @@ class Viewer {
link.click()
return this
}

}

export default Viewer

Loading…
Cancel
Save