onPointerDown method
void
onPointerDown(
- 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));
}
}