當前位置: 首頁>>代碼示例>>C#>>正文


C# IShape.CalcBoundingRectangle方法代碼示例

本文整理匯總了C#中IShape.CalcBoundingRectangle方法的典型用法代碼示例。如果您正苦於以下問題:C# IShape.CalcBoundingRectangle方法的具體用法?C# IShape.CalcBoundingRectangle怎麽用?C# IShape.CalcBoundingRectangle使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在IShape的用法示例。


在下文中一共展示了IShape.CalcBoundingRectangle方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的C#代碼示例。

示例1: AddPyramid

        public static List<Body> AddPyramid(DemoOpenInfo info, IShape shape, Scalar mass, BoundingRectangle rect, Scalar xSpacing, Scalar ySpacing)
        {
            BoundingRectangle shapeRect;
            Matrix2x3 ident = Matrix2x3.Identity;
            shape.CalcBoundingRectangle(ref ident, out shapeRect);
            Vector2D size = shapeRect.Max - shapeRect.Min;
            Vector2D spacing = new Vector2D(xSpacing, ySpacing) + size;
            Vector2D end = rect.Max - size * .5f;
            Vector2D begin = rect.Min + size * .5f;
            Vector2D center = (end + begin) * .5f;
            List<Body> result = new List<Body>();
            for (int row = 1; begin.Y + row * spacing.Y < end.Y; row++)
            {
                Scalar start = center.X - ((spacing.X * row - 1) * .5f);

                for (int column = 0; column < row; ++column)
                {
                    Vector2D pos = new Vector2D(start + spacing.X * column, row * spacing.Y + begin.Y);
                    if (pos.X > begin.X && pos.X <= end.X)
                    {
                        result.Add(AddShape(info, shape, mass, new ALVector2D(0, pos)));
                    }
                }
            }
            return result;
        }
開發者ID:bsvercl,項目名稱:physics2d,代碼行數:26,代碼來源:DemoHelper.cs

示例2: AddGrid

 public static List<Body> AddGrid(DemoOpenInfo info, IShape shape, Scalar mass, BoundingRectangle rect, Scalar xSpacing, Scalar ySpacing)
 {
     BoundingRectangle shapeRect;
     Matrix2x3 ident = Matrix2x3.Identity;
     shape.CalcBoundingRectangle(ref ident, out shapeRect);
     Vector2D size = shapeRect.Max - shapeRect.Min;
     Vector2D spacing = new Vector2D(xSpacing, ySpacing) + size;
     Vector2D end = rect.Max - size * .5f;
     Vector2D begin = rect.Min + size * .5f;
     Vector2D pos;
     List<Body> result = new List<Body>();
     for (pos.X = begin.X; pos.X <= end.X; pos.X += spacing.X)
     {
         for (pos.Y = begin.Y; pos.Y <= end.Y; pos.Y += spacing.Y)
         {
             result.Add(AddShape(info, shape, mass, new ALVector2D(0, pos)));
         }
     }
     return result;
 }
開發者ID:bsvercl,項目名稱:physics2d,代碼行數:20,代碼來源:DemoHelper.cs


注:本文中的IShape.CalcBoundingRectangle方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。