in app/scripts/views/mainPage/view3d.js [748:790]
onDocumentMouseDown: function (event) {
var config = this.eventConfig;
var intersects = this.calculateIntersects(event, config);
var sceneObject = null;
if (intersects.length) {
sceneObject = intersects[0].object;
if (sceneObject.objectType === this.getNodeType()) {
this.onNodeSelect(sceneObject);
}
}
//d&d
this.get('cameraControls').enabled = true;
var offset = new THREE.Vector3(0, 0, 0);
var camera = this.get('camera');
var plane = this.get('nodeMoveHelperPlane');
var vector = this.getMouseVector(event, config).unproject(camera);
var raycaster = new THREE.Raycaster(camera.position, vector.sub(camera.position).normalize());
if (sceneObject !== undefined && sceneObject !== null && sceneObject.objectType === this.getNodeType()) {
var intersectsWithPlane = raycaster.intersectObject(plane);
if (intersectsWithPlane && intersectsWithPlane[0]) {
plane.scale.x = 1;
plane.scale.y = 1;
plane.scale.z = 1;
this.set('dragNode', sceneObject);
this.get('cameraControls').enabled = false;
offset.copy(intersectsWithPlane[0].point).sub(plane.position);
this.set('offset', offset);
}
}
},