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


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

Определение

Перегрузки

MDLVoxelArray(NSObjectFlag)

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

MDLVoxelArray(IntPtr)

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

MDLVoxelArray(NSData, MDLAxisAlignedBoundingBox, Single)

Создает новый объект MDLVoxelArray на основе предоставленных данных voxel, ограничивающего прямоугольника и экстента voxel.

MDLVoxelArray(MDLAsset, Int32, Single)
MDLVoxelArray(MDLAsset, Int32, Int32, Int32, Single)

Разработчики не должны использовать этот нерекомендуемый конструктор. Разработчикам следует использовать "new MDLVoxelArray (MDLAsset, int, float)".

MDLVoxelArray(MDLAsset, Int32, Single, Single, Single)

Создает новый MDLVoxelArray из предоставленного ресурса с указанным числом разделений и указанным числом концентрических внутренних и внешних оболочек объемных оболочек.

MDLVoxelArray(NSObjectFlag)

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

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

Параметры

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

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

MDLVoxelArray(IntPtr)

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

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

Параметры

handle
IntPtr

nativeint

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

Комментарии

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

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

MDLVoxelArray(NSData, MDLAxisAlignedBoundingBox, Single)

Создает новый объект MDLVoxelArray на основе предоставленных данных voxel, ограничивающего прямоугольника и экстента voxel.

[Foundation.Export("initWithData:boundingBox:voxelExtent:")]
public MDLVoxelArray (Foundation.NSData voxelData, ModelIO.MDLAxisAlignedBoundingBox boundingBox, float voxelExtent);
new ModelIO.MDLVoxelArray : Foundation.NSData * ModelIO.MDLAxisAlignedBoundingBox * single -> ModelIO.MDLVoxelArray

Параметры

voxelData
NSData
voxelExtent
Single
Атрибуты

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

MDLVoxelArray(MDLAsset, Int32, Single)

[Foundation.Export("initWithAsset:divisions:patchRadius:")]
[ObjCRuntime.Introduced(ObjCRuntime.PlatformName.iOS, 10, 0, ObjCRuntime.PlatformArchitecture.All, null)]
[ObjCRuntime.Introduced(ObjCRuntime.PlatformName.MacOSX, 10, 12, ObjCRuntime.PlatformArchitecture.All, null)]
[ObjCRuntime.Introduced(ObjCRuntime.PlatformName.TvOS, 10, 0, ObjCRuntime.PlatformArchitecture.All, null)]
public MDLVoxelArray (ModelIO.MDLAsset asset, int divisions, float patchRadius);
new ModelIO.MDLVoxelArray : ModelIO.MDLAsset * int * single -> ModelIO.MDLVoxelArray

Параметры

asset
MDLAsset
divisions
Int32
patchRadius
Single
Атрибуты

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

MDLVoxelArray(MDLAsset, Int32, Int32, Int32, Single)

Разработчики не должны использовать этот нерекомендуемый конструктор. Разработчикам следует использовать "new MDLVoxelArray (MDLAsset, int, float)".

[Foundation.Export("initWithAsset:divisions:interiorShells:exteriorShells:patchRadius:")]
[ObjCRuntime.Deprecated(ObjCRuntime.PlatformName.MacOSX, 10, 12, ObjCRuntime.PlatformArchitecture.None, "Use 'new MDLVoxelArray (MDLAsset, int, float)'.")]
public MDLVoxelArray (ModelIO.MDLAsset asset, int divisions, int interiorShells, int exteriorShells, float patchRadius);
new ModelIO.MDLVoxelArray : ModelIO.MDLAsset * int * int * int * single -> ModelIO.MDLVoxelArray

Параметры

asset
MDLAsset
divisions
Int32
interiorShells
Int32
exteriorShells
Int32
patchRadius
Single
Атрибуты

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

MDLVoxelArray(MDLAsset, Int32, Single, Single, Single)

Создает новый MDLVoxelArray из предоставленного ресурса с указанным числом разделений и указанным числом концентрических внутренних и внешних оболочек объемных оболочек.

[Foundation.Export("initWithAsset:divisions:interiorNBWidth:exteriorNBWidth:patchRadius:")]
[ObjCRuntime.Deprecated(ObjCRuntime.PlatformName.MacOSX, 10, 12, ObjCRuntime.PlatformArchitecture.None, "Use 'new MDLVoxelArray (MDLAsset, int, float)'.")]
[ObjCRuntime.Obsoleted(ObjCRuntime.PlatformName.iOS, 10, 0, ObjCRuntime.PlatformArchitecture.None, "Use new MDLVoxelArray (MDLAsset, int, float)")]
public MDLVoxelArray (ModelIO.MDLAsset asset, int divisions, float interiorNBWidth, float exteriorNBWidth, float patchRadius);
new ModelIO.MDLVoxelArray : ModelIO.MDLAsset * int * single * single * single -> ModelIO.MDLVoxelArray

Параметры

asset
MDLAsset
divisions
Int32
interiorNBWidth
Single
exteriorNBWidth
Single
patchRadius
Single
Атрибуты

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