Condividi tramite


SCNGeometrySource Classe

Definizione

Fornisce i dati dei vertici che, insieme a SCNGeometryElements, definiscono un oggetto 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
Ereditarietà
SCNGeometrySource
Attributi
Implementazioni

Commenti

Gli sviluppatori che desiderano generare oggetti personalizzati SCNGeometry a livello di codice usano il metodo M:SceneKit.SCNGeometry.Create(SceneKit.SCNGeometrySource[], SceneKit.SCNGeometryElement[]* . La forma e il numero degli SCNGeometrySource oggetti variano in base al modo in cui lo sviluppatore descrive la geometria (ad esempio, se i dati dei vertici provengono da una serie di triplette che descrivono triangoli o una serie in movimento che descrive una striscia di triangoli) e se la geometria sarà semplicemente colorata o avrà una mappa di trama.

Il codice seguente illustra il codice personalizzato per creare una piramide personalizzata a quattro lati. In questo esempio viene illustrato l'uso di vertici, definendo triangoli, su cui viene eseguito il mapping di una singola trama. Si noti come vengono usati valori di indice specifici all'interno locs di per definire indices e come l'ordinamento all'interno locs influisce normals su e txCoords. Si noti anche come i tripletti in indices sono collegati 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 });

Costruttori

SCNGeometrySource()

Costruttore predefinito, inizializza una nuova istanza di questa classe.

SCNGeometrySource(IntPtr)

Costruttore utilizzato durante la creazione di rappresentazioni gestite di oggetti non gestiti; Chiamato dal runtime.

SCNGeometrySource(NSCoder)

Costruttore che inizializza l'oggetto dai dati archiviati nell'oggetto unarchiver.

SCNGeometrySource(NSObjectFlag)

Costruttore da chiamare sulle classi derivate per ignorare l'inizializzazione e allocare semplicemente l'oggetto.

Proprietà

BytesPerComponent

Dimensione, in byte, dei dati del vettore sottostante.

Class

Fornisce i dati dei vertici che, insieme a SCNGeometryElements, definiscono un oggetto 3D.

(Ereditato da NSObject)
ClassHandle

Handle per questa classe.

ComponentsPerVector

Numero di componenti per elemento vettore in questa origine.

Data

Buffer di dati sottostante.

DataOffset

Distanza, in byte, dall'inizio del Data primo elemento vertice.

DataStride

Numero di byte tra gli elementi dei vertici in Data.

DebugDescription

Descrizione significativa dello sviluppatore di questo oggetto.

(Ereditato da NSObject)
Description

Descrizione dell'oggetto, versione Objective-C di ToString.

(Ereditato da NSObject)
FloatComponents

Indica se i dati dei componenti dei vertici sono costituiti da nfloat valori.

Handle

Handle (puntatore) alla rappresentazione dell'oggetto non gestito.

(Ereditato da NSObject)
IsDirectBinding

Fornisce i dati dei vertici che, insieme a SCNGeometryElements, definiscono un oggetto 3D.

(Ereditato da NSObject)
IsProxy

Fornisce i dati dei vertici che, insieme a SCNGeometryElements, definiscono un oggetto 3D.

(Ereditato da NSObject)
RetainCount

Restituisce il conteggio di mantenimento objective-C corrente per l'oggetto .

(Ereditato da NSObject)
Self

Fornisce i dati dei vertici che, insieme a SCNGeometryElements, definiscono un oggetto 3D.

(Ereditato da NSObject)
Semantic

Corrisponde al SCNGeometrySourceSemantic valore per questa origine.

Superclass

Fornisce i dati dei vertici che, insieme a SCNGeometryElements, definiscono un oggetto 3D.

(Ereditato da NSObject)
SuperHandle

Handle utilizzato per rappresentare i metodi nella classe di base per questo NSObject.

(Ereditato da NSObject)
VectorCount

Numero totale di vettori nell'oggetto sottostante Data.

Zone

Fornisce i dati dei vertici che, insieme a SCNGeometryElements, definiscono un oggetto 3D.

(Ereditato da NSObject)

Metodi

AddObserver(NSObject, NSString, NSKeyValueObservingOptions, IntPtr)

Registra un oggetto per essere osservato esternamente (usando NSString keyPath).   Le modifiche osservate vengono inviate al metodo dell'oggetto ObserveValue(NSString, NSObject, NSDictionary, IntPtr) dell'osservatore.

(Ereditato da NSObject)
AddObserver(NSObject, String, NSKeyValueObservingOptions, IntPtr)

Registra un oggetto per essere osservato esternamente (usando string keyPath).   Le modifiche osservate vengono inviate al metodo dell'oggetto ObserveValue(NSString, NSObject, NSDictionary, IntPtr) dell'osservatore.

(Ereditato da NSObject)
AddObserver(NSString, NSKeyValueObservingOptions, Action<NSObservedChange>)

Registra un oggetto per essere osservato esternamente usando un metodo arbitrario.

(Ereditato da NSObject)
AddObserver(String, NSKeyValueObservingOptions, Action<NSObservedChange>)

Registra un oggetto per essere osservato esternamente usando un metodo arbitrario.

(Ereditato da NSObject)
AwakeFromNib()

Chiamato dopo il caricamento dell'oggetto dal file nib. Gli override devono chiamare base. AwakeFromNib().

(Ereditato da NSObject)
BeginInvokeOnMainThread(Action)

Fornisce i dati dei vertici che, insieme a SCNGeometryElements, definiscono un oggetto 3D.

(Ereditato da NSObject)
BeginInvokeOnMainThread(Selector, NSObject)

Richiama in modo asincrono il codice specificato nel thread principale dell'interfaccia utente.

(Ereditato da NSObject)
Bind(NSString, NSObject, String, NSDictionary)

Fornisce i dati dei vertici che, insieme a SCNGeometryElements, definiscono un oggetto 3D.

(Ereditato da NSObject)
Bind(String, NSObject, String, NSDictionary)
Obsoleti.

Fornisce i dati dei vertici che, insieme a SCNGeometryElements, definiscono un oggetto 3D.

(Ereditato da NSObject)
BindingInfo(String)
Obsoleti.

Fornisce i dati dei vertici che, insieme a SCNGeometryElements, definiscono un oggetto 3D.

(Ereditato da NSObject)
BindingOptionDescriptions(String)
Obsoleti.

Fornisce i dati dei vertici che, insieme a SCNGeometryElements, definiscono un oggetto 3D.

(Ereditato da NSObject)
BindingValueClass(String)
Obsoleti.

Fornisce i dati dei vertici che, insieme a SCNGeometryElements, definiscono un oggetto 3D.

(Ereditato da NSObject)
CommitEditing()

Fornisce i dati dei vertici che, insieme a SCNGeometryElements, definiscono un oggetto 3D.

(Ereditato da NSObject)
CommitEditing(NSObject, Selector, IntPtr)

Fornisce i dati dei vertici che, insieme a SCNGeometryElements, definiscono un oggetto 3D.

(Ereditato da NSObject)
ConformsToProtocol(IntPtr)

Richiamato per determinare se questo oggetto implementa il protocollo specificato.

(Ereditato da NSObject)
Copy()

Esegue una copia dell'oggetto Objective-C sottostante.

(Ereditato da NSObject)
DangerousAutorelease()

Fornisce i dati dei vertici che, insieme a SCNGeometryElements, definiscono un oggetto 3D.

(Ereditato da NSObject)
DangerousRelease()

Fornisce i dati dei vertici che, insieme a SCNGeometryElements, definiscono un oggetto 3D.

(Ereditato da NSObject)
DangerousRetain()

Fornisce i dati dei vertici che, insieme a SCNGeometryElements, definiscono un oggetto 3D.

(Ereditato da NSObject)
DidChange(NSKeyValueChange, NSIndexSet, NSString)

Indica che si è verificata una modifica agli indici per una relazione a molti.

(Ereditato da NSObject)
DidChange(NSString, NSKeyValueSetMutationKind, NSSet)

Fornisce i dati dei vertici che, insieme a SCNGeometryElements, definiscono un oggetto 3D.

(Ereditato da NSObject)
DidChangeValue(String)

Indica che si è verificata una modifica sulla chiave specificata.

(Ereditato da NSObject)
Dispose()

Rilascia le risorse utilizzate dall'oggetto NSObject.

(Ereditato da NSObject)
Dispose(Boolean)

Rilascia le risorse utilizzate dall'oggetto NSObject.

(Ereditato da NSObject)
DoesNotRecognizeSelector(Selector)

Indica che questo oggetto non riconosce il selettore specificato.

(Ereditato da NSObject)
EncodeTo(NSCoder)

Codifica lo stato dell'oggetto nel codificatore fornito

Equals(NSObject)

Fornisce i dati dei vertici che, insieme a SCNGeometryElements, definiscono un oggetto 3D.

(Ereditato da NSObject)
Equals(Object)

Fornisce i dati dei vertici che, insieme a SCNGeometryElements, definiscono un oggetto 3D.

(Ereditato da NSObject)
ExposedBindings()

Fornisce i dati dei vertici che, insieme a SCNGeometryElements, definiscono un oggetto 3D.

(Ereditato da NSObject)
FromData(NSData, NSString, nint, Boolean, nint, nint, nint, nint)

Fornisce i dati dei vertici che, insieme a SCNGeometryElements, definiscono un oggetto 3D.

FromData(NSData, SCNGeometrySourceSemantics, nint, Boolean, nint, nint, nint, nint)

Fornisce i dati dei vertici che, insieme a SCNGeometryElements, definiscono un oggetto 3D.

FromMetalBuffer(IMTLBuffer, MTLVertexFormat, NSString, nint, nint, nint)

Metodo factory per creare un nuovo SCNGeometrySource oggetto da un buffer di dati.

FromMetalBuffer(IMTLBuffer, MTLVertexFormat, SCNGeometrySourceSemantics, nint, nint, nint)

Metodo factory per creare un nuovo SCNGeometrySource oggetto da un buffer di dati.

FromNormals(SCNVector3[])

Metodo factory che crea un'origine per le normali dei vertici.

FromTextureCoordinates(CGPoint[])

Metodo factory che crea un'origine per le coordinate della trama.

FromVertices(SCNVector3[])

Metodo factory per creare un'origine per i dati dei vertici.

GetBindingInfo(NSString)

Fornisce i dati dei vertici che, insieme a SCNGeometryElements, definiscono un oggetto 3D.

(Ereditato da NSObject)
GetBindingOptionDescriptions(NSString)

Fornisce i dati dei vertici che, insieme a SCNGeometryElements, definiscono un oggetto 3D.

(Ereditato da NSObject)
GetBindingValueClass(NSString)

Fornisce i dati dei vertici che, insieme a SCNGeometryElements, definiscono un oggetto 3D.

(Ereditato da NSObject)
GetDictionaryOfValuesFromKeys(NSString[])

Recupera i valori delle chiavi specificate.

(Ereditato da NSObject)
GetHashCode()

Genera un codice hash per l'istanza corrente.

(Ereditato da NSObject)
GetMethodForSelector(Selector)

Fornisce i dati dei vertici che, insieme a SCNGeometryElements, definiscono un oggetto 3D.

(Ereditato da NSObject)
GetNativeField(String)
Obsoleti.

Fornisce i dati dei vertici che, insieme a SCNGeometryElements, definiscono un oggetto 3D.

(Ereditato da NSObject)
GetNativeHash()

Fornisce i dati dei vertici che, insieme a SCNGeometryElements, definiscono un oggetto 3D.

(Ereditato da NSObject)
Init()

Fornisce i dati dei vertici che, insieme a SCNGeometryElements, definiscono un oggetto 3D.

(Ereditato da NSObject)
InitializeHandle(IntPtr)

Fornisce i dati dei vertici che, insieme a SCNGeometryElements, definiscono un oggetto 3D.

(Ereditato da NSObject)
InitializeHandle(IntPtr, String)

Fornisce i dati dei vertici che, insieme a SCNGeometryElements, definiscono un oggetto 3D.

(Ereditato da NSObject)
Invoke(Action, Double)

Fornisce i dati dei vertici che, insieme a SCNGeometryElements, definiscono un oggetto 3D.

(Ereditato da NSObject)
Invoke(Action, TimeSpan)

Fornisce i dati dei vertici che, insieme a SCNGeometryElements, definiscono un oggetto 3D.

(Ereditato da NSObject)
InvokeOnMainThread(Action)

Fornisce i dati dei vertici che, insieme a SCNGeometryElements, definiscono un oggetto 3D.

(Ereditato da NSObject)
InvokeOnMainThread(Selector, NSObject)

Richiama in modo sincrono il codice specificato nel thread principale dell'interfaccia utente.

(Ereditato da NSObject)
IsEqual(NSObject)

Fornisce i dati dei vertici che, insieme a SCNGeometryElements, definiscono un oggetto 3D.

(Ereditato da NSObject)
IsKindOfClass(Class)

Fornisce i dati dei vertici che, insieme a SCNGeometryElements, definiscono un oggetto 3D.

(Ereditato da NSObject)
IsMemberOfClass(Class)

Fornisce i dati dei vertici che, insieme a SCNGeometryElements, definiscono un oggetto 3D.

(Ereditato da NSObject)
MarkDirty()

Promuove un normale oggetto peer (IsDirectBinding è true) in un oggetto toggleref.

(Ereditato da NSObject)
MutableCopy()

Crea una copia modificabile dell'oggetto NSObject specificato.

(Ereditato da NSObject)
ObjectDidEndEditing(NSObject)

Fornisce i dati dei vertici che, insieme a SCNGeometryElements, definiscono un oggetto 3D.

(Ereditato da NSObject)
ObserveValue(NSString, NSObject, NSDictionary, IntPtr)

Indica che il valore in corrispondenza del keyPath specificato rispetto a questo oggetto è stato modificato.

(Ereditato da NSObject)
PerformSelector(Selector)

Fornisce i dati dei vertici che, insieme a SCNGeometryElements, definiscono un oggetto 3D.

(Ereditato da NSObject)
PerformSelector(Selector, NSObject)

Fornisce i dati dei vertici che, insieme a SCNGeometryElements, definiscono un oggetto 3D.

(Ereditato da NSObject)
PerformSelector(Selector, NSObject, Double)

Richiama il selettore nell'istanza corrente e, se non obj è Null, lo passa come singolo parametro.

(Ereditato da NSObject)
PerformSelector(Selector, NSObject, Double, NSString[])

Fornisce i dati dei vertici che, insieme a SCNGeometryElements, definiscono un oggetto 3D.

(Ereditato da NSObject)
PerformSelector(Selector, NSObject, NSObject)

Fornisce i dati dei vertici che, insieme a SCNGeometryElements, definiscono un oggetto 3D.

(Ereditato da NSObject)
PerformSelector(Selector, NSThread, NSObject, Boolean)

Fornisce i dati dei vertici che, insieme a SCNGeometryElements, definiscono un oggetto 3D.

(Ereditato da NSObject)
PerformSelector(Selector, NSThread, NSObject, Boolean, NSString[])

Fornisce i dati dei vertici che, insieme a SCNGeometryElements, definiscono un oggetto 3D.

(Ereditato da NSObject)
PrepareForInterfaceBuilder()

Fornisce i dati dei vertici che, insieme a SCNGeometryElements, definiscono un oggetto 3D.

(Ereditato da NSObject)
RemoveObserver(NSObject, NSString)

Impedisce all'osservatore specificato di ricevere ulteriori notifiche di valori modificati per keyPath specificato.

(Ereditato da NSObject)
RemoveObserver(NSObject, NSString, IntPtr)

Impedisce all'osservatore specificato di ricevere ulteriori notifiche di valori modificati per keyPath e contesto specificati.

(Ereditato da NSObject)
RemoveObserver(NSObject, String)

Impedisce all'osservatore specificato di ricevere ulteriori notifiche di valori modificati per keyPath specificato.

(Ereditato da NSObject)
RemoveObserver(NSObject, String, IntPtr)

Impedisce all'osservatore specificato di ricevere ulteriori notifiche di valori modificati per keyPath e contesto specificati.

(Ereditato da NSObject)
RespondsToSelector(Selector)

Indica se questo oggetto riconosce il selettore specificato.

(Ereditato da NSObject)
SetNativeField(String, NSObject)
Obsoleti.

Fornisce i dati dei vertici che, insieme a SCNGeometryElements, definiscono un oggetto 3D.

(Ereditato da NSObject)
SetNilValueForKey(NSString)

Imposta il valore della chiave specificata su Null.

(Ereditato da NSObject)
SetValueForKey(NSObject, NSString)

Imposta il valore della proprietà specificata dalla chiave sul valore specificato.

(Ereditato da NSObject)
SetValueForKeyPath(IntPtr, NSString)

Costruttore utilizzato durante la creazione di rappresentazioni gestite di oggetti non gestiti; Chiamato dal runtime.

(Ereditato da NSObject)
SetValueForKeyPath(NSObject, NSString)

Imposta il valore di una proprietà che può essere raggiunta usando un percorso chiave.

(Ereditato da NSObject)
SetValueForUndefinedKey(NSObject, NSString)

Indica un tentativo di scrittura di un valore in una chiave non definita. Se non ne viene eseguito l'override, genera un'eccezione NSUndefinedKeyException.

(Ereditato da NSObject)
SetValuesForKeysWithDictionary(NSDictionary)

Imposta i valori di questo NSObject su quelli nel dizionario specificato.

(Ereditato da NSObject)
ToString()

Restituisce una rappresentazione di stringa del valore dell'istanza corrente.

(Ereditato da NSObject)
Unbind(NSString)

Fornisce i dati dei vertici che, insieme a SCNGeometryElements, definiscono un oggetto 3D.

(Ereditato da NSObject)
Unbind(String)
Obsoleti.

Fornisce i dati dei vertici che, insieme a SCNGeometryElements, definiscono un oggetto 3D.

(Ereditato da NSObject)
ValueForKey(NSString)

Restituisce il valore della proprietà associata alla chiave specificata.

(Ereditato da NSObject)
ValueForKeyPath(NSString)

Restituisce il valore di una proprietà che può essere raggiunta utilizzando un percorso chiave.

(Ereditato da NSObject)
ValueForUndefinedKey(NSString)

Indica un tentativo di lettura di un valore di una chiave non definita. Se non ne viene eseguito l'override, genera un'eccezione NSUndefinedKeyException.

(Ereditato da NSObject)
WillChange(NSKeyValueChange, NSIndexSet, NSString)

Indica che i valori degli indici specificati nella chiave specificata stanno per essere modificati.

(Ereditato da NSObject)
WillChange(NSString, NSKeyValueSetMutationKind, NSSet)

Fornisce i dati dei vertici che, insieme a SCNGeometryElements, definiscono un oggetto 3D.

(Ereditato da NSObject)
WillChangeValue(String)

Indica che il valore della chiave specificata sta per essere modificato.

(Ereditato da NSObject)

Metodi di estensione

ObjectDidBeginEditing(NSObject, INSEditor)

Fornisce i dati dei vertici che, insieme a SCNGeometryElements, definiscono un oggetto 3D.

ObjectDidEndEditing(NSObject, INSEditor)

Fornisce i dati dei vertici che, insieme a SCNGeometryElements, definiscono un oggetto 3D.

GetValidModes(NSObject, NSFontPanel)

Fornisce i dati dei vertici che, insieme a SCNGeometryElements, definiscono un oggetto 3D.

ValidateToolbarItem(NSObject, NSToolbarItem)

Fornisce i dati dei vertici che, insieme a SCNGeometryElements, definiscono un oggetto 3D.

GetDebugDescription(INSObjectProtocol)

Fornisce i dati dei vertici che, insieme a SCNGeometryElements, definiscono un oggetto 3D.

AcceptsPreviewPanelControl(NSObject, QLPreviewPanel)

Fornisce i dati dei vertici che, insieme a SCNGeometryElements, definiscono un oggetto 3D.

BeginPreviewPanelControl(NSObject, QLPreviewPanel)

Fornisce i dati dei vertici che, insieme a SCNGeometryElements, definiscono un oggetto 3D.

EndPreviewPanelControl(NSObject, QLPreviewPanel)

Fornisce i dati dei vertici che, insieme a SCNGeometryElements, definiscono un oggetto 3D.

GetAccessibilityCustomRotors(NSObject)

Ottiene la matrice di UIAccessibilityCustomRotor oggetti appropriati per this l'oggetto .

SetAccessibilityCustomRotors(NSObject, UIAccessibilityCustomRotor[])

Imposta la matrice di UIAccessibilityCustomRotor oggetti appropriati per this l'oggetto .

Si applica a

Vedi anche