Beispiel #1
0
		public PDragJoint(PBody b_0, float px, float py) {
			this.b = b_0;
			dragPoint = new Vector2f(px, py);
			localAnchor = new Vector2f(px - b_0.pos.x, py - b_0.pos.y);
			b_0.mAng.Transpose().MulEqual(localAnchor);
			anchor = b_0.mAng.Mul(localAnchor);
			anchor.AddLocal(b_0.pos);
			type = Physics.PJointType.DRAG_JOINT;
			mass = new PTransformer();
		}
Beispiel #2
0
		public PHingeJoint(PBody b1_0, PBody b2_1, float rel1x, float rel1y,
				float rel2x, float rel2y) {
			this.b1 = b1_0;
			this.b2 = b2_1;
			localAngle = b2_1.ang - b1_0.ang;
			localAnchor1 = new Vector2f(rel1x, rel1y);
			localAnchor2 = new Vector2f(rel2x, rel2y);
			b1_0.mAng.Transpose().MulEqual(localAnchor1);
			b2_1.mAng.Transpose().MulEqual(localAnchor2);
			anchor1 = b1_0.mAng.Mul(localAnchor1);
			anchor1.AddLocal(b1_0.pos);
			anchor2 = b2_1.mAng.Mul(localAnchor2);
			anchor2.AddLocal(b2_1.pos);
			type = Physics.PJointType.HINGE_JOINT;
			mass = new PTransformer();
			impulse = new Vector2f();
		}