Spec-Zone .ru
спецификации, руководства, описания, API

Библиотека разработчика Mac

Разработчик

Ссылка платформы SceneKit ссылка класса SCNGeometryElement

Опции
Развертывание Target:

На этой странице
Язык:

SCNGeometryElement

SCNGeometryElement объект описывает, как вершины соединяются для формирования поверхности трехмерного объекта или геометрии. Вы используете элементы геометрии вместе с SCNGeometrySource объекты определить пользовательский SCNGeometry объекты или проверить данные, составляющие существующую геометрию.

Вы создаете пользовательскую геометрию с помощью трехступенчатого процесса:

  1. Создайте один или больше SCNGeometrySource объекты, каждый из которых определяет информацию на вершину, такую как позиция, поверхностные нормальные, или координаты текстуры для всех вершин в геометрии.

  2. Создайте по крайней мере один SCNGeometryElement объект, содержа массив индексов, идентифицирующих вершины в источниках геометрии и описывающих получение, примитивное, что использование SceneKit для соединения вершин при рендеринге геометрии.

  3. Создайте SCNGeometry экземпляр из источников геометрии и элементов геометрии.

Когда SceneKit представляет геометрию, каждый элемент геометрии соответствует команде рисования, отправленной в GPU. Поскольку различные состояния рендеринга требуют отдельных команд рисования, можно определить геометрию с помощью многократных элементов геометрии. Например, геометрия заварного чайника на рисунке 1 имеет четыре элемента геометрии, таким образом, можно присвоить до четырех SCNMaterial объекты для рендеринга каждого элемента с различным появлением. Когда рендеринг, минимизация числа элементов в пользовательской геометрии могут улучшить производительность рендеринга, но потому что каждая команда рисования подвергается процессорному времени наверху.

Рисунок 1Rendering геометрия с многократными материалами image: ../Art/geometry_multi_material.pdf

Наследование


Оператор импорта


Swift

import SceneKit

Objective C

@import SceneKit;

Доступность


Доступный в OS X v10.8 и позже.
  • Создает элемент геометрии из указанных данных и опций.

    Объявление

    Swift

    convenience init(data data: NSData, primitiveType primitiveType: SCNGeometryPrimitiveType, primitiveCount primitiveCount: Int, bytesPerIndex bytesPerIndex: Int)

    Objective C

    + (instancetype)geometryElementWithData:(NSData *)data primitiveType:(SCNGeometryPrimitiveType)primitiveType primitiveCount:(NSInteger)primitiveCount bytesPerIndex:(NSInteger)bytesPerIndex

    Параметры

    data

    Данные, описывающие элемент.

    primitiveType

    Получение, примитивное, который соединяет вершины при рендеринге элемента геометрии. Для возможных значений посмотрите SCNGeometryPrimitiveType.

    primitiveCount

    Число примитивов в элементе.

    bytesPerIndex

    Число байтов, представляющих единственное индексное значение в данных.

    Возвращаемое значение

    Новый объект элемента геометрии.

    Обсуждение

    Данные элемента являются массивом индексных значений, идентифицирующих вершины в источнике геометрии. SceneKit интерпретирует данные как массив целых без знака (чей размер указан bytesPerIndex параметр), и затем соединяет вершины в порядке, указанном этим массивом, расположенным согласно primitiveType параметр.

    Создать пользовательское SCNGeometry объект от элемента геометрии, используйте geometryWithSources:elements: метод.

    Оператор импорта

    Objective C

    @import SceneKit;

    Swift

    import SceneKit

    Доступность

    Доступный в OS X v10.8 и позже.

  • primitiveType primitiveType Свойство

    Получение, примитивное, который соединяет вершины при рендеринге элемента геометрии. (только для чтения)

    Объявление

    Swift

    var primitiveType: SCNGeometryPrimitiveType { get }

    Objective C

    @property(nonatomic, readonly) SCNGeometryPrimitiveType primitiveType

    Обсуждение

    Для возможных значений посмотрите SCNGeometryPrimitiveType.

    Оператор импорта

    Objective C

    @import SceneKit;

    Swift

    import SceneKit

    Доступность

    Доступный в OS X v10.8 и позже.

  • primitiveCount primitiveCount Свойство

    Число примитивов в элементе. (только для чтения)

    Объявление

    Swift

    var primitiveCount: Int { get }

    Objective C

    @property(nonatomic, readonly) NSInteger primitiveCount

    Оператор импорта

    Objective C

    @import SceneKit;

    Swift

    import SceneKit

    Доступность

    Доступный в OS X v10.8 и позже.

  • данные данные Свойство

    Данные, описывающие элемент геометрии. (только для чтения)

    Объявление

    Swift

    var data: NSData? { get }

    Objective C

    @property(nonatomic, readonly) NSData *data

    Обсуждение

    Данные элемента являются массивом индексных значений, идентифицирующих вершины в источнике геометрии. SceneKit интерпретирует данные как массив целых без знака, размер которых указан bytesPerIndex свойство.

    Оператор импорта

    Objective C

    @import SceneKit;

    Swift

    import SceneKit

    Доступность

    Доступный в OS X v10.8 и позже.

  • bytesPerIndex bytesPerIndex Свойство

    Число байтов, представляющих каждое индексное значение в данных элемента. (только для чтения)

    Объявление

    Swift

    var bytesPerIndex: Int { get }

    Objective C

    @property(nonatomic, readonly) NSInteger bytesPerIndex

    Обсуждение

    Элемент data свойство содержит массив индексных значений, идентифицирующих вершины в источнике геометрии. SceneKit интерпретирует данные как массив целых без знака, размер которых указан bytesPerIndex свойство.

    Оператор импорта

    Objective C

    @import SceneKit;

    Swift

    import SceneKit

    Доступность

    Доступный в OS X v10.8 и позже.

  • Получение, примитивное, который соединяет вершины при рендеринге элемента геометрии, используемого primitiveType свойство, чтобы указать, как SceneKit интерпретирует данные элемента геометрии.

    Объявление

    Swift

    enum SCNGeometryPrimitiveType : Int { case Triangles case TriangleStrip case Line case Point }

    Objective C

    typedef enum { SCNGeometryPrimitiveTypeTriangles = 0, SCNGeometryPrimitiveTypeTriangleStrip = 1, SCNGeometryPrimitiveTypeLine = 2, SCNGeometryPrimitiveTypePoint = 3 } SCNGeometryPrimitiveType;

    Константы

    • Triangles

      SCNGeometryPrimitiveTypeTriangles

      Данные элемента геометрии являются последовательностью треугольников с каждым треугольником, описанным тремя новыми вершинами.

      Доступный в OS X v10.8 и позже.

    • TriangleStrip

      SCNGeometryPrimitiveTypeTriangleStrip

      Данные элемента геометрии являются последовательностью треугольников с каждым треугольником, описанным одной новой вершиной и двумя вершинами от предыдущего треугольника.

      Доступный в OS X v10.8 и позже.

    • Line

      SCNGeometryPrimitiveTypeLine

      Данные элемента геометрии являются последовательностью линейных сегментов с каждым линейным сегментом, описанным двумя новыми вершинами.

      Доступный в OS X v10.8 и позже.

    • Point

      SCNGeometryPrimitiveTypePoint

      Данные элемента геометрии являются последовательностью несвязанных точек.

      Доступный в OS X v10.8 и позже.

    Оператор импорта

    Objective C

    @import SceneKit;

    Swift

    import SceneKit

    Доступность

    Доступный в OS X v10.8 и позже.