Line 1: |
Line 1: |
| '''Part 1''' of the [[MeeshQuest]] project: | | '''Part 1''' of the [[MeeshQuest]] project: |
| * Due Date: Either the date on the submit server or the date on the project spec, whichever is later | | * Due Date: Either the date on the submit server or the date on the project spec, whichever is later |
− | * All part 1 files can be found [http://www.cs.umd.edu/users/meesh/420/part1/ here] | + | * All part 1 files can be found [https://www.cs.umd.edu/users/meesh/420/ProjectBook/part1/ here] |
− | * The official spec is [http://www.cs.umd.edu/users/meesh/420/part1/ here] with name p1x, for the largest value of x in that directory. | + | * The official spec is [https://www.cs.umd.edu/users/meesh/420/ProjectBook/part1/p11/ here] with name p1x, for the largest value of x in that directory. |
| * As always, the spec will freeze 1 week (5 days summer) prior to the due date. | | * As always, the spec will freeze 1 week (5 days summer) prior to the due date. |
| * [[Part 1 Test Files | Test Files]] | | * [[Part 1 Test Files | Test Files]] |
Line 17: |
Line 17: |
| #* Related commands: | | #* Related commands: |
| #** [[createCity]] | | #** [[createCity]] |
− | #** [[deleteCity]]
| |
| #** [[listCities]] | | #** [[listCities]] |
− | #** [[clearAll]]
| |
− | # Spatial Map ([[PR Quadtree]] (Updated) for part 1)
| |
− | #* Related commands:
| |
− | #** [[mapCity]]
| |
− | #** [[unmapCity]]
| |
− | #** [[rangeCities]]
| |
− | #** [[nearestCity]]
| |
− | #** [[printPRQuadtree]]
| |
− | #** [[saveMap]]
| |
| #** [[clearAll]] | | #** [[clearAll]] |
| | | |
| == Commands == | | == Commands == |
− | The operations you will need to support can be gleaned from the [http://www.cs.umd.edu/users/meesh/420/part1/p11/node21.html input specification]: | + | The operations you will need to support can be gleaned from the spec: |
| | | |
− | * [[createCity]] and [[deleteCity]]: You will need to be able to register cities with and remove them from the data dictionary. No two cities can have the same coordinates or name. | + | * [[createCity]]: You will need to be able to register cities with the data dictionary. No two cities can have the same coordinates or name. |
| * [[clearAll]]: Clears all of the data structures, removing all elements. | | * [[clearAll]]: Clears all of the data structures, removing all elements. |
| * [[listCities]]: Output a sorted (XML) list of cities in the data dictionary. | | * [[listCities]]: Output a sorted (XML) list of cities in the data dictionary. |
− | * [[mapCity]] and [[unmapCity]]: Insert a named city into or remove a named city from the spatial map.
| |
− | * [[printPRQuadtree]]: This outputs an XML (textual) representation of the spatial map.
| |
− | * [[saveMap]]: This outputs a visual representation (an image) of the spatial data structure. See [http://wam.umd.edu/~bzoller/cmsc420/doc/cmsc420/drawing/CanvasPlus.html CanvasPlus].
| |
− | * [[rangeCities]]: This searches the spatial data structure for all cities within a given radius of a given point.
| |
− | * [[nearestCity]]: This finds the nearest city to a given point in the spatial map.
| |
| | | |
| == Output == | | == Output == |
| | | |
− | The conventions in the spec can be found [http://www.cs.umd.edu/users/meesh/420/part1/p11/node21.html here] | + | The general conventions in the spec can be found [https://www.cs.umd.edu/users/meesh/420/ProjectBook/part1/p11/node20.html here] and the more specific directions for each commands can be found [https://www.cs.umd.edu/users/meesh/420/ProjectBook/part1/p11/node22.html here] |
− | * <[[success]]>: This is when your parser has sucessfully parsed and finished a command. | + | * <[[success]]>: This is when your parser has successfully parsed and finished a command. |
| * <[[error]]>: When an error occurs after attempting to run a command | | * <[[error]]>: When an error occurs after attempting to run a command |
| * <[[fatalError]]>: There is a problem with the entire document | | * <[[fatalError]]>: There is a problem with the entire document |
− | * <[[undefinedError]]>: Defalut error, when we aren't sure exactly what happened | + | * <[[undefinedError]]>: Default error, when we aren't sure exactly what happened |
− | * <[[city]]>: The spec says it should be sorted and in the <output> tag but I am not sure how this works... explain if you do please
| + | |
| + | By the end, your output will be XML that minimally looks like this: |
| + | <results> |
| + | <success ... /> |
| + | <success ... /> |
| + | <success ... /> |
| + | <error ... /> |
| + | <success ... /> |
| + | ... |
| + | <success ... /> |
| + | </results> |
| | | |
| == Testing == | | == Testing == |