WPF3.5の新機能⑥ GeneralTransform3Dなど
WPF3.0ではViewport3D内の3D空間内の階層の座標変換を追跡したり、Canvasなどの2Dレイアウト上での2D座標との関連性を追跡する(つまり3D空間から2D空間への座標変換やその逆)のはかなり困難でした。GeneralTransform3Dなどを使えばこれが容易になります。WPFのプログラミングでこれを使うことはほとんどないでしょうが、おそらく新機能④⑤⑥で、内部的に利用されているのではないかと思います。
GeneralTransform3Dは3D空間の階層を上下できますが、2Dと3Dの階層を上下するにはGeneralTransform3DTo2DとGeneralTransfor2DTo3Dが使えます。
- GeneralTransform3D
- Visual3D.TransformToAncestor(Visual3D)
- Visual3D.TransformToDescendant(Visual3D)
- GeneralTransform3DTo2D
- Visual3D.TransformToAncestor(Visual)
- GeneralTransform2DTo3D
- Visual.TransformToAncester(Visual3D)