GeometryModel3D クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
指定したGeometry3Dを使用してMaterialをレンダリングします。
public ref class GeometryModel3D sealed : System::Windows::Media::Media3D::Model3D
public sealed class GeometryModel3D : System.Windows.Media.Media3D.Model3D
type GeometryModel3D = class
inherit Model3D
Public NotInheritable Class GeometryModel3D
Inherits Model3D
- 継承
例
次のコード抜粋では、キューブの形状に GeometryModel3D を作成します。
<GeometryModel3D>
<GeometryModel3D.Geometry>
<MeshGeometry3D
Positions="-1 -1 0 1 -1 0 -1 1 0 1 1 0"
Normals="0 0 1 0 0 1 0 0 1 0 0 1"
TextureCoordinates="0 1 1 1 0 0 1 0 "
TriangleIndices="0 1 2 1 3 2" />
</GeometryModel3D.Geometry>
<GeometryModel3D.Material>
<DiffuseMaterial>
<DiffuseMaterial.Brush>
<SolidColorBrush Color="Cyan" Opacity="0.3"/>
</DiffuseMaterial.Brush>
</DiffuseMaterial>
</GeometryModel3D.Material>
<!-- Translate the plane. -->
<GeometryModel3D.Transform>
<TranslateTransform3D
OffsetX="2" OffsetY="0" OffsetZ="-1" >
</TranslateTransform3D>
</GeometryModel3D.Transform>
</GeometryModel3D>
次のコード抜粋では、GeometryModel3Dが静的リソースとして定義されているGeometryを使用します。
<ModelVisual3D>
<ModelVisual3D.Content>
<GeometryModel3D Geometry="{StaticResource myTeapot}">
<GeometryModel3D.Material>
<DiffuseMaterial>
<DiffuseMaterial.Brush>
<SolidColorBrush Color="Blue" Opacity="1.0" />
</DiffuseMaterial.Brush>
</DiffuseMaterial>
</GeometryModel3D.Material>
<GeometryModel3D.Transform>
<RotateTransform3D>
<RotateTransform3D.Rotation>
<AxisAngleRotation3D x:Name="myAngleRotation" Axis="0,3,0" Angle="1" />
</RotateTransform3D.Rotation>
</RotateTransform3D>
</GeometryModel3D.Transform>
</GeometryModel3D>
</ModelVisual3D.Content>
</ModelVisual3D>
注釈
複数のマテリアルを使用する Model3D を作成する必要がある場合は、 Model3DGroup クラスを使用して複数の GeometryModel3D オブジェクトを結合する必要があります。
GeometryModel3Dの前面と背面は、MeshGeometry3Dの三角形の巻き上げ順序によって決まります。 正面側は反時計回りに巻き上げます。
MaterialプロパティとBackMaterialプロパティは、Transparentまたはnullできます。 素材が透明の場合、三角形のその辺は見えませんが、ヒット テストは通常どおりに動作します。 マテリアルが nullされると、そのマテリアルは表示されず、ヒット テストは機能しません。
コンストラクター
| 名前 | 説明 |
|---|---|
| GeometryModel3D() |
GeometryModel3Dの新しいインスタンスを作成します。 |
| GeometryModel3D(Geometry3D, Material) |
指定した Geometry3D と Material を使用して、 GeometryModel3D の新しいインスタンスを作成します。 |
フィールド
| 名前 | 説明 |
|---|---|
| BackMaterialProperty |
BackMaterial依存関係プロパティを識別します。 |
| GeometryProperty |
Geometry依存関係プロパティを識別します。 |
| MaterialProperty |
Material依存関係プロパティを識別します。 |
プロパティ
| 名前 | 説明 |
|---|---|
| BackMaterial |
このMaterialの背面のレンダリングに使用するGeometryModel3Dを取得または設定します。 |
| Bounds |
このRect3Dの軸揃え境界ボックスを指定するModel3Dを取得します。 (継承元 Model3D) |
| CanFreeze |
オブジェクトを変更不可にできるかどうかを示す値を取得します。 (継承元 Freezable) |
| DependencyObjectType |
このインスタンスの CLR 型をラップする DependencyObjectType を取得します。 (継承元 DependencyObject) |
| Dispatcher |
このDispatcherが関連付けられているDispatcherObjectを取得します。 (継承元 DispatcherObject) |
| Geometry |
この Geometry3Dの形状を表す GeometryModel3D を取得または設定します。 |
| HasAnimatedProperties |
1 つ以上の AnimationClock オブジェクトがこのオブジェクトの依存関係プロパティのいずれかに関連付けられているかどうかを示す値を取得します。 (継承元 Animatable) |
| IsFrozen |
オブジェクトが現在変更可能かどうかを示す値を取得します。 (継承元 Freezable) |
| IsSealed |
このインスタンスが現在シールされているかどうかを示す値を取得します (読み取り専用)。 (継承元 DependencyObject) |
| Material |
このMaterialの前面のレンダリングに使用するGeometryModel3Dを取得または設定します。 |
| Transform |
モデルに設定された Transform3D を取得または設定します。 (継承元 Model3D) |
メソッド
| 名前 | 説明 |
|---|---|
| ApplyAnimationClock(DependencyProperty, AnimationClock, HandoffBehavior) |
指定したAnimationClockにDependencyPropertyを適用します。 プロパティが既にアニメーション化されている場合は、指定した HandoffBehavior が使用されます。 (継承元 Animatable) |
| ApplyAnimationClock(DependencyProperty, AnimationClock) |
指定したAnimationClockにDependencyPropertyを適用します。 プロパティが既にアニメーション化されている場合は、 SnapshotAndReplace ハンドオフ動作が使用されます。 (継承元 Animatable) |
| BeginAnimation(DependencyProperty, AnimationTimeline, HandoffBehavior) |
指定した DependencyPropertyにアニメーションを適用します。 アニメーションは、次のフレームがレンダリングされるときに開始されます。 指定したプロパティが既にアニメーション化されている場合は、指定した HandoffBehavior が使用されます。 (継承元 Animatable) |
| BeginAnimation(DependencyProperty, AnimationTimeline) |
指定した DependencyPropertyにアニメーションを適用します。 アニメーションは、次のフレームがレンダリングされるときに開始されます。 指定したプロパティが既にアニメーション化されている場合は、 SnapshotAndReplace ハンドオフ動作が使用されます。 (継承元 Animatable) |
| CheckAccess() |
呼び出し元のスレッドがこの DispatcherObjectにアクセスできるかどうかを判断します。 (継承元 DispatcherObject) |
| ClearValue(DependencyProperty) |
プロパティのローカル値をクリアします。 クリアするプロパティは、 DependencyProperty 識別子によって指定されます。 (継承元 DependencyObject) |
| ClearValue(DependencyPropertyKey) |
読み取り専用プロパティのローカル値をクリアします。 クリアするプロパティは、 DependencyPropertyKeyによって指定されます。 (継承元 DependencyObject) |
| Clone() |
この GeometryModel3Dの変更可能な複製を作成し、このオブジェクトの値の詳細コピーを作成します。 依存関係プロパティをコピーする場合、このメソッドはリソース参照とデータ バインディングをコピーします (ただし、解決されなくなる可能性があります)、アニメーションやその現在の値はコピーしません。 |
| CloneCore(Freezable) |
基本 (アニメーション化されていない) プロパティ値を使用して、インスタンスを指定した Freezable の複製 (ディープ コピー) にします。 (継承元 Freezable) |
| CloneCurrentValue() |
この GeometryModel3D オブジェクトの変更可能な複製を作成し、このオブジェクトの現在の値の詳細コピーを作成します。 リソース参照、データ バインディング、およびアニメーションはコピーされませんが、現在の値はコピーされます。 |
| CloneCurrentValueCore(Freezable) |
現在のプロパティ値を使用して、インスタンスを指定した Freezable の変更可能な複製 (ディープ コピー) にします。 (継承元 Freezable) |
| CoerceValue(DependencyProperty) |
指定した依存関係プロパティの値を強制します。 これは、呼び出し元のCoerceValueCallbackに存在する依存関係プロパティのプロパティ メタデータで指定されたDependencyObject関数を呼び出すことによって実現されます。 (継承元 DependencyObject) |
| CreateInstance() |
Freezable クラスの新しいインスタンスを初期化します。 (継承元 Freezable) |
| CreateInstanceCore() |
派生クラスで実装された場合は、 Freezable 派生クラスの新しいインスタンスを作成します。 (継承元 Freezable) |
| Equals(Object) |
指定された DependencyObject が現在の DependencyObjectと等しいかどうかを判断します。 (継承元 DependencyObject) |
| Freeze() |
現在のオブジェクトを変更不可にし、その IsFrozen プロパティを |
| FreezeCore(Boolean) |
この Animatable オブジェクトを変更不可にするか、変更不可にできるかどうかを判断します。 (継承元 Animatable) |
| GetAnimationBaseValue(DependencyProperty) |
指定した DependencyPropertyのアニメーション化されていない値を返します。 (継承元 Animatable) |
| GetAsFrozen() |
基本 (アニメーション化されていない) プロパティ値を使用して、 Freezableの固定コピーを作成します。 コピーは固定されているため、固定されたサブオブジェクトは参照によってコピーされます。 (継承元 Freezable) |
| GetAsFrozenCore(Freezable) |
基本 (アニメーション化されていない) プロパティ値を使用して、インスタンスを指定した Freezable の固定複製にします。 (継承元 Freezable) |
| GetCurrentValueAsFrozen() |
現在のプロパティ値を使用して、 Freezable の固定コピーを作成します。 コピーは固定されているため、固定されたサブオブジェクトは参照によってコピーされます。 (継承元 Freezable) |
| GetCurrentValueAsFrozenCore(Freezable) |
現在のインスタンスを、指定した Freezableの固定複製にします。 オブジェクトにアニメーション化された依存関係プロパティがある場合は、現在のアニメーション化された値がコピーされます。 (継承元 Freezable) |
| GetHashCode() |
この DependencyObjectのハッシュ コードを取得します。 (継承元 DependencyObject) |
| GetLocalValueEnumerator() |
この DependencyObjectでローカルに値が設定されている依存関係プロパティを決定するための特殊な列挙子を作成します。 (継承元 DependencyObject) |
| GetType() |
現在のインスタンスの Type を取得します。 (継承元 Object) |
| GetValue(DependencyProperty) |
DependencyObjectのこのインスタンスの依存関係プロパティの現在の有効な値を返します。 (継承元 DependencyObject) |
| InvalidateProperty(DependencyProperty) |
指定した依存関係プロパティの有効な値を再評価します。 (継承元 DependencyObject) |
| MemberwiseClone() |
現在の Objectの簡易コピーを作成します。 (継承元 Object) |
| OnChanged() |
現在の Freezable オブジェクトが変更されたときに呼び出されます。 (継承元 Freezable) |
| OnFreezablePropertyChanged(DependencyObject, DependencyObject, DependencyProperty) |
このメンバーは、Windows Presentation Foundation (WPF) インフラストラクチャをサポートしており、コードから直接使用するためのものではありません。 (継承元 Freezable) |
| OnFreezablePropertyChanged(DependencyObject, DependencyObject) |
設定したばかりの DependencyObjectType データ メンバーに対して適切なコンテキスト ポインターが確立されるようにします。 (継承元 Freezable) |
| OnPropertyChanged(DependencyPropertyChangedEventArgs) |
DependencyObjectのOnPropertyChanged(DependencyPropertyChangedEventArgs)実装をオーバーライドして、Changed型の依存関係プロパティの変化に応じてFreezable ハンドラーも呼び出します。 (継承元 Freezable) |
| ReadLocalValue(DependencyProperty) |
依存関係プロパティが存在する場合は、そのローカル値を返します。 (継承元 DependencyObject) |
| ReadPreamble() |
Freezableが有効なスレッドからアクセスされていることを確認します。 Freezableの継承子は、依存関係プロパティではないデータ メンバーを読み取る API の先頭でこのメソッドを呼び出す必要があります。 (継承元 Freezable) |
| SetCurrentValue(DependencyProperty, Object) |
値ソースを変更せずに依存関係プロパティの値を設定します。 (継承元 DependencyObject) |
| SetValue(DependencyProperty, Object) |
依存関係プロパティ識別子で指定された依存関係プロパティのローカル値を設定します。 (継承元 DependencyObject) |
| SetValue(DependencyPropertyKey, Object) |
依存関係プロパティの DependencyPropertyKey 識別子で指定された、読み取り専用の依存関係プロパティのローカル値を設定します。 (継承元 DependencyObject) |
| ShouldSerializeProperty(DependencyProperty) |
シリアル化プロセスが指定された依存関係プロパティの値をシリアル化する必要があるかどうかを示す値を返します。 (継承元 DependencyObject) |
| ToString() |
Model3D の文字列形式を作成します。 (継承元 Model3D) |
| ToString(IFormatProvider) |
Model3D の文字列形式を作成します。 (継承元 Model3D) |
| VerifyAccess() |
呼び出し元のスレッドがこの DispatcherObjectにアクセスできるように強制します。 (継承元 DispatcherObject) |
| WritePostscript() |
ChangedのFreezable イベントを発生させ、そのOnChanged() メソッドを呼び出します。 Freezableから派生するクラスは、依存関係プロパティとして格納されていないクラス メンバーを変更する API の末尾でこのメソッドを呼び出す必要があります。 (継承元 Freezable) |
| WritePreamble() |
Freezableが固定されていないこと、および有効なスレッド コンテキストからアクセスされていることを確認します。 Freezable 継承子は、依存関係プロパティではないデータ メンバーに書き込む API の先頭でこのメソッドを呼び出す必要があります。 (継承元 Freezable) |
イベント
| 名前 | 説明 |
|---|---|
| Changed |
Freezableまたはそれに含まれるオブジェクトが変更されたときに発生します。 (継承元 Freezable) |
明示的なインターフェイスの実装
| 名前 | 説明 |
|---|---|
| IFormattable.ToString(String, IFormatProvider) |
指定した形式を使用して、現在のインスタンスの値を書式設定します。 (継承元 Model3D) |