Site3d Class
Класс сцены
Constructor
Site3d
-
canvasId
-
options
Parameters:
-
canvasId
StringИдентификатор тега canvas
-
options
ObjectПараметры сцены:
- load(info) – функция обработки процесса загрузки сцены, которая в качестве аргумента возвращает объект со следующими свойствами:
- countModel – число добавленных для загрузки моделей
- countModelLoaded – число загруженных моделей
- isPreloadCompleted – истина, если завершена предварительная загрузка сцены (данный этап помечается методом preload)
- quality – качество рендера от 1 до 100 (по умолчанию 100)
Item Index
Methods
- load
- parse
- readFile
- readMeshData
- readNamedObject
- readMaterialEntry
- readMesh
- readFaceArray
- readMap
- readMaterialGroup
- readColor
- readPercentage
- debugMessage
- readChunk
- idToString
- readByte
- readFloat
- readInt
- readShort
- readDWord
- readWord
- readString
- getVector static
- getArrayVector static
- normalizeRad static
- normalizeDeg static
- toRad static
- toDeg static
- getFloat static
- getFloatArray static
- isPointsEqual static
- isPosEqual static
- sum static
- diff static
- getDistance static
- mousePos static
- fingerDistance static
- getModelsCenter static
- getModelsBoundSize static
- getModelsInfo static
- blobToBase64 static
- clear static
- preload
- getElapsedTime
- background
- setEffectsActivity
- effects
- setModelOutline
- showModelOutline
- hideModelOutline
- updateOutlines
- clearOutlines
- updateWatermark
- enableEnvironment
- disableEnvironment
- fog
- cameraSetup
- cameraRotateWorld
- cameraSetPrev
- line
- sprite
- triangle
- plane
- circle
- cube
- sphere
- hemisphere
- octahedron
- shape
- importModel
- importModelAsync
- modelClipping
- isModel
- model
- removeModel
- removeModelSilent
- addFill
- ambientLight
- directionalLight
- spotLight
- light
- enableControls
- disableControls
- setControlsTargetSilent
- moveControlsTarget
- moveControlsTargetSilent
- rotateAroundTarget
- intersectModel
- event
- removeEvent
- callEvent
- startCallEvents
- startCallEvents
- addEventListener
- removeEventListener
- setEvents
- setPostRenderPrev
- startLastRender
- stopLastRender
- render
- setRenderSize
- resize
- getScreenshotAsBlob
- downloadScreenshot
- hideByClick
- removeHideByClick
- updateHideByClickContainer
- getMinViewDistance
- getViewDistance
- loseContext
Methods
load
-
url
-
onLoad
-
onProgress
-
onError
Load 3ds file from url.
parse
-
arraybuffer
-
path
Parse arraybuffer data and load 3ds file.
Parameters:
-
arraybuffer
ArrayBufferArraybuffer data to be loaded.
-
path
StringPath for external resources.
Returns:
Group loaded from 3ds file.
readFile
-
arraybuffer
-
path
Decode file content to read 3ds data.
Parameters:
-
arraybuffer
ArrayBufferArraybuffer data to be loaded.
-
path
StringPath for external resources.
readMeshData
-
chunk
-
path
Read mesh data chunk.
Parameters:
-
chunk
Chunkto read mesh from
-
path
StringPath for external resources.
readNamedObject
-
chunk
Read named object chunk.
Parameters:
-
chunk
ChunkChunk in use.
readMaterialEntry
-
chunk
-
path
Read material data chunk and add it to the material list.
Parameters:
-
chunk
ChunkChunk in use.
-
path
StringPath for external resources.
readMesh
-
chunk
Read mesh data chunk.
Parameters:
-
chunk
ChunkChunk in use.
Returns:
The parsed mesh.
readFaceArray
-
chunk
-
mesh
Read face array data chunk.
Parameters:
-
chunk
ChunkChunk in use.
-
mesh
MeshMesh to be filled with the data read.
readMap
-
chunk
-
path
Read texture map data chunk.
Parameters:
-
chunk
ChunkChunk in use.
-
path
StringPath for external resources.
Returns:
Texture read from this data chunk.
readMaterialGroup
-
chunk
Read material group data chunk.
Parameters:
-
chunk
ChunkChunk in use.
Returns:
Object with name and index of the object.
readColor
-
chunk
Read a color value.
Parameters:
-
chunk
ChunkChunk.
Returns:
Color value read..
readPercentage
-
chunk
Read percentage value.
Parameters:
-
chunk
ChunkChunk to read data from.
Returns:
Data read from the dataview.
debugMessage
-
message
Print debug message to the console.
Is controlled by a flag to show or hide debug messages.
Parameters:
-
message
ObjectDebug message to print to the console.
readDWord
()
Number
Read 64 bit unsigned integer value.
Returns:
Data read from the dataview.
readWord
()
Number
Read 32 bit unsigned integer value.
Returns:
Data read from the dataview.
readString
()
String
Read NULL terminated ASCII string value from chunk-pos.
Returns:
Data read from the dataview.
getVector
-
array
Метод преобразует массив из трех чисел в объект Vector3
Parameters:
-
array
Number[]Массив из трех чисел
Returns:
Объект Vector3
getArrayVector
-
vector
Метод преобразует тройку чисел в виде объекта со свойствами x, y, z в массив из трех чисел
Parameters:
-
vector
ObjectТройка чисел в виде объекта
Returns:
Массив из трех чисел
normalizeRad
-
angle
Метод возвращает значение угла в радинах между -2PI и 2PI
Parameters:
-
angle
NumberУгол в радианах
Returns:
Результат
normalizeDeg
-
angle
Метод возвращает значение угла в градусах между -360 и 360
Parameters:
-
angle
NumberУгол в градусах
Returns:
Результат
toRad
-
angle
Метод переводит градусы в радианы
Parameters:
-
angle
NumberУгол в градусах
Returns:
Угол в радинах
toDeg
-
angle
Метод переводит радианы в градусы
Parameters:
-
angle
NumberУгол в радинах
Returns:
Угол в градусах
getFloat
-
value
-
fraction
Метод возвращает округленное значение
Parameters:
Returns:
Округленное значение с дробной частью
getFloatArray
-
array
-
fraction
Метод возвращает новый массив с округленными значениями
Parameters:
Returns:
Массив с округленными значениями
isPointsEqual
-
point1
-
point2
-
error
Метод возвращает истину, если 2D точки совпадают
Parameters:
Returns:
Результат сравнения
isPosEqual
-
pos1
-
pos2
-
error
Метод возвращает истину, если позиции совпадают
Parameters:
Returns:
Результат сравнения
sum
()
Number[]
static
Метод возвращает сумму координат любого числа позиций
Returns:
Результат сложения
diff
-
pos1
-
pos2
-
fraction
Метод возвращает разницу в координатах двух позиций
Parameters:
Returns:
Разность
getDistance
-
pos1
-
pos2
Метод возвращает расстояние между двумя позициями
Returns:
Расстояние
mousePos
-
e
Метод возвращает координаты указателя мыши или тача
Parameters:
-
e
ObjectОбъект результата события
Returns:
Координаты указателя
fingerDistance
-
p1
-
p2
Метод возвращает расстояние между двумя касаниями тача
Parameters:
Returns:
Расстояние
getModelsCenter
-
models
Метод возвращает центр параллелепипеда, ограничивающего массив моделей
Parameters:
-
models
Site3dModel[]Массив моделей
Returns:
Массив координат центра
getModelsBoundSize
-
models
Метод возвращает размеры общего параллелепипеда моделей
Parameters:
-
models
Site3dModel[]Массив моделей
Returns:
Размеры
getModelsInfo
-
models
-
include
Метод возвращает информацию об общем параллелепипеде моделей
Parameters:
-
models
Site3dModel[]Массив моделей
-
include
String[]Массив возвращаемых значений
Returns:
Результат
blobToBase64
-
blob
Метод возвращает Base64 версию Blob объекта
Parameters:
-
blob
BlobBlob объект
Returns:
Результат в виде строки
clear
()
static
Метод очистки сцены
preload
()
Метод отметки момента окончания предварительной загрузки сцены
getElapsedTime
()
Number
Метод возвращает время существования сцены
Returns:
Время в миллисекундах
background
-
value
Метод установки цвета фона
setEffectsActivity
()
Метод установки активности эффектов сцены
effects
-
options
Метод установки эффектов сцены
Parameters:
-
options
ObjectПараметры эффектов:
- brightness – яркость от 0 до 10 (по умолчанию 5)
- contrast – контраст от 0 до 10 (по умолчанию 5)
setModelOutline
-
model
-
options
Метод устанавливает свечение вокруг модели
Parameters:
-
model
Site3dModelМодель
-
options
ObjectДополнительные параметры
showModelOutline
-
model
Метод показывает свечение вокруг модели
Parameters:
-
model
Site3dModelМодель
hideModelOutline
-
model
Метод скрывает свечение вокруг модели
Parameters:
-
model
Site3dModelМодель
updateOutlines
()
Метод обновляет свечения вокруг моделей
clearOutlines
()
Метод удаляет свечения вокруг моделей
enableEnvironment
-
options
Метод включения окружения
Parameters:
-
options
StringПараметры окружения:
- fill – путь до файла панорамной текстуры в формате HDR или одно и предустановленных значений: «grey» (по умолчанию), «sunset»
- tone – степень наложения текстуры на объекты от 0 до 1 (по умолчанию, 0.5)
- isBackground – истина, если нужно отобразить текстуру в качестве фона сцены (по умолчанию false)
disableEnvironment
()
Метод отключения окружения
fog
-
options
Метод установки тумана
Parameters:
-
options
StringПараметры тумана:
- color – цвет
- near и far – параметры густоты тумана в зависимости от расстояния
cameraSetup
-
options
Метод настройки основных параметров камеры
Parameters:
-
options
ObjectПараметры камеры:
- angle – угол зрения (по умолчанию 50)
- near и far – пространство перед камерой (от и до, по умолчанию 0.1 и 100)
- pos – позиция (по умолчанию [0, 0, 1])
- target – точка наблюдения (по умолчанию [0, 0, 0])
cameraRotateWorld
-
stepX
-
stepY
-
stepZ
Метод поворачивает камеру вдоль глобальных осей координат, запоминает предыдущее состояние и вызывает событие отрисовки
cameraSetPrev
()
Метод подсчитывает предыдущее положение камеры
line
-
name
-
posList
-
fill
-
load
Метод добавляет линию
Parameters:
Returns:
Объект модели
sprite
-
name
-
path
-
load
Метод добавляет спрайт
Parameters:
Returns:
Объект модели
triangle
-
name
-
pos1
-
pos2
-
pos3
-
fill
-
load
Метод добавляет треугольник
Parameters:
Returns:
Объект модели
plane
-
name
-
width
-
height
-
fill
-
load
Метод добавляет плоскость
Parameters:
Returns:
Объект модели
circle
-
name
-
radius
-
detail
-
fill
-
load
Метод добавляет круг
Parameters:
Returns:
Объект модели
cube
-
name
-
size
-
fill
-
load
Метод добавляет параллелепипед
Parameters:
Returns:
Объект модели
sphere
-
name
-
radius
-
detail
-
fill
-
load
Метод добавляет сферу
Parameters:
Returns:
Объект модели
hemisphere
-
name
-
radius
-
detail
-
fill
-
load
Метод добавляет полусферу
Parameters:
Returns:
Объект модели
octahedron
-
name
-
radius
-
detail
-
fill
-
load
Метод добавляет восьмигранник
Parameters:
Returns:
Объект модели
shape
-
name
-
points
-
fill
-
options
-
load
Метод добавляет произвольную форму путем экструдирования плоской формы
Parameters:
-
name
StringИмя модели
-
points
ArrayМассив точек
-
fill
ObjectНаполнение
-
options
ObjectПараметры:
- depth - глубина экструдирования (по-умолчанию 1)
- steps - число шагов экструдирования (по-умолчанию 1)
- bevelEnabled - истина, если края скошены (по-умолчанию false)
-
load
FunctionФункцию информирования об окончании процесса загрузки (в качестве аргумента передается объект модели)
Returns:
Объект модели
importModel
-
name
-
path
-
options
Метод добавляет модель в формате GLTF
Returns:
Объект модели в качестве результата промиса
importModelAsync
-
name
-
path
-
options
Метод добавляет модель в формате GLTF асинхронно
Returns:
Объект модели в качестве результата промиса
modelClipping
-
name
-
model
-
options
-
load
Метод добавляет модель среза
Parameters:
-
name
StringИмя модели
-
model
Site3dModelМодель, у которой будет сделан срез
-
options
ObjectДополнительные опции
-
load
FunctionФункцию информирования об окончании процесса загрузки (в качестве аргумента передается объект модели)
Returns:
Объект модели
isModel
-
name
Метод возвращает истину, если в сцене есть модель
Parameters:
-
name
StringИмя модели
Returns:
Результат
model
-
name
Метод возвращает модель
Parameters:
-
name
StringИмя модели
Returns:
Объект модели
removeModelSilent
-
name
Метод удаляет модель без вызова отрисовки
Parameters:
-
name
StringИмя модели
addFill
-
name
-
fill
-
load
Метод добавляет поименованное наполнение
ambientLight
-
name
-
options
Метод добавляет общий свет
Parameters:
Returns:
Объект источника освещения
directionalLight
-
name
-
options
Метод добавляет направленный свет
Parameters:
Returns:
Объект источника освещения
spotLight
-
name
-
options
Метод добавляет конусный свет
Parameters:
-
name
StringИмя источника освещения
-
options
ObjectПараметры освещения:
- color – цвет в HEX-формате (по умолчанию белый)
- power – мощность (по умолчанию 1)
- pos – позиция источника (по умолчанию [1, 1, 1])
- target – позиция направления (по умолчанию [0, 0, 0])
- angle – угол конуса (по умолчанию 45)
- blur – сглаженность светового пятна (по умолчанию 0.5)
Returns:
Объект источника освещения
light
-
name
Метод возвращает источник освещения
Parameters:
-
name
StringИмя источника освещения
Returns:
Объект источника освещения
enableControls
-
options
Метод включает управление сценой
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
()
Метод выключает управление сценой
setControlsTargetSilent
-
target
Метод устанавливает центр масштабирования и вращения без вызова отрисовки
Parameters:
-
target
Number[]Позиция
Returns:
Истина, если произошло изменение
moveControlsTarget
-
steps
Метод устанавливает центр масштабирования и вращения
Parameters:
-
steps
Number[]Шаги изменений в координатах
moveControlsTargetSilent
-
steps
Метод устанавливает центр масштабирования и вращения без вызова отрисовки
Parameters:
-
steps
Number[]Шаги изменений в координатах
rotateAroundTarget
-
angle
-
options
Метод поворачивает камеру вокруг центра масштабирования и вращения
intersectModel
-
model
-
fromModels
-
options
Метод возвращает результат пересечения указателя мыши с моделью
Parameters:
-
model
Site3dModelМодель (по-умолчанию null - пересечение будет искаться со всеми моделями)
-
fromModels
ArrayМассив моделей, среди которых искать пересечения (по-умолчанию null - пересечение будет искаться по всей сцене)
-
options
ObjectПараметры:
- isOnlyVisible - истина, если пересечение нужно искать только среди видимых моделей (по-умолчанию истина)
event
-
name
-
call
-
options
Метод подписывает на события сцены
removeEvent
-
name
-
call
Метод удаляет подписку на событие сцены
callEvent
-
name
-
options
Метод вызывает событие Site3d
startCallEvents
()
Метод запускает генерацию событий сцены
startCallEvents
()
Метод останавливает генерацию событий сцены
addEventListener
-
name
-
handler
Метод добавляет обработчик события Site3d
removeEventListener
-
name
-
handler
Метод удаляет обработчик события Site3d
setEvents
-
domElement
Метод устанавливает обработчики событий Site3d для HTML-элемента
Parameters:
-
domElement
HTMLElementHTML-элемент
setPostRenderPrev
()
Метод устанавливает предыдущее значение isPostRender
startLastRender
()
Метод запускает последний запускаемый рендер сцены
stopLastRender
()
Метод останавливает последний запускаемый рендер сцены
render
()
Метод отрисовки сцены (для автоматического рендера можно использовать один из дочерних классов site3dRender)
resize
-
options
Метод устанавливает размер рендера исходя из качества рендера и размера холста
Parameters:
-
options
ObjectДополнительные параметры
getScreenshotAsBlob
-
options
Метод делает скриншот сцены и возвращает его в формате Blob
Parameters:
-
options
ObjectПараметры скриншота:
- canvas - с какого холста делать скриншот (по умолчанию текущий холст)
- size - размеры скриншота (по умолчанию [1920, 1080])
Returns:
Скриншот
downloadScreenshot
-
fileName
-
options
Метод делает скриншот сцены и вызывает его загрузку в браузере
hideByClick
-
elem
-
hide
-
except
Метод добавляет к элементу DOM событие его скрытия при клике вне области элемента
Parameters:
-
elem
HTMLElement | stringЭлемент DOM или его идентификатор
-
hide
FunctionФункция, срабатываемая при событии клика вне элемента
-
except
HTMLElementЭлемент DOM в виде исключения
removeHideByClick
-
elem
Метод удаляет у элемента DOM событие его скрытия при клике вне области элемента
Parameters:
-
elem
HTMLElement | stringЭлемент DOM или его идентификатор
updateHideByClickContainer
-
container
Метод обновляет элемент DOM, при клике по которому срабатывает событие обработки скрытия DOM элементов по клику вне их области
Parameters:
-
container
HTMLElementЭлемент DOM
getMinViewDistance
-
size
-
options
Метод возвращает минимальное расстояние приближения к параллелепипеду от её центра
Returns:
Расстояние
getViewDistance
-
size
-
distance
-
options
Метод возвращает расстояние приближения к параллелепипеду от её центра
Parameters:
Returns:
Расстояние
loseContext
()
Метод вызывает потерю контекста WebGL
Properties
controlsTarget
Unknown
Свойство устанавливает центр масштабирования и вращения
Sub-properties:
-
target
Number[]Позиция
controlsTargetDistance
Number
Свойство возвращает расстояние камеры до центра масштабирования и вращения
isPostRender
Boolean
Свойство возвращает истину, если во время отрисовки сцены применяется дополнительная обработка
isPostRender
Unknown
Свойство устанавливает применение дополнительной обработки во время отрисовки сцены
shadows
Unknown
Свойство включает и отключает тени у всех источников
quality
Unknown
Свойство устанавливает качество рендера
Sub-properties:
-
value
NumberКачество рендера от 1 до 100
alpha
Unknown
Свойство устанавливает включение прозрачности
Sub-properties:
-
value
BooleanВключение прозрачности
isCursorPointer
Unknown
Свойство устанавливает показ и скрытие курсора при наведении указателя
Sub-properties:
-
value
BooleanЗначение
hideByClickDone
Boolean
Свойство возвращает истину, если произошло закрытие DOM элементов по клику вне их области