Extensions.cs
上传用户:huazai0421
上传日期:2008-05-30
资源大小:405k
文件大小:1k
源码类别:

SilverLight

开发平台:

C#

  1. // Silver.Globe, version 0.11 for Silverlight 1.1 Alpha
  2. // Copyright © Florian Krüsch (xaml-kru.com)
  3. // xaml-kru.com/silverglobe
  4. // This source is subject to the Microsoft Public License (Ms-PL).
  5. // See http://www.microsoft.com/resources/sharedsource/licensingbasics/publiclicense.mspx.
  6. // All other rights reserved.
  7. using System;
  8. namespace SilverGlobe.Math3D
  9. {
  10.     /// <summary>
  11.     /// Extension methods for dealing with Point arrays inline.
  12.     /// </summary>
  13.     public static class Math3dExtensions
  14.     {
  15.         public static Point3D[] Transform(this Point3D[] points, Matrix3D matrix)
  16.         {
  17.             return matrix.Transform(points);
  18.         }
  19.         public static Point3D Transform(this Point3D point, Matrix3D matrix)
  20.         {
  21.             return matrix * point;
  22.         }
  23.         public static Point3D[] Clip(this Point3D[] points, Double sphereRadius, Double z)
  24.         {
  25.             return Clipping.ClipPolygon(points, sphereRadius, z);
  26.         }
  27.         public static Double Clamp(this Double d, Double min, Double max)
  28.         {
  29.             return d < min ? min : (d > max ? max : d);
  30.         }        
  31.     }
  32. }