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

C3P专业门户

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 50856|回复: 236

一个面绘制例子

  [复制链接]
发表于 2000-10-5 10:32:13 | 显示全部楼层 |阅读模式
一个面绘制例子-VTK
游客,如果您要查看本帖隐藏内容请回复
发表于 2000-10-5 10:42:12 | 显示全部楼层
顶 hongtong 斑竹, 很不错啊,给我们学习vtk提供莫大的帮忙,谢谢你
* ]! s6 p: t$ `# A以下是方便大家,贴出里面的关键代码6 X# i/ b- K6 F0 U6 U. B' w
//
; v1 F* P) v  h0 i: t# Y3 L//知周  @# E$ c' {  z' D3 `) @$ f  D
//0 V6 L$ j. j- t  M5 J- i

) ~/ m8 g/ n+ }2 R" s9 n8 _/ I. P#include "vtkRenderer.h"
: W% ?  m7 l  A6 K#include "vtkRenderWindow.h"
& r0 s4 r9 n5 I+ c#include "vtkRenderWindowInteractor.h"+ l' |3 a' L5 C4 |0 a
#include "vtkProperty.h"5 o+ v9 M' P; d) M1 V9 \0 D& P
#include "vtkCamera.h"
1 {. ^* c" X% X6 A; U$ d# H! h6 K#include "vtkPolyDataMapper.h"1 [' `0 g8 B* @' ^
#include "vtkPolyDataNormals.h"
  e+ D$ X) Y5 O/ q# Q, C#include "vtkContourFilter.h"
4 D9 A' F6 U7 f: f& f#include "vtkPLOT3DReader.h"
1 k- [- d+ I/ C#include "vtkSLCReader.h"# e$ h) A8 X4 b' Y5 H. }6 @- [/ C! r9 L$ V
! V8 i1 W( `+ l4 ^6 q* t' d
6 h9 K. S) \7 r& S1 K4 C& L7 m
#pragma comment (lib, "vtkGraphics.lib")
  Q( Z4 |$ y& L6 N8 U, D6 f#pragma comment (lib, "vtkFiltering.lib")5 j' a* b) C. D( U# _8 q- w6 L
#pragma comment (lib, "vtkRendering.lib")
9 `+ v; O8 H. |$ s; k( b% a  [6 c#pragma comment (lib, "vtkIO.lib")9 ^' \( S3 S6 V& B8 n! ]
4 {1 q5 h" x- L& q& w
+ }/ r& G& I; H) [& \* }# O2 M) B
int main (int argc, char **argv)
  T3 z2 Y% I% X1 e% t+ O{4 o4 x; G8 ?# r' ?- s8 C
  vtkRenderer *aRenderer = vtkRenderer::New();* @1 I& B8 m" G4 L7 L: B
  vtkRenderWindow *renWin = vtkRenderWindow::New();
  e( _" e" ?- j* @6 [) F( r6 ~   renWin->AddRenderer(aRenderer);
. |8 \  a$ D, s% f  vtkRenderWindowInteractor *iren = vtkRenderWindowInteractor::New();
6 d- ~4 M! a* T) [6 [- K   iren->SetRenderWindow(renWin);5 W4 ^$ [3 x, u1 p8 Z
  t9 F$ Q1 \# z3 w6 P5 E: D( L
  vtkPLOT3DReader *pl3d = vtkPLOT3DReader::New();
) C$ X7 w* k! t( _$ u5 p   pl3d->SetXYZFileName(".\\combxyz.bin");; j4 Q3 C+ U0 S3 B9 n
   pl3d->SetQFileName(".\\combq.bin");
4 S! E. F* V3 q( c3 b' |   pl3d->SetScalarFunctionNumber(100);
' n$ Q9 |; b) w   pl3d->SetVectorFunctionNumber(202);
* E" \- {& M+ x$ M# {$ }   pl3d->Update();
% o- H+ C% o  X) d9 c1 x$ `" U1 o' H6 K+ V9 k; Y' j
  vtkContourFilter *filter = vtkContourFilter::New();
1 g  s/ O$ P$ _5 ?" {; S   filter->SetInputConnection(pl3d->GetOutputPort());
# }1 }; X' G+ p) ?# O   filter->SetValue(0,.22);, b+ @8 s9 ?3 q* A6 B8 |4 n1 B/ I
  vtkPolyDataNormals *normals = vtkPolyDataNormals::New();1 o6 R+ S& f: R$ M/ P0 X& _# O
   normals->SetInputConnection(filter->GetOutputPort());( o9 f9 L* h2 h7 t) E! |! N1 |
   normals->SetFeatureAngle(45);2 @+ f- j4 Y6 [8 m- o
  vtkPolyDataMapper *Mapper = vtkPolyDataMapper::New();, b! {! u( F/ H* `( g" m
   Mapper->SetInputConnection(normals->GetOutputPort());( j4 `4 N; K3 m; Z
   Mapper->ScalarVisibilityOff();
5 f- \7 b# o; a- m  c) S  vtkActor *Actor = vtkActor::New();
1 T2 L- N! c( L( r2 E7 O   Actor->SetMapper(Mapper);
( I& q0 Q: ?$ M9 q0 h  _* f   Actor->GetProperty()->SetDiffuse(.8);0 U+ ~( O6 M  K( M4 C
   Actor->GetProperty()->SetSpecular(.5);
  f  n% ?4 ?( |/ [! l# g: C0 ~   Actor->GetProperty()->SetSpecularPower(30);
% N, \9 K  e; ?1 f! J" m  1 Z9 t+ F' q, \, ~$ A( e
  aRenderer->AddActor(Actor);8 }( _  O0 t) v: i0 ~
  aRenderer->SetBackground(1,1,1);) n2 P  z  c/ V/ y  n/ ]* x* F4 ]
  renWin->SetSize(320,240);' }# U9 ^6 e' Q" c* V: S9 P' D' t) G
  aRenderer->ResetCameraClippingRange();  ]9 O& i7 T& @- a" `, k2 G
  iren->Initialize();
5 P% s: a: ~9 F1 O; k  iren->Start(); 7 @! h( V6 s4 x8 Y3 @; ^+ _4 c5 R
; O5 w5 |# r& n; ?) r- o8 m% E
  aRenderer->Delete();
) v" K5 m, U( g3 l: p/ L  renWin->Delete();/ G+ z. `! m, m8 _% L
  iren->Delete();
$ r7 F2 I: Y/ A% u3 O) K  
: |, E7 j! |  }+ b3 o- O  return 0;" C6 ~' w, H+ i# |4 F. [
}
发表于 2000-10-5 10:43:16 | 显示全部楼层
如果有图片显示运行结果更好! Z0 o8 v* b) E' r* g* z$ u
我们看的更直观哦
发表于 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-2-23 05:43 , Processed in 0.101895 second(s), 23 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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