次の方法で共有


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 が使用する 2 段階の初期化プロセスを実装するために必要です。最初の手順はオブジェクトの割り当てを実行し、2 番目の手順は オブジェクトを初期化することです。 開発者は、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 メソッドを呼び出す必要があります。これにより、マネージド オブジェクトの 2 つのインスタンスが同じネイティブ オブジェクトを指すのを防ぐことができます。

適用対象

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

適用対象