public void drag(double dx,double dy){
  if (hikeMode) {
    workVec.set(-dx,-dy,0);
    workRot.fromAngleNormalAxis(azimuth,Vector3.UNIT_Z);
    workRot.applyPost(workVec,workVec);
    workVec.multiplyLocal(zOffset);
  }
 else {
    workVec.set(-dx,-dy,0);
    workRot.fromAngleNormalAxis(azimuth,Vector3.NEG_UNIT_Z);
    workRot.applyPost(workVec,workVec);
    workVec.multiplyLocal(camera.getPixelSizeAt(camera.getLookAt(),true));
  }
  translate(workVec);
}

public void drag ( double dx , double dy ) { if ( hikeMode ) { workVec . set ( - dx , - dy , 0 ) ; workRot . fromAngleNormalAxis ( azimuth , Vector3 . UNIT_Z ) ; workRot . applyPost ( workVec , workVec ) ; workVec . multiplyLocal ( zOffset ) ; } else { workVec . set ( - dx , - dy , 0 ) ; workRot . fromAngleNormalAxis ( azimuth , Vector3 . NEG_UNIT_Z ) ; workRot . applyPost ( workVec , workVec ) ; workVec . multiplyLocal ( camera . getPixelSizeAt ( camera . getLookAt ( ) , true ) ) ; } translate ( workVec ) ; }
perform a drag operation
