public static CollisionIndex CreateCollisionIndex(Vector3 from, SimPathStore PathStore) { float POINTS_PER_METER = PathStore.POINTS_PER_METER; int PX = PathStore.ARRAY_X(from.X); int PY = PathStore.ARRAY_Y(from.Y); CollisionIndex WP; lock (PathStore.MeshIndex) { WP = PathStore.MeshIndex[PX, PY]; if (WP != null) return WP; from.X = PX / POINTS_PER_METER; from.Y = PY / POINTS_PER_METER; Vector3d GlobalPos = PathStore.GetPathStore().LocalToGlobal(from); WP = new CollisionIndex(from, GlobalPos, PX, PY, PathStore); } return WP; }