本文整理汇总了C#中BoundingBox.IsInside方法的典型用法代码示例。如果您正苦于以下问题:C# BoundingBox.IsInside方法的具体用法?C# BoundingBox.IsInside怎么用?C# BoundingBox.IsInside使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类BoundingBox
的用法示例。
在下文中一共展示了BoundingBox.IsInside方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: CreateBoundingSphere
/// <summary>
/// Implicitly initializes the bounding sphere.
/// Calculates the bounding sphere automatically
/// </summary>
/// <param name="center"></param>
/// <param name="radius"></param>
public void CreateBoundingSphere()
{
this.boundingSphere = new HairBoundingSphere(new Vector3(0, 0, 0), 0);
// Get lowest xyz and highest xyz coordinates
Vector3 lowest = new Vector3(float.MaxValue, float.MaxValue, float.MaxValue);
Vector3 highest = Vector3.Zero;
// Iterate through every vertex
foreach (HairMesh m in this.meshes)
{
if (m != null)
foreach (HairStrand s in m.strands)
foreach (HairStrandVertex v in s.vertices)
{
// Lowest
lowest.x = (lowest.x > v.position.x) ? v.position.x : lowest.x;
lowest.y = (lowest.y > v.position.y) ? v.position.y : lowest.y;
lowest.z = (lowest.z > v.position.z) ? v.position.z : lowest.z;
// Highest
highest.x = (highest.x < v.position.x) ? v.position.x : highest.x;
highest.y = (highest.y < v.position.y) ? v.position.y : highest.y;
highest.z = (highest.z < v.position.z) ? v.position.z : highest.z;
}
}
BoundingBox boundingBox = new BoundingBox(lowest, highest);
this.boundingSphere.center = boundingBox.Center;
this.boundingSphere.radius = boundingBox.IsInside(boundingBox.Center) ? (boundingBox.Center - highest).Length : 0f;
}