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

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

Разработчик

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

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

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

SCNShape

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


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


Swift

import SceneKit

Objective C

@import SceneKit;

Доступность


Доступный в iOS 8.0 и позже.

SCNShape объект является геометрией, создающей ее содержание из двумерного пути, дополнительно вытесненного для создания трехмерного объекта.

SceneKit создает трехмерную геометрию путем вытеснения пути Bézier, расширяющегося в x-и направлениях оси y ее пространства локальной координаты вдоль оси z указанной суммой. Например, если Вы создаете форму с глубиной экструзии 1.0, это расширяется от -0.5 к 0.5 вдоль оси z. Глубина экструзии нуля создает плоскую, одностороннюю форму — геометрия ограничена плоскостью, z-координата которой 0.0, и просматриваемый только от его передней стороны, если его материал doubleSided свойство YEStrue.

Геометрия формы может содержать между одним и пятью элементами геометрии:

  • Если extrusionDepth свойство 0.0, геометрия формы имеет один элемент, соответствующий его видимая сторона.

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

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

SceneKit может представить каждый элемент с помощью различного материала. Для получения дополнительной информации см. описание materials свойство в Ссылке класса SCNGeometry.

  • Создает геометрию формы с указанным путем и глубиной экструзии.

    Объявление

    Swift

    convenience init(path path: UIBezierPath, extrusionDepth extrusionDepth: CGFloat)

    Objective C

    + (instancetype)shapeWithPath:(UIBezierPath *)path extrusionDepth:(CGFloat)extrusionDepth

    Параметры

    path

    Двумерный путь, формирующий основание формы.

    extrusionDepth

    Толщина вытесненной формы вдоль оси z.

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

    Геометрия формы.

    Обсуждение

    SceneKit определяет область заливки пути с помощью ровно-нечетного вьющегося правила (см. Вьющиеся Правила в Руководстве по Рисованию Какао), и вытесняет эту область для создания трехмерной геометрии. Результат вытеснения самопересекающегося пути не определен.

    Вытесненная форма центрируется в нулевой точке ее оси z. Например, глубина экструзии 1.0 создает форму, расширяющуюся от -0.5 к 0.5 вдоль оси z. Глубина экструзии нуля создает плоскую, одностороннюю форму.

    Плоскость пути (см. setFlatness: в Ссылке класса NSBezierPath), определяет уровень детализации использование SceneKit в создании трехмерной формы от пути. Большая плоскость оценивает результаты в меньшем количестве многоугольников для рендеринга, увеличивая производительность и меньшую плоскость повышения стоимости гладкость кривых по стоимости для производительности.

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

    Objective C

    @import SceneKit;

    Swift

    import SceneKit

    Доступность

    Доступный в iOS 8.0 и позже.

  • extrusionDepth Свойство

    Толщина вытесненной формы вдоль оси z. Animatable.

    Объявление

    Swift

    var extrusionDepth: CGFloat

    Objective C

    @property(nonatomic) CGFloat extrusionDepth

    Обсуждение

    Вытесненная форма центрируется в нулевой точке ее оси z. Например, глубина экструзии 1.0 создает форму, расширяющуюся от -0.5 к 0.5 вдоль оси z. Глубина экструзии нуля создает плоскую, одностороннюю форму.

    Можно анимировать изменения в значении этого свойства. Посмотрите Анимацию Содержание SceneKit.

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

    Objective C

    @import SceneKit;

    Swift

    import SceneKit

    Доступность

    Доступный в iOS 8.0 и позже.

  • path Свойство

    Двумерный путь, формирующий основание формы.

    Объявление

    Swift

    @NSCopying var path: UIBezierPath!

    Objective C

    @property(nonatomic, copy) UIBezierPath *path

    Обсуждение

    SceneKit определяет область заливки пути с помощью ровно-нечетного вьющегося правила (см. Вьющиеся Правила в Руководстве по Рисованию Какао), и вытесняет эту область для создания трехмерной геометрии. Результат вытеснения самопересекающегося пути не определен.

    Плоскость пути (см. setFlatness: в Ссылке класса NSBezierPath), определяет уровень детализации использование SceneKit в создании трехмерной формы от пути — большее значение плоскости приводит к меньшему количеству многоугольников для рендеринга, увеличивая производительность.

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

    Objective C

    @import SceneKit;

    Swift

    import SceneKit

    Доступность

    Доступный в iOS 8.0 и позже.

  • chamferMode Свойство

    Постоянное указание, какие концы профиля вытесненной формы закруглены кромки.

    Объявление

    Swift

    var chamferMode: SCNChamferMode

    Objective C

    @property(nonatomic) SCNChamferMode chamferMode

    Обсуждение

    Посмотрите SCNChamferMode для позволенных значений. Режим закругления кромок по умолчанию SCNChamferModeBoth.

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

    Objective C

    @import SceneKit;

    Swift

    import SceneKit

    Доступность

    Доступный в iOS 8.0 и позже.

  • chamferProfile Свойство

    Путь, определяющий перекрестный частный контур каждого закругленного кромки края.

    Объявление

    Swift

    @NSCopying var chamferProfile: UIBezierPath!

    Objective C

    @property(nonatomic, copy) UIBezierPath *chamferProfile

    Обсуждение

    Значение этого свойства должно быть двумерным путем, запускающимся в точке {1, 0} и окончание в точке {0, 1}, определение контура формы вдоль ее вытесненных сторон, как проиллюстрировано на рисунке 1. Если значение этого свойства nil и значение chamferRadius свойство больше, чем нуль, SceneKit использует профиль закругления кромок в форме круга четверти, показанного на рисунке 2 и рисунке 3.

    Пути профиля рисунка 1Chamfer и их эффекты image: ../Art/chamfer_profile.pdf

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

    Objective C

    @import SceneKit;

    Swift

    import SceneKit

    Доступность

    Доступный в iOS 8.0 и позже.

  • chamferRadius Свойство

    Ширина или глубина каждого закругленного кромки края. Animatable.

    Объявление

    Swift

    var chamferRadius: CGFloat

    Objective C

    @property(nonatomic) CGFloat chamferRadius

    Обсуждение

    Значение по умолчанию нуля не указывает закругления кромок (вытесненный конец сторон под прямым углом передней и задней части формы). Позволенные значения колеблются от нуля до половины глубины экструзии. (В максимальном радиусе закругления кромок заканчивается переднее закругление кромок, где заднее закругление кромок начинается, как показано справа на рисунке 2.)

    Можно анимировать изменения в значении этого свойства. Посмотрите Анимацию Содержание SceneKit.

    Рисунок 2Examples радиуса закругления кромок image: ../Art/chamfer_radius.pdf

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

    Objective C

    @import SceneKit;

    Swift

    import SceneKit

    Доступность

    Доступный в iOS 8.0 и позже.

  • Опции, для которых края вытесненной формы закруглены кромки, используемые chamferMode свойство.

    Объявление

    Swift

    enum SCNChamferMode : Int { case Both case Front case Back }

    Objective C

    typedef enum : NSInteger { SCNChamferModeBoth, SCNChamferModeFront, SCNChamferModeBack } SCNChamferMode;

    Константы

    • Both

      SCNChamferModeBoth

      Примените закругление кромок и к передним и к задним фронтам вытесненной формы.

      Доступный в iOS 8.0 и позже.

    • Front

      SCNChamferModeFront

      Примените закругление кромок к только переднему фронту вытесненной формы.

      Доступный в iOS 8.0 и позже.

    • Back

      SCNChamferModeBack

      Примените закругление кромок к только заднему фронту вытесненной формы.

      Доступный в iOS 8.0 и позже.

    Обсуждение

    Рисунок 3 иллюстрирует три режима закругления кромок.

    Режимы Figure 3Chamfer image: ../Art/chamfer_mode.pdf

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

    Objective C

    @import SceneKit;

    Swift

    import SceneKit

    Доступность

    Доступный в iOS 8.0 и позже.