in src/engine/tools23d/graphics23d.js [144:222]
onMouseDown(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;
}
if (this.m_levelSetMode) {
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.onMouseDown(xt, yt, this.m_zoom, this.m_posX * this.m_wProjScreen, this.m_posY * this.m_hProjScreen);
break;
case tools2d.ANGLE:
this.m_angleTool.onMouseDown(xt, yt, this.m_zoom, this.m_posX * this.m_wProjScreen, this.m_posY * this.m_hProjScreen);
break;
case tools2d.TEXT:
this.m_textTool.onMouseDown(xt, yt, this.m_zoom, this.m_posX * this.m_wProjScreen, this.m_posY * this.m_hProjScreen);
break;
case tools2d.AREA:
this.m_areaTool.onMouseDown(xt, yt, this.m_zoom, this.m_posX * this.m_wProjScreen, this.m_posY * this.m_hProjScreen);
break;
case tools2d.RECT:
this.m_rectTool.onMouseDown(xt, yt, this.m_zoom, this.m_posX * this.m_wProjScreen, this.m_posY * this.m_hProjScreen);
break;
case tools2d.GRAD:
break;
case tools2d.COBR:
/*this.m_contrastBrightTool.onMouseDown(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.onMouseDown(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:
this.m_move = true;
this.m_moveTool.onMouseDown(xt, yt);
break;
case tools2d.DELETE:
this.m_deleteTool.onMouseDown(
xt,
yt,
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,
this.m_distanceTool.m_vertexes,
this.m_angleTool.m_vertexes,
this.m_rectTool.m_vertexes,
this.m_areaTool.m_vertexes2,
this.m_areaTool.m_last_lengths,
this.m_areaTool.m_vertexes,
this.m_areaTool,
this.m_textTool.m_vertexes
);
console.log(`${this.m_areaTool.last_length}`);
break;
case tools2d.EDIT:
this.m_editTool.onMouseDown();
break;
default:
console.log('Unexpected 2d tool');
break;
}
}