Partager via


MDLAsset Constructeurs

Définition

Surcharges

MDLAsset()

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

MDLAsset(NSObjectFlag)

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

MDLAsset(NSUrl)

Crée un MDLAsset en chargeant le fichier à l’URL spécifiée.

MDLAsset(IMDLMeshBufferAllocator)

Crée une ressource d’E/S de modèle à l’aide de .bufferAllocator

MDLAsset(IntPtr)

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

MDLAsset(NSUrl, MDLVertexDescriptor, IMDLMeshBufferAllocator)

Crée un MDLAsset en chargeant le fichier à l’URL spécifiée dans les mémoires tampons fournies par l’allocateur de mémoire tampon et en mettant en forme les données en mémoire comme décrit par le descripteur de vertex.

MDLAsset(NSUrl, MDLVertexDescriptor, IMDLMeshBufferAllocator, Boolean, NSError)

Crée un MDLAsset en chargeant le fichier à l’URL spécifiée dans les mémoires tampons fournies par l’allocateur de mémoire tampon et en mettant en forme les données en mémoire comme décrit par le descripteur de vertex.

MDLAsset()

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

[Foundation.Export("init")]
public MDLAsset ();
Attributs

S’applique à

MDLAsset(NSObjectFlag)

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

protected MDLAsset (Foundation.NSObjectFlag t);
new ModelIO.MDLAsset : Foundation.NSObjectFlag -> ModelIO.MDLAsset

Paramètres

t
NSObjectFlag

Valeur sentinelle inutilisée, passez NSObjectFlag.Empty.

Remarques

Ce constructeur doit être appelé par des classes dérivées lorsqu’elles construisent complètement l’objet dans le code managé et veulent simplement que le runtime alloue et initialise le NSObject. Cela est nécessaire pour implémenter le processus d’initialisation en deux étapes utilisé par Objective-C. La première étape consiste à effectuer l’allocation d’objets, la deuxième étape consiste à initialiser l’objet. Lorsque les développeurs appellent le constructeur qui utilise NSObjectFlag.Empty, ils tirent parti d’un chemin d’accès direct qui va jusqu’à NSObject pour simplement allouer la mémoire de l’objet et lier les objets Objective-C et C#. L’initialisation réelle de l’objet incombe au développeur.

Ce constructeur est généralement utilisé par le générateur de liaison pour allouer l’objet, mais empêche l’initialisation réelle de se produire. Une fois l’allocation effectuée, le constructeur doit initialiser l’objet. Avec les constructeurs générés par le générateur de liaison, cela signifie qu’il appelle manuellement l’une des méthodes « init » pour initialiser l’objet.

Il incombe au développeur d’initialiser complètement l’objet s’il est chaîné à l’aide du chemin NSObjectFlag.Empty.

En général, si le constructeur du développeur appelle l’implémentation de base NSObjectFlag.Empty, il doit appeler une méthode init Objective-C. Si ce n’est pas le cas, les développeurs doivent plutôt chaîner au constructeur approprié dans leur classe.

La valeur de l’argument est ignorée et garantit simplement que le seul code exécuté est la phase de construction est l’allocation NSObject de base et l’inscription du type runtime. En règle générale, le chaînage se présente comme suit :

//
// The NSObjectFlag merely allocates the object and registers the
// C# class with the Objective-C runtime if necessary, but no actual
// initXxx method is invoked, that is done later in the constructor
//
// This is taken from Xamarin.iOS's source code:
//
[Export ("initWithFrame:")]
public UIView (System.Drawing.RectangleF frame) : base (NSObjectFlag.Empty)
{
// Invoke the init method now.
	var initWithFrame = new Selector ("initWithFrame:").Handle;
	if (IsDirectBinding)
		Handle = ObjCRuntime.Messaging.IntPtr_objc_msgSend_CGRect (this.Handle, initWithFrame, frame);
	else
		Handle = ObjCRuntime.Messaging.IntPtr_objc_msgSendSuper_CGRect (this.SuperHandle, initWithFrame, frame);
}

S’applique à

MDLAsset(NSUrl)

Crée un MDLAsset en chargeant le fichier à l’URL spécifiée.

[Foundation.Export("initWithURL:")]
public MDLAsset (Foundation.NSUrl url);
new ModelIO.MDLAsset : Foundation.NSUrl -> ModelIO.MDLAsset

Paramètres

url
NSUrl
Attributs

S’applique à

MDLAsset(IMDLMeshBufferAllocator)

Crée une ressource d’E/S de modèle à l’aide de .bufferAllocator

[Foundation.Export("initWithBufferAllocator:")]
[ObjCRuntime.Introduced(ObjCRuntime.PlatformName.iOS, 10, 0, ObjCRuntime.PlatformArchitecture.All, null)]
[ObjCRuntime.Introduced(ObjCRuntime.PlatformName.TvOS, 10, 0, ObjCRuntime.PlatformArchitecture.All, null)]
[ObjCRuntime.Introduced(ObjCRuntime.PlatformName.MacOSX, 10, 12, ObjCRuntime.PlatformArchitecture.All, null)]
public MDLAsset (ModelIO.IMDLMeshBufferAllocator bufferAllocator);
new ModelIO.MDLAsset : ModelIO.IMDLMeshBufferAllocator -> ModelIO.MDLAsset

Paramètres

bufferAllocator
IMDLMeshBufferAllocator

À ajouter.

Ce paramètre peut être null.

Attributs

S’applique à

MDLAsset(IntPtr)

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

protected internal MDLAsset (IntPtr handle);
new ModelIO.MDLAsset : nativeint -> ModelIO.MDLAsset

Paramètres

handle
IntPtr

nativeint

Pointeur (handle) vers l’objet non managé.

Remarques

Ce constructeur est appelé par l’infrastructure runtime (GetNSObject(IntPtr)) pour créer une représentation managée pour un pointeur vers un objet Objective-C non managé. Les développeurs ne doivent pas appeler cette méthode directement, mais ils doivent appeler la méthode GetNSObject, car cela empêchera deux instances d’un objet managé de pointer vers le même objet natif.

S’applique à

MDLAsset(NSUrl, MDLVertexDescriptor, IMDLMeshBufferAllocator)

Crée un MDLAsset en chargeant le fichier à l’URL spécifiée dans les mémoires tampons fournies par l’allocateur de mémoire tampon et en mettant en forme les données en mémoire comme décrit par le descripteur de vertex.

[Foundation.Export("initWithURL:vertexDescriptor:bufferAllocator:")]
public MDLAsset (Foundation.NSUrl url, ModelIO.MDLVertexDescriptor vertexDescriptor, ModelIO.IMDLMeshBufferAllocator bufferAllocator);
new ModelIO.MDLAsset : Foundation.NSUrl * ModelIO.MDLVertexDescriptor * ModelIO.IMDLMeshBufferAllocator -> ModelIO.MDLAsset

Paramètres

url
NSUrl
vertexDescriptor
MDLVertexDescriptor

À ajouter.

Ce paramètre peut être null.

bufferAllocator
IMDLMeshBufferAllocator

À ajouter.

Ce paramètre peut être null.

Attributs

S’applique à

MDLAsset(NSUrl, MDLVertexDescriptor, IMDLMeshBufferAllocator, Boolean, NSError)

Crée un MDLAsset en chargeant le fichier à l’URL spécifiée dans les mémoires tampons fournies par l’allocateur de mémoire tampon et en mettant en forme les données en mémoire comme décrit par le descripteur de vertex.

[Foundation.Export("initWithURL:vertexDescriptor:bufferAllocator:preserveTopology:error:")]
public MDLAsset (Foundation.NSUrl url, ModelIO.MDLVertexDescriptor vertexDescriptor, ModelIO.IMDLMeshBufferAllocator bufferAllocator, bool preserveTopology, out Foundation.NSError error);
new ModelIO.MDLAsset : Foundation.NSUrl * ModelIO.MDLVertexDescriptor * ModelIO.IMDLMeshBufferAllocator * bool *  -> ModelIO.MDLAsset

Paramètres

url
NSUrl

À ajouter.

Ce paramètre peut être null.

vertexDescriptor
MDLVertexDescriptor

À ajouter.

Ce paramètre peut être null.

bufferAllocator
IMDLMeshBufferAllocator

À ajouter.

Ce paramètre peut être null.

preserveTopology
Boolean
error
NSError
Attributs

S’applique à