MDLVoxelArray 构造函数

定义

重载

MDLVoxelArray(NSObjectFlag)

在派生类上调用 的构造函数,以跳过初始化并仅分配 对象。

MDLVoxelArray(IntPtr)

创建非托管对象的托管表示形式时使用的构造函数;由运行时调用。

MDLVoxelArray(NSData, MDLAxisAlignedBoundingBox, Single)

从提供的体素数据、边界框和体素范围创建新的 MDLVoxelArray。

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 init 方法。 如果不是这种情况,开发人员应改为链接到其类中的适当构造函数。

参数值将被忽略,仅确保执行的唯一代码是构造阶段是基本的 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。

[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
属性

适用于