本文整理汇总了C#中Bounds.GetCenter方法的典型用法代码示例。如果您正苦于以下问题:C# Bounds.GetCenter方法的具体用法?C# Bounds.GetCenter怎么用?C# Bounds.GetCenter使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Bounds
的用法示例。
在下文中一共展示了Bounds.GetCenter方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: IsIntersects
static bool IsIntersects( RenderLight light, Bounds bounds )
{
if( light.Type == RenderLightType.Point || light.Type == RenderLightType.Spot )
{
//check by bounding sphere
{
Sphere lightSphere = new Sphere( light.Position, light.AttenuationFar );
if( !lightSphere.IsIntersectsBounds( ref bounds ) )
return false;
}
//check by spot light clip planes
if( light.Type == RenderLightType.Spot )
{
Vec3 boundsCenter = bounds.GetCenter();
Vec3 boundsHalfSize = boundsCenter - bounds.Minimum;
foreach( Plane plane in light.SpotLightClipPlanes )
{
if( plane.GetSide( ref boundsCenter, ref boundsHalfSize ) == Plane.Side.Positive )
return false;
}
}
}
return true;
}
示例2: OnVolumeCast
protected override Body[] OnVolumeCast( Bounds bounds, int contactGroup )
{
Vec3 origin = bounds.GetCenter();
Vec3 halfExtents = bounds.GetSize() * .5f;
Quat rotation = Quat.Identity;
int shapeCount = PhysXNativeScene.OverlapOBBShapes( nativeScene, ref origin, ref halfExtents, ref rotation,
GetContactGroupMask( contactGroup ) );
if( shapeCount == 0 )
return emptyVolumeCastResult;
return GetBodiesFromVolumeCastResult( shapeCount );
}
示例3: OnVolumeCast
protected override Body[] OnVolumeCast( Bounds bounds, int contactGroup )
{
Vec3 size;
bounds.GetSize( out size );
Vec3 center;
bounds.GetCenter( out center );
dGeomID volumeCastGeomID = Ode.dCreateBox( rootSpaceID, size.X, size.Y, size.Z );
Ode.dGeomSetPosition( volumeCastGeomID, center.X, center.Y, center.Z );
Body[] result = DoVolumeCastGeneral( volumeCastGeomID, contactGroup );
Ode.dGeomDestroy( volumeCastGeomID );
return result;
}