Назад в раздел
Перевод документации по VRML 2.0
Перевод документации по VRML 2.0
[1] [2] [3]
Цилидр - Cylinder
Cylinder {
field SFBool bottom TRUE
#есть или нет низ цилиндра
field SFFloat height 2
#высота (2 - пример записи)
field SFFloat radius 1
#радиус (1 - пример записи)
field SFBool side TRUE
#есть или нет боковая поверхность
field SFBool top TRUE
#есть или нет верх
}
Нуль КС находится в центре цилиндра. Если
Какае-либо поле из bottom, side, top имеет значение
FALSE - то соответствующую сторону не видно и не
срабатывают сенсоры т.е. можной "пройти"
Сфера - Sphere
Sphere {
field SFFloat radius 1 #радиус (1
- пример записи)
}
Нуль КС находится в центре сферы
Конус - Cone
Cone {
field SFFloat bottomRadius 1 #радиус
основания
field SFFloat
height
2 #высота
field SFBool side
TRUE #есть или нет боковая поверхность
field SFBool bottom
TRUE #есть или нет низ
}
Нуль КС находится в середине линии
соединяющей вершину и центр основания
Если Какае-либо поле из bottom, side имеет значение
FALSE - то соответствующую сторону не видно и не
срабатывают сенсоры т.е. можной "пройти"
Набор многоугольников для описания объекта -
IndexedFaceSet
IndexedFaceSet {
eventIn MFInt32
set_colorIndex #
eventIn MFInt32
set_coordIndex #
eventIn MFInt32
set_normalIndex #
eventIn MFInt32
set_texCoordIndex #
exposedField SFNode
color
NULL # должен содержать ноду Color
exposedField SFNode
coord
NULL # должен содержать ноду Coordinate
exposedField SFNode
normal
NULL # должен содержать ноду Normal
exposedField SFNode
texCoord NULL # должен
содержать TextureCoordinate
field SFBool
ccw
TRUE #
field MFInt32
colorIndex [] #
field SFBool
colorPerVertex TRUE #
field SFBool
convex
TRUE #
field MFInt32
coordIndex [] #
field SFFloat
creaseAngle 0 #
field MFInt32
normalIndex [] #
field SFBool
normalPerVertex TRUE #
field SFBool
solid
TRUE #
field MFInt32
texCoordIndex [] #
}
IndexedFaceSet - представляет трехмерную фигуру
составленную из многоугольников, которые
построены из вершин, которые представлены в поле coord
. Поле coordIndex определяет из каких вершин
строится очередной многоугольники, -1
заканчивает описание очередного многоугольника
(в конце -1 не обязательно). Например [1 2 5 8 10 -1 3 4 6 7]
(первый многоугольник состоит из вершин с
индексами 1 2 5 8 10), при этом отсчет вершин
начинается с 0.
Если colorPerVertex = FALSE, то
если colorindex не пустой, то цвет
каждого многоугольника определяется
соответсвующим индексом из colorindex , опредеялющим
порядковый номер цвета описанного в ноде Color
если colorindex пустой, то цвет каждого
многоугольника определяется соответсвующим
цветом описанным в ноде Color, т.е. описаний цветов в
ноде Color должно быть столько сколько описано
многоугольников
Если colorPerVertex = TRUE, то
если colorindex не пустой, то цвет каждой
вершины определяется соответсвующим индексом из
colorindex , опредеялющим порядковый номер цвета
описанного в ноде Color
если colorindex пустой, то цвет каждой вершины
определяется соответсвующим цветом описанным в
ноде Color, т.е. описаний цветов в ноде Color должно
быть столько сколько описано вершин
Если Normal пустое то нормали
генерируются автоматически, используя поле creaseAngle
.
Если не пустое то нормали берутся из ноды Normal в
соответствие с индексами в normalIndex
Если texCoordIndex не пустое то
текстуры для каждой плоскости берутся из поля
texCoord в соответствие с индексами в texCoordIndex при
этом описание каждой плоскости заканчивается -1
Если texCoordIndex пустое то текстуры для каждой
плоскости берутся из поля texCoord по порядку
Набор
линий для описания объекта - IndexedLineSet
IndexedLineSet {
eventIn MFInt32 set_colorIndex
eventIn MFInt32 set_coordIndex
exposedField SFNode color
NULL # должен содержать ноду Color
exposedField SFNode
coord NULL # должен
содержать ноду Coordinate
field MFInt32 colorIndex
[]
field SFBool colorPerVertex
TRUE
field MFInt32 coordIndex
[]
}
IndexedLineSet - представляет трехмерную фигуру
составленную из полилиний, которые построены из
вершин, которые представлены в поле coord . Поле coordIndex
определяет из каких вершин строится очередная
полиния, -1 заканчивает описание очередной
полинии (в конце -1 не обязательно). Например [1 2 5 8
10 -1 3 4 6 7] (первая полилиния состоит из вершин с
индексами 1 2 5 8 10), при этом отсчет вершин
начинается с 0.
Если colorPerVertex = FALSE, то
если colorindex не пустой, то цвет каждой
полилинии определяется соответсвующим индексом
из colorindex , опредеялющим порядковый номер цвета
описанного в ноде Color
если colorindex пустой, то цвет каждой полилинии
определяется соответсвующим цветом описанным в
ноде Color, т.е. описаний цветов в ноде Color должно
быть столько сколько описано многоугольников
Если colorPerVertex = TRUE, то
если colorindex не пустой, то цвет каждой
вершины определяется соответсвующим индексом из
colorindex , опредеялющим порядковый номер цвета
описанного в ноде Color
если colorindex пустой, то цвет каждой вершины
определяется соответсвующим цветом описанным в
ноде Color, т.е. описаний цветов в ноде Color должно
быть столько сколько описано вершин
Набор точек PointSet
PointSet {
exposedField SFNode color NULL
# должен содержать ноду Color
exposedField SFNode coord NULL # должен
содержать ноду Coordinate
}
PointSet - представляет набор трехмерных точек ,
которые представлены в поле coord
Для каждой точки может быть определен цвет в поле
color
Если color не определено то используется
определение цвета в ноде Material (см. Shape)
Сетка - ElevationGrid
ElevationGrid {
eventIn MFFloat set_height
exposedField SFNode color
NULL
exposedField SFNode normal
NULL
exposedField SFNode texCoord
NULL
field MFFloat height
[]
field SFBool ccw
TRUE
field SFBool colorPerVertex
TRUE
field SFFloat creaseAngle
0
field SFBool normalPerVertex
TRUE
field SFBool solid
TRUE
field SFInt32 xDimension
0
field SFFloat xSpacing
0.0
field SFInt32 zDimension
0
field SFFloat zSpacing
0.0
}
ElevationGrid определяет прямоугольную сетку в
локальной КС в плоскости X-Z. В каждом узле сетки
определена высота (по оси Y). Геометрия
описывается скалярным массивом, содержащим
значения высот для каждого узла сетки
xDimension и zDimension - количество ячеек в сетке по осям X
и Z соответсвенно должно быть > 1
xSpacing и zSpacing - расстояние между узлами в сетке по
осям X и Z соответсвенно не равно нулю
height - массив высот (координат по оси Y) для каждого
узла сетки.
[1] [2] [3]
|
|
|
|
|