GeOnDT GeOnDT for JS

Class: U3dBox

U3dBox

~extends U3dGeometry
3D 육면체(Box) 객체를 생성·관리하는 클래스입니다.
너비/높이/깊이와 세그먼트로 박스를 만들고, 단색(basic) 또는 윗면 이미지(topimage) 재질, 외곽선(outline), 텍스쳐 이미지를 설정할 수 있습니다.

new U3dBox(opt)

생성 옵션으로 육면체(Box)를 생성합니다.
너비·높이·깊이와 세그먼트로 박스 크기를 정하고, 색상·투명도, 재질 타입(basic 단색 / topimage 윗면 이미지), 외곽선(outline) 등을 함께 지정할 수 있습니다. 유효하지 않은 크기·세그먼트 값은 경고를 기록하고 기본값으로 대체합니다.

Name Type Default Description
opt U3dBoxCO {} optional

육면체(Box) 생성 옵션 (크기·색상·재질 타입·외곽선 등)

Members

DEFAULT_SIZEnumber

너비·높이·깊이 기본값 (미터)

OUTLINE_THRESHOLD_ANGLEnumber

외곽선(EdgesGeometry) 생성 임계각 (도). 인접 면의 법선 각도가 이 값 이상인 모서리만 선으로 그립니다.

TOP_FACE_MATERIAL_INDEXnumber

topimage 타입에서 이미지가 적용되는 면의 재질 인덱스 (BoxGeometry 면 순서 기준 +Y 윗면)

depth

육면체(Box) 깊이 (미터, 스케일 적용 전 요청값). 변경은 setSize/setParam으로 합니다. @type {number}

depthSegments

깊이 방향 분할 수. 변경은 setParam으로 합니다. @type {number | undefined}

height

육면체(Box) 높이 (미터, 스케일 적용 전 요청값). 변경은 setSize/setParam으로 합니다. @type {number}

heightSegments

높이 방향 분할 수. 변경은 setParam으로 합니다. @type {number | undefined}

loaderTextureLoader undefined

윗면 이미지 로더. type: 'topimage'일 때 생성 시 한 번 사용된 뒤 유지됩니다.

Deprecated
  • 내부 구현용 필드로 외부 사용을 권장하지 않습니다. 이미지 적용은 `setImage`/`setTexture`를 사용하세요.

    topimageurl

    윗면 이미지 URL. 생성 시에만 적용됩니다. @type {string | undefined}

    type'basic' 'topimage'

    재질 타입. 생성 시에만 적용됩니다.

    uselineboolean

    외곽선 표시 여부. 생성 옵션·setParam에서는 outline(또는 별칭 useline/useLine/edge) 이름을 사용하고 getParam은 outline으로 반환합니다.

    width

    육면체(Box) 너비 (미터, 스케일 적용 전 요청값). 변경은 setSize/setParam으로 합니다. @type {number}

    widthSegments

    너비 방향 분할 수. 변경은 setParam으로 합니다. @type {number | undefined}

    Methods

    getParam()U3dBoxParam

    육면체(Box)의 현재 속성을 반환합니다.

    Returns:
    Type Description
    U3dBoxParam 크기·세그먼트·외곽선 등 현재 속성 객체

    getSize()U3dBoxSize

    육면체(Box)의 현재 크기(스케일 적용 전 요청값)를 반환합니다.

    Returns:
    Type Description
    U3dBoxSize 너비·높이·깊이 (미터)

    setImage(url)

    육면체(Box)에 이미지 텍스쳐를 설정합니다.
    단일 재질과 6면 재질 배열(topimage 타입)을 모두 지원하며, 배열이면 모든 면에 같은 이미지를 적용합니다.
    이미지의 가로세로 비율에 따라 상하 또는 좌우로 뒤집어 방향을 자동 보정합니다. 로드에 실패하면 오류를 기록합니다.

    Name Type Description
    url string

    이미지 URL

    setParam(param)

    육면체(Box)의 속성(색상·투명도·크기·세그먼트·외곽선·와이어프레임)을 한 번에 변경합니다.
    전달한 값만 반영되고 나머지는 기존 값이 유지되며, 크기·세그먼트·외곽선 여부가 실제로 바뀐 경우에만 지오메트리가 다시 생성됩니다. type, topimageurl은 생성 시에만 적용되어 여기서 변경되지 않습니다.

    Name Type Description
    param U3dBoxCO optional

    변경할 속성 객체 (색상·투명도·크기·세그먼트·외곽선)

    setSize(width, height, depth)

    육면체(Box)의 너비·높이·깊이를 설정합니다. 지오메트리와 외곽선이 즉시 다시 생성됩니다.
    유효하지 않은 값(0 이하, NaN, 무한대)은 경고를 기록하고 해당 축의 현재 값을 유지합니다. 생략한 인자도 현재 값을 유지합니다.

    Name Type Description
    width number optional

    너비 (미터)

    height number optional

    높이 (미터)

    depth number optional

    깊이 (미터)

    setTexture(textureUrl)

    단일 재질 육면체(Box)에 텍스쳐 이미지를 입힙니다.
    이미지는 비동기로 로드되며, 상하좌우 반복(RepeatWrapping)으로 감쌉니다. 기존 텍스쳐는 해제됩니다.
    6면 재질 배열(type: 'topimage')에는 적용되지 않으며(경고 기록), type: 'basic'(단색 단일 재질)에서만 동작합니다. 로드에 실패하면 오류를 기록하고 재질을 바꾸지 않습니다.

    Name Type Description
    textureUrl string

    텍스쳐 이미지 URL

    Type Definitions

    U3dBoxCOobject

    ~extends U3dGeometry~U3dGeometryCO
    U3dBox 생성자 옵션

    Properties:
    Name Type Argument Default Description
    name string <optional>

    육면체(Box) 이름

    color ColorRepresentation <optional>

    육면체(Box) 색상

    opacity number <optional>

    투명도 (0~1)

    width number <optional>
    10

    육면체(Box) 너비 (미터). 0 이하 또는 유효하지 않은 수는 경고 후 기본값을 사용합니다

    height number <optional>
    10

    육면체(Box) 높이 (미터). 0 이하 또는 유효하지 않은 수는 경고 후 기본값을 사용합니다

    depth number <optional>
    10

    육면체(Box) 깊이 (미터). 0 이하 또는 유효하지 않은 수는 경고 후 기본값을 사용합니다

    widthSegments number <optional>

    육면체(Box) 너비 Segments (1 이상의 정수)

    heightSegments number <optional>

    육면체(Box) 높이 Segments (1 이상의 정수)

    depthSegments number <optional>

    육면체(Box) 깊이 Segments (1 이상의 정수)

    topimageurl string <optional>

    육면체(Box) 윗면 이미지 URL. type이 topimage일 때 필수이며, 없으면 오류를 기록하고 basic으로 생성됩니다. 생성 시에만 적용되며 setParam으로 변경되지 않습니다

    type 'basic' | 'topimage' <optional>
    'basic'

    재질 타입. basic은 단색, topimage는 윗면 이미지 재질. 생성 시에만 적용되며 setParam으로 변경되지 않습니다

    wireframe boolean <optional>

    와이어프레임 표시 여부

    showLabel boolean <optional>

    라벨 표시 여부

    vertices Array.<Vector3> <optional>

    꼭짓점 좌표 배열 (월드 좌표, EPSG:3857)

    coordinates Array.<Vector3> <optional>

    위치 좌표 배열 (위경도, EPSG:4326)

    properties KeyValue <optional>

    사용자 정의 속성 정보

    U3dBoxParamobject

    육면체(Box) 속성 객체

    Properties:
    Name Type Description
    width number

    육면체(Box) 너비

    height number

    육면체(Box) 높이

    depth number

    육면체(Box) 깊이

    widthSegments number | undefined

    너비 Segments

    heightSegments number | undefined

    높이 Segments

    depthSegments number | undefined

    깊이 Segments

    outline boolean

    외곽선 표시 여부

    U3dBoxSizeobject

    getSize가 반환하는 육면체(Box) 크기 객체 (미터, 스케일 적용 전 요청값)

    Properties:
    Name Type Description
    width number

    너비

    height number

    높이

    depth number

    깊이