当前位置: 首页>>代码示例>>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;未经允许,请勿转载。