new UAnalySurfaceVolume(options)
| Name | Type | Default | Description |
|---|---|---|---|
options |
UAnalySurfaceVolumeCO | {} | optional |
Example
const analy = app.getAnalysis('SurfaceVolume');
analy.active();
analy.startDraw();
Members
-
REFERENCE_TYPE
-
기준면 타입 상수
-
TARGET_TYPE
-
분석 대상 타입 상수
Methods
-
active()
-
분석을 활성화합니다.
-
addBoundary(id, options)SurfaceVolumeVisualizationHandle
-
영역 외곽선 가시화를 추가합니다.
Name Type Default Description idstring 영역 ID
optionsSurfaceVolumeVisualizationOptions {} optional 가시화 옵션
Returns:
Type Description SurfaceVolumeVisualizationHandle 가시화 핸들 -
addGrid(id, options)SurfaceVolumeVisualizationHandle
-
영역 격자 가시화를 추가합니다.
Name Type Default Description idstring 영역 ID
optionsSurfaceVolumeVisualizationOptions {} optional 가시화 옵션
Returns:
Type Description SurfaceVolumeVisualizationHandle 가시화 핸들 -
addHeatmap(id, options)SurfaceVolumeVisualizationHandle
-
사용자 Result 값을 기준으로 Heatmap 가시화를 추가합니다.
Name Type Default Description idstring 영역 ID
optionsSurfaceVolumeVisualizationOptions | Partial.<{valueAccessor: function(), minValue: number, maxValue: number, colorRamp: Array.<object>, opacity: number, offset: number, sideFaces: boolean, sideOpacity: number}> {} optional 가시화 옵션
Returns:
Type Description SurfaceVolumeVisualizationHandle 가시화 핸들 -
addLabel(id, options)SurfaceVolumeVisualizationHandle
-
결과 라벨 가시화를 추가합니다.
Name Type Default Description idstring 영역 ID
optionsSurfaceVolumeVisualizationOptions | Partial.<{text: (string|function()), position: Vector3Like, fontsize: number}> {} optional 가시화 옵션
Returns:
Type Description SurfaceVolumeVisualizationHandle 가시화 핸들 -
addReference(id, options)SurfaceVolumeVisualizationHandle
-
기준면 샘플 포인트 가시화를 추가합니다.
Name Type Default Description idstring 영역 ID
optionsSurfaceVolumeVisualizationOptions {} optional 가시화 옵션
Returns:
Type Description SurfaceVolumeVisualizationHandle 가시화 핸들 -
addVerticalLines(id, options)SurfaceVolumeVisualizationHandle
-
사용자 Result 값을 기준으로 수직선 가시화를 추가합니다.
Name Type Default Description idstring 영역 ID
optionsSurfaceVolumeVisualizationOptions | Partial.<{startAccessor: function(), endAccessor: function()}> {} optional 가시화 옵션
Returns:
Type Description SurfaceVolumeVisualizationHandle 가시화 핸들 -
addVisualization(id, options)SurfaceVolumeVisualizationHandle
-
사용자 정의 Object3D 가시화를 추가합니다.
Name Type Default Description idstring 영역 ID
optionsSurfaceVolumeVisualizationOptions | Partial.<{create: function(), update: function(), dispose: function()}> {} optional 가시화 옵션
Returns:
Type Description SurfaceVolumeVisualizationHandle 가시화 핸들 -
addVolumeArea(options)UAnalySurfaceVolume~SurfaceVolumeArea
-
분석 영역을 추가합니다.
Name Type Description optionsSurfaceVolumeAreaOption 영역 옵션
Returns:
Type Description UAnalySurfaceVolume~SurfaceVolumeArea 분석 영역 -
cancelCompute(id)
-
분석 작업을 취소합니다.
Name Type Description idstring optional 영역 ID
-
cancelCurrentHeatmap()UAnalySurfaceVolume~SurfaceVolumeArea|undefined
-
취소 동작에서 현재 Heatmap 미리보기를 제거합니다.
Returns:
Type Description UAnalySurfaceVolume~SurfaceVolumeArea | undefined 제거된 Heatmap 미리보기 영역 -
cancelDraw()
-
Polygon 영역 입력을 취소합니다.
-
cancelPreparation(id)
-
분석 준비 작업을 취소합니다.
Name Type Description idstring optional 영역 ID
-
clear(options)
-
분석 상태와 시각화를 정리합니다.
Name Type Default Description optionsPartial.<{areas: boolean, drawing: boolean, visualization: boolean, visualizations: boolean, results: boolean, cache: boolean, preparation: boolean}> {} optional 정리 옵션
-
clearResult(id)
-
영역 결과를 제거합니다.
Name Type Description idstring 영역 ID
-
async computeVolume(id, options)Promise.<SurfaceVolumeComputeResult>
-
단일 영역의 체적을 계산합니다. 기존 코드 호환용 API이며 내부적으로 runAnalysis를 호출합니다.
Name Type Default Description idstring 영역 ID
optionsPartial.<{calculator: (SurfaceVolumeCalculator|string)}> {} optional 계산 옵션
Returns:
Type Description Promise.<SurfaceVolumeComputeResult> 분석 결과 Example
const result = await analy.computeVolume(areaId, { calculator: customVolumeCalculator }); -
async computeVolumeAll()Promise.<Array.<SurfaceVolumeComputeResult>>
-
전체 영역의 체적을 순차 계산합니다.
Returns:
Type Description Promise.<Array.<SurfaceVolumeComputeResult>> 분석 결과 목록 -
deactive()
-
분석을 비활성화합니다.
-
dispose()
-
분석 객체를 폐기합니다.
-
async editVolumeArea(id, options)Promise.<(SurfaceVolumeComputeResult|undefined)>
-
분석 영역을 수정하고 재분석합니다.
Name Type Description idstring 영역 ID
optionsPartial.<SurfaceVolumeAreaOption> 수정 옵션
Returns:
Type Description Promise.<(SurfaceVolumeComputeResult|undefined)> 재분석 결과 -
getAnalysisOption()object
-
현재 분석 옵션을 반환합니다.
Returns:
Type Description object 분석 옵션 -
getClippingInfo(areaId)object|undefined
-
clipping UI 구성을 위한 영역 정보를 반환합니다.
Name Type Description areaIdstring optional 영역 ID
Returns:
Type Description object | undefined clipping 영역 정보 -
getParam()object
-
Returns:
Type Description object 저장 가능한 분석 파라미터 -
getReferenceSurface()SurfaceVolumeReferenceOption|undefined
-
Returns:
Type Description SurfaceVolumeReferenceOption | undefined 기준면 -
getResult(id)SurfaceVolumeComputeResult|undefined
-
영역 결과를 반환합니다.
Name Type Description idstring 영역 ID
Returns:
Type Description SurfaceVolumeComputeResult | undefined 분석 결과 -
getTarget()SurfaceVolumeTargetOption|undefined
-
Returns:
Type Description SurfaceVolumeTargetOption | undefined 분석 대상 -
getVisualization(id, visualizationId)SurfaceVolumeVisualizationHandle|undefined
-
가시화 핸들을 반환합니다.
Name Type Description idstring 영역 ID
visualizationIdstring 가시화 ID
Returns:
Type Description SurfaceVolumeVisualizationHandle | undefined 가시화 핸들 -
getVisualizationList(id)Array.<SurfaceVolumeVisualizationHandle>
-
영역의 가시화 핸들 목록을 반환합니다.
Name Type Description idstring 영역 ID
Returns:
Type Description Array.<SurfaceVolumeVisualizationHandle> 가시화 핸들 목록 -
getVolume(id)Object|undefined
-
영역 체적 정보를 반환합니다.
Name Type Description idstring 영역 ID
Returns:
Type Description Object | undefined 체적 정보 -
getVolumeArea(id)UAnalySurfaceVolume~SurfaceVolumeArea|undefined
-
분석 영역을 반환합니다.
Name Type Description idstring 영역 ID
Returns:
Type Description UAnalySurfaceVolume~SurfaceVolumeArea | undefined 분석 영역 -
getVolumeAreaList()Array.<UAnalySurfaceVolume~SurfaceVolumeArea>
-
Returns:
Type Description Array.<UAnalySurfaceVolume~SurfaceVolumeArea> 분석 영역 목록 -
getVolumeCalculator()SurfaceVolumeCalculator
-
등록된 기본 사용자 Calculator를 반환합니다.
Returns:
Type Description SurfaceVolumeCalculator 계산 콜백 -
hide()
-
시각화 객체를 숨긴다.
-
hideAllVisualizations()
-
모든 영역의 가시화를 숨긴다.
-
hideAreaVisualizations(id)
-
영역의 모든 가시화를 숨긴다.
Name Type Description idstring 영역 ID
-
hideCurrentHeatmap()UAnalySurfaceVolume~SurfaceVolumeArea|undefined
-
확인 동작에서 현재 Heatmap 미리보기를 숨긴다.
Returns:
Type Description UAnalySurfaceVolume~SurfaceVolumeArea | undefined 현재 Heatmap 미리보기 영역 -
hideVisualization(id, visualizationId)
-
지정한 가시화를 숨긴다.
Name Type Description idstring 영역 ID
visualizationIdstring 가시화 ID
-
async loadParam(params, options)
-
저장된 분석 파라미터를 불러온다.
Name Type Default Description paramsPartial.<{options: Partial.<UAnalySurfaceVolumeCO_Content>, target: SurfaceVolumeTargetOption, referenceSurface: SurfaceVolumeReferenceOption, areas: Array.<SurfaceVolumeAreaOption>}> 저장 파라미터
optionsPartial.<{replace: boolean, compute: boolean}> {} optional 불러오기 옵션
-
async prepareAnalysis(id, options)Promise.<SurfaceVolumeComputeContext>
-
분석 영역의 Polygon 삼각 Mesh와 표면 샘플을 준비합니다. 이 단계는 체적 계산식을 실행하지 않고 사용자 Calculator에 전달할 원시 데이터만 만듭니다.
Name Type Default Description idstring 영역 ID
optionsobject {} optional 준비 옵션
Throws:
-
영역이 없거나 샘플링을 준비할 수 없을 때 발생합니다.
- Type
- Error
Returns:
Type Description Promise.<SurfaceVolumeComputeContext> 계산 문맥 Example
const context = await analy.prepareAnalysis(areaId); const result = await customVolumeCalculator(context); analy.setResult(areaId, result); -
-
registerCalculator(id, calculator)
-
저장 데이터에서 다시 연결할 Calculator를 ID로 등록합니다.
Name Type Description idstring Calculator ID
calculatorSurfaceVolumeCalculator 계산 콜백
-
registerVisualizationAccessor(id, accessor)
-
저장 데이터에서 다시 연결할 가시화 Accessor를 ID로 등록합니다.
Name Type Description idstring Accessor ID
accessorfunction 값 접근 함수
-
removeAllVisualizations(id)
-
영역의 모든 가시화를 제거합니다.
Name Type Description idstring 영역 ID
-
removeVisualization(id, visualizationId)
-
지정한 가시화를 제거합니다.
Name Type Description idstring 영역 ID
visualizationIdstring 가시화 ID
-
removeVolumeAreaAll()
-
모든 분석 영역을 삭제합니다.
-
removeVolumeAreaById(id)boolean
-
분석 영역을 삭제합니다.
Name Type Description idstring 영역 ID
Returns:
Type Description boolean 삭제 여부 -
async runAnalysis(id, calculator, options)Promise.<SurfaceVolumeComputeResult>
-
준비, 사용자 Calculator 실행, Result 등록을 순서대로 수행합니다. Calculator를 전달하지 않으면 기존 SurfaceVolume 계산식을 기본값으로 사용합니다.
Name Type Default Description idstring 영역 ID
calculatorSurfaceVolumeCalculator | string optional 개별 계산 콜백 또는 등록 ID
optionsobject {} optional 실행 옵션
Throws:
-
Calculator가 없거나 Result 구조가 잘못되면 발생합니다.
- Type
- Error
Returns:
Type Description Promise.<SurfaceVolumeComputeResult> 사용자 계산 결과 Example
const result = await analy.runAnalysis(areaId, 'custom-volume-calculator'); -
-
setAnalysisOption(options)
-
분석 옵션을 설정합니다.
Name Type Default Description optionsPartial.<UAnalySurfaceVolumeCO_Content> {} optional 분석 옵션
-
setClippingOption(option)this
-
분석 결과 시각화 객체에 적용할 clipping 옵션을 설정합니다.
Name Type Description optionobject clipping 옵션
Returns:
Type Description this 현재 인스턴스 -
setReferenceSurface(reference)
-
기준면을 설정합니다.
Name Type Description referenceSurfaceVolumeReferenceOption 기준면
-
setResult(id, result)SurfaceVolumeComputeResult
-
사용자 계산 결과를 영역에 저장합니다. 결과의 수학적 정합성은 검증하지 않고 구조만 확인합니다.
Name Type Description idstring 영역 ID
resultSurfaceVolumeComputeResult 사용자 계산 결과
Throws:
-
영역이 없거나 Result 구조가 잘못되면 발생합니다.
- Type
- Error
Returns:
Type Description SurfaceVolumeComputeResult 저장된 결과 -
-
setTarget(target)
-
분석 대상을 설정합니다.
Name Type Description targetSurfaceVolumeTargetOption | undefined 분석 대상
-
setVisualizationTypeVisible(id, type, visible)
-
영역 안에서 특정 유형 가시화의 표시 상태를 설정합니다.
Name Type Description idstring 영역 ID
typestring 가시화 유형
visibleboolean 표시 여부
-
setVolumeCalculator(calculator)
-
기본 사용자 Calculator를 등록합니다.
Name Type Description calculatorSurfaceVolumeCalculator | string | undefined 계산 콜백 또는 등록 ID
Example
analy.registerCalculator('custom-volume-calculator', customVolumeCalculator); analy.setVolumeCalculator('custom-volume-calculator'); -
show()
-
시각화 객체를 표시합니다.
-
showAllVisualizations()
-
모든 영역의 가시화를 표시합니다.
-
showAreaVisualizations(id)
-
영역의 모든 가시화를 표시합니다.
Name Type Description idstring 영역 ID
-
showVisualization(id, visualizationId)
-
지정한 가시화를 표시합니다.
Name Type Description idstring 영역 ID
visualizationIdstring 가시화 ID
-
startDraw(options)
-
Polygon 영역 입력을 시작합니다.
Name Type Default Description optionsPartial.<{minVertexCount: number, closeOnDoubleClick: boolean}> {} optional 입력 옵션
-
stopDraw()
-
Polygon 영역 입력 이벤트만 중지합니다.
Type Definitions
-
SurfaceVolumeAreaOptionobject
-
표면 체적 분석 영역 입력값
Properties:
Name Type Argument Description idstring <optional>
영역 ID
namestring <optional>
영역 이름
geoVertexArray.<Vector3Like> <optional>
지리 좌표 목록
worldVertexArray.<Vector3Like> <optional>
월드 좌표 목록
targetUAnalySurfaceVolume.types~SurfaceVolumeTargetOption <optional>
분석 대상
referenceSurfaceUAnalySurfaceVolume.types~SurfaceVolumeReferenceOption <optional>
기준면
resolutionnumber <optional>
격자 간격
visualizationUAnalySurfaceVolume.types~SurfaceVolumeVisualizationOption <optional>
시각화 옵션
-
SurfaceVolumeCalculator(context)SurfaceVolumeComputeResult|Promise.<UAnalySurfaceVolume.types~SurfaceVolumeComputeResult>
-
사용자 체적 계산 콜백
Name Type Description contextUAnalySurfaceVolume.types~SurfaceVolumeComputeContext 분석 준비 데이터
Returns:
Type Description SurfaceVolumeComputeResult | Promise.<UAnalySurfaceVolume.types~SurfaceVolumeComputeResult> 계산 결과 -
SurfaceVolumeCellResultobject
-
사용자 셀 계산 결과
Properties:
Name Type Argument Description indexnumber 셀 인덱스
validboolean 유효 여부
currentHeightnumber <optional>
현재 표면 높이
referenceHeightnumber <optional>
기준면 높이
heightDifferencenumber <optional>
높이 차
cutVolumenumber <optional>
절토량
fillVolumenumber <optional>
성토량
signedVolumenumber <optional>
부호 있는 체적
heatmapValuenumber <optional>
Heatmap 값
currentPointVector3 <optional>
현재 표면 좌표
referencePointVector3 <optional>
기준면 좌표
metadataKeyValue <optional>
부가 정보
-
SurfaceVolumeComputeContextobject
-
사용자 계산 문맥
Properties:
Name Type Description areaIdstring 영역 ID
geoVertexArray.<Vector3Like> 지리 좌표 목록
worldVertexArray.<WorldPositionVector3> 월드 좌표 목록
resolutionnumber 격자 간격
gridUAnalySurfaceVolume.types~SurfaceVolumeGrid 격자 정보
samplesArray.<UAnalySurfaceVolume.types~SurfaceVolumeSample> 샘플 목록
targetUAnalySurfaceVolume.types~SurfaceVolumeTargetOption | undefined 분석 대상
referenceUAnalySurfaceVolume.types~SurfaceVolumeReferenceOption | undefined 기준면
upDirectionVector3 위 방향
downDirectionVector3 아래 방향
boundsBox3 영역 범위
signalAbortSignal 취소 신호
reportProgressfunction 계산 진행률 보고 함수
metadataKeyValue 부가 정보
-
SurfaceVolumeComputeResultobject
-
사용자 체적 계산 결과
Properties:
Name Type Argument Description areaobject <optional>
면적 결과
Properties
Name Type Argument Description projectednumber <optional>
투영 면적
effectivenumber <optional>
유효 면적
surfacenumber <optional>
표면 면적
perimeternumber <optional>
둘레
volumeobject <optional>
체적 결과
Properties
Name Type Argument Description cutnumber <optional>
절토량
fillnumber <optional>
성토량
netnumber <optional>
순 체적
estimatednumber <optional>
추정 체적
heightobject <optional>
높이 결과
Properties
Name Type Argument Description minnumber <optional>
최저 높이 차
maxnumber <optional>
최고 높이 차
averagenumber <optional>
평균 높이 차
cellsArray.<UAnalySurfaceVolume.types~SurfaceVolumeCellResult> <optional>
셀 결과
warningsArray.<(string|KeyValue)> <optional>
경고 목록
metadataKeyValue <optional>
부가 정보
-
SurfaceVolumeGridobject
-
격자 정보
Properties:
Name Type Description cellsArray.<UAnalySurfaceVolume.types~SurfaceVolumeGridCell> 격자 셀 목록
resolutionnumber 격자 간격
rowsnumber 행 수
colsnumber 열 수
boundsObject 격자 경계 범위
totalCountnumber 전체 셀 수
originVector3 원점
-
SurfaceVolumeGridCellobject
-
격자 셀
-
SurfaceVolumeHeatmapOptionobject
-
표면 체적 Heatmap 표시 옵션
Properties:
Name Type Argument Default Description enabledboolean <optional>
true Heatmap 표시 여부
valueTypestring <optional>
'height-difference' 색상 기준값
opacitynumber <optional>
0.38 Heatmap 투명도
offsetnumber <optional>
0.2 Z-fighting 방지 높이 보정값
sideFacesboolean <optional>
true 단차 및 외곽 수직면 표시 여부
sideOpacitynumber <optional>
0.45 수직면 투명도
showLegendboolean <optional>
false 범례 표시 여부
-
SurfaceVolumeReferenceOptionobject
-
표면 체적 기준면
Properties:
Name Type Argument Description typestring 기준면 유형
heightnumber <optional>
고정 높이
layerNamestring <optional>
레이어 이름
targetKeystring <optional>
저장용 대상 키
pointsArray.<Vector3Like> <optional>
평면 기준점
objectObject3D <optional>
Object3D 기준면
objectsArray.<Object3D> <optional>
Object3D 기준면 목록
-
SurfaceVolumeSampleobject
-
샘플 정보
Properties:
Name Type Description indexnumber 셀 인덱스
centerVector3 셀 중심
cornersArray.<Vector3> 셀 꼭짓점
projectedAreanumber 투영 면적
clippedAreanumber 분석 면적
currentobject 현재 표면 샘플
Properties
Name Type Description centerPointVector3 | undefined 현재 중심점
cornerPointsArray.<(Vector3|undefined)> 현재 꼭짓점
referenceobject 기준면 샘플
Properties
Name Type Description centerPointVector3 | undefined 기준면 중심점
cornerPointsArray.<(Vector3|undefined)> 기준면 꼭짓점
validboolean 유효 여부
boundaryboolean 경계 셀 여부
-
SurfaceVolumeTargetOptionobject
-
표면 체적 분석 대상
-
SurfaceVolumeVisualizationHandleobject
-
가시화 핸들
Properties:
Name Type Description idstring 가시화 ID
typestring 가시화 유형
areaIdstring 영역 ID
objectObject3D 3D 객체
optionsUAnalySurfaceVolume.types~SurfaceVolumeVisualizationOptions 가시화 옵션
showfunction 표시
hidefunction 숨김
setVisiblefunction 표시 상태 설정
updatefunction 옵션 갱신
removefunction 제거
disposefunction 폐기
-
SurfaceVolumeVisualizationOptionobject
-
표면 체적 시각화 옵션
Properties:
Name Type Argument Default Description showBoundaryboolean <optional>
true 경계 표시 여부
showGridboolean <optional>
true 격자 표시 여부
showCutFillMapboolean <optional>
true 절성토 표시 여부
showReferenceSurfaceboolean <optional>
true 기준면 표시 여부
heatmapUAnalySurfaceVolume.types~SurfaceVolumeHeatmapOption <optional>
Heatmap 표시 옵션
verticalLinesPartial.<{enabled: boolean}> <optional>
수직선 표시 옵션 (enabled: 표시 여부)
-
SurfaceVolumeVisualizationOptionsobject
-
가시화 옵션
Properties:
Name Type Argument Default Description idstring <optional>
가시화 ID
typestring <optional>
가시화 유형
replaceboolean <optional>
false 중복 ID 교체 여부
visibleboolean <optional>
true 표시 여부
-
UAnalySurfaceVolumeCOobject
-
~extends UAnaly~UAnalyCO
표면 체적 분석 옵션Properties:
Name Type Argument Default Description namestring <optional>
'SurfaceVolume' 분석 이름
resolutionnumber <optional>
0.5 격자 간격
maxGridCountnumber <optional>
200000 최대 격자 수
heightTolerancenumber <optional>
0.02 절성토 분류 허용 오차
rayOffsetnumber <optional>
10 Ray 시작 높이 여유값
chunkSizenumber <optional>
500 비동기 처리 청크 크기
visualizationUAnalySurfaceVolume.types~SurfaceVolumeVisualizationOption <optional>
시각화 옵션