Share via


SCNGeometrySource クラス

定義

SCNGeometryElements と組み合わせて 3D オブジェクトを定義する頂点データを提供します。

[Foundation.Register("SCNGeometrySource", true)]
[ObjCRuntime.Introduced(ObjCRuntime.PlatformName.WatchOS, 3, 0, ObjCRuntime.PlatformArchitecture.All, null)]
[ObjCRuntime.Introduced(ObjCRuntime.PlatformName.iOS, 8, 0, ObjCRuntime.PlatformArchitecture.All, null)]
public class SCNGeometrySource : Foundation.NSObject, Foundation.INSSecureCoding, IDisposable
[Foundation.Register("SCNGeometrySource", true)]
[ObjCRuntime.Introduced(ObjCRuntime.PlatformName.WatchOS, 3, 0, ObjCRuntime.PlatformArchitecture.All, null)]
[ObjCRuntime.Introduced(ObjCRuntime.PlatformName.iOS, 8, 0, ObjCRuntime.PlatformArchitecture.All, null)]
[ObjCRuntime.Introduced(ObjCRuntime.PlatformName.MacOSX, 10, 8, ObjCRuntime.PlatformArchitecture.All, null)]
public class SCNGeometrySource : Foundation.NSObject, Foundation.INSSecureCoding, IDisposable
type SCNGeometrySource = class
    inherit NSObject
    interface INSCoding
    interface INativeObject
    interface IDisposable
    interface INSSecureCoding
継承
SCNGeometrySource
属性
実装

注釈

プログラムによってカスタム SCNGeometry オブジェクトを生成する開発者は、 M:SceneKit.SCNGeometry.Create(SceneKit.SCNGeometrySource[], SceneKit.SCNGeometryElement[]* メソッドを使用します。 オブジェクトの SCNGeometrySource 形式と数は、開発者がジオメトリを記述する方法 (たとえば、頂点データが三角形を記述する一連のトリプレットとして含まれるか、または三角形ストリップを記述する移動系列として取得されるか) と、ジオメトリが単に色付けされるかテクスチャ マップを持っているかによって異なります。

次のコードは、カスタムの 4 面ピラミッドを作成するカスタム コードを示しています。 この例では、1 つのテクスチャがマップされる三角形を定義する頂点の使用を示します。 内locsの特定のインデックス値が定義indicesに使用される方法と、 内locsの順序が および txCoordsにどのように影響するかにnormals注意してください。 また、 のトリプレット indices がどのように にリンクされているかに注目してください SCNGeometryPrimitiveType.Triangles

//Lower-left
var a = new SCNVector3(-1, -1, 0);
//Upper-right
var b = new SCNVector3(1, 1, 0);

var halfX = (c.X + a.X) / 2;
var halfY = (c.Y + a.Y) / 2;
var halfZ = (c.Z + a.Z) / 2;

var b = new SCNVector3(a.X, c.Y, halfZ);
var d = new SCNVector3(c.X, a.Y, halfZ);
//Elevate the midpoint so that it's clearly a pyramid
var midPoint = new SCNVector3(halfX, halfY, halfZ + 1.0);

//The vertices of the geometry
var locs = new [] {
	a, b, c, d, midPoint
};
var locSource = SCNGeometrySource.FromVertices(locs);

//Note that this relies on the ordering of locs above
//and it defines triangles (could be triangle strips, etc.)
var indices = new [] {
	//Triangles are defined counter-clockwise!
	4, 1, 0,
	1, 4, 2,
	2, 4, 3,
	3, 4, 0
};


var idxArray = new byte[indices.Length][];
for(int i = 0; i < idxArray.Length; i++)
{
	idxArray[i] = BitConverter.GetBytes(indices[i]);
}
var idxData = NSData.FromArray(idxArray.SelectMany(id => id).ToArray());

//Note that this relies on indices defining triangles
var element = SCNGeometryElement.FromData(idxData, SCNGeometryPrimitiveType.Triangles, indices.Length / 3, sizeof(int));

//Normals are relative to geometry
var normals = new [] {
	new SCNVector3(0, 0, 1),
	new SCNVector3(0, 0, 1),
	new SCNVector3(0, 0, 1),
	new SCNVector3(0, 0, 1),
	new SCNVector3(0, 0, 1),
};;
var normSource = SCNGeometrySource.FromNormals(normals);

//These texture coords will cause the texture to wrap 
var txCoords = new [] {
	new CGPoint(0, 0),
	new CGPoint(0, 1),
	new CGPoint(1, 1),
	new CGPoint(1, 0),
  new CGPoint(0.5, 0.5)
};

var txCoordsSource = SCNGeometrySource.FromTextureCoordinates(txCoords);

var geometry = SCNGeometry.Create(new [] { locSource, normSource, txCoordsSource }, new [] { element });

コンストラクター

SCNGeometrySource()

既定のコンストラクターは、このクラスの新しいインスタンスを初期化します。

SCNGeometrySource(IntPtr)

アンマネージド オブジェクトのマネージド表現を作成するときに使用されるコンストラクター。ランタイムによって呼び出されます。

SCNGeometrySource(NSCoder)

unarchiver オブジェクトに格納されているデータから オブジェクトを初期化するコンストラクター。

SCNGeometrySource(NSObjectFlag)

初期化をスキップし、単に オブジェクトを割り当てるために、派生クラスで を呼び出すコンストラクター。

プロパティ

BytesPerComponent

基になるベクター データのサイズ (バイト単位)。

Class

SCNGeometryElements と組み合わせて 3D オブジェクトを定義する頂点データを提供します。

(継承元 NSObject)
ClassHandle

このクラスのハンドル。

ComponentsPerVector

このソース内のベクター要素ごとのコンポーネントの数。

Data

基になるデータ バッファー。

DataOffset

の先頭から最初の Data 頂点要素までの距離 (バイト単位)。

DataStride

内の頂点要素間の Dataバイト数。

DebugDescription

このオブジェクトの開発者向けの説明。

(継承元 NSObject)
Description

オブジェクトの説明。Objective-C バージョンの ToString。

(継承元 NSObject)
FloatComponents

頂点コンポーネント データが値で nfloat 構成されているかどうか。

Handle

アンマネージ オブジェクト表現へのハンドル (ポインター)。

(継承元 NSObject)
IsDirectBinding

SCNGeometryElements と組み合わせて 3D オブジェクトを定義する頂点データを提供します。

(継承元 NSObject)
IsProxy

SCNGeometryElements と組み合わせて 3D オブジェクトを定義する頂点データを提供します。

(継承元 NSObject)
RetainCount

オブジェクトの現在の Objective-C 保持カウントを返します。

(継承元 NSObject)
Self

SCNGeometryElements と組み合わせて 3D オブジェクトを定義する頂点データを提供します。

(継承元 NSObject)
Semantic

このソースの値に SCNGeometrySourceSemantic 対応します。

Superclass

SCNGeometryElements と組み合わせて 3D オブジェクトを定義する頂点データを提供します。

(継承元 NSObject)
SuperHandle

この NSObject の基底クラスのメソッドを表すために使用されるハンドル。

(継承元 NSObject)
VectorCount

基になる Data内のベクトルの合計数。

Zone

SCNGeometryElements と組み合わせて 3D オブジェクトを定義する頂点データを提供します。

(継承元 NSObject)

メソッド

AddObserver(NSObject, NSString, NSKeyValueObservingOptions, IntPtr)

外部で観察されるオブジェクトを登録します (NSString keyPath を使用)。   観察された変更は、オブザーバーのオブジェクト ObserveValue(NSString, NSObject, NSDictionary, IntPtr) メソッドにディスパッチされます。

(継承元 NSObject)
AddObserver(NSObject, String, NSKeyValueObservingOptions, IntPtr)

外部で観察されるオブジェクトを登録します (文字列 keyPath を使用)。   観察された変更は、オブザーバーのオブジェクト ObserveValue(NSString, NSObject, NSDictionary, IntPtr) メソッドにディスパッチされます。

(継承元 NSObject)
AddObserver(NSString, NSKeyValueObservingOptions, Action<NSObservedChange>)

任意のメソッドを使用して外部で観察されるオブジェクトを登録します。

(継承元 NSObject)
AddObserver(String, NSKeyValueObservingOptions, Action<NSObservedChange>)

任意のメソッドを使用して外部で観察されるオブジェクトを登録します。

(継承元 NSObject)
AwakeFromNib()

オブジェクトが nib ファイルから読み込まれた後に呼び出されます。 オーバーライドは base を呼び出す必要があります。AwakeFromNib()。

(継承元 NSObject)
BeginInvokeOnMainThread(Action)

SCNGeometryElements と組み合わせて 3D オブジェクトを定義する頂点データを提供します。

(継承元 NSObject)
BeginInvokeOnMainThread(Selector, NSObject)

メイン UI スレッドで指定されたコードを非同期的に呼び出します。

(継承元 NSObject)
Bind(NSString, NSObject, String, NSDictionary)

SCNGeometryElements と組み合わせて 3D オブジェクトを定義する頂点データを提供します。

(継承元 NSObject)
Bind(String, NSObject, String, NSDictionary)
古い.

SCNGeometryElements と組み合わせて 3D オブジェクトを定義する頂点データを提供します。

(継承元 NSObject)
BindingInfo(String)
古い.

SCNGeometryElements と組み合わせて 3D オブジェクトを定義する頂点データを提供します。

(継承元 NSObject)
BindingOptionDescriptions(String)
古い.

SCNGeometryElements と組み合わせて 3D オブジェクトを定義する頂点データを提供します。

(継承元 NSObject)
BindingValueClass(String)
古い.

SCNGeometryElements と組み合わせて 3D オブジェクトを定義する頂点データを提供します。

(継承元 NSObject)
CommitEditing()

SCNGeometryElements と組み合わせて 3D オブジェクトを定義する頂点データを提供します。

(継承元 NSObject)
CommitEditing(NSObject, Selector, IntPtr)

SCNGeometryElements と組み合わせて 3D オブジェクトを定義する頂点データを提供します。

(継承元 NSObject)
ConformsToProtocol(IntPtr)

このオブジェクトが指定されたプロトコルを実装しているかどうかを判断するために呼び出されます。

(継承元 NSObject)
Copy()

基になる Objective-C オブジェクトのコピーを実行します。

(継承元 NSObject)
DangerousAutorelease()

SCNGeometryElements と組み合わせて 3D オブジェクトを定義する頂点データを提供します。

(継承元 NSObject)
DangerousRelease()

SCNGeometryElements と組み合わせて 3D オブジェクトを定義する頂点データを提供します。

(継承元 NSObject)
DangerousRetain()

SCNGeometryElements と組み合わせて 3D オブジェクトを定義する頂点データを提供します。

(継承元 NSObject)
DidChange(NSKeyValueChange, NSIndexSet, NSString)

多対多リレーションシップのインデックスに対して変更が発生したことを示します。

(継承元 NSObject)
DidChange(NSString, NSKeyValueSetMutationKind, NSSet)

SCNGeometryElements と組み合わせて 3D オブジェクトを定義する頂点データを提供します。

(継承元 NSObject)
DidChangeValue(String)

指定したキーに変更が発生したことを示します。

(継承元 NSObject)
Dispose()

NSObject オブジェクトによって使用されるリソースを解放します。

(継承元 NSObject)
Dispose(Boolean)

NSObject オブジェクトによって使用されるリソースを解放します。

(継承元 NSObject)
DoesNotRecognizeSelector(Selector)

このオブジェクトが指定したセレクターを認識しないことを示します。

(継承元 NSObject)
EncodeTo(NSCoder)

指定されたエンコーダー上のオブジェクトの状態をエンコードします

Equals(NSObject)

SCNGeometryElements と組み合わせて 3D オブジェクトを定義する頂点データを提供します。

(継承元 NSObject)
Equals(Object)

SCNGeometryElements と組み合わせて 3D オブジェクトを定義する頂点データを提供します。

(継承元 NSObject)
ExposedBindings()

SCNGeometryElements と組み合わせて 3D オブジェクトを定義する頂点データを提供します。

(継承元 NSObject)
FromData(NSData, NSString, nint, Boolean, nint, nint, nint, nint)

SCNGeometryElements と組み合わせて 3D オブジェクトを定義する頂点データを提供します。

FromData(NSData, SCNGeometrySourceSemantics, nint, Boolean, nint, nint, nint, nint)

SCNGeometryElements と組み合わせて 3D オブジェクトを定義する頂点データを提供します。

FromMetalBuffer(IMTLBuffer, MTLVertexFormat, NSString, nint, nint, nint)

データ バッファーから新 SCNGeometrySource しい を作成するファクトリ メソッド。

FromMetalBuffer(IMTLBuffer, MTLVertexFormat, SCNGeometrySourceSemantics, nint, nint, nint)

データ バッファーから新 SCNGeometrySource しい を作成するファクトリ メソッド。

FromNormals(SCNVector3[])

頂点法線のソースを作成するファクトリ メソッド。

FromTextureCoordinates(CGPoint[])

テクスチャ座標のソースを作成するファクトリ メソッド。

FromVertices(SCNVector3[])

頂点データのソースを作成するファクトリ メソッド。

GetBindingInfo(NSString)

SCNGeometryElements と組み合わせて 3D オブジェクトを定義する頂点データを提供します。

(継承元 NSObject)
GetBindingOptionDescriptions(NSString)

SCNGeometryElements と組み合わせて 3D オブジェクトを定義する頂点データを提供します。

(継承元 NSObject)
GetBindingValueClass(NSString)

SCNGeometryElements と組み合わせて 3D オブジェクトを定義する頂点データを提供します。

(継承元 NSObject)
GetDictionaryOfValuesFromKeys(NSString[])

指定したキーの値を取得します。

(継承元 NSObject)
GetHashCode()

現在のインスタンスのハッシュ コードを生成します。

(継承元 NSObject)
GetMethodForSelector(Selector)

SCNGeometryElements と組み合わせて 3D オブジェクトを定義する頂点データを提供します。

(継承元 NSObject)
GetNativeField(String)
古い.

SCNGeometryElements と組み合わせて 3D オブジェクトを定義する頂点データを提供します。

(継承元 NSObject)
GetNativeHash()

SCNGeometryElements と組み合わせて 3D オブジェクトを定義する頂点データを提供します。

(継承元 NSObject)
Init()

SCNGeometryElements と組み合わせて 3D オブジェクトを定義する頂点データを提供します。

(継承元 NSObject)
InitializeHandle(IntPtr)

SCNGeometryElements と組み合わせて 3D オブジェクトを定義する頂点データを提供します。

(継承元 NSObject)
InitializeHandle(IntPtr, String)

SCNGeometryElements と組み合わせて 3D オブジェクトを定義する頂点データを提供します。

(継承元 NSObject)
Invoke(Action, Double)

SCNGeometryElements と組み合わせて 3D オブジェクトを定義する頂点データを提供します。

(継承元 NSObject)
Invoke(Action, TimeSpan)

SCNGeometryElements と組み合わせて 3D オブジェクトを定義する頂点データを提供します。

(継承元 NSObject)
InvokeOnMainThread(Action)

SCNGeometryElements と組み合わせて 3D オブジェクトを定義する頂点データを提供します。

(継承元 NSObject)
InvokeOnMainThread(Selector, NSObject)

メイン UI スレッドで指定したコードを同期的に呼び出します。

(継承元 NSObject)
IsEqual(NSObject)

SCNGeometryElements と組み合わせて 3D オブジェクトを定義する頂点データを提供します。

(継承元 NSObject)
IsKindOfClass(Class)

SCNGeometryElements と組み合わせて 3D オブジェクトを定義する頂点データを提供します。

(継承元 NSObject)
IsMemberOfClass(Class)

SCNGeometryElements と組み合わせて 3D オブジェクトを定義する頂点データを提供します。

(継承元 NSObject)
MarkDirty()

通常のピア オブジェクト (IsDirectBinding が true) を toggleref オブジェクトに昇格させます。

(継承元 NSObject)
MutableCopy()

指定した NSObject の変更可能なコピーを作成します。

(継承元 NSObject)
ObjectDidEndEditing(NSObject)

SCNGeometryElements と組み合わせて 3D オブジェクトを定義する頂点データを提供します。

(継承元 NSObject)
ObserveValue(NSString, NSObject, NSDictionary, IntPtr)

このオブジェクトに対する指定された keyPath の相対値が変更されたことを示します。

(継承元 NSObject)
PerformSelector(Selector)

SCNGeometryElements と組み合わせて 3D オブジェクトを定義する頂点データを提供します。

(継承元 NSObject)
PerformSelector(Selector, NSObject)

SCNGeometryElements と組み合わせて 3D オブジェクトを定義する頂点データを提供します。

(継承元 NSObject)
PerformSelector(Selector, NSObject, Double)

現在のインスタンスでセレクターを呼び出し、 が null でない場合 obj は、これを 1 つのパラメーターとして渡します。

(継承元 NSObject)
PerformSelector(Selector, NSObject, Double, NSString[])

SCNGeometryElements と組み合わせて 3D オブジェクトを定義する頂点データを提供します。

(継承元 NSObject)
PerformSelector(Selector, NSObject, NSObject)

SCNGeometryElements と組み合わせて 3D オブジェクトを定義する頂点データを提供します。

(継承元 NSObject)
PerformSelector(Selector, NSThread, NSObject, Boolean)

SCNGeometryElements と組み合わせて 3D オブジェクトを定義する頂点データを提供します。

(継承元 NSObject)
PerformSelector(Selector, NSThread, NSObject, Boolean, NSString[])

SCNGeometryElements と組み合わせて 3D オブジェクトを定義する頂点データを提供します。

(継承元 NSObject)
PrepareForInterfaceBuilder()

SCNGeometryElements と組み合わせて 3D オブジェクトを定義する頂点データを提供します。

(継承元 NSObject)
RemoveObserver(NSObject, NSString)

指定したオブザーバーが、指定した keyPath の変更された値に関する通知をさらに受信しないようにします。

(継承元 NSObject)
RemoveObserver(NSObject, NSString, IntPtr)

指定したオブザーバーが、指定した keyPath とコンテキストの変更された値に関する通知をさらに受信しないようにします。

(継承元 NSObject)
RemoveObserver(NSObject, String)

指定したオブザーバーが、指定した keyPath の変更された値に関する通知をさらに受信しないようにします。

(継承元 NSObject)
RemoveObserver(NSObject, String, IntPtr)

指定したオブザーバーが、指定した keyPath とコンテキストの変更された値に関する通知をさらに受信しないようにします。

(継承元 NSObject)
RespondsToSelector(Selector)

このオブジェクトが指定したセレクターを認識するかどうか。

(継承元 NSObject)
SetNativeField(String, NSObject)
古い.

SCNGeometryElements と組み合わせて 3D オブジェクトを定義する頂点データを提供します。

(継承元 NSObject)
SetNilValueForKey(NSString)

指定したキーの値を null に設定します。

(継承元 NSObject)
SetValueForKey(NSObject, NSString)

キーで指定されたプロパティの値を、指定した値に設定します。

(継承元 NSObject)
SetValueForKeyPath(IntPtr, NSString)

アンマネージド オブジェクトのマネージド表現を作成するときに使用されるコンストラクター。ランタイムによって呼び出されます。

(継承元 NSObject)
SetValueForKeyPath(NSObject, NSString)

キーパスを使用して到達できるプロパティの値を設定します。

(継承元 NSObject)
SetValueForUndefinedKey(NSObject, NSString)

未定義のキーに値を書き込もうとすることを示します。 オーバーライドされていない場合は、NSUndefinedKeyException を発生させます。

(継承元 NSObject)
SetValuesForKeysWithDictionary(NSDictionary)

この NSObject の値を、指定したディクショナリ内の値に設定します。

(継承元 NSObject)
ToString()

現在のインスタンスの値の文字列表現を返します。

(継承元 NSObject)
Unbind(NSString)

SCNGeometryElements と組み合わせて 3D オブジェクトを定義する頂点データを提供します。

(継承元 NSObject)
Unbind(String)
古い.

SCNGeometryElements と組み合わせて 3D オブジェクトを定義する頂点データを提供します。

(継承元 NSObject)
ValueForKey(NSString)

指定したキーに関連付けられているプロパティの値を返します。

(継承元 NSObject)
ValueForKeyPath(NSString)

キーパスを使用して到達できるプロパティの値を返します。

(継承元 NSObject)
ValueForUndefinedKey(NSString)

未定義のキーの値を読み取ろうとしたことを示します。 オーバーライドされていない場合は、NSUndefinedKeyException を発生させます。

(継承元 NSObject)
WillChange(NSKeyValueChange, NSIndexSet, NSString)

指定したキー内の指定したインデックスの値が変更されようとしていることを示します。

(継承元 NSObject)
WillChange(NSString, NSKeyValueSetMutationKind, NSSet)

SCNGeometryElements と組み合わせて 3D オブジェクトを定義する頂点データを提供します。

(継承元 NSObject)
WillChangeValue(String)

指定したキーの値が変更されようとしていることを示します。

(継承元 NSObject)

拡張メソッド

ObjectDidBeginEditing(NSObject, INSEditor)

SCNGeometryElements と組み合わせて 3D オブジェクトを定義する頂点データを提供します。

ObjectDidEndEditing(NSObject, INSEditor)

SCNGeometryElements と組み合わせて 3D オブジェクトを定義する頂点データを提供します。

GetValidModes(NSObject, NSFontPanel)

SCNGeometryElements と組み合わせて 3D オブジェクトを定義する頂点データを提供します。

ValidateToolbarItem(NSObject, NSToolbarItem)

SCNGeometryElements と組み合わせて 3D オブジェクトを定義する頂点データを提供します。

GetDebugDescription(INSObjectProtocol)

SCNGeometryElements と組み合わせて 3D オブジェクトを定義する頂点データを提供します。

AcceptsPreviewPanelControl(NSObject, QLPreviewPanel)

SCNGeometryElements と組み合わせて 3D オブジェクトを定義する頂点データを提供します。

BeginPreviewPanelControl(NSObject, QLPreviewPanel)

SCNGeometryElements と組み合わせて 3D オブジェクトを定義する頂点データを提供します。

EndPreviewPanelControl(NSObject, QLPreviewPanel)

SCNGeometryElements と組み合わせて 3D オブジェクトを定義する頂点データを提供します。

GetAccessibilityCustomRotors(NSObject)

オブジェクトに適した オブジェクトの UIAccessibilityCustomRotor 配列を this 取得します。

SetAccessibilityCustomRotors(NSObject, UIAccessibilityCustomRotor[])

オブジェクトに適した オブジェクトの UIAccessibilityCustomRotor 配列を this 設定します。

適用対象

こちらもご覧ください