vtk的小總結 1 基礎知識

2021-07-11 08:53:21 字數 1814 閱讀 2314

也是因為需要,所以要學一點點vtk。藉此發一點點總結,希望能有一點用。

1、 vtk裡每個類的建構函式都定義為保護成員,所以不能直接類名+例項進行定義物件。要使用智慧型指標vtksmartpointerrenwin = vtksmartpointer::new();  

如果使用的是*和::new()方法實現的,這裡的new()需要在生命週期結束前使用delete()刪除。

2、 vtkcylindersource::setresolution(10)設定柱面10面;     

vtkcylindersource生成的資料型別就是vtkpolydata;      

vtkactor:vtkprop 而其中的vtkprop就是資料存在於渲染場景中的形式。其子類vtkactor表達場景中的幾何資料,vtkvolume表達場景中的體資料

vtkrenderwindow:直接使用來建立作業系統的vtk渲染引擎  其中包含了vtkrender集合、渲染引數。addrender()方法用於加入vtkrender物件,setsize()設定視窗。  

vtkrender:負責管理場景的渲染過程(p24詳細介紹)

vtklight:設定位置燈光和方向燈光

vtkcamera:設定相機

vtkcolor:負責顏色實現工作

vtkstructureedpointsreader:讀入此型別的vtk檔案

3、 vtk採用rgb和hsv兩種顏色系統來描述顏色

4、vtkcoordinate:用來管理座標系之間的變換p46

5、vtk中的空間變換相關的類:

vtktransform2d,vtktransform,vtkperspectivetransform,vtkgeneraltransform,vtktransformfilter,vtkmatrix4x4;

6、vtkrendering engine(渲染引擎)和visualizationpipeline(視覺化管線)

7、vtkmarchingcubes:移動立方法提取等值面:

vtksmartpointermarchingcubes=vtksmartpointer:new();

marchingcubes->setinputconnection(reader->getoutputport());

marchingcubes->setvalue(0,500);

類似於vtkmarchingcubes的對資料處理對類稱為filter

8、visuallizationpipeline中採用lazyevaluation(惰性賦值)的方法來控制管線的執行。就是vtkobject中有乙個重要的成員變數為mtime,並且採用的是demanddriven,即只有在發出請求的時候才控制管線的執行。

9、update()函式會在render()函式執行的時候自動呼叫,如果你要在程式中間顯式地輸入資料,那麼必須手動地呼叫update()函式。

10、引用計數功能,就是在程式中有可能有重複的值,將這些資料共享,同時只生成乙份資料,並且在引用的物件都被移除的時候,就自動析構。

11、reader->isa(「型別」)用來判斷物件是不是這個型別的。

reader->getclassname()用來返回當前物件的型別。

vtk中的資料傳是通過port來實現的,具體而言就是,visuallizationpipeline是通過setinputconnection()和getputputport()來完成的。並且輸入輸出的資料需要是相同型別的。

bmp是windows下的一種影象格式

在函式返回值中,可以返回智慧型指標,並且在函式中被宣告的物件不會被刪除,但是你必須使用智慧型指標的引用去接收函式的返回值。不然會導致智慧型指標計數變成0,從而返回了懸空指標。

VTK基礎知識整理

最近在做的專案需要用到vtk,把一些基礎知識整理一下記錄下來,方便以後檢視。vtk的工作原理 vtk通過資料流實現變資訊為圖形資料的。要理解工作原理,首先明確幾個型別 1.vtksource 資料來源 這個就好比乙個劇本裡面的角色,讓演員知道要演的是什麼人物。資料來源有 vtkconesource,...

TD SCDMA基礎知識總結1

td scdma基礎1 切換整體過程 測量過程 預同步過程 接力切換 判決過程 執行過程 1g 2a 3a的 measurement control 訊息在dcch 上傳輸,即 ue進入 cell dch 狀態後的任何時刻,rnc都可以向 ue傳送 measurement control 訊息 1g...

vue基礎知識總結(1)

beforecreat created beforemount mounted beforedestroy destroyed beforeupdate updated var vm new vue watch lastname function methods 計算屬性 有快取 computed ...