Class: FdGeologySimulationManager

FdTools. FdGeologySimulationManager

地质模拟管理类


new FdGeologySimulationManager(scene, json [, textureDir])

Parameters:
Name Type Argument Description
scene Freedo.Scene

场景

json String

记录钻孔点信息的JSON文件

textureDir String <optional>

纹理路径,默认为:'../../sampleData/GeologySimulation/GeoTexture/'

Example
var viewer = Freedo.FdApp.createDefaultViewer('freedoContainer');

 var geologySimulationManager;
 Freedo.loadJson('./static/GeologySimulation/drills.json').then(function(jsonData) {
     geologySimulationManager = new Freedo.FdTools.FdGeologySimulationManager(scene ,jsonData);
 }).otherwise(function(error) {
     console.log('Load drills file failed.');
 });

Members


drillOptions :Object

Type:
  • Object
Example
var drillsOptions = geologySimulationManager.drillOptions ;
for(var key of drillsOptions){
     var drillOption = key ;
     var cartographics = drillOption.cartographics ; //输入的需要进行插值的原始三维坐标(经纬度坐标)数组。
     var maxStep = drillOption.maxStep ; //插值的最大步长
     var tileS = drillOption.tileS; //水平方向分多少块
     var tileT = drillOption.tileT; //竖直方向分多少块
     var flipUp = drillOption.flipUp; //偏移
     var buildBottom = drillOption.buildBottom; //是否构建底部
     var buildTop = drillOption.buildTop; //是否构建底部
}

showWaterLine :Boolean

显示WaterLine

Type:
  • Boolean

Methods


addGeologySimulation(cartographics [, maxStep] [, tileS] [, tileT] [, flipUp] [, buildBottom] [, buildTop])

构建地质模拟的侧面及底面并加入场景

Parameters:
Name Type Argument Description
cartographics Array.<Freedo.Cartographic>

输入的需要进行插值的原始三维坐标(经纬度坐标)数组。

maxStep Number <optional>

插值的最大步长 ,默认为1。

tileS Number <optional>

水平方向分多少块,默认为5。

tileT Number <optional>

竖直方向分多少块,默认为5。

flipUp Boolean <optional>

地质层显示是否到地上。

buildBottom Boolean <optional>

是否构建底部,默认为true。

buildTop Boolean <optional>

是否构建顶部,默认为false。

Example
var points = [
    new Freedo.Cartographic(2.03033252, 0.48737160, 52.691),
    new Freedo.Cartographic(2.03031996, 0.48738285, 55.346),
    new Freedo.Cartographic(2.03028628, 0.48739244, 44.660),
    new Freedo.Cartographic(2.03026872, 0.48738986, 44.236),
    new Freedo.Cartographic(2.03026209, 0.48737391, 45.978),
    new Freedo.Cartographic(2.03027427, 0.48735931, 47.833),
    new Freedo.Cartographic(2.03030029, 0.48735749, 50.549),
    new Freedo.Cartographic(2.03033252, 0.48737160, 52.691)
];
geologySimulationManager.addGeologySimulation(points, 1, 5, 5, undefined, true);

dispose()

清除所有


on(listener [, scope])

事件类型有:dataAdded ,dataRemoved

Parameters:
Name Type Argument Description
listener FdTools.FdGeologySimulationManager~FdGeologySimulationManagerCallback

当有事件触发时被执行的函数。

scope Object <optional>

listener函数执行时的绑定的对象。

Returns:

返回一个函数,调用该函数可以取消监听。

Type
Freedo.Event~RemoveCallback
Example
geologySimulationManager.on(function(eventType ,param) {
 if(eventType === 'dataAdded'){
    var geologyObject = param ;
    geologyObject.points ; // 输入的地质模拟多边形的顶点数组
    geologyObject.GroundErasePrimitive ;//地形挖洞的对象
    geologyObject.geologyPrimitives ;//添加的地质面对象数组
 } else if( eventType === 'dataRemoved'){

 }
});

pickGeologySimulations(position)

选择地质模拟的底面或者侧面并高亮(TODO,该函数不完善,需要后续改进)

Parameters:
Name Type Description
position Freedo.Cartesian2

屏幕坐标点


removeAllGeologySimulations()

清除所有已经构建的地质模拟对象

Example
geologySimulationManager.removeAllGeologySimulations() ;

Type Definitions


FdGeologySimulationManagerCallback(eventType, eventArg)

Parameters:
Name Type Description
eventType String

事件类型有:dataAdded(添加了一个地质模拟项),dataRemoved(清空了所有的地质模拟项)

eventArg Object

dataAdded事件的参数为刚添加的对象的封装,参考FdMicroApp.FdGeologySimulationHandler#getData ,dataRemoved不带参数