SCNGeometrySource Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Proporciona datos de vértices que, junto con SCNGeometryElements, definen un objeto 3D.
[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
- Herencia
- Atributos
- Implementaciones
Comentarios
Los desarrolladores que deseen generar objetos personalizados SCNGeometry mediante programación usan el método (SceneKit.SCNGeometrySource[], SceneKit.SCNGeometryElement[]* . El formulario y el número de objetos varían en función de la manera en que el desarrollador describe la geometría (por ejemplo, si los datos de SCNGeometrySource vértices se presentan como una serie de triples que describen triángulos o una serie móvil que describe una franja de triángulos) y si la geometría simplemente se colorea o tiene un mapa de textura.
En el código siguiente se muestra el código personalizado para crear una pirámide personalizada de cuatro lados. En este ejemplo se muestra el uso de vértices, la definición de triángulos, en el que se asigna una sola textura. Tenga en cuenta cómo se usan los valores de índice específicos dentro locs
de para definir indices
y cómo afecta normals
la ordenación dentro locs
de y txCoords
. Además, observe cómo los tripletes de indices
están vinculados a 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 });
Constructores
SCNGeometrySource() |
El constructor predeterminado inicializa una nueva instancia de esta clase. |
SCNGeometrySource(IntPtr) |
Constructor utilizado al crear representaciones administradas de objetos no administrados; Llamado por el entorno de ejecución. |
SCNGeometrySource(NSCoder) |
Constructor que inicializa el objeto a partir de los datos almacenados en el objeto unarchiver. |
SCNGeometrySource(NSObjectFlag) |
Constructor para llamar a las clases derivadas para omitir la inicialización y simplemente asignar el objeto. |
Propiedades
BytesPerComponent |
Tamaño, en bytes, de los datos vectoriales subyacentes. |
Class |
Proporciona datos de vértices que, junto con SCNGeometryElements, definen un objeto 3D. (Heredado de NSObject) |
ClassHandle |
Identificador de esta clase. |
ComponentsPerVector |
Número de componentes por elemento vectorial de este origen. |
Data |
Búfer de datos subyacente. |
DataOffset |
Distancia, en bytes, desde el principio hasta el primer elemento de Data vértice. |
DataStride |
Número de bytes entre los elementos de vértice en Data. |
DebugDescription |
Descripción significativa para el desarrollador de este objeto. (Heredado de NSObject) |
Description |
Descripción del objeto, la versión objective-C de ToString. (Heredado de NSObject) |
FloatComponents |
Si los datos del componente de vértice se componen de |
Handle |
Identificador (puntero) a la representación del objeto no administrado. (Heredado de NSObject) |
IsDirectBinding |
Proporciona datos de vértices que, junto con SCNGeometryElements, definen un objeto 3D. (Heredado de NSObject) |
IsProxy |
Proporciona datos de vértices que, junto con SCNGeometryElements, definen un objeto 3D. (Heredado de NSObject) |
RetainCount |
Devuelve el recuento de retención actual de Objective-C para el objeto . (Heredado de NSObject) |
Self |
Proporciona datos de vértices que, junto con SCNGeometryElements, definen un objeto 3D. (Heredado de NSObject) |
Semantic |
Corresponde al SCNGeometrySourceSemantic valor de este origen. |
Superclass |
Proporciona datos de vértices que, junto con SCNGeometryElements, definen un objeto 3D. (Heredado de NSObject) |
SuperHandle |
Identificador usado para representar los métodos de la clase base para este NSObject. (Heredado de NSObject) |
VectorCount |
Número total de vectores en el objeto subyacente Data. |
Zone |
Proporciona datos de vértices que, junto con SCNGeometryElements, definen un objeto 3D. (Heredado de NSObject) |
Métodos
AddObserver(NSObject, NSString, NSKeyValueObservingOptions, IntPtr) |
Registra un objeto para que se observe externamente (mediante NSString keyPath). Los cambios observados se envían al método de objeto ObserveValue(NSString, NSObject, NSDictionary, IntPtr) del observador. (Heredado de NSObject) |
AddObserver(NSObject, String, NSKeyValueObservingOptions, IntPtr) |
Registra un objeto para que se observe externamente (mediante keyPath de cadena). Los cambios observados se envían al método de objeto ObserveValue(NSString, NSObject, NSDictionary, IntPtr) del observador. (Heredado de NSObject) |
AddObserver(NSString, NSKeyValueObservingOptions, Action<NSObservedChange>) |
Registra un objeto para que se observe externamente mediante un método arbitrario. (Heredado de NSObject) |
AddObserver(String, NSKeyValueObservingOptions, Action<NSObservedChange>) |
Registra un objeto para que se observe externamente mediante un método arbitrario. (Heredado de NSObject) |
AwakeFromNib() |
Se llama después de cargar el objeto desde el archivo nib. Los invalidadores deben llamar a base. AwakeFromNib(). (Heredado de NSObject) |
BeginInvokeOnMainThread(Action) |
Proporciona datos de vértices que, junto con SCNGeometryElements, definen un objeto 3D. (Heredado de NSObject) |
BeginInvokeOnMainThread(Selector, NSObject) |
Invoca de forma asincrónica el código especificado en el subproceso principal de la interfaz de usuario. (Heredado de NSObject) |
Bind(NSString, NSObject, String, NSDictionary) |
Proporciona datos de vértices que, junto con SCNGeometryElements, definen un objeto 3D. (Heredado de NSObject) |
Bind(String, NSObject, String, NSDictionary) |
Obsoletos.
Proporciona datos de vértices que, junto con SCNGeometryElements, definen un objeto 3D. (Heredado de NSObject) |
BindingInfo(String) |
Obsoletos.
Proporciona datos de vértices que, junto con SCNGeometryElements, definen un objeto 3D. (Heredado de NSObject) |
BindingOptionDescriptions(String) |
Obsoletos.
Proporciona datos de vértices que, junto con SCNGeometryElements, definen un objeto 3D. (Heredado de NSObject) |
BindingValueClass(String) |
Obsoletos.
Proporciona datos de vértices que, junto con SCNGeometryElements, definen un objeto 3D. (Heredado de NSObject) |
CommitEditing() |
Proporciona datos de vértices que, junto con SCNGeometryElements, definen un objeto 3D. (Heredado de NSObject) |
CommitEditing(NSObject, Selector, IntPtr) |
Proporciona datos de vértices que, junto con SCNGeometryElements, definen un objeto 3D. (Heredado de NSObject) |
ConformsToProtocol(IntPtr) |
Se invoca para determinar si este objeto implementa el protocolo especificado. (Heredado de NSObject) |
Copy() |
Realiza una copia del objeto Objective-C subyacente. (Heredado de NSObject) |
DangerousAutorelease() |
Proporciona datos de vértices que, junto con SCNGeometryElements, definen un objeto 3D. (Heredado de NSObject) |
DangerousRelease() |
Proporciona datos de vértices que, junto con SCNGeometryElements, definen un objeto 3D. (Heredado de NSObject) |
DangerousRetain() |
Proporciona datos de vértices que, junto con SCNGeometryElements, definen un objeto 3D. (Heredado de NSObject) |
DidChange(NSKeyValueChange, NSIndexSet, NSString) |
Indica que se ha producido un cambio en los índices de una relación a varios. (Heredado de NSObject) |
DidChange(NSString, NSKeyValueSetMutationKind, NSSet) |
Proporciona datos de vértices que, junto con SCNGeometryElements, definen un objeto 3D. (Heredado de NSObject) |
DidChangeValue(String) |
Indica que se ha producido un cambio en la clave especificada. (Heredado de NSObject) |
Dispose() |
Libera los recursos usados por el objeto NSObject. (Heredado de NSObject) |
Dispose(Boolean) |
Libera los recursos usados por el objeto NSObject. (Heredado de NSObject) |
DoesNotRecognizeSelector(Selector) |
Indica que este objeto no reconoce el selector especificado. (Heredado de NSObject) |
EncodeTo(NSCoder) |
Codifica el estado del objeto en el codificador proporcionado. |
Equals(NSObject) |
Proporciona datos de vértices que, junto con SCNGeometryElements, definen un objeto 3D. (Heredado de NSObject) |
Equals(Object) |
Proporciona datos de vértices que, junto con SCNGeometryElements, definen un objeto 3D. (Heredado de NSObject) |
ExposedBindings() |
Proporciona datos de vértices que, junto con SCNGeometryElements, definen un objeto 3D. (Heredado de NSObject) |
FromData(NSData, NSString, nint, Boolean, nint, nint, nint, nint) |
Proporciona datos de vértices que, junto con SCNGeometryElements, definen un objeto 3D. |
FromData(NSData, SCNGeometrySourceSemantics, nint, Boolean, nint, nint, nint, nint) |
Proporciona datos de vértices que, junto con SCNGeometryElements, definen un objeto 3D. |
FromMetalBuffer(IMTLBuffer, MTLVertexFormat, NSString, nint, nint, nint) |
Método factory para crear un nuevo SCNGeometrySource a partir de un búfer de datos. |
FromMetalBuffer(IMTLBuffer, MTLVertexFormat, SCNGeometrySourceSemantics, nint, nint, nint) |
Método factory para crear un nuevo SCNGeometrySource a partir de un búfer de datos. |
FromNormals(SCNVector3[]) |
Método factory que crea un origen para los normales de vértices. |
FromTextureCoordinates(CGPoint[]) |
Método factory que crea un origen para las coordenadas de textura. |
FromVertices(SCNVector3[]) |
Método factory para crear un origen para los datos de vértices. |
GetBindingInfo(NSString) |
Proporciona datos de vértices que, junto con SCNGeometryElements, definen un objeto 3D. (Heredado de NSObject) |
GetBindingOptionDescriptions(NSString) |
Proporciona datos de vértices que, junto con SCNGeometryElements, definen un objeto 3D. (Heredado de NSObject) |
GetBindingValueClass(NSString) |
Proporciona datos de vértices que, junto con SCNGeometryElements, definen un objeto 3D. (Heredado de NSObject) |
GetDictionaryOfValuesFromKeys(NSString[]) |
Recupera los valores de las claves especificadas. (Heredado de NSObject) |
GetHashCode() |
Genera un código hash para la instancia actual. (Heredado de NSObject) |
GetMethodForSelector(Selector) |
Proporciona datos de vértices que, junto con SCNGeometryElements, definen un objeto 3D. (Heredado de NSObject) |
GetNativeField(String) |
Obsoletos.
Proporciona datos de vértices que, junto con SCNGeometryElements, definen un objeto 3D. (Heredado de NSObject) |
GetNativeHash() |
Proporciona datos de vértices que, junto con SCNGeometryElements, definen un objeto 3D. (Heredado de NSObject) |
Init() |
Proporciona datos de vértices que, junto con SCNGeometryElements, definen un objeto 3D. (Heredado de NSObject) |
InitializeHandle(IntPtr) |
Proporciona datos de vértices que, junto con SCNGeometryElements, definen un objeto 3D. (Heredado de NSObject) |
InitializeHandle(IntPtr, String) |
Proporciona datos de vértices que, junto con SCNGeometryElements, definen un objeto 3D. (Heredado de NSObject) |
Invoke(Action, Double) |
Proporciona datos de vértices que, junto con SCNGeometryElements, definen un objeto 3D. (Heredado de NSObject) |
Invoke(Action, TimeSpan) |
Proporciona datos de vértices que, junto con SCNGeometryElements, definen un objeto 3D. (Heredado de NSObject) |
InvokeOnMainThread(Action) |
Proporciona datos de vértices que, junto con SCNGeometryElements, definen un objeto 3D. (Heredado de NSObject) |
InvokeOnMainThread(Selector, NSObject) |
Invoca sincrónicamente el código especificado en el subproceso principal de la interfaz de usuario. (Heredado de NSObject) |
IsEqual(NSObject) |
Proporciona datos de vértices que, junto con SCNGeometryElements, definen un objeto 3D. (Heredado de NSObject) |
IsKindOfClass(Class) |
Proporciona datos de vértices que, junto con SCNGeometryElements, definen un objeto 3D. (Heredado de NSObject) |
IsMemberOfClass(Class) |
Proporciona datos de vértices que, junto con SCNGeometryElements, definen un objeto 3D. (Heredado de NSObject) |
MarkDirty() |
Promueve un objeto del mismo nivel normal (IsDirectBinding es true) en un objeto toggleref. (Heredado de NSObject) |
MutableCopy() |
Crea una copia mutable del objeto NSObject especificado. (Heredado de NSObject) |
ObjectDidEndEditing(NSObject) |
Proporciona datos de vértices que, junto con SCNGeometryElements, definen un objeto 3D. (Heredado de NSObject) |
ObserveValue(NSString, NSObject, NSDictionary, IntPtr) |
Indica que el valor de keyPath especificado con respecto a este objeto ha cambiado. (Heredado de NSObject) |
PerformSelector(Selector) |
Proporciona datos de vértices que, junto con SCNGeometryElements, definen un objeto 3D. (Heredado de NSObject) |
PerformSelector(Selector, NSObject) |
Proporciona datos de vértices que, junto con SCNGeometryElements, definen un objeto 3D. (Heredado de NSObject) |
PerformSelector(Selector, NSObject, Double) |
Invoca el selector en la instancia actual y, si no |
PerformSelector(Selector, NSObject, Double, NSString[]) |
Proporciona datos de vértices que, junto con SCNGeometryElements, definen un objeto 3D. (Heredado de NSObject) |
PerformSelector(Selector, NSObject, NSObject) |
Proporciona datos de vértices que, junto con SCNGeometryElements, definen un objeto 3D. (Heredado de NSObject) |
PerformSelector(Selector, NSThread, NSObject, Boolean) |
Proporciona datos de vértices que, junto con SCNGeometryElements, definen un objeto 3D. (Heredado de NSObject) |
PerformSelector(Selector, NSThread, NSObject, Boolean, NSString[]) |
Proporciona datos de vértices que, junto con SCNGeometryElements, definen un objeto 3D. (Heredado de NSObject) |
PrepareForInterfaceBuilder() |
Proporciona datos de vértices que, junto con SCNGeometryElements, definen un objeto 3D. (Heredado de NSObject) |
RemoveObserver(NSObject, NSString) |
Impide que el observador especificado reciba más notificaciones de valores modificados para el keyPath especificado. (Heredado de NSObject) |
RemoveObserver(NSObject, NSString, IntPtr) |
Impide que el observador especificado reciba más notificaciones de valores modificados para el keyPath y el contexto especificados. (Heredado de NSObject) |
RemoveObserver(NSObject, String) |
Impide que el observador especificado reciba más notificaciones de valores modificados para el keyPath especificado. (Heredado de NSObject) |
RemoveObserver(NSObject, String, IntPtr) |
Impide que el observador especificado reciba más notificaciones de valores modificados para el keyPath y el contexto especificados. (Heredado de NSObject) |
RespondsToSelector(Selector) |
Si este objeto reconoce el selector especificado. (Heredado de NSObject) |
SetNativeField(String, NSObject) |
Obsoletos.
Proporciona datos de vértices que, junto con SCNGeometryElements, definen un objeto 3D. (Heredado de NSObject) |
SetNilValueForKey(NSString) |
Establece el valor de la clave especificada en NULL. (Heredado de NSObject) |
SetValueForKey(NSObject, NSString) |
Establece el valor de la propiedad especificada por la clave en el valor especificado. (Heredado de NSObject) |
SetValueForKeyPath(IntPtr, NSString) |
Constructor utilizado al crear representaciones administradas de objetos no administrados; Llamado por el entorno de ejecución. (Heredado de NSObject) |
SetValueForKeyPath(NSObject, NSString) |
Establece el valor de una propiedad que se puede alcanzar mediante una ruta de acceso de claves. (Heredado de NSObject) |
SetValueForUndefinedKey(NSObject, NSString) |
Indica un intento de escribir un valor en una clave no definida. Si no se reemplaza, genera una excepción NSUndefinedKeyException. (Heredado de NSObject) |
SetValuesForKeysWithDictionary(NSDictionary) |
Establece los valores de este NSObject en los del diccionario especificado. (Heredado de NSObject) |
ToString() |
Devuelve una representación de cadena del valor de la instancia actual. (Heredado de NSObject) |
Unbind(NSString) |
Proporciona datos de vértices que, junto con SCNGeometryElements, definen un objeto 3D. (Heredado de NSObject) |
Unbind(String) |
Obsoletos.
Proporciona datos de vértices que, junto con SCNGeometryElements, definen un objeto 3D. (Heredado de NSObject) |
ValueForKey(NSString) |
Devuelve el valor de la propiedad asociada a la clave especificada. (Heredado de NSObject) |
ValueForKeyPath(NSString) |
Devuelve el valor de una propiedad que se puede alcanzar mediante una ruta de acceso de clave. (Heredado de NSObject) |
ValueForUndefinedKey(NSString) |
Indica un intento de leer un valor de una clave no definida. Si no se reemplaza, genera una excepción NSUndefinedKeyException. (Heredado de NSObject) |
WillChange(NSKeyValueChange, NSIndexSet, NSString) |
Indica que los valores de los índices especificados en la clave especificada están a punto de cambiar. (Heredado de NSObject) |
WillChange(NSString, NSKeyValueSetMutationKind, NSSet) |
Proporciona datos de vértices que, junto con SCNGeometryElements, definen un objeto 3D. (Heredado de NSObject) |
WillChangeValue(String) |
Indica que el valor de la clave especificada está a punto de cambiar. (Heredado de NSObject) |
Métodos de extensión
ObjectDidBeginEditing(NSObject, INSEditor) |
Proporciona datos de vértices que, junto con SCNGeometryElements, definen un objeto 3D. |
ObjectDidEndEditing(NSObject, INSEditor) |
Proporciona datos de vértices que, junto con SCNGeometryElements, definen un objeto 3D. |
GetValidModes(NSObject, NSFontPanel) |
Proporciona datos de vértices que, junto con SCNGeometryElements, definen un objeto 3D. |
ValidateToolbarItem(NSObject, NSToolbarItem) |
Proporciona datos de vértices que, junto con SCNGeometryElements, definen un objeto 3D. |
GetDebugDescription(INSObjectProtocol) |
Proporciona datos de vértices que, junto con SCNGeometryElements, definen un objeto 3D. |
AcceptsPreviewPanelControl(NSObject, QLPreviewPanel) |
Proporciona datos de vértices que, junto con SCNGeometryElements, definen un objeto 3D. |
BeginPreviewPanelControl(NSObject, QLPreviewPanel) |
Proporciona datos de vértices que, junto con SCNGeometryElements, definen un objeto 3D. |
EndPreviewPanelControl(NSObject, QLPreviewPanel) |
Proporciona datos de vértices que, junto con SCNGeometryElements, definen un objeto 3D. |
GetAccessibilityCustomRotors(NSObject) |
Obtiene la matriz de UIAccessibilityCustomRotor objetos adecuados para |
SetAccessibilityCustomRotors(NSObject, UIAccessibilityCustomRotor[]) |
Establece la matriz de UIAccessibilityCustomRotor objetos adecuados para |