AffineTransform transRotTemp = new AffineTransform();
transRotTemp.setToIdentity();
transRotTemp.rotate(Math.toRadians(90));
// Cambio la transformacion de traslacion
Point ptC = new cl.alejo.jcsim.csim.circuit.Point((int) this.transTranslate.getTranslateX(),
(int) transTranslate.getTranslateY());
Point pt = new Point(_x - ptC._x, _y - ptC._y);
Point ptRot = new cl.alejo.jcsim.csim.circuit.Point(ptC._x + pt._x, ptC._y + pt._y);
Point2D.Double p2d = new Point2D.Double(-pt._x, -pt._y);
transRotTemp.transform(p2d, p2d);
p2d = new java.awt.geom.Point2D.Double(Circuit.gridTrunc((int) p2d.getX()), Circuit.gridTrunc((int) p2d.getY()));
// El nuevo centro donde debe estar ubicada la compuerta
Point2D.Double ptNewCenter = new Point2D.Double(ptRot._x + p2d.x + Circuit.GRIDSIZE, ptRot._y + p2d.y);