VTK学习笔记之二、VTK系统综述

本文是VTK学习笔记的第二部分,主要介绍VTK的目录结构、核心类VTKObject、引用计数机制、运行时类型信息以及渲染引擎的关键组件,如vtkProp、vtkAbstractMapper和vtkRenderer等。VTK渲染引擎负责数据的可视化显示,而可视化管线则采用惰性赋值确保高效执行。通过对VTK的理解,为后续的学习和应用打下基础。
摘要由CSDN通过智能技术生成

开始

由于工作需要刚开始接触VTK,不知道从何学起,只能先结合VTK 帮助文 档和 VTK Users Guide 慢慢啃, 亚历山大


目录结构

InfoVis — 信息化可视的类.
Views — 专门查看数据的类,包括过滤器、可视化、交互、选择
VTK/CMake — 跨平台构建的配置文件
VTK/Common — 核心类.
VTK/Examples — 示例
VTK/Filtering — 可视化管道中数据处理相关的类
VTK/GenericFiltering — 一个可以将VTK接口到外部模拟包的适配器框架
VTK/GeoVis — 在地形可视化中有用的视图、源和其他对象
VTK/Graphics — 三维数据处理。
VTK/GUISupport — 用于支持Qt/MFC
VTK/Hybrid — 依赖于多个其他目录中的类的复杂类
VTK/Imaging — 图像处理.
VTK/IO — IO
VTK/Parallel — 并行处理支持,如MPI.
VTK/Rendering — 渲染
VTK/Utilities — supporting software like expat, png, jpeg, tiff, and zlib. The Doxygen
directory contains scripts and configuration programs for generating the Doxygen documentation.
VTK/VolumeRendering — classes used for volume rendering.
VTK/Widgets — 3D widget classes.
VTK/Wrapping — support for Tcl, Python, and Java wrapping

VTKObject

几乎所有的VTK 类都是派生于vtkObject, 也有一些特殊的类派生自超类 vtkObjectBase。
在这里插入图片描述
再来看帮助文档中对 vtkObject 的描述,vtkObject 提供了跟踪modification time(修改时间)、调试、打印、和事件回调。在VTK框架中创建的大多数对象应该是vtkObject的一个子类或它的一个子类,少数例外往往是非常小的帮助类通常不会实例化。vtkObject 还执行引用计数。
所有VTK 对象的实例化必须通过调用 vtkObject 静态方法 New(),销毁对象同样必须使用vtkObject 的 Delete() 方法
无法在堆栈上分配VTK对象,因为该构造函数是一个受保护的方法。只能使用超类统一的创建和销毁对象的方法。

引用计数

当通过静态方法 New() 创建对象时,其原始的引用计数 为1 ,因为必须使用原始的指针来引用新对象

/**
 *对New()的每个调用都必须与稍后的Delete()调用配对,以确保没有泄漏引用。
 */
vtkObjectBase* obj = vtkExampleClass::New();// 引用计数 1

当创建和销毁对象的其他引用时使用Register() / UnRegister()引用计数将会增加减少,通常由对象API提供的各种 set 方法

/**
 * 引用计数 2 原始指针和存储在其他对象的指针都在引用,当不在需要最初存储改对象的原始指针时, 将使用Delete() 方法删除
 */
otherObject-></
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

子非鱼V

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值