Ejemplo n.º 1
0
 protected abstract bool ShapeQueryCircle(
     TSVector2 bodySpaceOrigin,
     FP radius);
Ejemplo n.º 2
0
 protected override void ApplyBodyPosition()
 {
     this.worldSpaceOrigin =
         this.Body.BodyToWorldPointCurrent(this.bodySpaceOrigin);
     this.worldSpaceAABB = new VoltAABB(this.worldSpaceOrigin, this.radius);
 }
Ejemplo n.º 3
0
 internal TSVector2 WorldToBodyPoint(TSVector2 vector)
 {
     return(VoltMath.WorldToBodyPoint(this.position, this.facing, vector));
 }
Ejemplo n.º 4
0
 protected abstract bool ShapeQueryPoint(
     TSVector2 bodySpacePoint);
Ejemplo n.º 5
0
 public VoltAABB ComputeTopRight(TSVector2 center)
 {
     return(new VoltAABB(this.top, center.y, center.x, this.right));
 }
Ejemplo n.º 6
0
 public VoltAABB ComputeBottomRight(TSVector2 center)
 {
     return(new VoltAABB(center.y, this.bottom, center.x, this.right));
 }
Ejemplo n.º 7
0
 public static TSVector2 Right(this TSVector2 v)
 {
     return(new TSVector2(v.y, -v.x));
 }
Ejemplo n.º 8
0
 public VoltAABB(TSVector2 center, FP radius)
     : this(center, new TSVector2(radius, radius))
 {
 }
Ejemplo n.º 9
0
 public static TSVector2 WorldToBodyDirection(
     TSVector2 bodyFacing,
     TSVector2 vector)
 {
     return(vector.InvRotate(bodyFacing));
 }
Ejemplo n.º 10
0
 public static TSVector2 BodyToWorldDirection(
     TSVector2 bodyFacing,
     TSVector2 vector)
 {
     return(vector.Rotate(bodyFacing));
 }
Ejemplo n.º 11
0
 internal TSVector2 BodyToWorldDirection(TSVector2 vector)
 {
     return(VoltMath.BodyToWorldDirection(this.facing, vector));
 }
Ejemplo n.º 12
0
 internal TSVector2 BodyToWorldPoint(TSVector2 vector)
 {
     return(VoltMath.BodyToWorldPoint(this.position, this.facing, vector));
 }
Ejemplo n.º 13
0
 internal TSVector2 WorldToBodyDirection(TSVector2 vector)
 {
     return(VoltMath.WorldToBodyDirection(this.facing, vector));
 }
Ejemplo n.º 14
0
 internal Axis(TSVector2 normal, FP width)
 {
     this.normal = normal;
     this.width  = width;
 }
Ejemplo n.º 15
0
 public static TSVector2 Left(this TSVector2 v)
 {
     return(new TSVector2(-v.y, v.x));
 }
Ejemplo n.º 16
0
 public void QueryPoint(
     TSVector2 point,
     VoltBuffer <VoltBody> outBuffer)
 {
     outBuffer.Add(this.bodies, this.count);
 }
Ejemplo n.º 17
0
 public static TSVector2 InvRotate(this TSVector2 v, TSVector2 b)
 {
     return(new TSVector2(v.x * b.x + v.y * b.y, v.y * b.x - v.x * b.y));
 }
Ejemplo n.º 18
0
 public VoltAABB ComputeTopLeft(TSVector2 center)
 {
     return(new VoltAABB(this.top, center.y, this.left, center.x));
 }
Ejemplo n.º 19
0
 public static FP Angle(this TSVector2 v)
 {
     return(TSMath.Atan2(v.y, v.x));
 }
Ejemplo n.º 20
0
 public VoltAABB ComputeBottomLeft(TSVector2 center)
 {
     return(new VoltAABB(center.y, this.bottom, this.left, center.x));
 }
Ejemplo n.º 21
0
 public static FP Cross(TSVector2 a, TSVector2 b)
 {
     return(a.x * b.y - a.y * b.x);
 }
Ejemplo n.º 22
0
 internal void SetContained(VoltShape shape)
 {
     this.shape    = shape;
     this.distance = 0.0f;
     this.normal   = TSVector2.zero;
 }
Ejemplo n.º 23
0
 internal void Store(ref HistoryRecord other)
 {
     this.aabb     = other.aabb;
     this.position = other.position;
     this.facing   = other.facing;
 }