Поделиться через


MDLAsset Конструкторы

Определение

Перегрузки

MDLAsset()

Конструктор по умолчанию инициализирует новый экземпляр этого класса.

MDLAsset(NSObjectFlag)

Конструктор для вызова производных классов для пропуска инициализации и просто выделения объекта.

MDLAsset(NSUrl)

Создает новый набор MDLAsset, загружая файл по указанному URL-адресу.

MDLAsset(IMDLMeshBufferAllocator)

Создает новый ресурс ввода-вывода модели с помощью предоставленного bufferAllocator.

MDLAsset(IntPtr)

Конструктор, используемый при создании управляемых представлений неуправляемых объектов; Вызывается средой выполнения.

MDLAsset(NSUrl, MDLVertexDescriptor, IMDLMeshBufferAllocator)

Создает новый набор MDLAsset, загружая файл по указанному URL-адресу в буферы, предоставляемые распределителем буфера, и форматируя данные в памяти, как описано дескриптором вершин.

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

Создает новый набор MDLAsset, загружая файл по указанному URL-адресу в буферы, предоставляемые распределителем буфера, и форматируя данные в памяти, как описано дескриптором вершин.

MDLAsset()

Конструктор по умолчанию инициализирует новый экземпляр этого класса.

[Foundation.Export("init")]
public MDLAsset ();
Атрибуты

Применяется к

MDLAsset(NSObjectFlag)

Конструктор для вызова производных классов для пропуска инициализации и просто выделения объекта.

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

Параметры

t
NSObjectFlag

Неиспользуемое значение sentinel, передайте NSObjectFlag.Empty.

Комментарии

Этот конструктор должен вызываться производными классами, когда они полностью создают объект в управляемом коде и просто хотят, чтобы среда выполнения выделила и инициализировала NSObject. Это необходимо для реализации двухфакторного процесса инициализации, который использует Objective-C. Первый шаг — это выделение объекта, второй шаг — инициализация объекта. Когда разработчики вызывают конструктор, который принимает NSObjectFlag.Empty, они используют прямой путь вплоть до NSObject, чтобы просто выделить память объекта и связать объекты Objective-C и C# вместе. Фактическая инициализация объекта выполняется разработчиком.

Этот конструктор обычно используется генератором привязок для выделения объекта, но предотвращает фактическую инициализацию. После выделения конструктор должен инициализировать объект . При использовании конструкторов, созданных генератором привязки, это означает, что он вручную вызывает один из методов init для инициализации объекта.

Разработчик несет ответственность за полную инициализацию объекта, если он связан с использованием пути NSObjectFlag.Empty.

Как правило, если конструктор разработчика вызывает базовую реализацию NSObjectFlag.Empty, он должен вызывать метод инициализации Objective-C. Если это не так, разработчики должны вместо этого связать с соответствующим конструктором в своем классе.

Значение аргумента игнорируется и просто гарантирует, что единственным выполняемым кодом является этап создания, является базовое выделение NSObject и регистрация типа среды выполнения. Как правило, цепочка выглядит следующим образом:

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

Применяется к

MDLAsset(NSUrl)

Создает новый набор MDLAsset, загружая файл по указанному URL-адресу.

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

Параметры

url
NSUrl
Атрибуты

Применяется к

MDLAsset(IMDLMeshBufferAllocator)

Создает новый ресурс ввода-вывода модели с помощью предоставленного 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

Параметры

bufferAllocator
IMDLMeshBufferAllocator

Будет добавлено.

Этот параметр может иметь значение null.

Атрибуты

Применяется к

MDLAsset(IntPtr)

Конструктор, используемый при создании управляемых представлений неуправляемых объектов; Вызывается средой выполнения.

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

Параметры

handle
IntPtr

nativeint

Указатель (дескриптор) на неуправляемый объект.

Комментарии

Этот конструктор вызывается инфраструктурой среды выполнения (GetNSObject(IntPtr)) для создания нового управляемого представления указателя на неуправляемый объект Objective-C. Разработчики не должны вызывать этот метод напрямую, вместо этого они должны вызывать метод GetNSObject, так как это не позволит двум экземплярам управляемого объекта указывать на один и тот же собственный объект.

Применяется к

MDLAsset(NSUrl, MDLVertexDescriptor, IMDLMeshBufferAllocator)

Создает новый набор MDLAsset, загружая файл по указанному URL-адресу в буферы, предоставляемые распределителем буфера, и форматируя данные в памяти, как описано дескриптором вершин.

[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

Параметры

url
NSUrl
vertexDescriptor
MDLVertexDescriptor

Будет добавлено.

Этот параметр может иметь значение null.

bufferAllocator
IMDLMeshBufferAllocator

Будет добавлено.

Этот параметр может иметь значение null.

Атрибуты

Применяется к

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

Создает новый набор MDLAsset, загружая файл по указанному URL-адресу в буферы, предоставляемые распределителем буфера, и форматируя данные в памяти, как описано дескриптором вершин.

[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

Параметры

url
NSUrl

Будет добавлено.

Этот параметр может иметь значение null.

vertexDescriptor
MDLVertexDescriptor

Будет добавлено.

Этот параметр может иметь значение null.

bufferAllocator
IMDLMeshBufferAllocator

Будет добавлено.

Этот параметр может иметь значение null.

preserveTopology
Boolean
error
NSError
Атрибуты

Применяется к