new UBox3Helper(box, color)
표시할 box와 공유 재질을 연결한다. 색상 변환 등의 오류는 호출자에게 전달한다.
| Name | Type | Default | Description |
|---|---|---|---|
box |
Box3 |
표시할 경계 상자의 원본 참조. |
|
color |
Color | string | number | 0xffff00 |
optional
Three.js가 해석할 선 색상. |
Members
-
boxBox3
-
표시 대상 Box3의 원본 참조다. setBox() 또는 외부 대입으로 교체할 수 있다.
-
colorColor
-
현재 색상 참조다. dispose()는 이 객체의 현재 getHex() 값으로 공유 상태를 조회한다.
-
typestring
-
상위 생성자가 설정한 값을 보존하면서 기존 TS의 쓰기 가능한 type 선언을 유지한다. Box3Helper 종류 값은 아래 생성자에서 box·color 연결 후 설정한다.
-
staticUBox3Helper.sharedGeometryBufferGeometry
-
첫 생성자 호출에서 준비하며 이후 인스턴스에서도 재사용하는 geometry다. dispose()를 호출해도 이 정적 참조를 초기화하지 않는다.
-
staticUBox3Helper.sharedIndexBufferAttribute
-
-
staticUBox3Helper.sharedMaterialsMap.<any, any>
-
색상 키별 공유 재질 저장소다. 기존 공개 Map에는 외부에서 임의의 키·값을 넣을 수 있으므로 기존 any 계약을 유지한다. 이 클래스가 직접 등록하는 값은 LineBasicMaterial이다.
-
staticUBox3Helper.sharedPositionAttrFloat32BufferAttribute
-
-
staticUBox3Helper.sharedStateMap.<number, number>
-
색상 키별 재질 획득 횟수다. dispose()의 현재 처리와 함께 해석해야 한다.
Methods
-
dispose()
-
공유 geometry를 해제하고 현재 색상의 저장 횟수에서 1을 뺀 값이 0 이하일 때만 현재 재질을 해제하고 해당 색상의 캐시 항목을 제거한다. 양수인 계산 결과를 sharedState에 다시 저장하지 않는 기존 동작을 유지한다. 장면에서 자신을 제거하지 않으며 중복 호출을 막는 상태도 두지 않는다.
-
setBox(box3)
-
표시 대상 참조만 교체한다. 위치·크기는 다음 updateMatrixWorld()에서 반영된다.
Name Type Description box3Box3 새 표시 대상의 원본 참조.
-
setColor(color)
-
색상에 대응하는 공유 재질로 교체한다. 이전 재질을 해제하거나 이전 색상의 획득 횟수를 줄이지 않는다.
Name Type Description colorColor | string | number 새 선 색상.
-
updateMatrixWorld(force)
-
Three.js Box3Helper의 갱신 방식으로 현재 box의 중심과 크기를 표시 변환에 반영한다.
Name Type Description forceboolean 자식까지 월드 행렬 갱신을 강제할지 여부.
-
static createMaterial(color)any
-
같은 색상의 재질을 재사용하고 획득 횟수를 증가시킨다. 공유 Map에 외부에서 넣은 값도 그대로 반환하므로 반환형은 기존 any 계약을 보존한다.
Name Type Description colorColor | string | number 재질 조회 또는 생성에 사용할 색상.
Returns:
Type Description any 기존 공개 캐시 값 또는 새로 만든 LineBasicMaterial.