public override void addPivot(Pivot pivot) { if (!onBeam(pivot.point)) throw new Exception("Attempted to add a point not on the beam"); base.addPivot(pivot); }
public PivotController(RigidBodyController body, Pivot pivot) { this.body = body; this.pivot = pivot; body.addPivot(pivot); }
public RigidBody(Matrix g) { forces = new ArrayList(); pivots = new ArrayList(); geometry = g; deformations = new Matrix(g.getHeight(),g.getWidth()); transformations = new Matrix(g.getHeight(),g.getWidth()); cmPoint = new Pivot(new Point(), Pivot.Type.CM); pivots.Add(cmPoint); }
public Matrix transformations; //Matrix to define the transformaions of the body. #endregion Fields #region Constructors public RigidBody() { geometry = null; deformations = null; transformations = null; forces = new ArrayList(); pivots = new ArrayList(); cmPoint = new Pivot(new Point(), Pivot.Type.CM); pivots.Add(cmPoint); }
public Beam(Point A, Point B) { Matrix max = new Matrix(2,2); if (A.x <= B.x){ max[0][0] = A.x; max[0][1] = A.y; max[1][0] = B.x; max[1][1] = B.y; }else{ max[0][0] = B.x; max[0][1] = B.y; max[1][0] = A.x; max[1][1] = A.y; } geometry = max; //the center of mass is half way bettween the two end points Pivot cm = new Pivot(new Point((A.x + B.y)/2.0,(A.x + B.y)/2.0), Pivot.Type.CM); setCenterOfMass(cm); }
public void setCenterOfMass(Pivot pivot) { pivots.Remove(cmPoint); cmPoint = pivot; pivots.Add(cmPoint); }
public virtual void addPivot(Pivot pivot) { pivots.Add(pivot); }