Mesh

Mesh class

Сетка состоит из множества многоугольников с n сторонами.

public class Mesh : Geometry, IEnumerable<int[]>, IMeshConvertible

Конструкторы

ИмяОписание
Mesh()Инициализирует новый экземплярMesh класс.
Mesh(Bitmap)Построить сетку, используя указанную карту высот, если пиксельный формат карты высот содержит несколько компонентов, первый (обычно красный) компонент будет использоваться как значение высоты (z) Компоненты x и y контрольной точки являются нормализованными координатами пикселя .
Mesh(string)Инициализирует новый экземплярMesh класс.
Mesh(Bitmap, Matrix4)Построить сетку, используя указанную карту высот, если пиксельный формат карты высот содержит несколько компонентов, первый (обычно красный) компонент будет использоваться как значение высоты (z) Компоненты x и y контрольной точки являются нормализованными координатами пикселя .
Mesh(Bitmap, bool, Matrix4)Построить сетку, используя указанную карту высот, если пиксельный формат карты высот содержит несколько компонентов, первый (обычно красный) компонент будет использоваться как значение высоты (z) Компоненты x и y контрольной точки являются нормализованными координатами пикселя .

Характеристики

ИмяОписание
CastShadows { get; set; }Получает или задает, может ли эта геометрия отбрасывать тень
ControlPoints { get; }Получить все контрольные точки
Deformers { get; }Получает все деформаторы, связанные с этой геометрией.
Edges { get; }Получает края сетки. Край не является обязательным в сетке, поэтому он может быть пустым.
Excluded { get; set; }Получает или задает, следует ли исключить этот объект при экспорте.
virtual Name { get; set; }Получает или задает имя.
ParentNode { get; set; }Получает или задает первый родительский узел, если задан первый родительский узел, этот объект будет отсоединен от других родительских узлов.
ParentNodes { get; }Получает все родительские узлы, сущность может быть присоединена к нескольким родительским узлам для экземпляра геометрии
PolygonCount { get; }Получает количество полигонов
Polygons { get; }Получает определение полигонов меша
Properties { get; }Получает коллекцию всех свойств.
ReceiveShadows { get; set; }Получает или задает, может ли эта геометрия получать тени.
Scene { get; }Получает сцену, которой принадлежит этот объект
VertexElements { get; }Получает все элементы вершины
Visible { get; set; }Получает или задает видимость геометрии

Методы

ИмяОписание
AddElement(VertexElement)Добавляет существующий элемент вершины к текущей геометрии
CreateElement(VertexElementType)Создает вершинный элемент указанного типа и добавляет его в геометрию.
CreateElement(VertexElementType, MappingMode, ReferenceMode)Создает вершинный элемент указанного типа и добавляет его в геометрию.
CreateElementUV(TextureMapping)СоздаетVertexElementUV с заданным типом отображения текстуры.
CreateElementUV(TextureMapping, MappingMode, ReferenceMode)СоздаетVertexElementUV с заданным типом отображения текстуры.
CreatePolygon(int[])Создает новый многоугольник со всеми вершинами, определенными вindices . Чтобы создать вершину полигона по вершине, используйтеPolygonBuilder .
CreatePolygon(int, int, int)Создать многоугольник с 3 вершинами (треугольник)
CreatePolygon(int[], int, int)Создает новый многоугольник со всеми вершинами, определенными вindices . Чтобы создать вершину полигона по вершине, используйтеPolygonBuilder .
CreatePolygon(int, int, int, int)Создать многоугольник с 4 вершинами (quad)
FindProperty(string)Находит свойство. Это может быть динамическое свойство (созданное CreateDynamicProperty/SetProperty) или родное свойство (идентифицированное по имени)
GetBoundingBox()Получает ограничивающую рамку текущего объекта в его системе координат объектного пространства.
GetDeformers<T>()
GetElement(VertexElementType)Получает элемент вершины с указанным типом
virtual GetEntityRendererKey()Получает ключ средства визуализации объектов, зарегистрированного в средстве визуализации
GetEnumerator()Получает перечислитель для каждого внутреннего полигона.
GetPolygonSize(int)Получает количество вершин указанного полигона.
GetProperty(string)Получить значение указанного свойства
GetVertexElementOfUV(TextureMapping)ПолучаетVertexElementUV экземпляр с заданным отображением текстуры type
RemoveProperty(Property)Удаляет динамическое свойство.
RemoveProperty(string)Удалить указанное свойство с именем name
SetProperty(string, object)Устанавливает значение указанного свойства
ToMesh()Получает экземпляр Mesh из текущего объекта.

Примеры

Чтобы добавить полигон в сетку: Путешествовать по всем полигонам в сетке:

int[] indices = new int[] {0, 1, 2};
mesh.CreatePolygon(indices);
foreach(int[] polygon in mesh)
{
    //работаем с многоугольником
}

Смотрите также