AddPipeFlow
적용 버전: VIZWide3D 3.0
표현 방식을 지정해 파이프 흐름 시각화 추가
지오메트리는 AddPressure 와 같은 실린더이고, 표면을 그리는 방식만 달라진다.
LIQUID 는 진행하는 물결과 마루 하이라이트, GAS 는 성긴 덩어리와 농담(알파)으로
표현한다. 파형 간격은 파이프 굵기에 맞춰 자동 계산되므로 모델 단위계(mm/m)와
무관하게 같은 모양이 나온다.
AnimationStart() 를 호출해야 움직인다.
Parameters
| Name | Type | Description |
|---|---|---|
| v1 | VIZCore.Vector3 | 시작점 (x, y, z) |
| c1 | VIZCore.Color | 시작 색상 (r, g, b, a) |
| v2 | VIZCore.Vector3 | 끝점 (x, y, z) |
| c2 | VIZCore.Color | 끝 색상 (r, g, b, a) |
| [radius=10.0] | Number | 실린더 반지름 |
| [speed=1.0] | Number | 애니메이션 속도 |
| [flowMode=0] | Number | FLOW_MODE 값 (COLOR/TEXTURE/LIQUID/GAS) |
| [viewID] | Number | 대상 View ID (생략 시 현재 포커스 화면) |
Returns
| Type | Description |
|---|---|
| Number | id 추가된 Item ID (RemovePressureById 로 제거) |
Example
import VIZCore3DModule from "./VIZCore3D/VIZCore3D.js";
let main = document.createElement('div');
main.className = "VIZWeb_Main";
let view = document.createElement('div');
view.id = "view"
view.className = "VIZCore3D";
main.appendChild(view);
document.body.appendChild(main);
const vizcore = new VIZCore3DModule(view);
let onInitialize = function () {
const fileKey = "example"
const url = "./model/toycar/vizw/toycar_wh.vizw";
let onload = (e) => {
//해당파일 다운로드 성공
console.log("onload::", e);
};
let onerror = function () {
//해당파일 다운로드 실패
console.log("onerror");
};
//모델 열기
vizcore.Model.OpenFile(fileKey, url, onload, onerror);
const v1 = new vizcore.Vector3(-20, -30, 10);
const v2 = new vizcore.Vector3(20, -30, 10);
const v3 = new vizcore.Vector3(20, -30, 30);
const c1 = new vizcore.Color(0, 120, 255, 255);
const c2 = new vizcore.Color(0, 220, 180, 255);
const c3 = new vizcore.Color(200, 200, 200, 255);
//압력계 시각화 활성화
vizcore.View.PressureVisualizer.SetEnable(true);
const MODE = vizcore.View.PressureVisualizer.FLOW_MODE;
//물결(액체)이 흐르는 파이프
const liquid = vizcore.View.PressureVisualizer.AddPipeFlow(
v1, c1, v2, c2, 3, 0.4, MODE.LIQUID);
//기체가 흐르는 파이프
const gas = vizcore.View.PressureVisualizer.AddPipeFlow(
v2, c3, v3, c3, 3, 0.6, MODE.GAS);
console.log("liquid_ID:", liquid, "gas_ID:", gas);
//애니메이션 재생 (호출해야 흐른다)
vizcore.View.PressureVisualizer.AnimationStart();
};
let vizcoreParam = {
event: {
onInit: onInitialize,
}
};
vizcore.Init(vizcoreParam);