public Point[] getPoints() {
		Model model = getModel();

		if (model == null || !model.isValid()) {
			return null;
		}
		List<Point> points = new ArrayList<Point>();
		/*
		 * Generate a list of all model vertices
		 */
		//instead of using getvectors we can deal directly with vertex arrays, but no point yet
		Vec3[][] vectors = getModel().getVectors();
		int gx = getLocation().getGx();
		int gy = getLocation().getGy();
		for (Vec3[] vecs : vectors) {
			Vec3 pa = vecs[0];
			Vec3 pb = vecs[1];
			Vec3 pc = vecs[2];

			Point a = Perspective.trans_tile_cam(ctx
					.getClient(), gx + (int) pa.x, gy + (int) pc.x,
					0 - (int) pb.x);
			Point b = Perspective.trans_tile_cam(ctx
					.getClient(), gx + (int) pa.y, gy + (int) pc.y,
					0 - (int) pb.y);
			Point c = Perspective.trans_tile_cam(ctx
					.getClient(), gx + (int) pa.z, gy + (int) pc.z,
					0 - (int) pb.z);
			points.add(a);
			points.add(b);
			points.add(c);
		}
		return points.toArray(new Point[0]);
	}