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
- updateIsRender
- renderOn
- renderOff
- setRenderSize
- resize
- getScreenshotAsBlob
- downloadScreenshot
- hideByClick
- removeHideByClick
- updateHideByClickContainer
- getMinViewDistance
- getViewDistance
- loseContext
Properties
- controlsIsEnabled
- controlsIsEnabled
- controlsTarget
- controlsTarget
- controlsPrevTarget
- controlsTargetDistance
- canvas
- options
- webglVersion
- isPostRender
- isPostRender
- lastRender
- shadows
- shadows
- info
- maxAnisotropy
- scene
- camera
- models
- materials
- lights
- controls
- actions
- events
- quality
- quality
- alpha
- alpha
- isCursorPointer
- isCursorPointer
- hideByClickDone
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
Number[]Массив точек
-
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
Site3dModel[] | nullМассив моделей, среди которых искать пересечения (по-умолчанию 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
-
options
Метод отрисовки сцены (для автоматического рендера можно использовать один из дочерних классов site3dRender)
Parameters:
-
options
ObjectДополнительные параметры
updateIsRender
-
value
Метод обновляет включение или отключение рисования сцены
Parameters:
-
value
BooleanИстина, если нужно включить рисование сцены виджета
renderOn
-
render
Метод включает рисование сцены
Parameters:
-
render
Site3dRenderобъект автоматической отрисовки сцены
renderOff
()
Метод выключает рисование сцены
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
controlsIsEnabled
Unknown
Свойство устанавливает включение или отключение управления сценой
Sub-properties:
-
value
BooleanЗначение
controlsTarget
Unknown
Свойство устанавливает центр масштабирования и вращения
Sub-properties:
-
target
Number[]Позиция
controlsTargetDistance
Number
Свойство возвращает расстояние камеры до центра масштабирования и вращения
isPostRender
Boolean
Свойство возвращает истину, если во время отрисовки сцены применяется дополнительная обработка
isPostRender
Unknown
Свойство устанавливает применение дополнительной обработки во время отрисовки сцены
shadows
Unknown
Свойство включает и отключает тени у всех источников
scene
Scene
Свойство возвращает объект сцены
models
MapСвойство возвращает список моделей в сцене
materials
MapСвойство возвращает коллекцию материалов
lights
MapСвойство возвращает коллекцию источников освещения
events
MapСвойство возвращает коллекцию событий сцены
quality
Unknown
Свойство устанавливает качество рендера
Sub-properties:
-
value
NumberКачество рендера от 1 до 100
alpha
Unknown
Свойство устанавливает включение прозрачности
Sub-properties:
-
value
BooleanВключение прозрачности
isCursorPointer
Unknown
Свойство устанавливает показ и скрытие курсора при наведении указателя
Sub-properties:
-
value
BooleanЗначение
hideByClickDone
Boolean
Свойство возвращает истину, если произошло закрытие DOM элементов по клику вне их области