医站点医维基

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 983|回复: 7

[VTK] VTK例子11-SelectionLoop球的碎片

[复制链接]

336

主题

410

回帖

2806

积分

管理员

积分
2806

热心会员推广达人优秀版主荣誉管理论坛元老

发表于 2015-12-5 17:44:04 | 显示全部楼层 |阅读模式
SelectionLoop球的碎片
#include "stdafx.h"
#include "vtkDataSetMapper.h"
#include "vtkPolyDataMapper.h"
#include "vtkRenderWindow.h"
#include "vtkRenderWindowInteractor.h"
#include "vtkCamera.h"
#include "vtkActor.h"
#include "vtkRenderer.h"
#include "vtkPolyData.h"
#include "vtkConnectivityFilter.h"
#include "vtkContourFilter.h"
#include "vtkPoints.h"
#include "stdio.h"
#include <time.h>
#include <vtkExtractGeometry.h>
#include <vtkProperty.h>
#include <vtkCellArray.h>
#include <vtkImplicitSelectionLoop.h>
#include <vtkSphereSource.h>
void main()
{
  srand(time(NULL)) ;
//  rand()/RAND_MAX;//    0 - RAND_MAX
  vtkRenderer *ren = vtkRenderer::New();
  vtkRenderWindow *renWindow = vtkRenderWindow::New();
    renWindow->AddRenderer(ren);
  renWindow->SetSize( 600, 600 );
    vtkRenderWindowInteractor *iren = vtkRenderWindowInteractor::New();
    iren->SetRenderWindow(renWindow);
vtkSphereSource *sphere=vtkSphereSource::New();
    sphere-> SetRadius(1);
    sphere-> SetPhiResolution (100);
    sphere ->SetThetaResolution (100);
vtkPoints *selectionPoints=vtkPoints::New();
    selectionPoints-> InsertPoint( 0 ,0.07325 ,0.8417, 0.5612);
    selectionPoints-> InsertPoint(  1, 0.07244, 0.6568, 0.7450);
    selectionPoints ->InsertPoint(  2, 0.1727, 0.4597, 0.8850);
    selectionPoints-> InsertPoint(  3, 0.3265, 0.6054, 0.7309);
    selectionPoints-> InsertPoint(  4, 0.5722, 0.5848, 0.5927);
    selectionPoints-> InsertPoint(  5, 0.4305, 0.8138, 0.4189);
vtkImplicitSelectionLoop *loop=vtkImplicitSelectionLoop::New();
    loop-> SetLoop (selectionPoints);
vtkExtractGeometry *extract=vtkExtractGeometry::New();
    extract-> SetInputConnection (sphere->GetOutputPort());
    extract-> SetImplicitFunction (loop);
vtkConnectivityFilter *connect=vtkConnectivityFilter::New();
    connect-> SetInputConnection (extract-> GetOutputPort());
    connect-> SetExtractionModeToClosestPointRegion();
    connect-> SetClosestPoint(selectionPoints->GetPoint (0));
vtkDataSetMapper *clipMapper=vtkDataSetMapper::New();
    clipMapper-> SetInputConnection(connect-> GetOutputPort());
vtkProperty *backProp=vtkProperty::New();
    backProp->SetDiffuseColor(1,0.7,0);
vtkActor *clipActor=vtkActor::New();
    clipActor-> SetMapper(clipMapper);
    clipActor-> GetProperty()->SetColor(0.0,0.3,0.7);
    clipActor-> SetBackfaceProperty(backProp);
//////////////
ren->AddActor(clipActor);
iren->Initialize();
renWindow->Render();
iren->Start();
}
11.png
回复

使用道具 举报

4

主题

241

回帖

561

积分

高级会员

积分
561

最佳新人

发表于 2016-5-11 05:29:46 | 显示全部楼层
好文章,值得学习,顶起来
回复

使用道具 举报

4

主题

241

回帖

561

积分

高级会员

积分
561

最佳新人

发表于 2016-5-15 20:15:24 | 显示全部楼层
顶!!!!!!!!!
回复

使用道具 举报

37

主题

407

回帖

1137

积分

版主

积分
1137

热心会员推广达人优秀版主荣誉管理论坛元老

发表于 2016-5-18 13:58:58 | 显示全部楼层
好贴,顶起
回复

使用道具 举报

26

主题

419

回帖

1128

积分

版主

积分
1128

热心会员推广达人优秀版主荣誉管理论坛元老

发表于 2016-5-18 16:21:33 | 显示全部楼层
好贴!!!
回复

使用道具 举报

0

主题

412

回帖

1035

积分

版主

积分
1035

热心会员推广达人优秀版主荣誉管理论坛元老

发表于 2016-5-18 21:55:42 | 显示全部楼层
谢谢分享
回复

使用道具 举报

149

主题

462

回帖

1611

积分

版主

积分
1611

热心会员推广达人优秀版主荣誉管理论坛元老

发表于 2016-5-21 12:27:35 | 显示全部楼层
看看学习一下!
回复

使用道具 举报

24

主题

462

回帖

1231

积分

版主

积分
1231

热心会员推广达人优秀版主荣誉管理论坛元老

发表于 2016-5-23 18:22:12 | 显示全部楼层
谢谢你的辛苦劳动了!!!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|关于我们|医维基|网站地图|Archiver|手机版|医疗之家 ( 沪ICP备2023001278号-1 )  

GMT+8, 2024-5-2 13:22 , Processed in 0.212685 second(s), 31 queries .

Designed by Medical BBS

快速回复 返回顶部 返回列表