void moveto() throws ScriptException {
		// moveto time
		// moveto [time] { x y z deg} zoom xTrans yTrans
		// moveto [time] front|back|left|right|top|bottom
		if (statementLength < 2)
			badArgumentCount();
		if (statementLength == 2 && isFloatParameter(1)) {
			refresh();
			viewer.moveTo(floatParameter(1), null, new Point3f(0, 0, 1), 0, 100, 0, 0, 0);
			return;
		}
		Point3f pt = new Point3f();
		Point3f center = null;
		int i = 1;
		float floatSecondsTotal = (isFloatParameter(1) ? floatParameter(i++) : 2.0f);
		float zoom = 100;
		float xTrans = 0;
		float yTrans = 0;
		float degrees = 90;
		switch (statement[i].tok) {
		case Token.leftbrace:
			// {X, Y, Z} deg or {x y z deg}
			if (isCoordinate3(i)) {
				pt = getCoordinate(i, true);
				i = pcLastExpressionInstruction + 1;
				degrees = floatParameter(i++);
			}
			else {
				Point4f pt4 = getPoint4f(i);
				pt.set(pt4.x, pt4.y, pt4.z);
				degrees = pt4.w;
				i = pcLastExpressionInstruction + 1;
			}
			break;
		case Token.front:
			pt.set(1, 0, 0);
			degrees = 0f;
			i++;
			break;
		case Token.back:
			pt.set(0, 1, 0);
			degrees = 180f;
			i++;
			break;
		case Token.left:
			pt.set(0, 1, 0);
			i++;
			break;
		case Token.right:
			pt.set(0, -1, 0);
			i++;
			break;
		case Token.top:
			pt.set(1, 0, 0);
			i++;
			break;
		case Token.bottom:
			pt.set(-1, 0, 0);
			i++;
			break;
		default:
			// X Y Z deg
			pt = new Point3f(floatParameter(i++), floatParameter(i++), floatParameter(i++));
			degrees = floatParameter(i++);
		}
		if (i != statementLength && !isAtomCenterOrCoordinateNext(i))
			zoom = floatParameter(i++);
		if (i != statementLength && !isAtomCenterOrCoordinateNext(i)) {
			xTrans = floatParameter(i++);
			yTrans = floatParameter(i++);
		}
		float rotationRadius = 0;
		if (i != statementLength) {
			center = atomCenterOrCoordinateParameter(i);
			i = pcLastExpressionInstruction + 1;
			if (i != statementLength)
				rotationRadius = floatParameter(i++);
		}
		refresh();
		viewer.moveTo(floatSecondsTotal, center, pt, degrees, zoom, xTrans, yTrans, rotationRadius);
	}