new U3dHeatGeometry(opt)
열원(Heat) 도형을 생성합니다.
온도(temperature)·범위(buffer)·감쇠 배율(outerFactor)을 옵션으로 지정하며, 만든 뒤 setTargets로 열 영향을 줄 대상 객체를 등록합니다.
생성 옵션은 생략할 수 없습니다. 만들어질 때 자체 CHANGE 이벤트를 구독해, 이후 값이 바뀔 때마다 열 영향이 다시 계산됩니다.
| Name | Type | Description |
|---|---|---|
opt |
U3dHeatGeometryCO |
생성 옵션 (온도·범위·감쇠 배율·사용 여부 등) |
Members
-
EVENTU3dHeatGeometryEMI
-
이 열원이 발생시키는 이벤트의 이름 모음입니다.
도형 공통 이벤트에 열원 전용 이벤트(CHANGE·ACTIVE·DEACTIVE·DISPOSE)를 더한 것입니다. -
HeatManagerU3dHeatManager
-
모든 열원이 함께 쓰는 열 계산 관리자입니다.
열원과 대상의 연결, 온도 색상표, 대상에 넘길 열 정보를 이 하나가 관리하므로 여기에 준 설정은 모든 열원에 영향을 줍니다. -
buffer
-
열이 그대로 전달되는 기본 반경입니다. (
setBuffer와 짝을 이룹니다) -
outerFactor
-
감쇠가 끝나는 바깥 반경을 정하는 배율입니다. (
setOuterFactor와 짝을 이룹니다)
Methods
-
dispose()
-
열원을 제거하고 리소스를 해제합니다.
등록된 모든 대상의 열 영향을 해제한 뒤 구체(U3dSphere)의 정리 과정을 수행합니다. -
getAvailable()boolean
-
열원이 켜져 있는지 반환합니다. (
setAvailable과 짝을 이룹니다)Returns:
Type Description boolean 켜져 있으면 true -
getBuffer()number
-
열이 그대로 전달되는 기본 반경을 반환합니다. (
setBuffer와 짝을 이룹니다)Returns:
Type Description number 기본 반경. 대상 객체를 기준으로 잰 거리입니다 -
getMaxTemperature()number
-
색상표의 상한 온도를 반환합니다. (
setMaxTemperature와 짝을 이룹니다)Returns:
Type Description number 상한 온도 -
getMinTemperature()number
-
색상표의 하한 온도를 반환합니다. (
setMinTemperature와 짝을 이룹니다)Returns:
Type Description number 하한 온도 -
getParam()U3dHeatGeometryParam
-
열원의 이름·위치·크기·온도와 구체 모양 정보를 한 객체에 담아 반환합니다.
저장해 두었다가 같은 열원을 다시 만들 때 사용합니다.buffer·outerFactor와 온도 상하한은 담기지 않으므로 필요하면 따로 읽습니다. 위경도 좌표를 레이어에서 얻으므로 레이어에 등록한 뒤 호출합니다.Returns:
Type Description U3dHeatGeometryParam 이름·좌표·회전·온도·구체 속성을 담은 객체. 호출할 때마다 새 객체를 만들어 돌려줍니다 -
getParent()Object3D|null
-
이 열원이 속한 부모 Object3D를 반환합니다.
Returns:
Type Description Object3D | null 부모 객체 (없으면 null) -
getPosition()WorldPositionVector3
-
열원의 현재 3D 월드 좌표를 반환합니다.
부모 변환까지 반영된 월드 좌표(matrixWorld 기준)를 돌려줍니다.Returns:
Type Description WorldPositionVector3 월드 좌표 (EPSG:3857). 호출할 때마다 새 벡터를 만들어 돌려줍니다 -
getTargets()Set.<Object3D>
-
이 열원에 등록된 대상 객체 목록을 반환합니다.
열원이 들고 있는Set을 그대로 돌려주므로, 이 값을 고치면 등록 목록도 함께 바뀝니다.Returns:
Type Description Set.<Object3D> 등록된 대상 객체 목록 -
getTemperature()number
-
열원이 내는 현재 온도를 반환합니다. (
setTemperature와 짝을 이룹니다)Returns:
Type Description number 현재 온도 -
removeTargets(objects)
-
이 열원에 등록했던 대상 객체를 해제(등록 취소)합니다.
단일 객체 또는 객체 배열을 받으며, 해제된 대상은 더 이상 열 영향을 받지 않습니다. 이미dispose한 열원에서는 아무 일도 하지 않고, 해제하지 못한 대상은 콘솔에 기록을 남깁니다.Name Type Description objectsArray.<Object3D> | Object3D 등록을 풀 대상 객체 또는 그 배열
-
setAvailable(available)
-
열원의 사용(활성) 여부를 설정합니다.
true면 활성(active), false면 비활성(deactive) 이벤트가 발생하며, 비활성 상태에서는 대상에 열 영향을 주지 않습니다.Name Type Description availableboolean true면 열원을 켜고false면 끕니다. boolean이 아닌 값은 적용하지 않습니다 -
setBuffer(buffer)
-
열이 그대로 전달되는 기본 반경을 설정합니다.
이 거리 안에서는 열이 줄지 않고, 여기서부터outerFactor를 곱한 거리까지 서서히 약해집니다. 값을 바꾸면 열 영향이 다시 계산되어 등록된 대상에 반영됩니다.Name Type Description buffernumber 기본 반경. 숫자가 아니거나 무한대인 값은 적용하지 않습니다
-
setHeatPalette(palette)
-
열원의 온도별 색상 범주(palette)를 지정합니다.
온도 구간마다 색상(과 선택적으로 불투명도)을 지정한 배열을 넘기면, 그 사이 온도는 이웃한 두 색을 섞어 표현합니다. 색상표는 모든 열원이 함께 쓰는HeatManager가 들고 있으므로, 한 열원에서 지정해도 모든 열원에 적용됩니다.Name Type Description paletteArray.<TempPalette> 온도와 그 온도에서의 색상을 담은 배열. 항목이 두 개 미만이면 색상표를 지웁니다
Example
const temps = [ { temp: -30, color: '#0033ff' }, { temp: 0, color: '#00ffff', opacity: 0 }, { temp: 20, color: '#00ff88' }, { temp: 60, color: 'rgb(255,128,0)' }, { temp: 100, color: 'red' } ]; -
setMaxTemperature(temperature)
-
색상표의 상한 온도를 설정합니다.
이 값 이상의 온도는 색상표의 마지막 색으로 표현됩니다. 열원이 내는 온도(setTemperature)와는 별개입니다.Name Type Description temperaturenumber 상한 온도. 숫자가 아니거나 무한대인 값은 적용하지 않습니다
-
setMinTemperature(temperature)
-
색상표의 하한 온도를 설정합니다.
이 값 이하의 온도는 색상표의 첫 색으로 표현됩니다. 열원이 내는 온도(setTemperature)와는 별개입니다.Name Type Description temperaturenumber 하한 온도. 숫자가 아니거나 무한대인 값은 적용하지 않습니다
-
setOuterFactor(factor)
-
열원의 적용 범위 배율(outerFactor)을 설정합니다.
적용 범위(buffer)를 얼마나 확장해 감쇠 구간을 만들지 결정하는 배율입니다. 값이 클수록 열이 더 멀리까지 서서히 약해집니다.Name Type Description factornumber buffer에 곱할 배율. 숫자가 아니거나 무한대인 값은 적용하지 않습니다 -
setTargets(objects)
-
이 열원이 열 영향을 줄 대상 객체(타깃)를 등록합니다.
단일 객체 또는 객체 배열을 받으며, 등록된 대상은 열원의 온도·범위 변화에 따라 영향을 받습니다. 이미dispose한 열원에서는 아무 일도 하지 않습니다.Name Type Description objectsArray.<Object3D> | Object3D 열 영향을 받을 대상 객체 또는 그 배열.
undefined·null항목은 건너뜁니다 -
setTemperature(temperature)
-
열원의 현재 온도를 설정합니다.
온도를 바꾸면 열 영향이 다시 계산되어 등록된 대상에 반영됩니다.Name Type Description temperaturenumber 열원이 내는 온도. 숫자가 아니거나 무한대인 값은 적용하지 않습니다
-
setWorldPosition(pos)
-
열원의 3D 월드 좌표를 설정합니다.
x·y·z가 모두 숫자인 좌표만 적용하며, 자동 갱신이 꺼져 있으면 행렬을 즉시 갱신합니다. 이미dispose한 열원에서는 아무 일도 하지 않습니다.Name Type Description posWorldPositionVector3 옮길 월드 좌표 (EPSG:3857)
Type Definitions
-
TempPaletteobject
-
setHeatPalette에 넘기는 온도 색상표의 항목 하나입니다.
항목을 온도 순으로 늘어놓으면 그 사이 온도는 이웃한 두 항목의 색을 섞어 표현합니다.Properties:
Name Type Argument Default Description tempnumber 이 색을 적용할 온도. 숫자로 바꿀 수 없는 값이면 그 항목을 건너뜁니다
colorColorRepresentation 이 온도에서 보일 색상. 16진수 숫자(
0xff0000), CSS 색 문자열('#ff0000','red') 또는THREE.Color를 넣습니다opacitynumber <optional>
1.0 이 온도에서의 불투명도 (0~1). 범위를 벗어난 값은 0~1로 잘라서 적용합니다
-
U3dHeatGeometryCOobject
-
~extends U3dSphere~U3dSphereCO
U3dHeatGeometry 생성자 옵션Properties:
Name Type Argument Default Description namestring <optional>
'' 열원 이름. 레이어에서 도형을 찾을 때 쓰는 식별자입니다
availableboolean <optional>
false 열원을 켠 상태로 만들지 여부. 꺼져 있으면 등록한 대상에 열을 전달하지 않습니다
temperaturenumber <optional>
0 열원이 내는 온도. 숫자로 바꿀 수 없는 값을 넣으면 0으로 시작합니다
minTemperaturenumber <optional>
0 색상표의 하한 온도. 이 값 이하는 색상표의 첫 색으로 표현됩니다
maxTemperaturenumber <optional>
100 색상표의 상한 온도. 이 값 이상은 색상표의 마지막 색으로 표현됩니다
buffernumber <optional>
1 열이 그대로 전달되는 기본 반경. 대상 객체를 기준으로 잰 거리입니다
outerFactornumber <optional>
3 감쇠가 끝나는 바깥 반경을 정하는 배율.
buffer에 이 값을 곱한 거리까지 열이 서서히 약해집니다 -
U3dHeatGeometryEMIobject
-
열원이 발생시키는 이벤트 이름 모음입니다.
heat.on(U3dHeatGeometry.EVENT.CHANGE, handler)처럼 리스너를 등록할 때 사용합니다.Properties:
Name Type Description CHANGEstring 온도·범위·색상표처럼 열 계산에 쓰이는 값이 바뀔 때 발생합니다.
data에 열원 객체가 담기며, 이 이벤트를 받으면 열 영향이 다시 계산됩니다ACTIVEstring setAvailable(true)로 열원을 켰을 때 발생합니다DEACTIVEstring setAvailable(false)로 열원을 껐을 때 발생합니다DISPOSEstring 자원 해제를 알립니다
-
U3dHeatGeometryParamobject
-
getParam함수가 반환하는 열원(HeatGeometry) 속성 객체입니다.
이 값을 저장해 두면 나중에 같은 열원을 다시 만들 수 있습니다. 호출할 때마다 새 객체를 만들어 돌려주며,buffer·outerFactor·온도 상하한은 담기지 않습니다.Properties:
Name Type Description namestring 열원 이름
positionWorldPositionVector3 부모 변환까지 반영한 월드 좌표 (EPSG:3857)
scaleVector3 축별 크기 배율. 1이면 원래 크기입니다
rotationObject 축별 회전 각도 (도).
_order는 축 적용 순서,unit은 항상'degree'입니다geoPositionGeoPositionVector3 | undefined 위경도로 바꾼 위치 (EPSG:4326). 레이어의 그리기 정보가 아직 준비되지 않았으면
undefinedtemperaturenumber 열원이 내는 현재 온도
radiusnumber 열원을 나타내는 구체의 반지름 (미터)
widthSegmentsnumber 구체 둘레 방향 분할 수
heightSegmentsnumber 구체 위아래 방향 분할 수
propertiesKeyValue 도형과 함께 보관해 둔 사용자 정의 속성
styleObject 색상(hex 문자열, 변환하지 못하면
null)·불투명도·외곽선 표시 여부