欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C++中VTK9.3.0刻度標簽重疊的問題記錄

 更新時間:2024年06月04日 11:39:21   作者:csdndenglu  
這篇文章主要介紹了C++中VTK9.3.0刻度標簽重疊的問題,本文采用VTK9.3.0版本,其他版本如VKT8.0亦有同樣的問題,需要的朋友可以參考下

本文采用VTK9.3.0版本,其他版本如VKT8.0亦有同樣的問題

VTK顯示文本時,Z軸刻度標簽出現(xiàn)了重疊,如下圖:

尋找好久,沒有找到設(shè)置標簽間距、個數(shù)等相關(guān)的公有成員函數(shù),此問題一直沒有解決。

于是想到改VKT9.3.0源碼,解決此問題。下面大概記錄涉及到的源碼文件和相關(guān)函數(shù):

1、找到相關(guān)文件

VS2017打開源碼后,與此相關(guān)的文件為:vtkCubeAxesActor.h、vtkCubeAxesActor.cxx,如下圖:

2、.h中增加私有成員變量

  //whl2024-06-03
  bool m_XAxisFlag, m_YAxisFlag, m_ZAxisFlag;//標識是否修改刻度區(qū)間的個數(shù)
  int m_XMajorNum, m_YMajorNum, m_ZMajorNum;//標識設(shè)置刻度區(qū)間的個數(shù),例如2表示2個區(qū)間3個刻度

3、構(gòu)造函數(shù)中隊成員變量初始化

  //whl
  m_XAxisFlag = false;
  m_YAxisFlag = false;
  m_ZAxisFlag = false;

4、增加公有成員函數(shù),進行是否自定義修改刻度區(qū)間的設(shè)置

.h中

  //whl設(shè)置某個軸劃分刻度區(qū)間的個數(shù),可防止軸刻度文本重疊:nAxis軸號,bFlag設(shè)置/取消設(shè)置的標志,nMajorNum劃分區(qū)間的個數(shù)
  void SetAxisMajorNum(int nAxis, bool bFlag, int nMajorNum = 2);

.cpp中

//------------------------------------------------------------------------------
void vtkCubeAxesActor::SetAxisMajorNum(int nAxis, bool bFlag, int nMajorNum)
{
  switch (nAxis)
  {
    case 0:
      m_XAxisFlag = bFlag;
	  m_XMajorNum = nMajorNum;
      break;
    case 1:
      m_YAxisFlag = bFlag;
	  m_YMajorNum = nMajorNum;
      break;
    case 2:
      m_ZAxisFlag = bFlag;
	  m_ZMajorNum = nMajorNum;
      break;
  }
}

5、最重要的地方,在AdjustTicksComputeRange()函數(shù)中修改增加:

    //whl判斷是否自定義刻度區(qū)間
	if (m_XAxisFlag && 0==axis)
	{
		major = range / m_XMajorNum;
	}
	if (m_YAxisFlag && 1==axis)
	{
		major = range / m_YMajorNum;
	}
	if (m_ZAxisFlag && 2==axis)
	{
		major = range / m_ZMajorNum;
	}

6、使用時,在調(diào)用VTK軸相關(guān)的地方(代碼中還增加了Z軸標簽旋轉(zhuǎn)90°,效果更好)

    //設(shè)置某個軸劃分區(qū)間的個數(shù),可防止軸刻度文本重疊:nAxis軸號,bFlag設(shè)置/取消設(shè)置的標志,nMajorNum劃分區(qū)間的個數(shù)
    m_cubeAxesActor->SetAxisMajorNum(2, true, 2);//設(shè)置Z軸
    m_cubeAxesActor->GetLabelTextProperty(2)->SetOrientation(90);//Z軸標簽旋轉(zhuǎn)90°

7、最終結(jié)果:

到此這篇關(guān)于VTK9.3.0刻度標簽重疊的問題的文章就介紹到這了,更多相關(guān)VTK刻度標簽內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • c++和python實現(xiàn)順序查找實例

    c++和python實現(xiàn)順序查找實例

    這篇文章主要介紹了c++和python實現(xiàn)順序查找實例,流程即將目標數(shù)值和數(shù)據(jù)庫中的每個數(shù)值進行比較,如果相同則搜索完成,如果不同則繼續(xù)比較下一處,下面來看看具體的實例操作吧,需要的朋友可以參考一下
    2022-03-03
  • C++?auto關(guān)鍵字的小知識點分享

    C++?auto關(guān)鍵字的小知識點分享

    這篇文章主要是來和大家介紹一些C++中的小知識點,本文將從auto關(guān)鍵字開始講起,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起了解一下
    2023-05-05
  • C#開源類庫SimpleTCP使用方法

    C#開源類庫SimpleTCP使用方法

    SimpleTCP內(nèi)部有一個特殊字符分割字符串的協(xié)議可以直接使用,也可以在DataReceived事件處理程序中實現(xiàn)自己的協(xié)議,這篇文章主要介紹了C#開源類庫SimpleTCP的使用方法,需要的朋友可以參考下
    2021-09-09
  • C++中的各種容器的使用方法匯總

    C++中的各種容器的使用方法匯總

    這篇文章主要介紹了C++中的各種容器的使用方法,本文結(jié)合示例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-01-01
  • C++對象模型和this指針詳解

    C++對象模型和this指針詳解

    這篇文章主要介紹了詳解C++對象模型和this指針,是C++入門學習中的基礎(chǔ)知識,需要的朋友可以參考下,希望能夠給你帶來幫助
    2021-10-10
  • 鏈接庫動態(tài)鏈接庫詳細介紹

    鏈接庫動態(tài)鏈接庫詳細介紹

    靜態(tài)鏈接庫.lib和動態(tài)鏈接庫.dll。其中動態(tài)鏈接庫在被使用的時候,通常還提供一個.lib,稱為引入庫,它主要提供被Dll導(dǎo)出的函數(shù)和符號名稱,使得鏈接的時候能夠找到dll中對應(yīng)的函數(shù)映射
    2012-11-11
  • 關(guān)于C++中定義比較函數(shù)的三種方法小結(jié)

    關(guān)于C++中定義比較函數(shù)的三種方法小結(jié)

    下面小編就為大家?guī)硪黄P(guān)于C++中定義比較函數(shù)的三種方法小結(jié)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-10-10
  • 從匯編看c++中默認構(gòu)造函數(shù)的使用分析

    從匯編看c++中默認構(gòu)造函數(shù)的使用分析

    c++中,如果為一個類沒有明確定義一個構(gòu)造函數(shù),那么,編譯器就會自動合成一個默認的構(gòu)造函數(shù)。下面,通過匯編程序,來看一下其真實情況
    2013-05-05
  • C++特殊成員詳解

    C++特殊成員詳解

    這篇文章主要為大家介紹了C++特殊成員,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助,希望能夠給你帶來幫助
    2021-11-11
  • C語言深入講解宏的定義與使用方法

    C語言深入講解宏的定義與使用方法

    在 C 語言中,可以采用命令 #define 來定義宏。該命令允許把一個名稱指定成任何所需的文本,例如一個常量值或者一條語句。在定義了宏之后,無論宏名稱出現(xiàn)在源代碼的何處,預(yù)處理器都會把它用定義時指定的文本替換掉
    2022-04-04

最新評論