in src/engine/tools23d/graphics23d.js [286:368]
onMouseMove(xScr, yScr) {
if (this.m_volumeData === null || this.m_volumeHeader === null) {
return;
}
if (xScr > this.m_wProjScreen || yScr > this.m_hProjScreen) {
// out of image
return;
}
const TWICE = 2.0;
const xt = xScr * TWICE - 1.0;
const yt = yScr * TWICE - 1.0;
//const yt = (1.0 - yScr) * TWICE - 1.0;
switch (this.m_toolType) {
case tools2d.DISTANCE:
this.m_distanceTool.onMouseMove(xt, yt, this.m_zoom);
break;
case tools2d.ANGLE:
this.m_angleTool.onMouseMove(xt, yt);
break;
case tools2d.AREA:
this.m_areaTool.onMouseMove(xt, yt);
break;
case tools2d.RECT:
this.m_rectTool.onMouseMove(xt, yt, this.m_zoom);
break;
case tools2d.TEXT:
break;
case tools2d.GRAD:
break;
case tools2d.COBR:
/*this.m_contrastBrightTool.onMouseMove(xt, yt);
this.m_materialsTex2d.m_uniforms.contrast.value = this.m_contrastBrightTool.m_contrast;
this.m_materialsTex2d.m_uniforms.brightness.value = this.m_contrastBrightTool.m_brightness;
this.m_materialsTex2d.m_uniforms.COBRflag.value = this.m_contrastBrightTool.m_COBRflag;*/
break;
case tools2d.BIFI:
/*this.m_filterTool.onMouseMove(xt, yt);
this.m_materialsTex2d.m_uniforms.sigma.value = this.m_filterTool.m_sigma;
this.m_materialsTex2d.m_uniforms.sigmaB.value = this.m_filterTool.m_sigmaB;
this.m_materialsTex2d.m_uniforms.BIFIflag.value = this.m_filterTool.m_BIFIflag;*/
break;
case tools2d.ZOOM:
if (this.m_move) {
this.updateMove(xt, yt);
}
break;
case tools2d.DELETE:
this.m_deleteTool.onMouseMove(
xt,
yt,
this.m_zoom,
this.m_distanceTool.m_distances,
this.m_angleTool.m_angles,
this.m_rectTool.m_areas,
this.m_areaTool.m_distances,
this.m_textTool.m_textArr
);
break;
case tools2d.EDIT: // TO DO: add text tool
this.m_editTool.onMouseMove(
xt,
yt,
this.m_zoom,
this.m_distanceTool.m_distances,
this.m_angleTool.m_angles,
this.m_rectTool.m_areas,
this.m_areaTool.m_distances,
this.m_areaTool,
this.m_textTool,
this.m_posX * this.m_wProjScreen,
this.m_posY * this.m_hProjScreen
);
//this.m_areaTool.updateVertexes(this.m_zoom, this.m_posX * (this.m_wProjScreen), this.m_posY *
// (this.m_hProjScreen));
this.m_distanceTool.updateVertexes(this.m_zoom, this.m_posX * this.m_wProjScreen, this.m_posY * this.m_hProjScreen);
this.m_angleTool.updateVertexes(this.m_zoom, this.m_posX * this.m_wProjScreen, this.m_posY * this.m_hProjScreen);
break;
default:
console.log('Unexpected 2d tool');
break;
}
}