Compartir a través de


SCNGeometrySource Clase

Definición

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
SCNGeometrySource
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 nfloat valores.

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 obj es NULL, lo pasa como su único parámetro.

(Heredado de NSObject)
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 this el objeto .

SetAccessibilityCustomRotors(NSObject, UIAccessibilityCustomRotor[])

Establece la matriz de UIAccessibilityCustomRotor objetos adecuados para this el objeto .

Se aplica a

Consulte también