加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

理解VTK中point(点)、cell(单元)、和dataset(数据集)的关系

(2014-11-10 11:11:16)
标签:

it

vtk

分类: VTK
【参考文章见:http://www.cnblogs.com/WaLi/p/4065515.html#

1、从PointCells的关系vtkCellLinks 完成:

vtkCellLinks 表示a list of Links,每个Link包含一个单元Id的列表,列表中的各单元同时在使用同一个点。

//BTX
class Link {
public:
unsigned short ncells;  //列表中单元个数
vtkIdType *cells;      //指向单元id的指针
};

vtkCellLinks ::BuildLinks(vtkDataSet *data)//该函数的功能就是建立上述从Point到Cells的列表

 

2、从Cell到Points的关系vtkCell完成,它包括单元所使用的点的信息:

// left public for quick computational access
vtkPoints *Points;  //构成单元的Points的坐标信息
vtkIdList *PointIds;  //对应Points的Id信息

 

 3、同类单元(vtkCell可以组成一个单元数组(vtkCellArray)

其结构可理解为:(n,id1,id2,...,idn, n,id1,id2,...,idn, ...),n表示一个单元包含的点的个数,id?表示单元所关联的点的Id。

 

4、不同类型的多个vtkCellArray被添加到vtkCellTypes后就可以构成比较复杂的数据集,如vtkPolyData

它包括主要成员变量:

vtkCellArray *Verts;  //点单元集
vtkCellArray *Lines;  //线单元集
vtkCellArray *Polys;  //多边形单元集
vtkCellArray *Strips;     //三角带单元集  

// supporting structures for more complex topological operations
// built only when necessary
vtkCellTypes *Cells;       //关联上述各种单元集,它是获取Cell到Points引用关系的前提
vtkCellLinks *Links;    //获取Point到Cells引用关系的前提


因此,如果要处理点和单元的引用关系,需要先初始化Cells和Links这两个变量,即分别调用BuildLinks和调用

BuildCells,与此相反去掉关联的函数分别为DeleteLinks和DeleteCells。


0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有