AnalyticalGraphicsInc/cesium — pull request #1193 by pjcozzi (2013-09-27 13:27:56+00:00)
Title: Make Primitive and GeometryInstance picking consistent

More cleanup from the transit hackathon. We used both primitives and geometry instances in [Open Philly Globe](http://www.openphillyglobe.org/), which made dispatching events from picking messy. For example:
```javascript
var pick = scene.pick(movement.endPosition);
if (Cesium.defined(pick) && Cesium.defined(pick.id)) {
// Deal with geometry instance
} else if (Cesium.defined(pick) && Cesium.defined(pick.primitive)) {
// Deal with primitive
}
```
Now everyone has a user-provided `id` as part of the `pick` object.
```javascript
var pick = scene.pick(movement.endPosition);
if (Cesium.defined(pick) && Cesium.defined(pick.id)) {
// Deal with geometry instance or primitive. pick.primitive is still defined too.
}
```