Partager via


SCNGeometrySource Classe

Définition

Fournit des données de vertex qui, conjointement avec SCNGeometryElements, définissent un objet 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
Héritage
SCNGeometrySource
Attributs
Implémente

Remarques

Les développeurs qui souhaitent générer par programmation des objets personnalisés SCNGeometry utilisent la méthode M:SceneKit.SCNGeometry.Create(SceneKit.SCNGeometrySource[], SceneKit.SCNGeometryElement[]* . La forme et le SCNGeometrySource nombre des objets varient en fonction de la façon dont le développeur décrit la géométrie (par exemple, si les données de vertex se présentent sous la forme d’une série de triplets décrivant des triangles ou d’une série mobile décrivant une bande de triangles) et si la géométrie sera simplement colorée ou avec une carte de texture.

Le code suivant illustre le code personnalisé pour créer une pyramide à quatre côtés personnalisée. Cet exemple montre l’utilisation de sommets, définissant des triangles, sur lesquels une texture unique est mappée. Notez comment les valeurs locs d’index spécifiques dans sont utilisées pour définir indices et comment l’ordre dans locs affecte normals et txCoords. Notez également comment les triplets dans indices sont liés à 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 });

Constructeurs

SCNGeometrySource()

Le constructeur par défaut initialise une nouvelle instance de cette classe.

SCNGeometrySource(IntPtr)

Constructeur utilisé lors de la création de représentations managées d’objets non managés ; Appelé par le runtime.

SCNGeometrySource(NSCoder)

Constructeur qui initialise l’objet à partir des données stockées dans l’objet unarchiver.

SCNGeometrySource(NSObjectFlag)

Constructeur pour appeler des classes dérivées pour ignorer l’initialisation et simplement allouer l’objet.

Propriétés

BytesPerComponent

Taille, en octets, des données vectorielles sous-jacentes.

Class

Fournit des données de vertex qui, conjointement avec SCNGeometryElements, définissent un objet 3D.

(Hérité de NSObject)
ClassHandle

Handle pour cette classe.

ComponentsPerVector

Nombre de composants par élément vecteur dans cette source.

Data

Mémoire tampon de données sous-jacente.

DataOffset

Distance, en octets, entre le début et Data le premier élément de vertex.

DataStride

Nombre d’octets entre les éléments de vertex dans Data.

DebugDescription

Description significative de cet objet.

(Hérité de NSObject)
Description

Description de l’objet, la version Objective-C de ToString.

(Hérité de NSObject)
FloatComponents

Indique si les données du composant de vertex sont constituées de nfloat valeurs.

Handle

Handle (pointeur) vers la représentation d’objet non managée.

(Hérité de NSObject)
IsDirectBinding

Fournit des données de vertex qui, conjointement avec SCNGeometryElements, définissent un objet 3D.

(Hérité de NSObject)
IsProxy

Fournit des données de vertex qui, conjointement avec SCNGeometryElements, définissent un objet 3D.

(Hérité de NSObject)
RetainCount

Retourne le nombre de rétention Objective-C actuel pour l’objet.

(Hérité de NSObject)
Self

Fournit des données de vertex qui, conjointement avec SCNGeometryElements, définissent un objet 3D.

(Hérité de NSObject)
Semantic

Correspond à la SCNGeometrySourceSemantic valeur de cette source.

Superclass

Fournit des données de vertex qui, conjointement avec SCNGeometryElements, définissent un objet 3D.

(Hérité de NSObject)
SuperHandle

Handle utilisé pour représenter les méthodes de la classe de base pour ce NSObject.

(Hérité de NSObject)
VectorCount

Nombre total de vecteurs dans le sous-jacent Data.

Zone

Fournit des données de vertex qui, conjointement avec SCNGeometryElements, définissent un objet 3D.

(Hérité de NSObject)

Méthodes

AddObserver(NSObject, NSString, NSKeyValueObservingOptions, IntPtr)

Inscrit un objet pour être observé en externe (à l’aide de NSString keyPath).   Les modifications observées sont envoyées à la méthode objet ObserveValue(NSString, NSObject, NSDictionary, IntPtr) de l’observateur.

(Hérité de NSObject)
AddObserver(NSObject, String, NSKeyValueObservingOptions, IntPtr)

Inscrit un objet pour être observé en externe (à l’aide de la chaîne keyPath).   Les modifications observées sont envoyées à la méthode objet ObserveValue(NSString, NSObject, NSDictionary, IntPtr) de l’observateur.

(Hérité de NSObject)
AddObserver(NSString, NSKeyValueObservingOptions, Action<NSObservedChange>)

Inscrit un objet pour être observé en externe à l’aide d’une méthode arbitraire.

(Hérité de NSObject)
AddObserver(String, NSKeyValueObservingOptions, Action<NSObservedChange>)

Inscrit un objet pour être observé en externe à l’aide d’une méthode arbitraire.

(Hérité de NSObject)
AwakeFromNib()

Appelé après le chargement de l’objet à partir du fichier nib. Les remplaçants doivent appeler base. AwakeFromNib().

(Hérité de NSObject)
BeginInvokeOnMainThread(Action)

Fournit des données de vertex qui, conjointement avec SCNGeometryElements, définissent un objet 3D.

(Hérité de NSObject)
BeginInvokeOnMainThread(Selector, NSObject)

Appelle de manière asynchrone le code spécifié sur le thread d’interface utilisateur principal.

(Hérité de NSObject)
Bind(NSString, NSObject, String, NSDictionary)

Fournit des données de vertex qui, conjointement avec SCNGeometryElements, définissent un objet 3D.

(Hérité de NSObject)
Bind(String, NSObject, String, NSDictionary)
Obsolète.

Fournit des données de vertex qui, conjointement avec SCNGeometryElements, définissent un objet 3D.

(Hérité de NSObject)
BindingInfo(String)
Obsolète.

Fournit des données de vertex qui, conjointement avec SCNGeometryElements, définissent un objet 3D.

(Hérité de NSObject)
BindingOptionDescriptions(String)
Obsolète.

Fournit des données de vertex qui, conjointement avec SCNGeometryElements, définissent un objet 3D.

(Hérité de NSObject)
BindingValueClass(String)
Obsolète.

Fournit des données de vertex qui, conjointement avec SCNGeometryElements, définissent un objet 3D.

(Hérité de NSObject)
CommitEditing()

Fournit des données de vertex qui, conjointement avec SCNGeometryElements, définissent un objet 3D.

(Hérité de NSObject)
CommitEditing(NSObject, Selector, IntPtr)

Fournit des données de vertex qui, conjointement avec SCNGeometryElements, définissent un objet 3D.

(Hérité de NSObject)
ConformsToProtocol(IntPtr)

Appelé pour déterminer si cet objet implémente le protocole spécifié.

(Hérité de NSObject)
Copy()

Effectue une copie de l’objet Objective-C sous-jacent.

(Hérité de NSObject)
DangerousAutorelease()

Fournit des données de vertex qui, conjointement avec SCNGeometryElements, définissent un objet 3D.

(Hérité de NSObject)
DangerousRelease()

Fournit des données de vertex qui, conjointement avec SCNGeometryElements, définissent un objet 3D.

(Hérité de NSObject)
DangerousRetain()

Fournit des données de vertex qui, conjointement avec SCNGeometryElements, définissent un objet 3D.

(Hérité de NSObject)
DidChange(NSKeyValueChange, NSIndexSet, NSString)

Indique qu’une modification s’est produite aux index pour une relation à plusieurs.

(Hérité de NSObject)
DidChange(NSString, NSKeyValueSetMutationKind, NSSet)

Fournit des données de vertex qui, conjointement avec SCNGeometryElements, définissent un objet 3D.

(Hérité de NSObject)
DidChangeValue(String)

Indique qu’une modification s’est produite sur la clé spécifiée.

(Hérité de NSObject)
Dispose()

Libère les ressources utilisées par l’objet NSObject.

(Hérité de NSObject)
Dispose(Boolean)

Libère les ressources utilisées par l’objet NSObject.

(Hérité de NSObject)
DoesNotRecognizeSelector(Selector)

Indique que cet objet ne reconnaît pas le sélecteur spécifié.

(Hérité de NSObject)
EncodeTo(NSCoder)

Encode l’état de l’objet sur l’encodeur fourni

Equals(NSObject)

Fournit des données de vertex qui, conjointement avec SCNGeometryElements, définissent un objet 3D.

(Hérité de NSObject)
Equals(Object)

Fournit des données de vertex qui, conjointement avec SCNGeometryElements, définissent un objet 3D.

(Hérité de NSObject)
ExposedBindings()

Fournit des données de vertex qui, conjointement avec SCNGeometryElements, définissent un objet 3D.

(Hérité de NSObject)
FromData(NSData, NSString, nint, Boolean, nint, nint, nint, nint)

Fournit des données de vertex qui, conjointement avec SCNGeometryElements, définissent un objet 3D.

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

Fournit des données de vertex qui, conjointement avec SCNGeometryElements, définissent un objet 3D.

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

Méthode de fabrique pour créer un nouveau SCNGeometrySource à partir d’une mémoire tampon de données.

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

Méthode de fabrique pour créer un nouveau SCNGeometrySource à partir d’une mémoire tampon de données.

FromNormals(SCNVector3[])

Méthode de fabrique qui crée une source pour les normales de vertex.

FromTextureCoordinates(CGPoint[])

Méthode de fabrique qui crée une source pour les coordonnées de texture.

FromVertices(SCNVector3[])

Méthode de fabrique pour créer une source pour les données de vertex.

GetBindingInfo(NSString)

Fournit des données de vertex qui, conjointement avec SCNGeometryElements, définissent un objet 3D.

(Hérité de NSObject)
GetBindingOptionDescriptions(NSString)

Fournit des données de vertex qui, conjointement avec SCNGeometryElements, définissent un objet 3D.

(Hérité de NSObject)
GetBindingValueClass(NSString)

Fournit des données de vertex qui, conjointement avec SCNGeometryElements, définissent un objet 3D.

(Hérité de NSObject)
GetDictionaryOfValuesFromKeys(NSString[])

Récupère les valeurs des clés spécifiées.

(Hérité de NSObject)
GetHashCode()

Génère un code de hachage pour l’instance actuelle.

(Hérité de NSObject)
GetMethodForSelector(Selector)

Fournit des données de vertex qui, conjointement avec SCNGeometryElements, définissent un objet 3D.

(Hérité de NSObject)
GetNativeField(String)
Obsolète.

Fournit des données de vertex qui, conjointement avec SCNGeometryElements, définissent un objet 3D.

(Hérité de NSObject)
GetNativeHash()

Fournit des données de vertex qui, conjointement avec SCNGeometryElements, définissent un objet 3D.

(Hérité de NSObject)
Init()

Fournit des données de vertex qui, conjointement avec SCNGeometryElements, définissent un objet 3D.

(Hérité de NSObject)
InitializeHandle(IntPtr)

Fournit des données de vertex qui, conjointement avec SCNGeometryElements, définissent un objet 3D.

(Hérité de NSObject)
InitializeHandle(IntPtr, String)

Fournit des données de vertex qui, conjointement avec SCNGeometryElements, définissent un objet 3D.

(Hérité de NSObject)
Invoke(Action, Double)

Fournit des données de vertex qui, conjointement avec SCNGeometryElements, définissent un objet 3D.

(Hérité de NSObject)
Invoke(Action, TimeSpan)

Fournit des données de vertex qui, conjointement avec SCNGeometryElements, définissent un objet 3D.

(Hérité de NSObject)
InvokeOnMainThread(Action)

Fournit des données de vertex qui, conjointement avec SCNGeometryElements, définissent un objet 3D.

(Hérité de NSObject)
InvokeOnMainThread(Selector, NSObject)

Appelle de manière synchrone le code spécifié sur le thread d’interface utilisateur principal.

(Hérité de NSObject)
IsEqual(NSObject)

Fournit des données de vertex qui, conjointement avec SCNGeometryElements, définissent un objet 3D.

(Hérité de NSObject)
IsKindOfClass(Class)

Fournit des données de vertex qui, conjointement avec SCNGeometryElements, définissent un objet 3D.

(Hérité de NSObject)
IsMemberOfClass(Class)

Fournit des données de vertex qui, conjointement avec SCNGeometryElements, définissent un objet 3D.

(Hérité de NSObject)
MarkDirty()

Promeut un objet homologue normal (IsDirectBinding a la valeur true) en objet toggleref.

(Hérité de NSObject)
MutableCopy()

Crée une copie mutable du NSObject spécifié.

(Hérité de NSObject)
ObjectDidEndEditing(NSObject)

Fournit des données de vertex qui, conjointement avec SCNGeometryElements, définissent un objet 3D.

(Hérité de NSObject)
ObserveValue(NSString, NSObject, NSDictionary, IntPtr)

Indique que la valeur au keyPath spécifié par rapport à cet objet a changé.

(Hérité de NSObject)
PerformSelector(Selector)

Fournit des données de vertex qui, conjointement avec SCNGeometryElements, définissent un objet 3D.

(Hérité de NSObject)
PerformSelector(Selector, NSObject)

Fournit des données de vertex qui, conjointement avec SCNGeometryElements, définissent un objet 3D.

(Hérité de NSObject)
PerformSelector(Selector, NSObject, Double)

Appelle le sélecteur sur l’instance actuelle et, si le obj n’est pas null, il le transmet en tant que paramètre unique.

(Hérité de NSObject)
PerformSelector(Selector, NSObject, Double, NSString[])

Fournit des données de vertex qui, conjointement avec SCNGeometryElements, définissent un objet 3D.

(Hérité de NSObject)
PerformSelector(Selector, NSObject, NSObject)

Fournit des données de vertex qui, conjointement avec SCNGeometryElements, définissent un objet 3D.

(Hérité de NSObject)
PerformSelector(Selector, NSThread, NSObject, Boolean)

Fournit des données de vertex qui, conjointement avec SCNGeometryElements, définissent un objet 3D.

(Hérité de NSObject)
PerformSelector(Selector, NSThread, NSObject, Boolean, NSString[])

Fournit des données de vertex qui, conjointement avec SCNGeometryElements, définissent un objet 3D.

(Hérité de NSObject)
PrepareForInterfaceBuilder()

Fournit des données de vertex qui, conjointement avec SCNGeometryElements, définissent un objet 3D.

(Hérité de NSObject)
RemoveObserver(NSObject, NSString)

Empêche l’observateur spécifié de recevoir d’autres notifications de valeurs modifiées pour le keyPath spécifié.

(Hérité de NSObject)
RemoveObserver(NSObject, NSString, IntPtr)

Empêche l’observateur spécifié de recevoir d’autres notifications de valeurs modifiées pour le keyPath et le contexte spécifiés.

(Hérité de NSObject)
RemoveObserver(NSObject, String)

Empêche l’observateur spécifié de recevoir d’autres notifications de valeurs modifiées pour le keyPath spécifié.

(Hérité de NSObject)
RemoveObserver(NSObject, String, IntPtr)

Empêche l’observateur spécifié de recevoir d’autres notifications de valeurs modifiées pour le keyPath et le contexte spécifiés.

(Hérité de NSObject)
RespondsToSelector(Selector)

Indique si cet objet reconnaît le sélecteur spécifié.

(Hérité de NSObject)
SetNativeField(String, NSObject)
Obsolète.

Fournit des données de vertex qui, conjointement avec SCNGeometryElements, définissent un objet 3D.

(Hérité de NSObject)
SetNilValueForKey(NSString)

Définit la valeur null de la clé spécifiée.

(Hérité de NSObject)
SetValueForKey(NSObject, NSString)

Définit la valeur de la propriété spécifiée par la clé à la valeur spécifiée.

(Hérité de NSObject)
SetValueForKeyPath(IntPtr, NSString)

Constructeur utilisé lors de la création de représentations managées d’objets non managés ; Appelé par le runtime.

(Hérité de NSObject)
SetValueForKeyPath(NSObject, NSString)

Définit la valeur d’une propriété accessible à l’aide d’un chemin de clé.

(Hérité de NSObject)
SetValueForUndefinedKey(NSObject, NSString)

Indique une tentative d’écriture d’une valeur dans une clé non définie. S’il n’est pas remplacé, déclenche une exception NSUndefinedKeyException.

(Hérité de NSObject)
SetValuesForKeysWithDictionary(NSDictionary)

Définit les valeurs de ce NSObject sur celles du dictionnaire spécifié.

(Hérité de NSObject)
ToString()

Retourne une représentation sous forme de chaîne de la valeur de l’instance actuelle.

(Hérité de NSObject)
Unbind(NSString)

Fournit des données de vertex qui, conjointement avec SCNGeometryElements, définissent un objet 3D.

(Hérité de NSObject)
Unbind(String)
Obsolète.

Fournit des données de vertex qui, conjointement avec SCNGeometryElements, définissent un objet 3D.

(Hérité de NSObject)
ValueForKey(NSString)

Retourne la valeur de la propriété associée à la clé spécifiée.

(Hérité de NSObject)
ValueForKeyPath(NSString)

Retourne la valeur d’une propriété accessible à l’aide d’un chemin de clé.

(Hérité de NSObject)
ValueForUndefinedKey(NSString)

Indique une tentative de lecture d’une valeur d’une clé non définie. S’il n’est pas remplacé, déclenche une exception NSUndefinedKeyException.

(Hérité de NSObject)
WillChange(NSKeyValueChange, NSIndexSet, NSString)

Indique que les valeurs des index spécifiés dans la clé spécifiée sont sur le point de changer.

(Hérité de NSObject)
WillChange(NSString, NSKeyValueSetMutationKind, NSSet)

Fournit des données de vertex qui, conjointement avec SCNGeometryElements, définissent un objet 3D.

(Hérité de NSObject)
WillChangeValue(String)

Indique que la valeur de la clé spécifiée est sur le point de changer.

(Hérité de NSObject)

Méthodes d’extension

ObjectDidBeginEditing(NSObject, INSEditor)

Fournit des données de vertex qui, conjointement avec SCNGeometryElements, définissent un objet 3D.

ObjectDidEndEditing(NSObject, INSEditor)

Fournit des données de vertex qui, conjointement avec SCNGeometryElements, définissent un objet 3D.

GetValidModes(NSObject, NSFontPanel)

Fournit des données de vertex qui, conjointement avec SCNGeometryElements, définissent un objet 3D.

ValidateToolbarItem(NSObject, NSToolbarItem)

Fournit des données de vertex qui, conjointement avec SCNGeometryElements, définissent un objet 3D.

GetDebugDescription(INSObjectProtocol)

Fournit des données de vertex qui, conjointement avec SCNGeometryElements, définissent un objet 3D.

AcceptsPreviewPanelControl(NSObject, QLPreviewPanel)

Fournit des données de vertex qui, conjointement avec SCNGeometryElements, définissent un objet 3D.

BeginPreviewPanelControl(NSObject, QLPreviewPanel)

Fournit des données de vertex qui, conjointement avec SCNGeometryElements, définissent un objet 3D.

EndPreviewPanelControl(NSObject, QLPreviewPanel)

Fournit des données de vertex qui, conjointement avec SCNGeometryElements, définissent un objet 3D.

GetAccessibilityCustomRotors(NSObject)

Obtient le tableau d’objets UIAccessibilityCustomRotor approprié pour l’objet this .

SetAccessibilityCustomRotors(NSObject, UIAccessibilityCustomRotor[])

Définit le tableau d’objets UIAccessibilityCustomRotor approprié pour l’objet this .

S’applique à

Voir aussi