본문으로 건너뛰기

AddPipeFlow

적용 버전: VIZWide3D 3.0

표현 방식을 지정해 파이프 흐름 시각화 추가

지오메트리는 AddPressure 와 같은 실린더이고, 표면을 그리는 방식만 달라진다.
LIQUID 는 진행하는 물결과 마루 하이라이트, GAS 는 성긴 덩어리와 농담(알파)으로
표현한다. 파형 간격은 파이프 굵기에 맞춰 자동 계산되므로 모델 단위계(mm/m)와
무관하게 같은 모양이 나온다.
AnimationStart() 를 호출해야 움직인다.

Parameters​

NameTypeDescription
v1VIZCore.Vector3시작점 (x, y, z)
c1VIZCore.Color시작 색상 (r, g, b, a)
v2VIZCore.Vector3끝점 (x, y, z)
c2VIZCore.Color끝 색상 (r, g, b, a)
[radius=10.0]Number실린더 반지름
[speed=1.0]Number애니메이션 속도
[flowMode=0]NumberFLOW_MODE 값 (COLOR/TEXTURE/LIQUID/GAS)
[viewID]Number대상 View ID (생략 시 현재 포커스 화면)

Returns​

TypeDescription
Numberid 추가된 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);