Sfoglia il codice sorgente

update model

tags/3.0.0
Caven Chen 2 anni fa
parent
commit
2035d13bcc

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

super() super()
this._position = Parse.parsePosition(position) this._position = Parse.parsePosition(position)
this._modelUrl = modelUrl this._modelUrl = modelUrl
this._delegate = Cesium.Model.fromGltf({ url: modelUrl })
this._delegate = Cesium.Model.fromGltfAsync({ url: modelUrl })
this._state = State.INITIALIZED this._state = State.INITIALIZED
} }


return Overlay.getOverlayType('model_primitive') return Overlay.getOverlayType('model_primitive')
} }


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

set position(position) { set position(position) {
this._position = Parse.parsePosition(position) this._position = Parse.parsePosition(position)
let origin = Transform.transformWGS84ToCartesian(this._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() { get position() {


set modelUrl(modelUrl) { set modelUrl(modelUrl) {
this._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 this.position = this._position
} }


this.position = this._position 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 * Sets style
* @param style * @param style
return this return this
} }
Util.merge(this._style, style) Util.merge(this._style, style)
Util.merge(this._delegate, style)
this._delegate.then((model) => {
Util.merge(model, style)
})
return this return this
} }
} }

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

return this._delegate.scene.globe._surface._debug.maxDepthVisited return this._delegate.scene.globe._surface._debug.maxDepthVisited
} }



/** /**
* Adds a plugin * Adds a plugin
* @param plugin * @param plugin
link.click() link.click()
return this return this
} }

} }


export default Viewer export default Viewer

Loading…
Annulla
Salva