Point: single feature - modify x,y,z coordinates - pointer to rep(s) PointSet: a single set of points that constitutes an object - made of a set of points, and some k number of object reps - object reps are chosen heuristically - current ideas are to get middle most points, or corner most points as rep - also update reps when adding points to a PointSet ObjectSet: group of objects <--> to/from database - makeObject > instantiate HashSet of points - find-set > return list of k reps - union > combine two sets - union-find > find and union together ObjectMart: disjoint set operations, that gets coordinates from source - just a main function? - getObject > get new set of coordinates, make-set on them, try union-find