onPointerDown method

void onPointerDown(
  1. dynamic event
)

Implementation

void onPointerDown(event) {
  if (!scope.enabled){
    return;
  }

  updatePointer(event);

  _intersections.length = 0;

  _raycaster.setFromCamera(_pointer, _camera);
  _raycaster.intersectObjects(_objects, true, _intersections);

  if (_intersections.isNotEmpty) {
    _selected = (scope.transformGroup == true)
        ? _objects[0]
        : _intersections[0].object;

    _plane.setFromNormalAndCoplanarPoint(
        _camera.getWorldDirection(_plane.normal),
        _worldPosition.setFromMatrixPosition(_selected!.matrixWorld)
      );

    if (_raycaster.ray.intersectPlane(_plane, _intersection) != null) {
      _inverseMatrix.setFrom(_selected!.parent!.matrixWorld).invert();
      _offset.setFrom(_intersection)
          .sub(_worldPosition.setFromMatrixPosition(_selected!.matrixWorld));
    }

    scope.dispatchEvent(Event(type: 'dragstart', object: _selected));
  }
}