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

C++中VTK9.3.0刻度標(biāo)簽重疊的問(wèn)題記錄

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

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

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

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

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

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

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

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

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

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

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

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

.h中

  //whl設(shè)置某個(gè)軸劃分刻度區(qū)間的個(gè)數(shù),可防止軸刻度文本重疊:nAxis軸號(hào),bFlag設(shè)置/取消設(shè)置的標(biāo)志,nMajorNum劃分區(qū)間的個(gè)數(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、使用時(shí),在調(diào)用VTK軸相關(guān)的地方(代碼中還增加了Z軸標(biāo)簽旋轉(zhuǎn)90°,效果更好)

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

7、最終結(jié)果:

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

相關(guān)文章

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

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

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

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

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

    C#開(kāi)源類庫(kù)SimpleTCP使用方法

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

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

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

    C++對(duì)象模型和this指針詳解

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

    鏈接庫(kù)動(dòng)態(tài)鏈接庫(kù)詳細(xì)介紹

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

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

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

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

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

    C++特殊成員詳解

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

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

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

最新評(píng)論