VTK滑鼠選點

2021-07-05 15:32:22 字數 1935 閱讀 4937

開啟點雲後用滑鼠選點並輸出選中點資訊:

// catch mouse events

class mouseinteractorstyle : public vtkinteractorstyletrackballcamera

virtual void onleftbuttondown()

// forward events

vtkinteractorstyletrackballcamera::onleftbuttondown();

} vtksmartpointerdata;

vtksmartpointerselectedactor;

};vtkstandardnewmacro(mouseinteractorstyle);

int main (int, char *)

vtksmartpointerpolyvertex = vtksmartpointer::new();//vtkcell的具體實現

polyvertex->setnumberofcells(n);//設定id個數

int i = 0;

for(i=0;iinsertnextcell(1,cell);//第乙個引數:cell由乙個點組成;第二個引數:組成cell的pointid

} vtksmartpointergrid = vtksmartpointer::new();

grid->setpoints(points);

grid->setverts(polyvertex);//設定建立vertex的cell array

grid->getpointdata()->setscalars(scalar);

double p[3];

grid->getpoint(384456,p);

std::cout << "point 384456"<< " : (" << p[0] << " " << p[1] << " " << p[2] << ")" << std::endl;

vtksmartpointeractor =

vtksmartpointer::new();

actor->getproperty()->setcolor(0,1,0); //green

vtksmartpointerrenderer =

vtksmartpointer::new();

vtksmartpointerrenderwindow =

vtksmartpointer::new();

renderwindow->addrenderer(renderer);

vtksmartpointerrenderwindowinteractor =

vtksmartpointer::new();

renderwindowinteractor->setrenderwindow(renderwindow);

renderwindowinteractor->initialize();

// set the custom stype to use for interaction.

vtksmartpointerstyle =

vtksmartpointer::new();

style->setdefaultrenderer(renderer);

style->data = grid;

renderwindowinteractor->setinteractorstyle(style);

renderer->addactor(actor);

renderer->resetcamera();

renderer->setbackground(0,0,0); // black

renderwindow->render();

renderwindowinteractor->start();

return exit_success;

}

vtk滑鼠不互動 數字互動簡史

從穿孔紙帶到人工智慧 互動設計是隨著現代計算機技術的發展而逐漸興起的。隨著計算機技術的發展我們生活中充滿了數字產品,這是由人類所創造的自然界中完全不存在的新事物,人們不會像與其他自然事物交流溝通那樣很好的理解數字產品,因此就需要互動設計來讓人們理解它。從上世紀五十年代計算機被發明出來到現在,計算機技...

VTK 滑鼠畫線(點移動線可同步更新)

滑鼠互動事件 點兩個點形成一條線 通過滑鼠點兩個點,同時標記這兩個點,形成一條線。只有一條線,並不是每次點兩個點都會新出現一條線 這個版本是個初級版本,後面我也實現了任意拖動乙個點,直線會相應發生變化,以及兩點在z軸上的變動,線也會同步更新 太多所以我也沒有貼上來,有需要了我會發出來!double ...

VTK學習(八)vtk管線

vtk module init vtkinteractionstyle int main int argc,char argv vtk兩個重要概念,一,渲染引擎,負責資料的視覺化表達。二,視覺化管線,指用於獲取資料,處理資料以及把資料寫入檔案或者把資料傳入渲染引擎進行顯示。資料物件,處理物件,資料流...