deep-engine-demo/packages/docs/api/effect/FaultSlip.md
2026-04-19 18:46:28 +08:00

7.6 KiB
Raw Blame History

outline
2
3

FaultSlip

  • 源文件:packages/sdk/src/effect/FaultSlip.ts
  • 文档位置:packages/docs/api/effect/FaultSlip.md

接口:FaultSlipOptions

  • 作用FaultSlipOptions 的结构定义。

字段

字段名 类型 必填 作用
normal THREE.Vector3 法线方向。
rows number 用于保存 rows 对应的数据。
cols number 用于保存 cols 对应的数据。
spacingU number 用于保存 spacingU 对应的数据。
spacingV number 用于保存 spacingV 对应的数据。
arrowLength number 用于保存 arrowLength 对应的数据。
shaftWidth number 用于保存 shaftWidth 对应的数据。
headWidth number 用于保存 headWidth 对应的数据。
headLength number 用于保存 headLength 对应的数据。
colorHex number 用于保存 colorHex 对应的数据。
arrowSideOffset number 用于保存 arrowSideOffset 对应的数据。
arrowMoveAmp number 用于保存 arrowMoveAmp 对应的数据。
arrowMoveSpeed number 用于保存 arrowMoveSpeed 对应的数据。
autoStart boolean 用于标记 autoStart 的启用状态。

类:FaultSlip

  • 作用:断层滑移引起矿震的可视化效果 基于 Mesh 的包围盒生成断层面和交错箭头动画

构造函数

new FaultSlip(mesh: THREE.Mesh, options?: FaultSlipOptions)

  • 作用:创建 FaultSlip 实例。

  • 入参:

参数名 类型 必填 说明
mesh THREE.Mesh 目标网格对象。
options FaultSlipOptions 当前功能对应的配置项。
  • 出参:FaultSlip
  • 返回说明:返回当前类实例。

属性

属性名 可见性 类型 作用
options public Required<FaultSlipOptions> 用于保存 options 对应的数据。
group public THREE.Group 用于保存 group 对应的数据。
active public boolean 用于标记 active 的启用状态。
mesh public THREE.Mesh 用于保存 mesh 对应的数据。
arrowAnims public ArrowAnimation[] 用于保存 arrowAnims 的集合数据。
flatArrowShaftGeom public THREE.PlaneGeometry 用于保存 flatArrowShaftGeom 对应的数据。
flatArrowHeadGeom public THREE.ShapeGeometry 用于保存 flatArrowHeadGeom 对应的数据。
flatArrowMat public THREE.MeshBasicMaterial 用于保存 flatArrowMat 对应的数据。
tmpV public THREE.Vector3 用于保存 tmpV 对应的数据。
tmpV2 public THREE.Vector3 用于保存 tmpV2 对应的数据。
tmpV3 public THREE.Vector3 用于保存 tmpV3 对应的数据。
tmpM public THREE.Matrix4 用于保存 tmpM 对应的数据。
updateBound public ((data: RenderEventData) => void) | null 用于保存 updateBound 对应的数据。

方法

start(): void

  • 作用:执行 start 相关逻辑。

  • 入参:无

  • 出参:void

  • 返回说明:无返回值。

stop(): void

  • 作用:执行 stop 相关逻辑。

  • 入参:无

  • 出参:void

  • 返回说明:无返回值。

toggle(): void

  • 作用:执行 toggle 相关逻辑。

  • 入参:无

  • 出参:void

  • 返回说明:无返回值。

update(data: RenderEventData): void

  • 作用:更新 update。

  • 入参:

参数名 类型 必填 说明
data RenderEventData 输入数据。
  • 出参:void
  • 返回说明:无返回值。

setColor(colorHex: number): void

  • 作用:设置 Color。

  • 入参:

参数名 类型 必填 说明
colorHex number 参数 colorHex,类型为 number
  • 出参:void
  • 返回说明:无返回值。

setOpacity(opacity: number): void

  • 作用:设置 Opacity。

  • 入参:

参数名 类型 必填 说明
opacity number 参数 opacity,类型为 number
  • 出参:void
  • 返回说明:无返回值。

setSpeed(speed: number): void

  • 作用:设置 Speed。

  • 入参:

参数名 类型 必填 说明
speed number 参数 speed,类型为 number
  • 出参:void
  • 返回说明:无返回值。

setAmplitude(amplitude: number): void

  • 作用:设置 Amplitude。

  • 入参:

参数名 类型 必填 说明
amplitude number 参数 amplitude,类型为 number
  • 出参:void
  • 返回说明:无返回值。

dispose(): void

  • 作用:释放资源并销毁当前实例。

  • 入参:无

  • 出参:void

  • 返回说明:无返回值。

init(): void

  • 作用:执行 init 初始化逻辑。

  • 入参:无

  • 出参:void

  • 返回说明:无返回值。

makeArrowMesh(params: { length: number; shaftWidth: number; headWidth: number; headLength: number; }): THREE.Group<THREE.Object3DEventMap>

  • 作用:执行 make Arrow Mesh 相关逻辑。

  • 入参:

参数名 类型 必填 说明
params { length: number; shaftWidth: number; headWidth: number; headLength: number; } 参数 params,类型为 { length: number; shaftWidth: number; headWidth: number; headLength: number; }
  • 出参:THREE.Group<THREE.Object3DEventMap>
  • 返回说明:返回 THREE.Group<THREE.Object3DEventMap>

orientArrowOnSection(arrow: THREE.Group, moveDir: THREE.Vector3, sectionNormal: THREE.Vector3): void

  • 作用:执行 orient Arrow On Section 相关逻辑。

  • 入参:

参数名 类型 必填 说明
arrow THREE.Group 参数 arrow,类型为 THREE.Group
moveDir THREE.Vector3 参数 moveDir,类型为 THREE.Vector3
sectionNormal THREE.Vector3 参数 sectionNormal,类型为 THREE.Vector3
  • 出参:void
  • 返回说明:无返回值。

buildVisualization(): void

  • 作用:执行 build Visualization 相关逻辑。

  • 入参:无

  • 出参:void

  • 返回说明:无返回值。

构造示例

  • 来源:packages/demo/src/disasterFormationPanel/GoldMineScene/MineSeismicPanel.vue
  const section = bus.getSection();
  faultSlip = new FaultSlip(section, {autoStart: true});
  faultSlipSeismicWave = new SeismicWave({
    emitterPositions: [new THREE.Vector3(0, 0, 0)],
    shape: 'sphere',
    autoStart: true
  });
  hasFaultSlip.value = true;
};
  • 来源:packages/demo/src/disasterFormationPanel/OilGasScene/OilGasMineSeismicPanel.vue
  const section = bus.getSection();
  faultSlip = new FaultSlip(section, {autoStart: true});
  faultSlipSeismicWave = new SeismicWave({
    emitterPositions: [new THREE.Vector3(0, 0, 0)],
    shape: 'sphere',
    autoStart: true
  });
  hasFaultSlip.value = true;
};

函数示例

  • 当前 Demo 中没有直接展示 FaultSlip 的公开方法调用。

Demo 参考

FaultSlip

以下示例文件中可以看到该 API 的实际调用方式:

  • packages/demo/src/disasterFormationPanel/GoldMineScene/MineSeismicPanel.vue
  • packages/demo/src/disasterFormationPanel/OilGasScene/OilGasMineSeismicPanel.vue