new U3dFault(opt)
생성 옵션으로 단층(Fault) 면을 생성합니다.
app 옵션이 없으면 생성되지 않으므로 반드시 전달해야 합니다.
topCoordinates가 있으면 기존과 동일하게 즉시 단층면을 만들고,
없으면 id/name/properties를 몰라도 서버 geometry를 기다리는 빈 U3dFault로 생성됩니다.
Node에서 geometryOnly=true를 전달하면 geometry/transform만 계산하고 material/edge는 만들지 않습니다.
| Name | Type | Default | Description |
|---|---|---|---|
opt |
U3dFaultCO | {} |
optional
단층(Fault) 생성 옵션 (app 필수, 경사각·폭·주향 등) |
Methods
-
addPosition(x, y, z)
-
단층면을 이루는 위경도 좌표를 추가합니다.
기존 끝점에서 새 좌표까지 단층면이 이어지며, 좌표가 처음이면 시작점으로 설정됩니다.Name Type Description xnumber 경도 (EPSG:4326)
ynumber 위도 (EPSG:4326)
znumber 높이 (미터). 지표면이 0이며 지하는 음수입니다
-
getColor()Array.<Color>
-
단층면에 적용된 색상 배열(높이별 그라디언트 색상)을 반환합니다.
Returns:
Type Description Array.<Color> 최대 깊이부터 지표 순서의 그라디언트 색상 배열. 단일 색상이면 원소 하나 -
getDepthColorStops()Array.<{ratio: number, depth: number, color: Color}>
-
현재 단층면에 적용된 깊이별 색상 스톱을 반환합니다.
배열은 최대 깊이에서 지표 방향 순서이며, 깊이는 현재 렌더링 높이 범위를 기준으로 계산합니다.Returns:
Type Description Array.<{ratio: number, depth: number, color: Color}> 깊이 비율·깊이(m)·색상으로 구성된 범례 스톱 -
getFadeStartDepth()number
-
단층의 가장 높은 점에서 투명도 감소가 시작되는 깊이를 반환합니다.
Returns:
Type Description number 투명도 감소 시작 깊이(m) -
getId()string|undefined
-
단층의 식별자를 반환합니다.
생성 옵션id또는setId로 지정한 값입니다.Returns:
Type Description string | undefined 단층의 식별자. 지정하지 않았으면 undefined -
getLabel()U3dPOI|undefined
-
단층에 연결된 라벨(주석) 객체를 반환합니다.
Returns:
Type Description U3dPOI | undefined 라벨 POI 객체. 없으면 undefined -
getName()string|undefined
-
단층의 이름을 반환합니다.
생성 옵션name또는setName으로 지정한 값입니다.Returns:
Type Description string | undefined 단층의 이름. 지정하지 않았으면 undefined -
getOpacity()number|undefined
-
단층면의 불투명도를 반환합니다.
1이면 불투명하며, 1 미만이면 투명 처리가 켜져 있습니다.Returns:
Type Description number | undefined 투명도 (설정값이 없으면 undefined) -
getParam()U3dFaultParam
-
단층면의 현재 속성을 반환합니다. (
setParam과 짝을 이룹니다)
반환된 객체를 그대로setParam에 넘기면 같은 형태를 재현할 수 있습니다.Returns:
Type Description U3dFaultParam 폭·길이·경사각·주향·외곽선 등 현재 속성 객체 -
getProperties()KeyValue
-
단층에 설정된 사용자 정의 속성 정보(key-value)를 반환합니다.
Returns:
Type Description KeyValue 단층에 보관된 사용자 정의 속성. 설정하지 않았으면 빈 객체 -
getRenderOffset()number
-
단층면의 깊이 보정값을 반환합니다.
0이면 보정하지 않습니다.Returns:
Type Description number 깊이 보정값. 0이면 보정하지 않습니다 -
getScaleRatio()number
-
단층면의 깊이 방향 축척을 반환합니다.
width와dtop에 이 값으로 나눗셈이 적용됩니다.Returns:
Type Description number 깊이 방향 축척. width와dtop에 나눗셈으로 적용됩니다 -
getTopCenter()WorldPositionVector3|undefined
-
단층면 상단의 현재 중심점 좌표를 반환합니다.
Returns:
Type Description WorldPositionVector3 | undefined 중심점 좌표 (월드 좌표, EPSG:3857) -
resetHighLight()
-
하이라이트(강조 표시)를 해제하고 원래 색상·투명도로 되돌립니다.
외곽선 옵션(useline)이 꺼져 있으면 강조용 외곽선도 함께 제거합니다. -
setColor(color)
-
단층면의 색상을 설정합니다.
단일 색상을 주면 전체에 같은 색을, 색상 배열을 주면 높이별 그라디언트 구간에 순서대로 적용합니다.Name Type Description colorColorRepresentation | Array.<ColorRepresentation> 단일 색상, 또는 최대 깊이부터 지표 순서의 그라디언트 색상 배열 (2~10개)
-
setFadeStartDepth(depth)
-
단층의 가장 높은 점에서 투명도 감소가 시작되는 깊이를 설정합니다.
설정 깊이부터 사용자 지정 최대 깊이까지 알파가 부드럽게 감소합니다.Name Type Description depthnumber 투명도 감소 시작 깊이(m)
-
setFaultData(data, opt)
-
외부에서 읽은 Fault 한 건의 데이터를 빈 U3dFault에 한 번에 적용합니다.
Browser에서는
new U3dFault({app, colors})처럼 식별 정보와 형상을 모르는 상태로 먼저 생성하고, 저장 JSON 또는 서버 응답을 이 함수에 전달해 속성·좌표·geometry를 채울 수 있습니다.Name Type Default Description dataobject 외부 Fault 데이터
optPartial.<{binaryBuffer: ArrayBuffer}> {} optional 외부 geometry 바이너리 옵션
-
setGeometryData(data, opt)
-
직렬화된 BufferGeometry 데이터를 이 단층의 geometry에 채웁니다.
생성자가 만든 geometry 인스턴스를 그대로 사용하며 새로 만들지 않습니다. 채울 geometry가 없으면 경고를 출력하고 아무것도 하지 않습니다.데이터는
attributes·index·groups만 있으면 되고, 나머지 항목은 기본값으로 채웁니다.normalattribute가 없으면position과index를 적용한 뒤 정점 normal을 계산합니다. 적용이 끝나면 재질·외곽선·월드 정점을 갱신하므로 생성자로 만든 단층과 동일하게 사용할 수 있습니다.attribute와 index는 두 가지 방식으로 지정합니다.
array에 값을 직접 담으면type이 가리키는 TypedArray로 변환하고,byteOffset과count를 지정하면opt.binaryBuffer를 복사 없이 참조합니다. 후자에서opt.binaryBuffer가 없으면 예외가 발생합니다.opt.binaryBuffer를 사용할 때는position이 반드시 있어야 하며Float32Array또는Float64Array의itemSize3이어야 하고,index는Uint16Array또는Uint32Array여야 합니다. 조건을 벗어나면 예외가 발생하며 기존 형상은 그대로 유지됩니다.Name Type Default Description dataU3dFault~FaultGeometryData 직렬화된 BufferGeometry 데이터
optU3dFault~FaultGeometryApplyOption {} optional 외부 바이너리 버퍼와 transform·meta 정보
Examples
값을 배열로 직접 전달
fault.setGeometryData({ attributes: { position: { type: 'Float32Array', itemSize: 3, array: positionValues } }, index: { type: 'Uint32Array', array: indexValues }, drawRange: { start: 0, count: 1200 } });외부 바이너리를 복사 없이 참조
fault.setGeometryData({ attributes: { position: { type: 'Float32Array', itemSize: 3, byteOffset: 0, count: 3600 } }, index: { type: 'Uint32Array', byteOffset: 14400, count: 1200 } }, { binaryBuffer }); -
setHighLight(color, opacity)
-
단층면을 하이라이트(강조 표시)합니다.
외곽선을 켜고 지정한 색상·투명도로 바꿔, 선택되었음을 눈에 띄게 표시합니다. (해제는resetHighLight)Name Type Default Description colorColorRepresentation 0x22aa22 optional 하이라이트 색상. 16진수 숫자, CSS 색 문자열 또는
THREE.Coloropacitynumber 0.8 optional 하이라이트 불투명도 (0~1)
-
setId(id)
-
단층의 식별자를 설정합니다.
name과 별개로 관리하는 값입니다.Name Type Description idstring | undefined 설정할 식별자.
undefined이면 식별자를 비웁니다 -
setLabel(label)
-
단층에 라벨(주석) 객체를 연결합니다.
라벨의 표시 여부는 단층의 표시 여부를 그대로 따릅니다.Name Type Description labelU3dPOI 연결할 라벨 객체. 표시 여부는 단층의 표시 여부를 따릅니다
-
setLineWidth(lineWidth)
-
단층 외곽 테두리 두께를 화면 픽셀 단위로 설정합니다.
Name Type Description lineWidthnumber 외곽 테두리 두께 (화면 픽셀). 0 이하이거나 숫자가 아니면 2를 적용합니다
-
setName(name)
-
단층의 이름을 설정합니다.
레이어에서 단층을 조회하는 키입니다.Name Type Description namestring | undefined 설정할 이름.
undefined이면 이름을 비웁니다 -
setOpacity(value)
-
단층면의 투명도를 설정합니다. (1이면 불투명, 1 미만이면 반투명)
Name Type Description valuenumber 불투명도 (0~1). 1 미만이면 투명 처리가 켜집니다
-
setParam(param)
-
단층면의 속성(색상·투명도·형상 파라미터·외곽선)을 한 번에 변경합니다.
전달하신 값만 반영되고 나머지는 기존 값이 유지되며, 형태 관련 값을 바꾸면 단층면이 즉시 다시 생성됩니다.
표시 여부(visible)는 이전 상태가 그대로 유지됩니다.Name Type Description paramU3dFaultCO optional 변경할 속성 객체 (색상·투명도·폭·길이·경사각·주향·축척·외곽선)
-
setProperties(properties)
-
단층에 사용자 정의 속성 정보(key-value)를 설정합니다.
Name Type Description propertiesKeyValue 단층에 보관할 사용자 정의 속성. 화면 표현에는 사용하지 않습니다
-
setRenderOffset(val)
-
렌더 오프셋을 설정합니다.
단층면을 카메라 쪽으로 조금 당겨(또는 밀어) 다른 면과 겹칠 때 어른거림(z-fighting)을 줄이는 데 사용합니다.Name Type Description valnumber 깊이 보정값. 미터가 아니라 셰이더 깊이 보정에 쓰는 배율입니다
-
setScaleRatio(ratio)
-
단층면의 축척(스케일) 비율을 설정하고 지오메트리를 다시 생성합니다.
표시 여부(visible)는 이전 상태가 그대로 유지됩니다.Name Type Description rationumber 깊이 방향 축척.
width와dtop에 나눗셈으로 적용됩니다 -
setTopCenter(vec)
-
단층면 상단의 중심점 좌표를 설정합니다. (라벨 위치 등 기준점으로 사용됩니다.)
Name Type Description vecWorldPositionVector3 중심점 좌표 (월드 좌표, EPSG:3857)
-
setUseLine(useLine)
-
단층 내부 분할선을 제외한 외곽 테두리 표시 여부를 설정합니다.
Name Type Description useLineboolean 외곽 테두리 표시 여부
Type Definitions
-
FaultGeometryApplyOptionobject
-
FaultGeometryData와 함께 넘기는 부가 정보입니다.
attribute와 index를 외부 바이너리에 담은 경우 그 버퍼와 변환·메타 정보를 지정합니다.Properties:
Name Type Argument Description binaryBufferArrayBuffer <optional>
attribute/index가 저장된 외부 바이너리
transformunknown <optional>
Object3D transform 정보
metaunknown <optional>
Fault geometry 메타 정보
-
FaultGeometryBufferDescriptorobject
-
저장 geometry의 attribute 또는 index 정보입니다.
Properties:
Name Type Argument Description typeU3dFault~FaultGeometryTypedArrayName <optional>
TypedArray 타입 이름
arrayArrayLike.<number> <optional>
기존 JSON 배열 또는 TypedArray
byteOffsetnumber <optional>
외부 바이너리 시작 기준 바이트 위치
countnumber <optional>
TypedArray의 scalar 원소 개수
itemSizenumber <optional>
vertex 하나를 구성하는 원소 개수
normalizedboolean <optional>
정수 값을 0~1 범위로 환산해 읽을지 여부
usagenumber <optional>
버퍼 갱신 빈도를 나타내는 three.js 사용 힌트 값
-
FaultGeometryDataobject
-
단층 geometry 하나를 복원하는 데 필요한 정보입니다.
setGeometryData의 입력이며, three.jsBufferGeometry로 변환됩니다.Properties:
Name Type Argument Description attributesRecord.<string, U3dFault~FaultGeometryBufferDescriptor> <optional>
정점 속성 버퍼 정보.
position·normal등 속성 이름을 키로 씁니다indexU3dFault~FaultGeometryBufferDescriptor <optional>
정점을 이어 삼각형을 만드는 index 버퍼 정보
groupsArray.<U3dFault~FaultGeometryGroup> <optional>
재질별로 나눠 그릴 구간 목록
drawRangePartial.<U3dFault~FaultGeometryDrawRange> <optional>
실제로 화면에 그릴 구간
namestring <optional>
geometry를 구분하는 이름
userDataobject <optional>
geometry에 보관하는 사용자 정의 정보
-
FaultGeometryDrawRangeobject
-
geometry 중 실제로 그릴 index 구간입니다.
정점은 그대로 두고 이 범위로 그리는 양을 조절합니다.Properties:
Name Type Description startnumber 그리기를 시작하는 index 위치
countnumber | null 그릴 index 개수.
null이면 끝까지 모두 그립니다 -
FaultGeometryGroupobject
-
geometry를 재질별로 나누는 index 구간입니다.
구간마다 다른 재질 번호를 지정합니다.Properties:
Name Type Argument Description startnumber 그룹이 시작하는 index 위치
countnumber 그룹이 포함하는 index 개수
materialIndexnumber <optional>
이 구간에 적용할 재질의 배열 index
-
FaultGeometryTypedArrayFloat64Array Float32Array Int8Array Uint8Array Uint8ClampedArray Int16Array Uint16Array Int32Array Uint32Array
-
geometry 버퍼를 담는 TypedArray입니다.
FaultGeometryTypedArrayName이 나타내는 종류 중 하나입니다. -
FaultGeometryTypedArrayName'Float64Array' 'Float32Array' 'Int8Array' 'Uint8Array' 'Uint8ClampedArray' 'Int16Array' 'Uint16Array' 'Int32Array' 'Uint32Array'
-
geometry 버퍼를 복원할 TypedArray의 종류 이름입니다.
FaultGeometryBufferDescriptor.type의 값으로 사용합니다. -
U3dFaultCOobject
-
~extends U3dGeometry~U3dGeometryCO
U3dFault생성자 옵션입니다.
topCoordinates가 두 개 이상이면 그 선을 따라 단층면을 만들고, 하나이면strike·length로 단층면을 만듭니다.topCoordinates가 없으면 형상 없이 생성되며, 이후setFaultData·setGeometryData로 형상을 적용합니다.Properties:
Name Type Argument Default Description namestring <optional>
단층 이름. 레이어에서 단층을 조회하는 키입니다
colorColorRepresentation <optional>
단층면 색상. 16진수 숫자(
0xff0000), CSS 색 문자열('#ff0000') 또는THREE.Color.colors를 지정하면 무시됩니다opacitynumber <optional>
불투명도 (0~1). 1 미만이면 투명 처리가 켜집니다
fadeStartDepthnumber <optional>
3000 단층 최상단에서 투명도 감소가 시작되는 깊이 (미터). 이보다 깊은 구간은 점차 투명해집니다
appU3dApp <optional>
좌표 변환과 지형 높이 조회에 사용하는 앱. 필수
colorsArray.<ColorRepresentation> <optional>
최대 깊이부터 지표 순서의 그라디언트 색상 배열 (2~10개). 2개 미만이면 단일 색상으로 처리합니다
topCoordinatesArray.<Vector3> <optional>
단층면 윗변의 위경도 좌표 배열 (EPSG:4326).
z는 높이 (미터)widthnumber <optional>
1 윗변에서 경사 방향으로의 단층면 폭 (미터)
bottomCoordinatesArray.<Vector3> <optional>
단층면 아랫변의 위경도 좌표 배열 (EPSG:4326).
topCoordinates와 개수가 같을 때만 적용되며, 상하 높이 차에 수직 축척이 적용됩니다dipnumber <optional>
0 지표면 기준 단층면의 경사각 (도). 0은 수평, 90은 수직입니다
dtopnumber <optional>
0 지표면에서 단층면 윗변까지의 깊이 (미터)
idstring <optional>
단층 식별자.
name과 별개로 관리합니다strikenumber <optional>
0 정북 기준 단층 윗변의 주향 각도 (도).
topCoordinates가 하나일 때 단층면의 방향을 결정합니다planeAreanumber <optional>
0 단층면의 넓이 (제곱미터). 값을 그대로 보관하며 형상 계산에는 사용하지 않습니다
sensestring <optional>
단층의 운동 감각. 값을 그대로 보관하며 화면 표현에는 사용하지 않습니다
lengthnumber <optional>
0 topCoordinates가 하나일 때 주향 방향 단층면의 길이 (미터)directionstring <optional>
단층의 방향. 값을 그대로 보관하며 화면 표현에는 사용하지 않습니다
scaleRationumber <optional>
1 깊이 방향 축척.
width와dtop에 나눗셈으로 적용됩니다propertiesKeyValue <optional>
단층에 보관할 사용자 정의 속성. 화면 표현에는 사용하지 않습니다
renderOffsetnumber <optional>
0 셰이더 깊이 보정값. 미터가 아니며, 다른 면과 겹쳐 어른거릴 때 값을 올립니다
applyHeightboolean <optional>
false 단층면 좌표에 지형 높이를 반영할지 여부
wireframeboolean <optional>
면을 채우지 않고 삼각형 모서리만 그릴지 여부
showLabelboolean <optional>
단층에 연결된 라벨을 표시할지 여부
lineWidthnumber <optional>
2 외곽 테두리 두께 (화면 픽셀). 0 이하이거나 숫자가 아니면 2를 적용합니다
verticesArray.<Vector3> <optional>
꼭짓점 좌표 배열 (월드 좌표, EPSG:3857)
coordinatesArray.<Vector3> <optional>
위치 좌표 배열 (위경도, EPSG:4326)
-
U3dFaultParamobject
-
getParam이 반환하는 단층의 현재 속성입니다.
setParam의 입력으로 그대로 사용할 수 있습니다.Properties:
Name Type Description widthnumber 윗변에서 경사 방향으로의 단층면 폭 (미터)
lengthnumber 주향 방향 단층면의 길이 (미터)
dipnumber 지표면 기준 단층면의 경사각 (도)
dtopnumber 지표면에서 단층면 윗변까지의 깊이 (미터)
strikenumber 정북 기준 단층 윗변의 주향 각도 (도)
scaleRationumber 깊이 방향 축척.
width와dtop에 나눗셈으로 적용됩니다outlineboolean 외곽 테두리 표시 여부
lineWidthnumber 외곽 테두리 두께 (화면 픽셀)
colorsArray.<Color> 최대 깊이부터 지표 순서의 그라디언트 색상 배열(2~10개)
fadeStartDepthnumber 단층의 가장 높은 점에서 투명도 감소가 시작되는 깊이(m)