onMouseMove()

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;
    }
  }