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

C3P专业门户

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 50585|回复: 236

一个面绘制例子

  [复制链接]
发表于 2000-10-5 10:32:13 | 显示全部楼层 |阅读模式
一个面绘制例子-VTK
游客,如果您要查看本帖隐藏内容请回复
发表于 2000-10-5 10:42:12 | 显示全部楼层
顶 hongtong 斑竹, 很不错啊,给我们学习vtk提供莫大的帮忙,谢谢你) n/ j6 p! g5 E( n3 P
以下是方便大家,贴出里面的关键代码
' Z$ T3 i, C# ~/ q; U1 b6 w/ K//9 I" w" R; B' S
//知周; k: a9 C% {2 p. i$ a: J  F
//* x% C0 Y! ?" D" }# ~

: l1 q8 N- s# R& Z; }8 P) S#include "vtkRenderer.h"# w# Z# D  f* i% l, w" n  Q; S% H. c
#include "vtkRenderWindow.h"
7 ]7 L% P$ ~+ V6 Q1 n% [#include "vtkRenderWindowInteractor.h"
+ L( l( O( x) U5 y1 S7 B#include "vtkProperty.h"! ~; P* M. t* j  ~! T
#include "vtkCamera.h"# N: K4 K  \8 f: p
#include "vtkPolyDataMapper.h"
4 N% G5 e2 Q) ]9 t+ r5 q#include "vtkPolyDataNormals.h"* W% D1 `+ Q' J/ @% V
#include "vtkContourFilter.h"
" p7 K7 ~$ r3 H* @#include "vtkPLOT3DReader.h"# ^% k1 l/ S( Q4 o
#include "vtkSLCReader.h"0 p7 R/ R! P9 |. @7 h1 c, q' T3 B
: `( J- B$ t( C5 e2 }

  Q; |9 T' M) d0 M/ I1 r% `#pragma comment (lib, "vtkGraphics.lib")
9 Z* A6 k2 z$ s+ T! K: I#pragma comment (lib, "vtkFiltering.lib")
. t* N! Q- V: g  f0 C7 V: I#pragma comment (lib, "vtkRendering.lib")8 {. T) q: k8 \" r+ o2 A
#pragma comment (lib, "vtkIO.lib")) M7 P/ ?; n0 N: l3 j2 Y3 W
% P6 P/ U7 o* H3 C

1 D" d: h8 N' X* G; Gint main (int argc, char **argv)
+ K5 b4 g3 N; _{
7 n; e( {" [  i+ G+ ~+ r  vtkRenderer *aRenderer = vtkRenderer::New();
% N- x" Q$ Y/ n  vtkRenderWindow *renWin = vtkRenderWindow::New();2 K+ H1 S" ^7 @8 ]
   renWin->AddRenderer(aRenderer);
& w1 q6 V' u. L  X7 ?! |  vtkRenderWindowInteractor *iren = vtkRenderWindowInteractor::New();
7 I- z- E6 D4 n1 f7 c' Z   iren->SetRenderWindow(renWin);
/ d% i4 L' O) k6 e! n  `
' c" y. C. R7 _1 ^  vtkPLOT3DReader *pl3d = vtkPLOT3DReader::New();. C# D' n: p! y3 v7 Q
   pl3d->SetXYZFileName(".\\combxyz.bin");
$ [6 m3 d# f' v9 j3 s2 O& a  l   pl3d->SetQFileName(".\\combq.bin");
8 t: N6 M# Q* m' `! b* k6 X. @. ^   pl3d->SetScalarFunctionNumber(100);, R/ X3 M" j; l
   pl3d->SetVectorFunctionNumber(202);
# |3 A% [. Q6 Z% }& T   pl3d->Update();2 O& |- i7 d' u& ~
0 Y: q3 W: W) y
  vtkContourFilter *filter = vtkContourFilter::New();! }; W, C) p. `( b& }
   filter->SetInputConnection(pl3d->GetOutputPort());
  i7 @8 C* d% |; N   filter->SetValue(0,.22);1 ?( M; @+ m  g  o3 Q' A3 q8 M
  vtkPolyDataNormals *normals = vtkPolyDataNormals::New();
  p4 I& b1 o( K; s9 f2 D   normals->SetInputConnection(filter->GetOutputPort());
" H7 p, f! x; a2 I   normals->SetFeatureAngle(45);
& t, Z  D7 f/ b+ z: x  p7 T, U  vtkPolyDataMapper *Mapper = vtkPolyDataMapper::New();
) c4 ^7 B5 S3 G4 q% R   Mapper->SetInputConnection(normals->GetOutputPort());4 n9 e& U0 Q( S) C! T+ \
   Mapper->ScalarVisibilityOff();
% Q. B3 |% G$ Z8 h  vtkActor *Actor = vtkActor::New();7 A' v/ |+ S0 f! o+ b6 c) p" P4 r! W
   Actor->SetMapper(Mapper);+ Z( l. j9 G- F: R" d
   Actor->GetProperty()->SetDiffuse(.8);' z  e8 L$ j. q9 _0 x5 f* @. j& U
   Actor->GetProperty()->SetSpecular(.5);2 Z- _3 ]/ D" f* ^
   Actor->GetProperty()->SetSpecularPower(30);
+ D( S# F+ s' a* `, k: }3 w  
2 ?; `: O6 Y9 q1 L' I  aRenderer->AddActor(Actor);
3 V( {9 q: z/ X: _2 ]# ^/ N% Q+ j  aRenderer->SetBackground(1,1,1);4 i/ X% n2 B6 N
  renWin->SetSize(320,240);
# l6 ?+ h( s) h, }/ F4 l8 l0 a. o% Q  aRenderer->ResetCameraClippingRange();
; P6 g3 M  a, O6 h6 B- h7 I  iren->Initialize();9 b: N$ ]; j- V& W
  iren->Start();
3 Z0 Y! R' Z! e( _
% P4 _- Q- |! N, E" z+ J5 Z% T  aRenderer->Delete();' {9 f( v  ?- Q4 r
  renWin->Delete();! t# `" I! T4 U
  iren->Delete();9 A! o2 f1 F$ B
  $ j& C  |, B- u
  return 0;0 a8 B, z7 K  c5 Y2 t
}
发表于 2000-10-5 10:43:16 | 显示全部楼层
如果有图片显示运行结果更好
; D( v# A! [/ b8 r2 M我们看的更直观哦
发表于 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, 2018-12-17 02:55 , Processed in 0.111440 second(s), 23 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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