网页
资讯
视频
图片
知道
文库
贴吧
地图
采购
进入贴吧
全吧搜索
吧内搜索
搜贴
搜人
进吧
搜标签
日
一
二
三
四
五
六
签到排名:今日本吧第
个签到,
本吧因你更精彩,明天继续来努力!
本吧签到人数:0
一键签到
成为超级会员,使用一键签到
一键签到
本月漏签
0
次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行
补签
。
连续签到:
天 累计签到:
天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
04月28日
漏签
0
天
vtk吧
关注:
1,233
贴子:
10,455
看贴
图片
吧主推荐
游戏
3
回复贴,共
1
页
<<返回vtk吧
>0< 加载中...
多个actor的拾取高亮事件
只看楼主
收藏
回复
rabbitbride
初三年级
12
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
来自很久前网上的一个帖子,貌似选择搜不到了。
先来两个actor :vtkSphereSource vtkCylinderSource
rabbitbride
初三年级
12
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
要实现的功能:
1、视图中的任一个actor后,被选中高亮
2、同时,除被选中actor外,都恢复正常
rabbitbride
初三年级
12
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
主要是一个vtkCommand
class vtkButtonCallback : public vtkCommand
{
public:
static vtkButtonCallback *New()
{ return new vtkButtonCallback; }
virtual void Execute(vtkObject *caller, long unsigned int eventId, void*)
{
vtkRenderWindowInteractor *iren = vtkRenderWindowInteractor::SafeDownCast(caller);
int x = iren->GetEventPosition()[0];
int y = iren->GetEventPosition()[1];
vtkRenderer *CurrentRenderer = iren->FindPokedRenderer(x,y);
vtkCellPicker *Picker = vtkCellPicker::SafeDownCast(iren->GetPicker());
Picker->Pick(x, y, 0.0, CurrentRenderer);
vtkProp *prop = Picker->GetViewProp();
if (prop != NULL)
{
vtkActor *InteractionProp = vtkActor::SafeDownCast(prop);
if (eventId == vtkCommand::LeftButtonPressEvent)
{
InteractionProp->GetProperty()->SetOpacity(1.0);
}
else if (eventId == vtkCommand::MouseMoveEvent)
{
InteractionProp->GetProperty()->SetOpacity(0.5);
}
}
}
};
rabbitbride
初三年级
12
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
使用方法:
vtkCellPicker *InteractionPicker = vtkCellPicker::New();
iren->SetPicker(InteractionPicker);
vtkButtonCallback *myBtnCallback = vtkButtonCallback::New();
iren->AddObserver(vtkCommand::LeftButtonPressEvent, myBtnCallback);
iren->AddObserver(vtkCommand::MouseMoveEvent, myBtnCallback);
登录百度账号
扫二维码下载贴吧客户端
下载贴吧APP
看高清直播、视频!
贴吧页面意见反馈
违规贴吧举报反馈通道
贴吧违规信息处理公示