本文整理汇总了C#中WhiteCore.Region.Physics.BulletSPlugin.BulletShape类的典型用法代码示例。如果您正苦于以下问题:C# BulletShape类的具体用法?C# BulletShape怎么用?C# BulletShape使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
BulletShape类属于WhiteCore.Region.Physics.BulletSPlugin命名空间,在下文中一共展示了BulletShape类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: GetContactBreakingThreshold
public override float GetContactBreakingThreshold(BulletShape pShape, float defaultFactor)
{
CollisionShape shape = (pShape as BulletShapeXNA).shape;
return shape.GetContactBreakingThreshold(defaultFactor);
}
示例2: DeleteCollisionShape
public override bool DeleteCollisionShape(BulletWorld pWorld, BulletShape pShape)
{
//TODO:
return false;
}
示例3: CalculateLocalInertia
public override Vector3 CalculateLocalInertia(BulletShape pShape, float pphysMass)
{
CollisionShape shape = (pShape as BulletShapeXNA).shape;
IndexedVector3 inertia = IndexedVector3.Zero;
shape.CalculateLocalInertia(pphysMass, out inertia);
return new Vector3(inertia.X, inertia.Y, inertia.Z);
}
示例4: CreateBodyWithDefaultMotionState
public override BulletBody CreateBodyWithDefaultMotionState(BulletShape pShape, uint pLocalID,
Vector3 pRawPosition, Quaternion pRawOrientation)
{
IndexedMatrix mat =
IndexedMatrix.CreateFromQuaternion(new IndexedQuaternion(pRawOrientation.X, pRawOrientation.Y,
pRawOrientation.Z, pRawOrientation.W));
mat._origin = new IndexedVector3(pRawPosition.X, pRawPosition.Y, pRawPosition.Z);
CollisionShape shape = (pShape as BulletShapeXNA).shape;
// TODO: Feed Update array into null
RigidBody body = new RigidBody(0, new DefaultMotionState(mat, IndexedMatrix.Identity), shape,
IndexedVector3.Zero);
body.SetWorldTransform(mat);
body.SetUserPointer(pLocalID);
return new BulletBodyXNA(pLocalID, body);
}
示例5: SetShapeCollisionMargin
public override void SetShapeCollisionMargin(BulletShape pShape, float pMargin)
{
CollisionShape shape = (pShape as BulletShapeXNA).shape;
shape.SetMargin(pMargin);
}
示例6: ReferenceSame
public override bool ReferenceSame(BulletShape other)
{
BulletShapeXNA otheru = other as BulletShapeXNA;
return (otheru != null) && (this.shape == otheru.shape);
}
示例7: IsInfinite
public override bool IsInfinite(BulletShape pShape)
{
CollisionShape shape = (pShape as BulletShapeXNA).shape;
return shape.IsInfinite();
}
示例8: IsNativeShape
public override bool IsNativeShape(BulletShape pShape)
{
CollisionShape shape = (pShape as BulletShapeXNA).shape;
bool ret;
switch (shape.GetShapeType())
{
case BroadphaseNativeTypes.BOX_SHAPE_PROXYTYPE:
case BroadphaseNativeTypes.CONE_SHAPE_PROXYTYPE:
case BroadphaseNativeTypes.SPHERE_SHAPE_PROXYTYPE:
case BroadphaseNativeTypes.CYLINDER_SHAPE_PROXYTYPE:
ret = true;
break;
default:
ret = false;
break;
}
return ret;
}
示例9: GetShapeType
public override int GetShapeType(BulletShape pShape)
{
CollisionShape shape = (pShape as BulletShapeXNA).shape;
return (int)shape.GetShapeType();
}
示例10: IsConvex2d
public override bool IsConvex2d(BulletShape pShape)
{
CollisionShape shape = (pShape as BulletShapeXNA).shape;
return shape.IsConvex2d();
}
示例11: GetNumberOfCompoundChildren
public override int GetNumberOfCompoundChildren(BulletShape pCompoundShape)
{
CompoundShape compoundshape = (pCompoundShape as BulletShapeXNA).shape as CompoundShape;
return compoundshape.GetNumChildShapes();
}
示例12: GetMargin
public override float GetMargin(BulletShape pShape)
{
CollisionShape shape = (pShape as BulletShapeXNA).shape;
return shape.GetMargin();
}
示例13: GetLocalScaling
public override Vector3 GetLocalScaling(BulletShape pShape)
{
CollisionShape shape = (pShape as BulletShapeXNA).shape;
IndexedVector3 scale = shape.GetLocalScaling();
return new Vector3(scale.X, scale.Y, scale.Z);
}
示例14: AddChildShapeToCompoundShape
//LinksetRoot.PhysShape.ptr, newShape.ptr, displacementPos, displacementRot
public override void AddChildShapeToCompoundShape(BulletShape pCShape, BulletShape paddShape,
Vector3 displacementPos, Quaternion displacementRot)
{
IndexedMatrix relativeTransform = new IndexedMatrix();
CompoundShape compoundshape = (pCShape as BulletShapeXNA).shape as CompoundShape;
CollisionShape addshape = (paddShape as BulletShapeXNA).shape;
relativeTransform._origin = new IndexedVector3(displacementPos.X, displacementPos.Y, displacementPos.Z);
relativeTransform.SetRotation(new IndexedQuaternion(displacementRot.X, displacementRot.Y, displacementRot.Z,
displacementRot.W));
compoundshape.AddChildShape(ref relativeTransform, addshape);
}
示例15: IsNonMoving
public override bool IsNonMoving(BulletShape pShape)
{
CollisionShape shape = (pShape as BulletShapeXNA).shape;
return shape.IsNonMoving();
}