本文整理汇总了C#中Quad.ToBoundingBox方法的典型用法代码示例。如果您正苦于以下问题:C# Quad.ToBoundingBox方法的具体用法?C# Quad.ToBoundingBox怎么用?C# Quad.ToBoundingBox使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Quad
的用法示例。
在下文中一共展示了Quad.ToBoundingBox方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: UpdateExtent
private void UpdateExtent()
{
if (double.IsNaN(_center.X)) return;
if (double.IsNaN(_center.Y)) return;
if (double.IsNaN(_resolution)) return;
// calculate the window extent which is not rotate
var halfSpanX = _width * _resolution * 0.5;
var halfSpanY = _height * _resolution * 0.5;
var left = Center.X - halfSpanX;
var bottom = Center.Y - halfSpanY;
var right = Center.X + halfSpanX;
var top = Center.Y + halfSpanY;
_windowExtent.BottomLeft = new Point(left, bottom);
_windowExtent.TopLeft = new Point(left, top);
_windowExtent.TopRight = new Point(right, top);
_windowExtent.BottomRight = new Point(right, bottom);
if (!IsRotated)
{
_extent.Min.X = left;
_extent.Min.Y = bottom;
_extent.Max.X = right;
_extent.Max.Y = top;
}
else
{
// Calculate the extent that will encompass a rotated viewport (slighly larger - used for tiles).
// Perform rotations on corner offsets and then add them to the Center point.
_windowExtent = _windowExtent.Rotate(-_rotation, Center.X, Center.Y);
var rotatedBoundingBox = _windowExtent.ToBoundingBox();
_extent.Min.X = rotatedBoundingBox.MinX;
_extent.Min.Y = rotatedBoundingBox.MinY;
_extent.Max.X = rotatedBoundingBox.MaxX;
_extent.Max.Y = rotatedBoundingBox.MaxY;
}
_modified = false;
}