GeOnDT GeOnDT for JS

Class: UAnalyPhysicalFlow

UAnalyPhysicalFlow

~extends UAnaly
물리 흐름 시뮬레이션 분석 클래스
강우, 유수 흐름 등의 물리 기반 파티클 시뮬레이션 기능을 제공한다.

new UAnalyPhysicalFlow(opt)

Name Type Default Description
opt object {} optional

생성자 옵션

Name Type Default Description
name string 'PhysicalFlow' optional

분석 클래스 이름

resolution number 2 optional

지면 영역 해상도

gravity number -12 optional

중력값

maxParticleNum number 6000 optional

입자 생성 한계값

limitMinHeight number -10 optional

입자 소멸 최소 높이

limitTime number 40000 optional

입자 생존 시간(ms)

Example
const analy = app.activeAnalysis('PhysicalFlow');
await analy.active();

Methods

async active()Promise.<boolean>

Returns:
Type Description
Promise.<boolean>

async clear()Promise.<void>

분석 데이터를 초기화하는 함수.

Returns:
Type Description
Promise.<void>

async createPhysicalArea(feature)Promise.<boolean>

그려진 영역으로 물리 분석을 초기화하는 함수.

Name Type Description
feature UMeasureFeature | undefined
Returns:
Type Description
Promise.<boolean>

async deactive()Promise.<boolean>

Returns:
Type Description
Promise.<boolean>

drawPhysicalArea()Promise.<void>

물리 분석 영역을 마우스로 그리는 함수.

Returns:
Type Description
Promise.<void>

drawTargetArea()Promise.<void>

목표 영역을 마우스로 그리는 함수.

Returns:
Type Description
Promise.<void>

async generateObject(option)Promise.<(Array.<Mesh>|Mesh|boolean)>

파티클 오브젝트를 생성하는 함수.

Name Type Default Description
option object {} optional

파티클 오브젝트 옵션

Name Type Default Description
type number optional

시뮬레이션 타입

geometry BufferGeometry | Array.<BufferGeometry> optional

파티클 지오메트리

material Material | Array.<Material> optional

파티클 머터리얼

position Object | Array.<{x: number, y: number, z: number}> optional

파티클 위치

radius number | Array.<number> | CheckFloat16Array 2 optional

파티클 반지름

mass number | Array.<number> | CheckFloat16Array optional

파티클 질량

simulationId string | Array.<string> optional

시뮬레이션 ID

Returns:
Type Description
Promise.<(Array.<Mesh>|Mesh|boolean)>

getHeightData(origin, width, height, resolution)Object|undefined

지정된 영역의 고도 데이터를 반환하는 함수.

Name Type Description
origin WorldPositionVector3

시작 좌표 (월드 좌표계)

width number

영역 가로 크기

height number

영역 세로 크기

resolution number

해상도

Returns:
Type Description
Object | undefined 고도 데이터 배열과 최소/최대 고도

getInfo()Object

현재 분석 영역 정보를 반환하는 함수.

Returns:
Type Description
Object 분석 영역 정보 (분석 Box, 영역 가로/세로 크기, 영역 중심 좌표(월드 좌표계), 지형 최소/최대 높이)

getSimulation(simulationId)UPhysicalFlowSimulation|undefined

시뮬레이션 정보를 반환하는 함수.

Name Type Description
simulationId string

시뮬레이션 ID

Returns:
Type Description
UPhysicalFlowSimulation | undefined

removeFlowFeature()

흐름 영역 피처를 제거하는 함수.

removeSimulation(simulationId)boolean

시뮬레이션과 관련 오브젝트를 제거하는 함수.

Name Type Description
simulationId string

시뮬레이션 ID

Returns:
Type Description
boolean

removeTargetFeature()

분석 영역 피처를 제거하는 함수.

async setOption(option)Promise.<boolean>

물리 분석 옵션을 설정하는 함수.

Name Type Description
option object

물리 분석 옵션

Name Type Default Description
name string 'PhysicalFlow' optional

분석 클래스 이름

resolution number 2 optional

지면 영역 해상도

gravity number -12 optional

중력값

maxParticleNum number 6000 optional

입자 생성 한계값

limitMinHeight number -10 optional

입자 소멸 최소 높이

limitTime number 40000 optional

입자 생존 시간(ms)

Returns:
Type Description
Promise.<boolean>

simulateFlow(option)string|undefined

흐름 시뮬레이션을 시작하는 함수.

Name Type Default Description
option object {} optional

흐름 시뮬레이션 옵션

Name Type Default Description
amount number 8 optional

프레임당 생성 입자 수

initTime number 5000 optional

시뮬레이션 유지 시간(ms)

radius number 1 optional

입자 반지름

mass number 20 optional

입자 질량

resolution number 0.4 optional

입자 생성 해상도

steps Array.<({color: ColorLike, opacity: number}|Partial.<{max: number}>)> optional
generateRatio number 1.0 optional

입자 생성 비율

generateAmount number 5 optional

추가 입자 생성 한계

Returns:
Type Description
string | undefined 시뮬레이션 ID

simulateRain(option)string|undefined

강우 시뮬레이션을 시작하는 함수.

Name Type Default Description
option object {} optional

강우 시뮬레이션 옵션

Name Type Default Description
amount number 4 optional

프레임당 생성 입자 수

initHeight number 600 optional

입자 초기 생성 높이

radius number 1 optional

입자 반지름

mass number 8 optional

입자 질량

color ColorLike 0x85D3F2 optional

입자 색상

opacity number 0.3 optional

입자 불투명도

Returns:
Type Description
string | undefined 시뮬레이션 ID

startSimulation(simulationId)boolean

일시 정지된 시뮬레이션을 재시작하는 함수.

Name Type Description
simulationId string

시뮬레이션 ID

Returns:
Type Description
boolean

stopDraw()UMeasureFeature|undefined

마우스 이벤트 및 클릭 이벤트를 해제하고 그리기를 종료하는 함수.

Returns:
Type Description
UMeasureFeature | undefined

stopSimulation(simulationId)boolean

시뮬레이션을 일시 정지하는 함수.

Name Type Description
simulationId string

시뮬레이션 ID

Returns:
Type Description
boolean

updatePhysics()

물리 시뮬레이션을 매 프레임마다 업데이트하는 함수.

Type Definitions

UPhysicalFlowSimulationobject

시뮬레이션 내부 상태 객체

Properties:
Name Type Argument Description
active boolean

활성화 여부

startTime number

시작 시간

fnc function

프레임 업데이트 함수

amount number <optional>

프레임당 생성 입자 수

initTime number <optional>

시뮬레이션 유지 시간 (ms)

radius number <optional>

입자 반지름

mass number <optional>

입자 질량

resolution number <optional>

입자 생성 해상도

steps Array.<({color: ColorLike, opacity: number}|Partial.<{max: number}>)> <optional>

속도별 색상 단계 (max: 최대 속도, color: 색상, opacity: 투명도)

generateRatio number <optional>

입자 생성 비율

generateAmount number <optional>

추가 입자 생성 한계

positions Array.<{x: number, y: number, z: number}> <optional>

생성 위치 목록

width number <optional>

영역 가로 크기 (rain)

height number <optional>

영역 세로 크기 (rain)

center WorldPositionVector3 <optional>

영역 중심 좌표 (월드 좌표계, rain)

initHeight number <optional>

초기 생성 높이 (rain)

color ColorLike <optional>

입자 색상 (rain)

opacity number <optional>

입자 불투명도 (rain)