rotateCamera method
      
void
rotateCamera()
      
     
    
    
Implementation
void rotateCamera() {
  moveDirection.setValues(_moveCurr.x - _movePrev.x, _moveCurr.y - _movePrev.y, 0);
  double angle = moveDirection.length;
  if (angle != 0) {
    _eye.setFrom(scope.object.position).sub(scope.target);
    eyeDirection.setFrom(_eye).normalize();
    objectUpDirection.setFrom(scope.object.up).normalize();
    objectSidewaysDirection
        .cross2(objectUpDirection, eyeDirection)
        .normalize();
    objectUpDirection.setLength(_moveCurr.y - _movePrev.y);
    objectSidewaysDirection.setLength(_moveCurr.x - _movePrev.x);
    moveDirection.setFrom(objectUpDirection.add(objectSidewaysDirection));
    axis.cross2(moveDirection, _eye).normalize();
    angle *= scope.rotateSpeed;
    quaternion.setFromAxisAngle(axis, angle);
    _eye.applyQuaternion(quaternion);
    scope.object.up.applyQuaternion(quaternion);
    _lastAxis.setFrom(axis);
    _lastAngle = angle;
  } else if (!scope.staticMoving && _lastAngle != 0) {
    _lastAngle *= math.sqrt(1.0 - scope.dynamicDampingFactor);
    _eye.setFrom(scope.object.position).sub(scope.target);
    quaternion.setFromAxisAngle(_lastAxis, _lastAngle);
    _eye.applyQuaternion(quaternion);
    scope.object.up.applyQuaternion(quaternion);
  }
  _movePrev.setFrom(_moveCurr);
}