docs: public void assignIDsToRigidPoints() {
  		// return if it has already been assigned
  		if( lookupRigid != null )
  			return;
  		// Assign a unique ID to each point belonging to a rigid object
  		// at the same time create a look up table that allows for the object that a point belongs to be quickly found
  		lookupRigid = new int[ getTotalRigidPoints() ];
  		int pointID = 0;
  		for (int i = 0; i < rigids.length; i++) {
  			Rigid r = rigids[i];
  			r.indexFirst = pointID;
  			for (int j = 0; j < r.points.length; j++, pointID++) {
  				lookupRigid[pointID] = i;
  			}
  		}
  
  	}