Point3DCollection クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
Point3D オブジェクトの順序付けられたコレクションを表します。
public ref class Point3DCollection sealed : System::Windows::Freezable, IFormattable, System::Collections::Generic::ICollection<System::Windows::Media::Media3D::Point3D>, System::Collections::Generic::IEnumerable<System::Windows::Media::Media3D::Point3D>, System::Collections::Generic::IList<System::Windows::Media::Media3D::Point3D>, System::Collections::IList
[System.ComponentModel.TypeConverter(typeof(System.Windows.Media.Media3D.Point3DCollectionConverter))]
public sealed class Point3DCollection : System.Windows.Freezable, IFormattable, System.Collections.Generic.ICollection<System.Windows.Media.Media3D.Point3D>, System.Collections.Generic.IEnumerable<System.Windows.Media.Media3D.Point3D>, System.Collections.Generic.IList<System.Windows.Media.Media3D.Point3D>, System.Collections.IList
[<System.ComponentModel.TypeConverter(typeof(System.Windows.Media.Media3D.Point3DCollectionConverter))>]
type Point3DCollection = class
inherit Freezable
interface IFormattable
interface IList
interface ICollection
interface IList<Point3D>
interface ICollection<Point3D>
interface seq<Point3D>
interface IEnumerable
[<System.ComponentModel.TypeConverter(typeof(System.Windows.Media.Media3D.Point3DCollectionConverter))>]
type Point3DCollection = class
inherit Freezable
interface IFormattable
interface IList
interface ICollection
interface IEnumerable
interface IList<Point3D>
interface ICollection<Point3D>
interface seq<Point3D>
[<System.ComponentModel.TypeConverter(typeof(System.Windows.Media.Media3D.Point3DCollectionConverter))>]
type Point3DCollection = class
inherit Freezable
interface ICollection<Point3D>
interface seq<Point3D>
interface IEnumerable
interface IList<Point3D>
interface ICollection
interface IList
interface IFormattable
Public NotInheritable Class Point3DCollection
Inherits Freezable
Implements ICollection(Of Point3D), IEnumerable(Of Point3D), IFormattable, IList, IList(Of Point3D)
- 継承
- 属性
- 実装
例
using System;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Media;
using System.Windows.Media.Media3D;
namespace SDKSample
{
public partial class Basic3DShapeExample : Page
{
public Basic3DShapeExample()
{
// Declare scene objects.
Viewport3D myViewport3D = new Viewport3D();
Model3DGroup myModel3DGroup = new Model3DGroup();
GeometryModel3D myGeometryModel = new GeometryModel3D();
ModelVisual3D myModelVisual3D = new ModelVisual3D();
// Defines the camera used to view the 3D object. In order to view the 3D object,
// the camera must be positioned and pointed such that the object is within view
// of the camera.
PerspectiveCamera myPCamera = new PerspectiveCamera();
// Specify where in the 3D scene the camera is.
myPCamera.Position = new Point3D(0, 0, 2);
// Specify the direction that the camera is pointing.
myPCamera.LookDirection = new Vector3D(0, 0, -1);
// Define camera's horizontal field of view in degrees.
myPCamera.FieldOfView = 60;
// Asign the camera to the viewport
myViewport3D.Camera = myPCamera;
// Define the lights cast in the scene. Without light, the 3D object cannot
// be seen. Note: to illuminate an object from additional directions, create
// additional lights.
DirectionalLight myDirectionalLight = new DirectionalLight();
myDirectionalLight.Color = Colors.White;
myDirectionalLight.Direction = new Vector3D(-0.61, -0.5, -0.61);
myModel3DGroup.Children.Add(myDirectionalLight);
// The geometry specifes the shape of the 3D plane. In this sample, a flat sheet
// is created.
MeshGeometry3D myMeshGeometry3D = new MeshGeometry3D();
// Create a collection of normal vectors for the MeshGeometry3D.
Vector3DCollection myNormalCollection = new Vector3DCollection();
myNormalCollection.Add(new Vector3D(0,0,1));
myNormalCollection.Add(new Vector3D(0,0,1));
myNormalCollection.Add(new Vector3D(0,0,1));
myNormalCollection.Add(new Vector3D(0,0,1));
myNormalCollection.Add(new Vector3D(0,0,1));
myNormalCollection.Add(new Vector3D(0,0,1));
myMeshGeometry3D.Normals = myNormalCollection;
// Create a collection of vertex positions for the MeshGeometry3D.
Point3DCollection myPositionCollection = new Point3DCollection();
myPositionCollection.Add(new Point3D(-0.5, -0.5, 0.5));
myPositionCollection.Add(new Point3D(0.5, -0.5, 0.5));
myPositionCollection.Add(new Point3D(0.5, 0.5, 0.5));
myPositionCollection.Add(new Point3D(0.5, 0.5, 0.5));
myPositionCollection.Add(new Point3D(-0.5, 0.5, 0.5));
myPositionCollection.Add(new Point3D(-0.5, -0.5, 0.5));
myMeshGeometry3D.Positions = myPositionCollection;
// Create a collection of texture coordinates for the MeshGeometry3D.
PointCollection myTextureCoordinatesCollection = new PointCollection();
myTextureCoordinatesCollection.Add(new Point(0, 0));
myTextureCoordinatesCollection.Add(new Point(1, 0));
myTextureCoordinatesCollection.Add(new Point(1, 1));
myTextureCoordinatesCollection.Add(new Point(1, 1));
myTextureCoordinatesCollection.Add(new Point(0, 1));
myTextureCoordinatesCollection.Add(new Point(0, 0));
myMeshGeometry3D.TextureCoordinates = myTextureCoordinatesCollection;
// Create a collection of triangle indices for the MeshGeometry3D.
Int32Collection myTriangleIndicesCollection = new Int32Collection();
myTriangleIndicesCollection.Add(0);
myTriangleIndicesCollection.Add(1);
myTriangleIndicesCollection.Add(2);
myTriangleIndicesCollection.Add(3);
myTriangleIndicesCollection.Add(4);
myTriangleIndicesCollection.Add(5);
myMeshGeometry3D.TriangleIndices = myTriangleIndicesCollection;
// Apply the mesh to the geometry model.
myGeometryModel.Geometry = myMeshGeometry3D;
// The material specifies the material applied to the 3D object. In this sample a
// linear gradient covers the surface of the 3D object.
// Create a horizontal linear gradient with four stops.
LinearGradientBrush myHorizontalGradient = new LinearGradientBrush();
myHorizontalGradient.StartPoint = new Point(0, 0.5);
myHorizontalGradient.EndPoint = new Point(1, 0.5);
myHorizontalGradient.GradientStops.Add(new GradientStop(Colors.Yellow, 0.0));
myHorizontalGradient.GradientStops.Add(new GradientStop(Colors.Red, 0.25));
myHorizontalGradient.GradientStops.Add(new GradientStop(Colors.Blue, 0.75));
myHorizontalGradient.GradientStops.Add(new GradientStop(Colors.LimeGreen, 1.0));
// Define material and apply to the mesh geometries.
DiffuseMaterial myMaterial = new DiffuseMaterial(myHorizontalGradient);
myGeometryModel.Material = myMaterial;
// Apply a transform to the object. In this sample, a rotation transform is applied,
// rendering the 3D object rotated.
RotateTransform3D myRotateTransform3D = new RotateTransform3D();
AxisAngleRotation3D myAxisAngleRotation3d = new AxisAngleRotation3D();
myAxisAngleRotation3d.Axis = new Vector3D(0,3,0);
myAxisAngleRotation3d.Angle = 40;
myRotateTransform3D.Rotation = myAxisAngleRotation3d;
myGeometryModel.Transform = myRotateTransform3D;
// Add the geometry model to the model group.
myModel3DGroup.Children.Add(myGeometryModel);
// Add the group of models to the ModelVisual3d.
myModelVisual3D.Content = myModel3DGroup;
//
myViewport3D.Children.Add(myModelVisual3D);
// Apply the viewport to the page so it will be rendered.
this.Content = myViewport3D;
}
}
}
Imports System.Windows
Imports System.Windows.Controls
Imports System.Windows.Media
Imports System.Windows.Media.Media3D
Namespace SDKSample
Partial Public Class Basic3DShapeExample
Inherits Page
Public Sub New()
' Declare scene objects.
Dim myViewport3D As New Viewport3D()
Dim myModel3DGroup As New Model3DGroup()
Dim myGeometryModel As New GeometryModel3D()
Dim myModelVisual3D As New ModelVisual3D()
' Defines the camera used to view the 3D object. In order to view the 3D object,
' the camera must be positioned and pointed such that the object is within view
' of the camera.
Dim myPCamera As New PerspectiveCamera()
' Specify where in the 3D scene the camera is.
myPCamera.Position = New Point3D(0, 0, 2)
' Specify the direction that the camera is pointing.
myPCamera.LookDirection = New Vector3D(0, 0, -1)
' Define camera's horizontal field of view in degrees.
myPCamera.FieldOfView = 60
' Asign the camera to the viewport
myViewport3D.Camera = myPCamera
' Define the lights cast in the scene. Without light, the 3D object cannot
' be seen. Note: to illuminate an object from additional directions, create
' additional lights.
Dim myDirectionalLight As New DirectionalLight()
myDirectionalLight.Color = Colors.White
myDirectionalLight.Direction = New Vector3D(-0.61, -0.5, -0.61)
myModel3DGroup.Children.Add(myDirectionalLight)
' The geometry specifes the shape of the 3D plane. In this sample, a flat sheet
' is created.
Dim myMeshGeometry3D As New MeshGeometry3D()
' Create a collection of normal vectors for the MeshGeometry3D.
Dim myNormalCollection As New Vector3DCollection()
myNormalCollection.Add(New Vector3D(0,0,1))
myNormalCollection.Add(New Vector3D(0,0,1))
myNormalCollection.Add(New Vector3D(0,0,1))
myNormalCollection.Add(New Vector3D(0,0,1))
myNormalCollection.Add(New Vector3D(0,0,1))
myNormalCollection.Add(New Vector3D(0,0,1))
myMeshGeometry3D.Normals = myNormalCollection
' Create a collection of vertex positions for the MeshGeometry3D.
Dim myPositionCollection As New Point3DCollection()
myPositionCollection.Add(New Point3D(-0.5, -0.5, 0.5))
myPositionCollection.Add(New Point3D(0.5, -0.5, 0.5))
myPositionCollection.Add(New Point3D(0.5, 0.5, 0.5))
myPositionCollection.Add(New Point3D(0.5, 0.5, 0.5))
myPositionCollection.Add(New Point3D(-0.5, 0.5, 0.5))
myPositionCollection.Add(New Point3D(-0.5, -0.5, 0.5))
myMeshGeometry3D.Positions = myPositionCollection
' Create a collection of texture coordinates for the MeshGeometry3D.
Dim myTextureCoordinatesCollection As New PointCollection()
myTextureCoordinatesCollection.Add(New Point(0, 0))
myTextureCoordinatesCollection.Add(New Point(1, 0))
myTextureCoordinatesCollection.Add(New Point(1, 1))
myTextureCoordinatesCollection.Add(New Point(1, 1))
myTextureCoordinatesCollection.Add(New Point(0, 1))
myTextureCoordinatesCollection.Add(New Point(0, 0))
myMeshGeometry3D.TextureCoordinates = myTextureCoordinatesCollection
' Create a collection of triangle indices for the MeshGeometry3D.
Dim myTriangleIndicesCollection As New Int32Collection()
myTriangleIndicesCollection.Add(0)
myTriangleIndicesCollection.Add(1)
myTriangleIndicesCollection.Add(2)
myTriangleIndicesCollection.Add(3)
myTriangleIndicesCollection.Add(4)
myTriangleIndicesCollection.Add(5)
myMeshGeometry3D.TriangleIndices = myTriangleIndicesCollection
' Apply the mesh to the geometry model.
myGeometryModel.Geometry = myMeshGeometry3D
' The material specifies the material applied to the 3D object. In this sample a
' linear gradient covers the surface of the 3D object.
' Create a horizontal linear gradient with four stops.
Dim myHorizontalGradient As New LinearGradientBrush()
myHorizontalGradient.StartPoint = New Point(0, 0.5)
myHorizontalGradient.EndPoint = New Point(1, 0.5)
myHorizontalGradient.GradientStops.Add(New GradientStop(Colors.Yellow, 0.0))
myHorizontalGradient.GradientStops.Add(New GradientStop(Colors.Red, 0.25))
myHorizontalGradient.GradientStops.Add(New GradientStop(Colors.Blue, 0.75))
myHorizontalGradient.GradientStops.Add(New GradientStop(Colors.LimeGreen, 1.0))
' Define material and apply to the mesh geometries.
Dim myMaterial As New DiffuseMaterial(myHorizontalGradient)
myGeometryModel.Material = myMaterial
' Apply a transform to the object. In this sample, a rotation transform is applied,
' rendering the 3D object rotated.
Dim myRotateTransform3D As New RotateTransform3D()
Dim myAxisAngleRotation3d As New AxisAngleRotation3D()
myAxisAngleRotation3d.Axis = New Vector3D(0,3,0)
myAxisAngleRotation3d.Angle = 40
myRotateTransform3D.Rotation = myAxisAngleRotation3d
myGeometryModel.Transform = myRotateTransform3D
' Add the geometry model to the model group.
myModel3DGroup.Children.Add(myGeometryModel)
' Add the group of models to the ModelVisual3d.
myModelVisual3D.Content = myModel3DGroup
'
myViewport3D.Children.Add(myModelVisual3D)
' Apply the viewport to the page so it will be rendered.
Me.Content = myViewport3D
End Sub
End Class
End Namespace
注釈
XAML 属性の使用法
<object property="oneOrMorePoint3Ds"/>
XAML 暗黙的なコレクションの使用
<object>
<object.property>
oneOrMorePoint3DObjectElements
</object.property>
</object>
XAML 値
orMorePoint3Ds 1 つ以上の Point3D 構造体があり、値の各セットはコンマまたは 1 つ以上のスペースで区切られます。
たとえば、"0,0,5 100,100,125 200,100,30"
と "0,0,5,100,100,125,200,100,30"
はどちらも有効です。
oneOrMorePointObjectElements オブジェクト要素構文を使用して宣言された 1 つ以上の
コンストラクター
Point3DCollection() |
Point3DCollection クラスの新しいインスタンスを初期化します。 |
Point3DCollection(IEnumerable<Point3D>) |
指定したコレクションを使用して、Point3DCollection クラスの新しいインスタンスを初期化します。 |
Point3DCollection(Int32) |
指定した容量を使用して、Point3DCollection クラスの新しいインスタンスを初期化します。 |
プロパティ
CanFreeze |
オブジェクトを変更不可にできるかどうかを示す値を取得します。 (継承元 Freezable) |
Count |
Point3DCollectionに含まれる Point3D オブジェクトの数を取得します。 |
DependencyObjectType |
このインスタンスの CLR 型をラップする DependencyObjectType を取得します。 (継承元 DependencyObject) |
Dispatcher |
この DispatcherObject が関連付けられている Dispatcher を取得します。 (継承元 DispatcherObject) |
IsFrozen |
オブジェクトが現在変更可能かどうかを示す値を取得します。 (継承元 Freezable) |
IsSealed |
このインスタンスが現在シールされているかどうかを示す値を取得します (読み取り専用)。 (継承元 DependencyObject) |
Item[Int32] |
指定した 0 から始まるインデックス位置にある Point3D を取得または設定します。 |
メソッド
Add(Point3D) |
Point3DCollectionの末尾に Point3D オブジェクトを追加します。 |
CheckAccess() |
呼び出し元のスレッドがこの DispatcherObjectにアクセスできるかどうかを判断します。 (継承元 DispatcherObject) |
Clear() |
この Point3DCollectionからすべての項目を削除します。 |
ClearValue(DependencyProperty) |
プロパティのローカル値をクリアします。 クリアするプロパティは、DependencyProperty 識別子によって指定されます。 (継承元 DependencyObject) |
ClearValue(DependencyPropertyKey) |
読み取り専用プロパティのローカル値をクリアします。 クリアするプロパティは、DependencyPropertyKeyで指定します。 (継承元 DependencyObject) |
Clone() |
この Point3DCollectionの変更可能な複製を作成し、このオブジェクトの値の詳細コピーを作成します。 依存関係プロパティをコピーする場合、このメソッドはリソース参照とデータ バインディングをコピーします (ただし、解決されなくなる可能性があります)、アニメーションやその現在の値はコピーしません。 |
CloneCore(Freezable) |
基本 (アニメーション化されていない) プロパティ値を使用して、インスタンスを指定した Freezable の複製 (ディープ コピー) にします。 (継承元 Freezable) |
CloneCurrentValue() |
この Point3DCollection オブジェクトの変更可能な複製を作成し、このオブジェクトの現在の値の詳細コピーを作成します。 リソース参照、データ バインディング、およびアニメーションはコピーされませんが、現在の値はコピーされます。 |
CloneCurrentValueCore(Freezable) |
現在のプロパティ値を使用して、インスタンスを指定した Freezable の変更可能な複製 (ディープ コピー) にします。 (継承元 Freezable) |
CoerceValue(DependencyProperty) |
指定した依存関係プロパティの値を強制します。 これは、呼び出し元の DependencyObjectに存在する依存関係プロパティのプロパティ メタデータで指定された CoerceValueCallback 関数を呼び出すことによって実現されます。 (継承元 DependencyObject) |
Contains(Point3D) |
指定した Point3D がこの Point3DCollection内にあるかどうかを判断します。 |
CopyTo(Point3D[], Int32) |
指定したインデックス値から始まるこの Point3DCollectionの項目を、Point3D オブジェクトの配列にコピーします。 |
CreateInstance() |
Freezable クラスの新しいインスタンスを初期化します。 (継承元 Freezable) |
CreateInstanceCore() |
派生クラスで実装された場合は、Freezable 派生クラスの新しいインスタンスを作成します。 (継承元 Freezable) |
Equals(Object) |
指定された DependencyObject が現在の DependencyObjectと等しいかどうかを判断します。 (継承元 DependencyObject) |
Freeze() |
現在のオブジェクトを変更不可にし、その IsFrozen プロパティを |
FreezeCore(Boolean) |
Freezable オブジェクトを変更不可にするか、変更不可能にできるかどうかをテストします。 (継承元 Freezable) |
GetAsFrozen() |
基本 (アニメーション化されていない) プロパティ値を使用して、Freezableの固定コピーを作成します。 コピーは固定されているため、固定されたサブオブジェクトは参照によってコピーされます。 (継承元 Freezable) |
GetAsFrozenCore(Freezable) |
基本 (アニメーション化されていない) プロパティ値を使用して、インスタンスを指定した Freezable の固定複製にします。 (継承元 Freezable) |
GetCurrentValueAsFrozen() |
現在のプロパティ値を使用して、Freezable の固定コピーを作成します。 コピーは固定されているため、固定されたサブオブジェクトは参照によってコピーされます。 (継承元 Freezable) |
GetCurrentValueAsFrozenCore(Freezable) |
現在のインスタンスを、指定した Freezableの固定複製にします。 オブジェクトにアニメーション化された依存関係プロパティがある場合は、現在のアニメーション化された値がコピーされます。 (継承元 Freezable) |
GetEnumerator() |
コレクションを反復処理できる列挙子を返します。 |
GetHashCode() |
この DependencyObjectのハッシュ コードを取得します。 (継承元 DependencyObject) |
GetLocalValueEnumerator() |
この DependencyObjectでローカルに値が設定されている依存関係プロパティを決定するための特殊な列挙子を作成します。 (継承元 DependencyObject) |
GetType() |
現在のインスタンスの Type を取得します。 (継承元 Object) |
GetValue(DependencyProperty) |
DependencyObjectのこのインスタンスの依存関係プロパティの現在の有効な値を返します。 (継承元 DependencyObject) |
IndexOf(Point3D) |
指定した Point3Dの最初の出現位置のインデックス位置を取得します。 |
Insert(Int32, Point3D) |
この Point3DCollection に指定したインデックス位置に Point3D を挿入します。 |
InvalidateProperty(DependencyProperty) |
指定した依存関係プロパティの有効な値を再評価します。 (継承元 DependencyObject) |
MemberwiseClone() |
現在の Objectの簡易コピーを作成します。 (継承元 Object) |
OnChanged() |
現在の Freezable オブジェクトが変更されたときに呼び出されます。 (継承元 Freezable) |
OnFreezablePropertyChanged(DependencyObject, DependencyObject) |
設定したばかりの DependencyObjectType データ メンバーに対して適切なコンテキスト ポインターが確立されていることを確認します。 (継承元 Freezable) |
OnFreezablePropertyChanged(DependencyObject, DependencyObject, DependencyProperty) |
このメンバーは、Windows Presentation Foundation (WPF) インフラストラクチャをサポートしており、コードから直接使用するためのものではありません。 (継承元 Freezable) |
OnPropertyChanged(DependencyPropertyChangedEventArgs) |
OnPropertyChanged(DependencyPropertyChangedEventArgs) の DependencyObject 実装をオーバーライドして、Freezable型の依存関係プロパティの変化に応じて Changed ハンドラーも呼び出します。 (継承元 Freezable) |
Parse(String) |
Point3D オブジェクトのコレクションの文字列形式を等価の Point3DCollectionに変換します。 |
ReadLocalValue(DependencyProperty) |
依存関係プロパティが存在する場合は、そのローカル値を返します。 (継承元 DependencyObject) |
ReadPreamble() |
Freezable が有効なスレッドからアクセスされていることを確認します。 Freezable の継承子は、依存関係プロパティではないデータ メンバーを読み取る API の先頭でこのメソッドを呼び出す必要があります。 (継承元 Freezable) |
Remove(Point3D) |
指定した Point3D の最初の出現箇所を Point3DCollectionから削除します。 |
RemoveAt(Int32) |
指定したインデックス位置にある Point3D を Point3DCollectionから削除します。 |
SetCurrentValue(DependencyProperty, Object) |
値ソースを変更せずに依存関係プロパティの値を設定します。 (継承元 DependencyObject) |
SetValue(DependencyProperty, Object) |
依存関係プロパティ識別子で指定された依存関係プロパティのローカル値を設定します。 (継承元 DependencyObject) |
SetValue(DependencyPropertyKey, Object) |
依存関係プロパティの DependencyPropertyKey 識別子で指定された、読み取り専用の依存関係プロパティのローカル値を設定します。 (継承元 DependencyObject) |
ShouldSerializeProperty(DependencyProperty) |
シリアル化プロセスが指定された依存関係プロパティの値をシリアル化する必要があるかどうかを示す値を返します。 (継承元 DependencyObject) |
ToString() |
この Point3DCollectionの文字列形式を作成します。 |
ToString(IFormatProvider) |
この Point3DCollectionの文字列形式を作成します。 |
VerifyAccess() |
呼び出し元のスレッドがこの DispatcherObjectにアクセスすることを強制します。 (継承元 DispatcherObject) |
WritePostscript() |
Freezable の Changed イベントを発生させ、その OnChanged() メソッドを呼び出します。 Freezable から派生するクラスは、依存関係プロパティとして格納されていないクラス メンバーを変更する API の末尾でこのメソッドを呼び出す必要があります。 (継承元 Freezable) |
WritePreamble() |
Freezable が固定されていないこと、および有効なスレッド コンテキストからアクセスされていることを確認します。 Freezable 継承子は、依存関係プロパティではないデータ メンバーに書き込む API の先頭でこのメソッドを呼び出す必要があります。 (継承元 Freezable) |
イベント
Changed |
Freezable またはそれに含まれるオブジェクトが変更されたときに発生します。 (継承元 Freezable) |
明示的なインターフェイスの実装
拡張メソッド
適用対象
.NET