SCNGeometrySource Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Предоставляет данные вершин, которые в сочетании с SCNGeometryElements определяют трехмерный объект.
[Foundation.Register("SCNGeometrySource", true)]
[ObjCRuntime.Introduced(ObjCRuntime.PlatformName.WatchOS, 3, 0, ObjCRuntime.PlatformArchitecture.All, null)]
[ObjCRuntime.Introduced(ObjCRuntime.PlatformName.iOS, 8, 0, ObjCRuntime.PlatformArchitecture.All, null)]
public class SCNGeometrySource : Foundation.NSObject, Foundation.INSSecureCoding, IDisposable
[Foundation.Register("SCNGeometrySource", true)]
[ObjCRuntime.Introduced(ObjCRuntime.PlatformName.WatchOS, 3, 0, ObjCRuntime.PlatformArchitecture.All, null)]
[ObjCRuntime.Introduced(ObjCRuntime.PlatformName.iOS, 8, 0, ObjCRuntime.PlatformArchitecture.All, null)]
[ObjCRuntime.Introduced(ObjCRuntime.PlatformName.MacOSX, 10, 8, ObjCRuntime.PlatformArchitecture.All, null)]
public class SCNGeometrySource : Foundation.NSObject, Foundation.INSSecureCoding, IDisposable
type SCNGeometrySource = class
inherit NSObject
interface INSCoding
interface INativeObject
interface IDisposable
interface INSSecureCoding
- Наследование
- Атрибуты
- Реализации
Комментарии
Разработчики, желающие программно создавать пользовательские SCNGeometry объекты, используют метод M:SceneKit.SCNGeometry.Create(SceneKit.SCNGeometrySource[], SceneKit.SCNGeometryElement[]* . Форма и число SCNGeometrySource объектов зависят от способа описания геометрии разработчиком (например, от того, поступают ли данные вершин в виде ряда тройни, описывающих треугольники, или движущегося ряда, описывающего полосу треугольника), а также от того, будет ли геометрия просто окрашена или будет иметь карту текстуры.
В следующем коде демонстрируется пользовательский код для создания пользовательской четырехсторонняя пирамида. В этом примере показано использование вершин, определяющих треугольники, с которыми сопоставлена одна текстура. Обратите внимание на то, как конкретные значения индекса в locs
используются для определения indices
и как порядок в влияет locs
на normals
и txCoords
. Кроме того, обратите внимание, что тройни в indices
связаны с SCNGeometryPrimitiveType.Triangles
.
//Lower-left
var a = new SCNVector3(-1, -1, 0);
//Upper-right
var b = new SCNVector3(1, 1, 0);
var halfX = (c.X + a.X) / 2;
var halfY = (c.Y + a.Y) / 2;
var halfZ = (c.Z + a.Z) / 2;
var b = new SCNVector3(a.X, c.Y, halfZ);
var d = new SCNVector3(c.X, a.Y, halfZ);
//Elevate the midpoint so that it's clearly a pyramid
var midPoint = new SCNVector3(halfX, halfY, halfZ + 1.0);
//The vertices of the geometry
var locs = new [] {
a, b, c, d, midPoint
};
var locSource = SCNGeometrySource.FromVertices(locs);
//Note that this relies on the ordering of locs above
//and it defines triangles (could be triangle strips, etc.)
var indices = new [] {
//Triangles are defined counter-clockwise!
4, 1, 0,
1, 4, 2,
2, 4, 3,
3, 4, 0
};
var idxArray = new byte[indices.Length][];
for(int i = 0; i < idxArray.Length; i++)
{
idxArray[i] = BitConverter.GetBytes(indices[i]);
}
var idxData = NSData.FromArray(idxArray.SelectMany(id => id).ToArray());
//Note that this relies on indices defining triangles
var element = SCNGeometryElement.FromData(idxData, SCNGeometryPrimitiveType.Triangles, indices.Length / 3, sizeof(int));
//Normals are relative to geometry
var normals = new [] {
new SCNVector3(0, 0, 1),
new SCNVector3(0, 0, 1),
new SCNVector3(0, 0, 1),
new SCNVector3(0, 0, 1),
new SCNVector3(0, 0, 1),
};;
var normSource = SCNGeometrySource.FromNormals(normals);
//These texture coords will cause the texture to wrap
var txCoords = new [] {
new CGPoint(0, 0),
new CGPoint(0, 1),
new CGPoint(1, 1),
new CGPoint(1, 0),
new CGPoint(0.5, 0.5)
};
var txCoordsSource = SCNGeometrySource.FromTextureCoordinates(txCoords);
var geometry = SCNGeometry.Create(new [] { locSource, normSource, txCoordsSource }, new [] { element });
Конструкторы
SCNGeometrySource() |
Конструктор по умолчанию инициализирует новый экземпляр этого класса. |
SCNGeometrySource(IntPtr) |
Конструктор, используемый при создании управляемых представлений неуправляемых объектов; Вызывается средой выполнения. |
SCNGeometrySource(NSCoder) |
Конструктор, который инициализирует объект из данных, хранящихся в объекте unarchiver. |
SCNGeometrySource(NSObjectFlag) |
Конструктор для вызова производных классов для пропуска инициализации и просто выделения объекта. |
Свойства
BytesPerComponent |
Размер базовых векторных данных (в байтах). |
Class |
Предоставляет данные вершин, которые в сочетании с SCNGeometryElements определяют трехмерный объект. (Унаследовано от NSObject) |
ClassHandle |
Дескриптор для этого класса. |
ComponentsPerVector |
Количество компонентов на векторный элемент в этом источнике. |
Data |
Базовый буфер данных. |
DataOffset |
Расстояние (в байтах) от начала Data до первого элемента вершины. |
DataStride |
Число байтов между элементами вершины в Data. |
DebugDescription |
Понятное для разработчика описание этого объекта. (Унаследовано от NSObject) |
Description |
Описание объекта , версия ToString для Objective-C. (Унаследовано от NSObject) |
FloatComponents |
Указывает, состоят ли данные компонента вершины из значений |
Handle |
Дескриптор (указатель) на представление неуправляемого объекта. (Унаследовано от NSObject) |
IsDirectBinding |
Предоставляет данные вершин, которые в сочетании с SCNGeometryElements определяют трехмерный объект. (Унаследовано от NSObject) |
IsProxy |
Предоставляет данные вершин, которые в сочетании с SCNGeometryElements определяют трехмерный объект. (Унаследовано от NSObject) |
RetainCount |
Возвращает текущее число удержания Objective-C для объекта . (Унаследовано от NSObject) |
Self |
Предоставляет данные вершин, которые в сочетании с SCNGeometryElements определяют трехмерный объект. (Унаследовано от NSObject) |
Semantic |
Соответствует значению SCNGeometrySourceSemantic для этого источника. |
Superclass |
Предоставляет данные вершин, которые в сочетании с SCNGeometryElements определяют трехмерный объект. (Унаследовано от NSObject) |
SuperHandle |
Дескриптор, используемый для представления методов в базовом классе для этого объекта NSObject. (Унаследовано от NSObject) |
VectorCount |
Общее число векторов в базовом Dataобъекте . |
Zone |
Предоставляет данные вершин, которые в сочетании с SCNGeometryElements определяют трехмерный объект. (Унаследовано от NSObject) |
Методы
AddObserver(NSObject, NSString, NSKeyValueObservingOptions, IntPtr) |
Регистрирует объект для внешнего наблюдения (с помощью NSString keyPath). Наблюдаемые изменения отправляются в объектный ObserveValue(NSString, NSObject, NSDictionary, IntPtr) метод наблюдателя. (Унаследовано от NSObject) |
AddObserver(NSObject, String, NSKeyValueObservingOptions, IntPtr) |
Регистрирует объект для наблюдения извне (с помощью строки keyPath). Наблюдаемые изменения отправляются в объектный ObserveValue(NSString, NSObject, NSDictionary, IntPtr) метод наблюдателя. (Унаследовано от NSObject) |
AddObserver(NSString, NSKeyValueObservingOptions, Action<NSObservedChange>) |
Регистрирует объект для наблюдения извне с помощью произвольного метода. (Унаследовано от NSObject) |
AddObserver(String, NSKeyValueObservingOptions, Action<NSObservedChange>) |
Регистрирует объект для наблюдения извне с помощью произвольного метода. (Унаследовано от NSObject) |
AwakeFromNib() |
Вызывается после загрузки объекта из nib-файла. Переопределители должны вызывать base. AwakeFromNib(). (Унаследовано от NSObject) |
BeginInvokeOnMainThread(Action) |
Предоставляет данные вершин, которые в сочетании с SCNGeometryElements определяют трехмерный объект. (Унаследовано от NSObject) |
BeginInvokeOnMainThread(Selector, NSObject) |
Асинхронно вызывает указанный код в основном потоке пользовательского интерфейса. (Унаследовано от NSObject) |
Bind(NSString, NSObject, String, NSDictionary) |
Предоставляет данные вершин, которые в сочетании с SCNGeometryElements определяют трехмерный объект. (Унаследовано от NSObject) |
Bind(String, NSObject, String, NSDictionary) |
Устаревшие..
Предоставляет данные вершин, которые в сочетании с SCNGeometryElements определяют трехмерный объект. (Унаследовано от NSObject) |
BindingInfo(String) |
Устаревшие..
Предоставляет данные вершин, которые в сочетании с SCNGeometryElements определяют трехмерный объект. (Унаследовано от NSObject) |
BindingOptionDescriptions(String) |
Устаревшие..
Предоставляет данные вершин, которые в сочетании с SCNGeometryElements определяют трехмерный объект. (Унаследовано от NSObject) |
BindingValueClass(String) |
Устаревшие..
Предоставляет данные вершин, которые в сочетании с SCNGeometryElements определяют трехмерный объект. (Унаследовано от NSObject) |
CommitEditing() |
Предоставляет данные вершин, которые в сочетании с SCNGeometryElements определяют трехмерный объект. (Унаследовано от NSObject) |
CommitEditing(NSObject, Selector, IntPtr) |
Предоставляет данные вершин, которые в сочетании с SCNGeometryElements определяют трехмерный объект. (Унаследовано от NSObject) |
ConformsToProtocol(IntPtr) |
Вызывается для определения того, реализует ли этот объект указанный протокол. (Унаследовано от NSObject) |
Copy() |
Выполняет копию базового объекта Objective-C. (Унаследовано от NSObject) |
DangerousAutorelease() |
Предоставляет данные вершин, которые в сочетании с SCNGeometryElements определяют трехмерный объект. (Унаследовано от NSObject) |
DangerousRelease() |
Предоставляет данные вершин, которые в сочетании с SCNGeometryElements определяют трехмерный объект. (Унаследовано от NSObject) |
DangerousRetain() |
Предоставляет данные вершин, которые в сочетании с SCNGeometryElements определяют трехмерный объект. (Унаследовано от NSObject) |
DidChange(NSKeyValueChange, NSIndexSet, NSString) |
Указывает на изменение индексов для связи ко многим. (Унаследовано от NSObject) |
DidChange(NSString, NSKeyValueSetMutationKind, NSSet) |
Предоставляет данные вершин, которые в сочетании с SCNGeometryElements определяют трехмерный объект. (Унаследовано от NSObject) |
DidChangeValue(String) |
Указывает, что в указанном ключе произошло изменение. (Унаследовано от NSObject) |
Dispose() |
Освобождает ресурсы, используемые объектом NSObject. (Унаследовано от NSObject) |
Dispose(Boolean) |
Освобождает ресурсы, используемые объектом NSObject. (Унаследовано от NSObject) |
DoesNotRecognizeSelector(Selector) |
Указывает, что этот объект не распознает указанный селектор. (Унаследовано от NSObject) |
EncodeTo(NSCoder) |
Кодирует состояние объекта в предоставленном кодировщике. |
Equals(NSObject) |
Предоставляет данные вершин, которые в сочетании с SCNGeometryElements определяют трехмерный объект. (Унаследовано от NSObject) |
Equals(Object) |
Предоставляет данные вершин, которые в сочетании с SCNGeometryElements определяют трехмерный объект. (Унаследовано от NSObject) |
ExposedBindings() |
Предоставляет данные вершин, которые в сочетании с SCNGeometryElements определяют трехмерный объект. (Унаследовано от NSObject) |
FromData(NSData, NSString, nint, Boolean, nint, nint, nint, nint) |
Предоставляет данные вершин, которые в сочетании с SCNGeometryElements определяют трехмерный объект. |
FromData(NSData, SCNGeometrySourceSemantics, nint, Boolean, nint, nint, nint, nint) |
Предоставляет данные вершин, которые в сочетании с SCNGeometryElements определяют трехмерный объект. |
FromMetalBuffer(IMTLBuffer, MTLVertexFormat, NSString, nint, nint, nint) |
Метод фабрики для создания нового SCNGeometrySource объекта из буфера данных. |
FromMetalBuffer(IMTLBuffer, MTLVertexFormat, SCNGeometrySourceSemantics, nint, nint, nint) |
Метод фабрики для создания нового SCNGeometrySource объекта из буфера данных. |
FromNormals(SCNVector3[]) |
Фабричный метод, который создает источник для норм вершин. |
FromTextureCoordinates(CGPoint[]) |
Фабричный метод, который создает источник для координат текстуры. |
FromVertices(SCNVector3[]) |
Метод фабрики для создания источника данных вершин. |
GetBindingInfo(NSString) |
Предоставляет данные вершин, которые в сочетании с SCNGeometryElements определяют трехмерный объект. (Унаследовано от NSObject) |
GetBindingOptionDescriptions(NSString) |
Предоставляет данные вершин, которые в сочетании с SCNGeometryElements определяют трехмерный объект. (Унаследовано от NSObject) |
GetBindingValueClass(NSString) |
Предоставляет данные вершин, которые в сочетании с SCNGeometryElements определяют трехмерный объект. (Унаследовано от NSObject) |
GetDictionaryOfValuesFromKeys(NSString[]) |
Извлекает значения указанных ключей. (Унаследовано от NSObject) |
GetHashCode() |
Создает хэш-код для текущего экземпляра. (Унаследовано от NSObject) |
GetMethodForSelector(Selector) |
Предоставляет данные вершин, которые в сочетании с SCNGeometryElements определяют трехмерный объект. (Унаследовано от NSObject) |
GetNativeField(String) |
Устаревшие..
Предоставляет данные вершин, которые в сочетании с SCNGeometryElements определяют трехмерный объект. (Унаследовано от NSObject) |
GetNativeHash() |
Предоставляет данные вершин, которые в сочетании с SCNGeometryElements определяют трехмерный объект. (Унаследовано от NSObject) |
Init() |
Предоставляет данные вершин, которые в сочетании с SCNGeometryElements определяют трехмерный объект. (Унаследовано от NSObject) |
InitializeHandle(IntPtr) |
Предоставляет данные вершин, которые в сочетании с SCNGeometryElements определяют трехмерный объект. (Унаследовано от NSObject) |
InitializeHandle(IntPtr, String) |
Предоставляет данные вершин, которые в сочетании с SCNGeometryElements определяют трехмерный объект. (Унаследовано от NSObject) |
Invoke(Action, Double) |
Предоставляет данные вершин, которые в сочетании с SCNGeometryElements определяют трехмерный объект. (Унаследовано от NSObject) |
Invoke(Action, TimeSpan) |
Предоставляет данные вершин, которые в сочетании с SCNGeometryElements определяют трехмерный объект. (Унаследовано от NSObject) |
InvokeOnMainThread(Action) |
Предоставляет данные вершин, которые в сочетании с SCNGeometryElements определяют трехмерный объект. (Унаследовано от NSObject) |
InvokeOnMainThread(Selector, NSObject) |
Синхронно вызывает указанный код в основном потоке пользовательского интерфейса. (Унаследовано от NSObject) |
IsEqual(NSObject) |
Предоставляет данные вершин, которые в сочетании с SCNGeometryElements определяют трехмерный объект. (Унаследовано от NSObject) |
IsKindOfClass(Class) |
Предоставляет данные вершин, которые в сочетании с SCNGeometryElements определяют трехмерный объект. (Унаследовано от NSObject) |
IsMemberOfClass(Class) |
Предоставляет данные вершин, которые в сочетании с SCNGeometryElements определяют трехмерный объект. (Унаследовано от NSObject) |
MarkDirty() |
Повышает уровень обычного однорангового объекта (isDirectBinding имеет значение true) в объект toggleref. (Унаследовано от NSObject) |
MutableCopy() |
Создает изменяемую копию указанного объекта NSObject. (Унаследовано от NSObject) |
ObjectDidEndEditing(NSObject) |
Предоставляет данные вершин, которые в сочетании с SCNGeometryElements определяют трехмерный объект. (Унаследовано от NSObject) |
ObserveValue(NSString, NSObject, NSDictionary, IntPtr) |
Указывает, что значение указанного keyPath относительно данного объекта изменилось. (Унаследовано от NSObject) |
PerformSelector(Selector) |
Предоставляет данные вершин, которые в сочетании с SCNGeometryElements определяют трехмерный объект. (Унаследовано от NSObject) |
PerformSelector(Selector, NSObject) |
Предоставляет данные вершин, которые в сочетании с SCNGeometryElements определяют трехмерный объект. (Унаследовано от NSObject) |
PerformSelector(Selector, NSObject, Double) |
Вызывает селектор для текущего экземпляра и, если |
PerformSelector(Selector, NSObject, Double, NSString[]) |
Предоставляет данные вершин, которые в сочетании с SCNGeometryElements определяют трехмерный объект. (Унаследовано от NSObject) |
PerformSelector(Selector, NSObject, NSObject) |
Предоставляет данные вершин, которые в сочетании с SCNGeometryElements определяют трехмерный объект. (Унаследовано от NSObject) |
PerformSelector(Selector, NSThread, NSObject, Boolean) |
Предоставляет данные вершин, которые в сочетании с SCNGeometryElements определяют трехмерный объект. (Унаследовано от NSObject) |
PerformSelector(Selector, NSThread, NSObject, Boolean, NSString[]) |
Предоставляет данные вершин, которые в сочетании с SCNGeometryElements определяют трехмерный объект. (Унаследовано от NSObject) |
PrepareForInterfaceBuilder() |
Предоставляет данные вершин, которые в сочетании с SCNGeometryElements определяют трехмерный объект. (Унаследовано от NSObject) |
RemoveObserver(NSObject, NSString) |
Запрещает указанному наблюдателю получать дальнейшие уведомления об изменении значений для указанного keyPath. (Унаследовано от NSObject) |
RemoveObserver(NSObject, NSString, IntPtr) |
Запрещает указанному наблюдателю получать дальнейшие уведомления об изменении значений для указанного keyPath и контекста. (Унаследовано от NSObject) |
RemoveObserver(NSObject, String) |
Запрещает указанному наблюдателю получать дальнейшие уведомления об изменении значений для указанного keyPath. (Унаследовано от NSObject) |
RemoveObserver(NSObject, String, IntPtr) |
Запрещает указанному наблюдателю получать дальнейшие уведомления об изменении значений для указанного keyPath и контекста. (Унаследовано от NSObject) |
RespondsToSelector(Selector) |
Распознает ли этот объект указанный селектор. (Унаследовано от NSObject) |
SetNativeField(String, NSObject) |
Устаревшие..
Предоставляет данные вершин, которые в сочетании с SCNGeometryElements определяют трехмерный объект. (Унаследовано от NSObject) |
SetNilValueForKey(NSString) |
Задает значение null для указанного ключа. (Унаследовано от NSObject) |
SetValueForKey(NSObject, NSString) |
Задает указанное значение свойства, указанного ключом. (Унаследовано от NSObject) |
SetValueForKeyPath(IntPtr, NSString) |
Конструктор, используемый при создании управляемых представлений неуправляемых объектов; Вызывается средой выполнения. (Унаследовано от NSObject) |
SetValueForKeyPath(NSObject, NSString) |
Задает значение свойства, которое можно получить с помощью пути к ключу. (Унаследовано от NSObject) |
SetValueForUndefinedKey(NSObject, NSString) |
Указывает на попытку записать значение в неопределенный ключ. Если значение не переопределено, вызывает исключение NSUndefinedKeyException. (Унаследовано от NSObject) |
SetValuesForKeysWithDictionary(NSDictionary) |
Устанавливает значения этого объекта NSObject в указанный словарь. (Унаследовано от NSObject) |
ToString() |
Возвращает строковое представление значения текущего экземпляра. (Унаследовано от NSObject) |
Unbind(NSString) |
Предоставляет данные вершин, которые в сочетании с SCNGeometryElements определяют трехмерный объект. (Унаследовано от NSObject) |
Unbind(String) |
Устаревшие..
Предоставляет данные вершин, которые в сочетании с SCNGeometryElements определяют трехмерный объект. (Унаследовано от NSObject) |
ValueForKey(NSString) |
Возвращает значение свойства, связанного с указанным ключом. (Унаследовано от NSObject) |
ValueForKeyPath(NSString) |
Возвращает значение свойства, которое может быть достигнуто с помощью пути к ключу. (Унаследовано от NSObject) |
ValueForUndefinedKey(NSString) |
Указывает на попытку считывания значения неопределенного ключа. Если значение не переопределено, вызывает исключение NSUndefinedKeyException. (Унаследовано от NSObject) |
WillChange(NSKeyValueChange, NSIndexSet, NSString) |
Указывает, что значения указанных индексов в указанном ключе собираются измениться. (Унаследовано от NSObject) |
WillChange(NSString, NSKeyValueSetMutationKind, NSSet) |
Предоставляет данные вершин, которые в сочетании с SCNGeometryElements определяют трехмерный объект. (Унаследовано от NSObject) |
WillChangeValue(String) |
Указывает, что значение указанного ключа изменится. (Унаследовано от NSObject) |
Методы расширения
ObjectDidBeginEditing(NSObject, INSEditor) |
Предоставляет данные вершин, которые в сочетании с SCNGeometryElements определяют трехмерный объект. |
ObjectDidEndEditing(NSObject, INSEditor) |
Предоставляет данные вершин, которые в сочетании с SCNGeometryElements определяют трехмерный объект. |
GetValidModes(NSObject, NSFontPanel) |
Предоставляет данные вершин, которые в сочетании с SCNGeometryElements определяют трехмерный объект. |
ValidateToolbarItem(NSObject, NSToolbarItem) |
Предоставляет данные вершин, которые в сочетании с SCNGeometryElements определяют трехмерный объект. |
GetDebugDescription(INSObjectProtocol) |
Предоставляет данные вершин, которые в сочетании с SCNGeometryElements определяют трехмерный объект. |
AcceptsPreviewPanelControl(NSObject, QLPreviewPanel) |
Предоставляет данные вершин, которые в сочетании с SCNGeometryElements определяют трехмерный объект. |
BeginPreviewPanelControl(NSObject, QLPreviewPanel) |
Предоставляет данные вершин, которые в сочетании с SCNGeometryElements определяют трехмерный объект. |
EndPreviewPanelControl(NSObject, QLPreviewPanel) |
Предоставляет данные вершин, которые в сочетании с SCNGeometryElements определяют трехмерный объект. |
GetAccessibilityCustomRotors(NSObject) |
Возвращает массив объектов, подходящих UIAccessibilityCustomRotor для |
SetAccessibilityCustomRotors(NSObject, UIAccessibilityCustomRotor[]) |
Задает массив объектов, подходящих UIAccessibilityCustomRotor для |