Condividi tramite


MDLSubmesh Costruttori

Definizione

Overload

MDLSubmesh()

Costruttore predefinito, inizializza una nuova istanza di questa classe.

MDLSubmesh(NSObjectFlag)

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

MDLSubmesh(IntPtr)

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

MDLSubmesh(MDLSubmesh, MDLIndexBitDepth, MDLGeometryType)

Crea un nuovo oggetto MDLSubmesh con i parametri specificati.

MDLSubmesh(IMDLMeshBuffer, nuint, MDLIndexBitDepth, MDLGeometryType, MDLMaterial)
MDLSubmesh(String, IMDLMeshBuffer, nuint, MDLIndexBitDepth, MDLGeometryType, MDLMaterial)
MDLSubmesh(String, IMDLMeshBuffer, nuint, MDLIndexBitDepth, MDLGeometryType, MDLMaterial, MDLSubmeshTopology)

MDLSubmesh()

Costruttore predefinito, inizializza una nuova istanza di questa classe.

[Foundation.Export("init")]
public MDLSubmesh ();
Attributi

Si applica a

MDLSubmesh(NSObjectFlag)

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

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

Parametri

t
NSObjectFlag

Valore sentinel inutilizzato, passare NSObjectFlag.Empty.

Commenti

Questo costruttore deve essere chiamato dalle classi derivate quando costruiscono completamente l'oggetto nel codice gestito e vogliono semplicemente che il runtime allochi e inizializzi NSObject. Questa operazione è necessaria per implementare il processo di inizializzazione in due passaggi usato da Objective-C, il primo passaggio consiste nell'eseguire l'allocazione dell'oggetto, il secondo passaggio consiste nell'inizializzare l'oggetto. Quando gli sviluppatori richiamano il costruttore che accetta NSObjectFlag.Empty sfruttano un percorso diretto che va fino a NSObject per allocare semplicemente la memoria dell'oggetto e associare gli oggetti Objective-C e C#. L'inizializzazione effettiva dell'oggetto spetta allo sviluppatore.

Questo costruttore viene in genere usato dal generatore di associazioni per allocare l'oggetto, ma impedisce che venga eseguita l'inizializzazione effettiva. Dopo aver eseguito l'allocazione, il costruttore deve inizializzare l'oggetto. Con i costruttori generati dal generatore di binding, ciò significa che richiama manualmente uno dei metodi "init" per inizializzare l'oggetto.

È responsabilità dello sviluppatore inizializzare completamente l'oggetto se esegue la concatenamento usando il percorso NSObjectFlag.Empty.

In generale, se il costruttore dello sviluppatore richiama l'implementazione di base NSObjectFlag.Empty, deve chiamare un metodo init Objective-C. In caso contrario, gli sviluppatori devono invece concatenarsi al costruttore appropriato nella classe.

Il valore dell'argomento viene ignorato e garantisce semplicemente che l'unico codice eseguito sia la fase di costruzione sia l'allocazione NSObject di base e la registrazione del tipo di runtime. In genere il concatenamento sarà simile al seguente:

//
// 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);
}

Si applica a

MDLSubmesh(IntPtr)

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

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

Parametri

handle
IntPtr

nativeint

Puntatore (handle) all'oggetto non gestito.

Commenti

Questo costruttore viene richiamato dall'infrastruttura di runtime (GetNSObject(IntPtr)) per creare una nuova rappresentazione gestita per un puntatore a un oggetto Objective-C non gestito. Gli sviluppatori non devono richiamare direttamente questo metodo, ma devono chiamare il metodo GetNSObject perché impedirà a due istanze di un oggetto gestito di puntare allo stesso oggetto nativo.

Si applica a

MDLSubmesh(MDLSubmesh, MDLIndexBitDepth, MDLGeometryType)

Crea un nuovo oggetto MDLSubmesh con i parametri specificati.

[Foundation.Export("initWithMDLSubmesh:indexType:geometryType:")]
public MDLSubmesh (ModelIO.MDLSubmesh indexBuffer, ModelIO.MDLIndexBitDepth indexType, ModelIO.MDLGeometryType geometryType);
new ModelIO.MDLSubmesh : ModelIO.MDLSubmesh * ModelIO.MDLIndexBitDepth * ModelIO.MDLGeometryType -> ModelIO.MDLSubmesh

Parametri

indexBuffer
MDLSubmesh
indexType
MDLIndexBitDepth
geometryType
MDLGeometryType
Attributi

Commenti

Se o indexTypegeometryType non corrispondono al tipo di dati in indexBuffer, viene creato un nuovo buffer e compilato con dati convertiti.

Si applica a

MDLSubmesh(IMDLMeshBuffer, nuint, MDLIndexBitDepth, MDLGeometryType, MDLMaterial)

[Foundation.Export("initWithIndexBuffer:indexCount:indexType:geometryType:material:")]
public MDLSubmesh (ModelIO.IMDLMeshBuffer indexBuffer, nuint indexCount, ModelIO.MDLIndexBitDepth indexType, ModelIO.MDLGeometryType geometryType, ModelIO.MDLMaterial material);
new ModelIO.MDLSubmesh : ModelIO.IMDLMeshBuffer * nuint * ModelIO.MDLIndexBitDepth * ModelIO.MDLGeometryType * ModelIO.MDLMaterial -> ModelIO.MDLSubmesh

Parametri

indexBuffer
IMDLMeshBuffer
indexCount
System.System.UIntPtr System.unativeint
indexType
MDLIndexBitDepth
geometryType
MDLGeometryType
material
MDLMaterial

Da aggiungere.

Questo parametro può essere null.

Attributi

Si applica a

MDLSubmesh(String, IMDLMeshBuffer, nuint, MDLIndexBitDepth, MDLGeometryType, MDLMaterial)

[Foundation.Export("initWithName:indexBuffer:indexCount:indexType:geometryType:material:")]
public MDLSubmesh (string name, ModelIO.IMDLMeshBuffer indexBuffer, nuint indexCount, ModelIO.MDLIndexBitDepth indexType, ModelIO.MDLGeometryType geometryType, ModelIO.MDLMaterial material);
new ModelIO.MDLSubmesh : string * ModelIO.IMDLMeshBuffer * nuint * ModelIO.MDLIndexBitDepth * ModelIO.MDLGeometryType * ModelIO.MDLMaterial -> ModelIO.MDLSubmesh

Parametri

name
String
indexBuffer
IMDLMeshBuffer
indexCount
System.System.UIntPtr System.unativeint
indexType
MDLIndexBitDepth
geometryType
MDLGeometryType
material
MDLMaterial

Da aggiungere.

Questo parametro può essere null.

Attributi

Si applica a

MDLSubmesh(String, IMDLMeshBuffer, nuint, MDLIndexBitDepth, MDLGeometryType, MDLMaterial, MDLSubmeshTopology)

[Foundation.Export("initWithName:indexBuffer:indexCount:indexType:geometryType:material:topology:")]
public MDLSubmesh (string name, ModelIO.IMDLMeshBuffer indexBuffer, nuint indexCount, ModelIO.MDLIndexBitDepth indexType, ModelIO.MDLGeometryType geometryType, ModelIO.MDLMaterial material, ModelIO.MDLSubmeshTopology topology);
new ModelIO.MDLSubmesh : string * ModelIO.IMDLMeshBuffer * nuint * ModelIO.MDLIndexBitDepth * ModelIO.MDLGeometryType * ModelIO.MDLMaterial * ModelIO.MDLSubmeshTopology -> ModelIO.MDLSubmesh

Parametri

name
String
indexBuffer
IMDLMeshBuffer
indexCount
System.System.UIntPtr System.unativeint
indexType
MDLIndexBitDepth
geometryType
MDLGeometryType
material
MDLMaterial

Da aggiungere.

Questo parametro può essere null.

topology
MDLSubmeshTopology

Da aggiungere.

Questo parametro può essere null.

Attributi

Si applica a