API Docs for: 1.0.0
Show:

Site3d Class

Defined in: base\site3d.js:12
Module: Site3d

Класс сцены

Constructor

Site3d

(
  • canvasId
  • options
)

Defined in base\site3d.js:12

Parameters:

  • canvasId String

    Идентификатор тега canvas

  • options Object

    Параметры сцены:

    • load(info) – функция обработки процесса загрузки сцены, которая в качестве аргумента возвращает объект со следующими свойствами:
    • countModel – число добавленных для загрузки моделей
    • countModelLoaded – число загруженных моделей
    • isPreloadCompleted – истина, если завершена предварительная загрузка сцены (данный этап помечается методом preload)
    • alpha – истина, если включена прозрачность (по умолчанию истина)
    • quality – качество рендера от 1 до 100 (по умолчанию 100)

Methods

load

(
  • containerId
  • name
  • path
  • options
)
Site3dLoader static

Defined in base\site3d.js:351

Метод быстрого создания 3D сцены

Parameters:

  • containerId String

    Идентификатор HTML-контейнера

  • name String

    Имя модели

  • path String

    Путь до модели

  • options Object

    Дополнительные параметры

Returns:

Site3dLoader:

Объект виджета

getVector

(
  • array
)
Vector3 static

Defined in base\site3d.js:366

Метод преобразует массив из трех чисел в объект Vector3

Parameters:

  • array Number[]

    Массив из трех чисел

Returns:

Vector3:

Объект Vector3

getArrayVector

(
  • vector
)
Number[] static

Defined in base\site3d.js:378

Метод преобразует тройку чисел в виде объекта со свойствами x, y, z в массив из трех чисел

Parameters:

  • vector Object

    Тройка чисел в виде объекта

Returns:

Number[]:

Массив из трех чисел

normalizeRad

(
  • angle
)
Number static

Defined in base\site3d.js:390

Метод возвращает значение угла в радинах между -2PI и 2PI

Parameters:

  • angle Number

    Угол в радианах

Returns:

Number:

Результат

normalizeDeg

(
  • angle
)
Number static

Defined in base\site3d.js:402

Метод возвращает значение угла в градусах между -360 и 360

Parameters:

  • angle Number

    Угол в градусах

Returns:

Number:

Результат

toRad

(
  • angle
)
Number static

Defined in base\site3d.js:414

Метод переводит градусы в радианы

Parameters:

  • angle Number

    Угол в градусах

Returns:

Number:

Угол в радинах

toDeg

(
  • angle
)
Number static

Defined in base\site3d.js:426

Метод переводит радианы в градусы

Parameters:

  • angle Number

    Угол в радинах

Returns:

Number:

Угол в градусах

getFloat

(
  • value
  • fraction
)
Number static

Defined in base\site3d.js:438

Метод возвращает округленное значение

Parameters:

  • value Any

    Входное значение (может быть числом или строкой)

  • fraction Number

    Число знаков после запятой (по умолчанию Site3d.fraction)

Returns:

Number:

Округленное значение с дробной частью

getFloatArray

(
  • array
)
Array static

Defined in base\site3d.js:451

Метод возвращает новый массив с округленными значениями

Parameters:

  • array Array

    Входной массив

Returns:

Array:

Массив с округленными значениями

isPointsEqual

(
  • point1
  • point2
  • error
)
Boolean static

Defined in base\site3d.js:463

Метод возвращает истину, если 2D точки совпадают

Parameters:

  • point1 Number[]

    Массив координат точки

  • point2 Number[]

    Массив координат точки

  • error Number

    Точность сравнения (по умолчанию 0.01)

Returns:

Boolean:

Результат сравнения

isPosEqual

(
  • pos1
  • pos2
  • error
)
Boolean static

Defined in base\site3d.js:477

Метод возвращает истину, если позиции совпадают

Parameters:

  • pos1 Number[]

    Массив координат позиции

  • pos2 Number[]

    Массив координат позиции

  • error Number

    Точность сравнения (по умолчанию 0.01)

Returns:

Boolean:

Результат сравнения

sum

() Number[] static

Defined in base\site3d.js:491

Метод возвращает сумму координат любого числа позиций

Returns:

Number[]:

Результат сложения

diff

(
  • pos1
  • pos2
)
Number[] static

Defined in base\site3d.js:509

Метод возвращает разницу в координатах двух позиций

Parameters:

  • pos1 Number[]

    Первая позиция

  • pos2 Number[]

    Вторая позиция

Returns:

Number[]:

Разность

getDistance

(
  • pos1
  • pos2
)
Number static

Defined in base\site3d.js:522

Метод возвращает расстояние между двумя позициями

Parameters:

  • pos1 Number[]

    Первая позиция

  • pos2 Number[]

    Вторая позиция

Returns:

Number:

Расстояние

getDistanceToMesh

(
  • pos
  • model
)
Number static

Defined in base\site3d.js:535

Метод возвращает расстояние от точки до границ модели

Parameters:

Returns:

Number:

Расстояние от точки до модели

mousePos

(
  • e
)
Number[] static

Defined in base\site3d.js:548

Метод возвращает координаты указателя мыши или тача

Parameters:

  • e Object

    Объект результата события

Returns:

Number[]:

Координаты указателя

fingerDistance

(
  • p1
  • p2
)
Number static

Defined in base\site3d.js:560

Метод возвращает расстояние между двумя касаниями тача

Parameters:

  • p1 Object

    Объект результата события для первого касания

  • p2 Object

    Объект результата события для второго касания

Returns:

Number:

Расстояние

getModelsCenter

(
  • models
)
Number[] static

Defined in base\site3d.js:573

Метод возвращает центр параллелепипеда, ограничивающего массив моделей

Parameters:

Returns:

Number[]:

Массив координат центра

preload

()

Defined in base\site3d.js:592

Метод отметки момента окончания предварительной загрузки сцены

getElapsedTime

() Number

Defined in base\site3d.js:602

Метод возвращает время существования сцены

Returns:

Number:

Время в миллисекундах

background

(
  • color
)

Defined in base\site3d.js:614

Метод установки цвета фона

Parameters:

  • color String

    Цвет в HEX-формате

effects

(
  • options
)

Defined in base\site3d.js:624

Метод установки эффектов сцены

Parameters:

  • options String

    Параметры эффектов:

    • brightness – яркость от 0 до 1 (по умолчанию 0.14)
    • contrast – контраст от 0 до 1 (по умолчанию 0.38)

enableEnvironment

(
  • options
)

Defined in base\site3d.js:644

Метод включения окружения

Parameters:

  • options String

    Параметры окружения:

    • fill – путь до файла панорамной текстуры в формате HDR или одно и предустановленных значений: «grey» (по умолчанию), «sunset»
    • tone – степень наложения текстуры на объекты от 0 до 1 (по умолчанию, 0.5)
    • isBackground – истина, если нужно отобразить текстуру в качестве фона сцены (по умолчанию false)

disableEnvironment

()

Defined in base\site3d.js:671

Метод отключения окружения

fog

(
  • options
)

Defined in base\site3d.js:685

Метод установки тумана

Parameters:

  • options String

    Параметры тумана:

    • color – цвет
    • near и far – параметры густоты тумана в зависимости от расстояния

line

(
  • name
  • posList
  • fill
  • load
)
Site3dLine

Defined in base\site3d.js:699

Метод добавляет линию

Parameters:

  • name String

    Имя модели

  • posList Array

    Двумерный массив точек линии

  • fill Object

    Наполнение (по умолчанию черный цвет)

  • load Function

    Функцию информирования об окончании процесса загрузки (в качестве аргумента передается объект модели)

Returns:

Site3dLine:

Объект модели

plane

(
  • name
  • width
  • height
  • fill
  • load
)
Site3dPlane

Defined in base\site3d.js:713

Метод добавляет плоскость

Parameters:

  • name String

    Имя модели

  • width Number

    Ширина

  • height Number

    Высота

  • fill Object

    Наполнение (по умолчанию черный цвет)

  • load Function

    Функцию информирования об окончании процесса загрузки (в качестве аргумента передается объект модели)

Returns:

Site3dPlane:

Объект модели

circle async

(
  • name
  • radius
  • detail
  • fill
  • load
)
Site3dCircle

Defined in base\site3d.js:728

Метод добавляет круг

Parameters:

  • name String

    Имя модели

  • radius Number

    Радиус

  • detail Number

    Число сегментов (по умолчанию 16)

  • fill Object

    Наполнение (по умолчанию черный цвет)

  • load Function

    Функцию информирования об окончании процесса загрузки (в качестве аргумента передается объект модели)

Returns:

Site3dCircle:

Объект модели в качестве результата промиса

cube

(
  • name
  • size
  • fill
  • load
)
Site3dCube

Defined in base\site3d.js:752

Метод добавляет параллелепипед

Parameters:

  • name String

    Имя модели

  • size Array

    Размеры

  • fill Object

    Наполнение

  • load Function

    Функцию информирования об окончании процесса загрузки (в качестве аргумента передается объект модели)

Returns:

Site3dCube:

Объект модели

sphere

(
  • name
  • radius
  • detail
  • fill
  • load
)
Site3dSphere async

Defined in base\site3d.js:766

Метод добавляет сферу

Parameters:

  • name String

    Имя модели

  • radius Number

    Радиус

  • detail Number

    Число сегментов

  • fill Object

    Наполнение

  • load Function

    Функцию информирования об окончании процесса загрузки (в качестве аргумента передается объект модели)

Returns:

Site3dSphere:

Объект модели в качестве результата промиса

hemisphere

(
  • name
  • radius
  • detail
  • fill
  • load
)
Site3dHemisphere

Defined in base\site3d.js:790

Метод добавляет полусферу

Parameters:

  • name String

    Имя модели

  • radius Number

    Радиус

  • detail Number

    Число сегментов

  • fill Object

    Наполнение

  • load Function

    Функцию информирования об окончании процесса загрузки (в качестве аргумента передается объект модели)

Returns:

Site3dHemisphere:

Объект модели

octahedron

(
  • name
  • radius
  • detail
  • fill
  • load
)
Site3dOctahedron

Defined in base\site3d.js:805

Метод добавляет восьмигранник

Parameters:

  • name String

    Имя модели

  • radius Number

    Радиус

  • detail Number

    Число сегментов

  • fill Object

    Наполнение

  • load Function

    Функцию информирования об окончании процесса загрузки (в качестве аргумента передается объект модели)

Returns:

Site3dOctahedron:

Объект модели

shape

(
  • name
  • points
  • fill
  • options
  • load
)
Site3dShape

Defined in base\site3d.js:820

Метод добавляет произвольную форму путем экструдирования плоской формы

Parameters:

  • name String

    Имя модели

  • points Array

    Массив точек

  • fill Object

    Наполнение

  • options Object

    Параметры:

    • depth - глубина экструдирования (по-умолчанию 1)
    • steps - число шагов экструдирования (по-умолчанию 1)
    • bevelEnabled - истина, если края скошены (по-умолчанию false)
  • load Function

    Функцию информирования об окончании процесса загрузки (в качестве аргумента передается объект модели)

Returns:

Site3dShape:

Объект модели

importModel

(
  • name
  • path
  • options
)
Site3dImportModel async

Defined in base\site3d.js:838

Метод добавляет модель в формате GLTF

Parameters:

  • name String

    Имя модели

  • path String

    Путь до файла модели

  • options Object

    Параметры

Returns:

Site3dImportModel:

Объект модели в качестве результата промиса

isModel

(
  • name
)
Boolean

Defined in base\site3d.js:862

Метод возвращает истину, если в сцене есть модель

Parameters:

  • name String

    Имя модели

Returns:

Boolean:

Результат

model

(
  • name
)
Site3dModel

Defined in base\site3d.js:873

Метод возвращает модель

Parameters:

  • name String

    Имя модели

Returns:

Site3dModel:

Объект модели

addFill

(
  • name
  • fill
  • load
)
async

Defined in base\site3d.js:886

Метод добавляет поименованное наполнение

Parameters:

  • name String

    Имя наполнения

  • fill Object

    Наполнение

  • load Function

    Функцию информирования об окончании процесса создания наполнения

ambientLight

(
  • name
  • options
)
Site3dAmbientLight

Defined in base\site3d.js:903

Метод добавляет общий свет

Parameters:

  • name String

    Имя источника освещения

  • options Object

    Параметры освещения:

    • color – цвет в HEX-формате (по умолчанию белый)
    • power – мощность (по умолчанию 1)

Returns:

Site3dAmbientLight:

Объект источника освещения

directionalLight

(
  • name
  • options
)
Site3dDirectionalLight

Defined in base\site3d.js:917

Метод добавляет направленный свет

Parameters:

  • name String

    Имя источника освещения

  • options Object

    Параметры освещения:

    • color – цвет в HEX-формате (по умолчанию белый)
    • power – мощность (по умолчанию 1)
    • pos – позиция источника (по умолчанию [1, 1, 1])
    • target – позиция направления (по умолчанию [0, 0, 0])

Returns:

Site3dDirectionalLight:

Объект источника освещения

spotLight

(
  • name
  • options
)
Site3dSpotLight

Defined in base\site3d.js:933

Метод добавляет конусный свет

Parameters:

  • name String

    Имя источника освещения

  • options Object

    Параметры освещения:

    • color – цвет в HEX-формате (по умолчанию белый)
    • power – мощность (по умолчанию 1)
    • pos – позиция источника (по умолчанию [1, 1, 1])
    • target – позиция направления (по умолчанию [0, 0, 0])
    • angle – угол конуса (по умолчанию 45)
    • blur – сглаженность светового пятна (по умолчанию 0.5)

Returns:

Site3dSpotLight:

Объект источника освещения

light

(
  • name
)
Site3dLight

Defined in base\site3d.js:951

Метод возвращает источник освещения

Parameters:

  • name String

    Имя источника освещения

Returns:

Site3dLight:

Объект источника освещения

enableControls

(
  • options
)

Defined in base\site3d.js:964

Метод включает управление сценой

Parameters:

  • options Object

    Параметры:

    • move – перемещение вдоль глобальных осей:
    • isEnabled – истина, если перемещение включено (по умолчанию включено, если передать параметр move)
    • events – массив строк органов управления (возможные значения: «mouse_left» – левая кнопка мыши, «mouse_right» – правая кнопка мыши, «touch_move» – перемещение пальцем (по умолчанию: [«mouse_left», «touch_move»]))
    • isControlTarget – истина, если нужно одновременно перемещать центр масштабирования и вращения (по умолчанию истина)
    • minY – минимальная координата перемещения вдоль оси y (по умолчанию 0)
    • maxY – максимальная координата перемещения вдоль оси y (по умолчанию 0)
    • minTargetY – минимальная координата перемещения центра масштабирования и вращения вдоль оси y (по умолчанию 0)
    • maxTargetY – максимальная координата перемещения центра масштабирования и вращения вдоль оси y (по умолчанию 0)
    • axes – оси вращения (y (по умолчанию: «y»))
    • speed – скорость (по умолчанию: 1)
    • scale – масштабирование колесом прокрутки или жестом:
    • isEnabled – истина, если масштабирование включено (по умолчанию включено, если передать параметр scale)
    • min – минимальное расстояние до центра масштабирования (по умолчанию: 1)
    • max – максимальное расстояние до центра масштабирования (по умолчанию: 10)
    • speed – скорость (по умолчанию: 1)
    • rotate – вращение:
    • isEnabled – истина, если вращение включено (по умолчанию включено, если передать параметр rotate)
    • events – массив строк органов управления (возможные значения: «mouse_left» – левая кнопка мыши, «mouse_right» – правая кнопка мыши, «touch_move» – перемещение пальцем (по умолчанию: [«mouse_left», «touch_move»]))
    • min – минимальный угол поворота (по умолчанию 0)
    • max – максимальный угол поворота (по умолчанию 90)
    • axes – оси вращения (x, y или x и y одновременно (по умолчанию: «xy»))
    • speed – скорость (по умолчанию: 1)
    • target – центр масштабирования и вращения (по умолчанию [0, 0, 0]), если передать false, то масштабирование будет без учета минимального и максимального значений, а вращение будет на месте

disableControls

()

Defined in base\site3d.js:1029

Метод выключает управление сценой

setControlsTargetSilent

(
  • target
)
Boolean

Defined in base\site3d.js:1059

Метод устанавливает центр масштабирования и вращения без вызова отрисовки

Parameters:

Returns:

Boolean:

Истина, если произошло изменение

moveControlsTarget

(
  • steps
)

Defined in base\site3d.js:1073

Метод устанавливает центр масштабирования и вращения

Parameters:

  • steps Number[]

    Шаги изменений в координатах

moveControlsTargetSilent

(
  • steps
)

Defined in base\site3d.js:1084

Метод устанавливает центр масштабирования и вращения без вызова отрисовки

Parameters:

  • steps Number[]

    Шаги изменений в координатах

rotateAroundTarget

(
  • angle
  • axe
)

Defined in base\site3d.js:1123

Метод поворачивает камеру вокруг центра масштабирования и вращения

Parameters:

  • angle Number

    Угол поворота

  • axe String

    Ось поворота (по умолчанию вдоль оси Y)

intersectModel

(
  • model
  • fromModels
  • options
)
Object

Defined in base\site3d.js:1150

Метод возвращает результат пересечения указателя мыши с моделью

Parameters:

  • model Site3dModel

    Модель

  • fromModels Array

    Массив моделей, среди которых искать пересечения (по-умолчанию null - перексечение будет искаться по всей сцене)

  • options Object

    Параметры:

    • isOnlyVisible - истина, если пересечение нужно искать только среди видимых моделей (по-умолчанию истина)

Returns:

Object:

Объект результата или null при отсутствии пересечения:

  • model - модель, с которой нашлось пересечение
  • pos - позиция пересечения

event

(
  • name
  • call
)

Defined in base\site3d.js:1257

Метод подписывает на события сцены

Parameters:

  • name String

    Имя события

  • call Function

    Функция обработки события

callEvent

(
  • name
  • options
)

Defined in base\site3d.js:1268

Метод вызывает событие Site3d

Parameters:

  • name String

    Кодовое обозначение события

  • options Any

    Дополнительные параметры (добавляются в параметр события в качестве свойства info)

startCallEvents

()

Defined in base\site3d.js:1287

Метод запускает генерацию событий сцены

startCallEvents

()

Defined in base\site3d.js:1296

Метод останавливает генерацию событий сцены

addEventListener

(
  • name
  • handler
)

Defined in base\site3d.js:1305

Метод добавляет обработчик события Site3d

Parameters:

  • name String

    Кодовое обозначение события

  • handler Function

    Обработчик события

removeEventListener

(
  • name
  • handler
)

Defined in base\site3d.js:1317

Метод удаляет обработчик события Site3d

Parameters:

  • name String

    Кодовое обозначение события

  • handler Function

    Обработчик события

startLastRender

()

Defined in base\site3d.js:1383

Метод запускает последний запускаемый рендер сцены

stopLastRender

()

Defined in base\site3d.js:1392

Метод останавливает последний запускаемый рендер сцены

render

()

Defined in base\site3d.js:1401

Метод отрисовки сцены (для автоматического рендера можно использовать один из дочерних классов site3dRender)

setRenderSize

(
  • size
)

Defined in base\site3d.js:1422

Метод изменяет размер рендера

Parameters:

  • size Number[]

    Размер рендера

resize

()

Defined in base\site3d.js:1435

Метод устанавливает размер рендера исходя из качества рендера и размера холста

getScreenshotAsBlob

(
  • options
)
Blob async

Defined in base\site3d.js:1471

Метод делает скриншот сцены и возвращает его в формате Blob

Parameters:

  • options Object

    Параметры скриншота:

    • canvas - с какого холста делать скриншот (по умолчанию текущий холст)
    • size - размеры скриншота (по умолчанию [1920, 1080])

Returns:

Blob:

Скриншот

downloadScreenshot

(
  • fileName
  • options
)
async

Defined in base\site3d.js:1520

Метод делает скриншот сцены и вызывает его загрузку в браузере

Parameters:

  • fileName String

    Имя сохраняемого файла

  • options Object

    Параметры скриншота:

    • size - размеры скриншота (по умолчанию [1920, 1080])

screenshotToServer

(
  • serverScript
  • data
  • load
)

Defined in base\site3d.js:1534

Метод делает скриншот сцены, вызывает серверный скрипт, передавая полученное изображение, и вызывает функцию для обработки результата выполнения скрипта на стороне клиента

Parameters:

  • serverScript String

    Путь к серверному скрипту

  • data String

    Данные для серверного скрипта

  • load Function

    Функция обработки результата серверного скрипта

Properties

models

Map

Defined in base\site3d.js:327

Свойство возвращает список моделей в сцене

importModelLoader

Object

Defined in base\site3d.js:337

Свойство возвращает загрузчик импортируемых моделей

controlsTarget

Number[]

Defined in base\site3d.js:1038

Свойство возвращает центр масштабирования и вращения

controlsTarget

Unknown

Defined in base\site3d.js:1048

Свойство устанавливает центр масштабирования и вращения

Sub-properties:

controlsPrevTarget

Number[]

Defined in base\site3d.js:1103

Свойство возвращает предыдущий центр масштабирования и вращения

controlsTargetDistance

Number

Defined in base\site3d.js:1113

Свойство возвращает расстояние камеры до центра масштабирования и вращения

canvas

Element

Defined in base\site3d.js:1333

Свойство возвращает холст сцены

webglVersion

String

Defined in base\site3d.js:1343

Свойство возвращает версию WebGL

lastRender

Site3dRender

Defined in base\site3d.js:1353

Свойство возвращает последний запущенный рендер сцены

options

Object

Defined in base\site3d.js:1363

Свойство возвращает настройки сцены

info

Object

Defined in base\site3d.js:1373

Свойство возвращает информацию о сцене

quality

Number

Defined in base\site3d.js:1447

Свойство возвращает качество рендера от 1 до 100

quality

Unknown

Defined in base\site3d.js:1457

Свойство устанавливает качество рендера

Sub-properties:

  • value Number

    Качество рендера от 1 до 100

isCursorPointer

Boolean

Defined in base\site3d.js:1562

Свойство возвращает показ и скрытие курсора при наведении указателя

isCursorPointer

Unknown

Defined in base\site3d.js:1572

Свойство устанавливает показ и скрытие курсора при наведении указателя

Sub-properties: