日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

vtkBorderWidget设置窗口位置的问题

發布時間:2023/12/15 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 vtkBorderWidget设置窗口位置的问题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?

? ?在使用vtkBorderWidget的過程中,需要改變Widget的位置和大小,網上提供的一種方法是:

?

  • representation->GetPositionCoordinate()->SetCoordinateSystemToWorld();?
  • representation->GetPosition2Coordinate()->SetCoordinateSystemToWorld();?
  • representation->SetPosition(pos[0],pos[1]);?
  • representation->SetPosition(pos1[0],pos1[1]);?
  • ?

    ? ?這種方法雖然能設置widget的位置,但是卻使widget失去了與鼠標交互的能力,參考vtkBorderReprsentation的源代碼發現,在構造函數中,widget位置的初始化采用的是:

  • this->PositionCoordinate->SetCoordinateSystemToNormalizedViewport();?
  • ?this->PositionCoordinate->SetValue(0.05,?0.05);?
  • ?this->Position2Coordinate?=?vtkCoordinate::New();?
  • ?this->Position2Coordinate->SetCoordinateSystemToNormalizedViewport();?
  • ?this->Position2Coordinate->SetValue(0.1,?0.1);?
  • ? ? ?于是按照這樣的思路改寫代碼如下:
  • representation->GetPositionCoordinate()->SetCoordinateSystemToNormalizedViewport();?
  • representation->GetPosition2Coordinate()->SetCoordinateSystemToNormalizedViewport();?
  • representation->SetPosition(pos[0],pos[1]);?
  • representation->SetPosition(pos1[0],pos1[1]);?
  • ? ?最終的結果是,widget位置按照自己的意愿進行修改,并且能夠繼續和鼠標進行交互。

    轉載于:https://blog.51cto.com/2845385/1071943

    總結

    以上是生活随笔為你收集整理的vtkBorderWidget设置窗口位置的问题的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。