CadCaeCam.com是目前CAD/CAE/CAM/PLM类专业网站中,用户最多,技术含量最高的网站之一, 涵盖目前所有常用的C3P类软件技术讨论。

C3P专业门户

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 50963|回复: 236

一个面绘制例子

  [复制链接]
发表于 2000-10-5 10:32:13 | 显示全部楼层 |阅读模式
一个面绘制例子-VTK
游客,如果您要查看本帖隐藏内容请回复
发表于 2000-10-5 10:42:12 | 显示全部楼层
顶 hongtong 斑竹, 很不错啊,给我们学习vtk提供莫大的帮忙,谢谢你
2 S  n) H3 x; P& P4 W以下是方便大家,贴出里面的关键代码
- L) Q" n7 F7 z! P' T" S8 M//
1 r7 G$ [" ^& T/ c//知周( q5 ~* q# Y6 H: j; W
//4 A1 i! i( a. }2 u
1 O' l6 d& p# l, L2 i3 A
#include "vtkRenderer.h"
* s6 ?8 h9 g" ^  f$ f#include "vtkRenderWindow.h"
( u0 G! ~; ^* Q8 p#include "vtkRenderWindowInteractor.h"2 ~1 P' @, I$ @* w# X  j
#include "vtkProperty.h"
: V/ j8 c9 f3 \) t0 J& L2 r#include "vtkCamera.h"
7 P! j' l) O* {) {  b: |3 K#include "vtkPolyDataMapper.h"
% O% V; R) f! O5 B2 ^#include "vtkPolyDataNormals.h"6 G& W' ~7 s3 d7 q4 _2 U: P0 \
#include "vtkContourFilter.h"5 H1 l2 j7 O  U$ b/ _2 _
#include "vtkPLOT3DReader.h"
9 @' ]* F% n5 B9 y+ M# {#include "vtkSLCReader.h"- o, ~) f! ]; k+ Q

3 J7 P, W9 L6 T% p3 q
% Z8 {) N' t( z% A#pragma comment (lib, "vtkGraphics.lib")6 g5 V8 Z' ?: e" `
#pragma comment (lib, "vtkFiltering.lib")
2 u5 v( O! p5 u4 [1 l% ^' G& w#pragma comment (lib, "vtkRendering.lib")3 K; [9 q# j) f( Q/ v( e0 ?/ E
#pragma comment (lib, "vtkIO.lib")/ |- U- F/ _/ e9 H8 ?) u. O
) x8 K1 H5 `/ _4 N2 b

6 q9 {! P/ H9 F" U- E5 rint main (int argc, char **argv); i& z% u) @) ?" G8 a) ]& o% P5 Q
{# Z( [  Z5 p' t* b' w
  vtkRenderer *aRenderer = vtkRenderer::New();
& c3 H- o5 o* `% e- U  vtkRenderWindow *renWin = vtkRenderWindow::New();
: [& C2 D/ [' k( t4 q   renWin->AddRenderer(aRenderer);
4 s$ U4 d% T8 m* K9 X" `; j9 f( v  vtkRenderWindowInteractor *iren = vtkRenderWindowInteractor::New();
) a; z) ]" P; B! R' j* q! N3 R$ j   iren->SetRenderWindow(renWin);
) _2 c% K. h7 R
9 t" h  m7 p8 E2 I# Y  vtkPLOT3DReader *pl3d = vtkPLOT3DReader::New();
2 K" a  B: g# q6 g   pl3d->SetXYZFileName(".\\combxyz.bin");
/ M7 y- S, H/ [6 h   pl3d->SetQFileName(".\\combq.bin");
+ M; }% ^+ N  M- F" J3 m7 |: ^4 L   pl3d->SetScalarFunctionNumber(100);
2 j; X* O4 i. i3 e( s   pl3d->SetVectorFunctionNumber(202);6 E8 T/ C6 u0 G3 D
   pl3d->Update();* Y3 m/ w4 h8 K' O
& s1 a, H1 K8 F0 ~' a# K
  vtkContourFilter *filter = vtkContourFilter::New();: M' }( w- U; w9 y# o% g  G
   filter->SetInputConnection(pl3d->GetOutputPort());
! P* U! C5 [. O- I9 A. h   filter->SetValue(0,.22);
  n* C+ @4 T2 ?* X5 F+ n  vtkPolyDataNormals *normals = vtkPolyDataNormals::New();5 J, t' n4 a! D% b) J* }( H. D7 `
   normals->SetInputConnection(filter->GetOutputPort());
7 X5 \/ @/ W$ b3 s. U$ R4 o   normals->SetFeatureAngle(45);+ F, @) j$ @" g* Y
  vtkPolyDataMapper *Mapper = vtkPolyDataMapper::New();
! `! I9 P+ z3 `$ Z   Mapper->SetInputConnection(normals->GetOutputPort());
1 |0 p& v/ A6 a8 u' ^+ l9 M& ^   Mapper->ScalarVisibilityOff();1 p  w! P) N8 n" E7 c
  vtkActor *Actor = vtkActor::New();& D  C! x3 K' h/ @( F( `
   Actor->SetMapper(Mapper);
+ |( `! o0 P+ j   Actor->GetProperty()->SetDiffuse(.8);: h9 [+ [" F& c0 N5 L; u
   Actor->GetProperty()->SetSpecular(.5);
' j' t5 G' a6 F5 y. T& I, y   Actor->GetProperty()->SetSpecularPower(30);
" a( m/ u2 O& v! i0 ^0 v+ ]  6 N+ \. h* o, H" a# r9 K
  aRenderer->AddActor(Actor);
1 H1 H7 h* Q/ B" f" ~' p  aRenderer->SetBackground(1,1,1);7 V! ?* S6 u& [9 g& b% L0 Q
  renWin->SetSize(320,240);" z5 ^# \9 `; n  C5 ?  k
  aRenderer->ResetCameraClippingRange();
' S& x& n3 Y- i5 u  iren->Initialize();/ ?( g' o$ d0 [! E, h: J- E+ h7 D0 Y
  iren->Start(); ' ~  c. S( D# |: Z4 m/ e$ ^" k
) W6 g; l- t' D; D
  aRenderer->Delete();8 B, W( @' e; `0 T% s
  renWin->Delete();
9 x, g$ S& w5 [- Y8 p7 P+ }/ S  iren->Delete();
+ \* v  J6 B, C# b. }; ~% b  
, K, l3 H5 G( n+ i2 s  return 0;1 ]1 V; ^3 ]/ _0 b* k% l7 u
}
发表于 2000-10-5 10:43:16 | 显示全部楼层
如果有图片显示运行结果更好
. N0 Y; x+ X1 `( k1 [% _1 P) D我们看的更直观哦
发表于 2000-10-17 17:18:21 | 显示全部楼层
来了就顶
发表于 2000-10-17 18:13:42 | 显示全部楼层
我也来支持一下hongtong斑竹。
发表于 2000-10-18 22:31:44 | 显示全部楼层
谢谢呀。期望着更多的共享。
发表于 2000-10-19 09:18:59 | 显示全部楼层
谢谢哦!
发表于 2000-10-30 10:38:49 | 显示全部楼层
非常感谢
发表于 2000-11-11 16:28:06 | 显示全部楼层
不错啊
发表于 2000-11-11 16:28:25 | 显示全部楼层
不错啊
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|手机版|小黑屋|CadCaeCamPlm专业门户网站 ( 蜀ICP备05008798号 ) 网站速度测试

GMT+8, 2019-4-21 23:22 , Processed in 0.093804 second(s), 23 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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