码迷,mamicode.com
首页 > 其他好文 > 详细

计算vtkRender的屏幕坐标范围和物理坐标范围

时间:2017-05-10 00:11:19      阅读:568      评论:0      收藏:0      [点我收藏+]

标签:ble   包含   render   view   计算过程   window   this   get   检测   

vtkRenderWindow可以包含多个vtkRender,在模型检测等计算过程中需要计算一些vtkRender的屏幕范围和物理范围,最近想了一种方案:

计算屏幕坐标范围:

double vp[4];
this->Renderer->GetViewport(vp);

this->Renderer->NormalizedDisplayToDisplay(vp[0], vp[1]);
this->Renderer->NormalizedDisplayToDisplay(vp[2], vp[3]);

double dx = vp[2] - vp[0];
double dy = vp[3] - vp[1];

计算物理坐标范围:

double vp[4];
this->Renderer->GetViewport(vp);

double wp1[3] = { vp[0], vp[1], 0.0 };
double wp2[3] = { vp[2], vp[3], 0.0 };

this->Renderer->NormalizedDisplayToViewport(wp1[0], wp1[1]);
this->Renderer->ViewportToNormalizedViewport(wp1[0], wp1[1]);
this->Renderer->NormalizedViewportToView(wp1[0], wp1[1], wp1[2]);
this->Renderer->ViewToWorld(wp1[0], wp1[1], wp1[2]);

this->Renderer->NormalizedDisplayToViewport(wp2[0], wp2[1]);
this->Renderer->ViewportToNormalizedViewport(wp2[0], wp2[1]);
this->Renderer->NormalizedViewportToView(wp2[0], wp2[1], wp2[2]);
this->Renderer->ViewToWorld(wp2[0], wp2[1], wp2[2]);

 

计算vtkRender的屏幕坐标范围和物理坐标范围

标签:ble   包含   render   view   计算过程   window   this   get   检测   

原文地址:http://www.cnblogs.com/xuhui24/p/6833260.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!