vtk中获取含有某个Cell ID的联通体

vtkNew<vtkCellLocator> cellLocator;

cellLocator->SetDataSet(polyData);

cellLocator->BuildLocator(); // Now fire a ray from outside the bounds to the center and find a // cell. This cell should be on the outside surface double rayStart[3];

for (unsigned int i = 0; i < 3; i++) { rayStart[i] = bounds[2 * i + 1] * 1.1; } v

tkIdType cellId = -1;

double xyz[3], t, pcoords[3];

int subId;

cellLocator->IntersectWithLine(rayStart, center, 0.0001, t, xyz, pcoords, subId, cellId);

std::cout << "Id of cell on outside surface: " << cellId << std::endl; vtkNew<vtkPolyDataConnectivityFilter> connectivityFilter;

connectivityFilter->SetInputData(polyData);

connectivityFilter->SetExtractionModeToCellSeededRegions();

connectivityFilter->InitializeSeedList();

connectivityFilter->AddSeed(cellId); // Create a mapper and actor for original data

vtkNew<vtkPolyDataMapper> originalMapper;

originalMapper->SetInputData(polyData);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值