public String[] getSubObjectNames() {
   String[] nameList = new String[subObjectSet.size()];
   int i = 0;
   for (SubObject subObject : subObjectSet) {
     nameList[i] = subObject.getName();
     i++;
   }
   return nameList;
 }
 @Override
 public boolean equals(Object obj) {
   if (obj instanceof SubObject) {
     SubObject s = (SubObject) obj;
     return name.equals(s.getName());
   } else if (obj instanceof String) {
     String s = (String) obj;
     return name.equals(s);
   }
   return false;
 }
 public void setSubObjectVertices(String sensorName, float[] coordinates) {
   Iterator<SubObject> i = subObjectSet.iterator();
   while (i.hasNext()) {
     SubObject subObject = (SubObject) i.next();
     if (subObject.equals(sensorName)) {
       subObject.setVertices(coordinates);
       return;
     }
   }
   // No exist
   subObjectSet.add(new SubObject(coordinates, sensorName, sensorName, sensorName, false));
 }