gpt4 book ai didi

c++ - 如何浏览嵌套的 for 循环

转载 作者:太空宇宙 更新时间:2023-11-04 14:05:22 25 4
gpt4 key购买 nike

目标是从 xml 文件中使用 vtkLineSource 绘制线条。所以,我从一个 xml 文件中检索值到 vector 中,然后我在嵌套循环中遍历 vector 以检索值并将它们作为参数传递给绘图函数。

这是我的代码

for ( std::vector<double>::iterator i = tab_recupere_X1.begin();
i != tab_recupere_X1.end();
i++)
{
p0[0]= *i;
std::cout << "p0[0]"<<p0[0]<<std::endl;



for (std::vector<double>::iterator j = tab_recupere_Y1.begin();
j != tab_recupere_Y1.end();
j++)
{
p0[1] = *j;
std::cout << "p0[1]"<<p0[1]<<std::endl;
// break;

for (std::vector<double>::iterator k = tab_recupere_X2.begin();
k != tab_recupere_X2.end();
k++)
{
p1[0] = *k;
std::cout << "p1[0]"<<p1[0]<<std::endl;


for (std::vector<double>::iterator p = tab_recupere_Y2.begin();
p != tab_recupere_Y2.end();
p++)

{


p1[1] = *p;

std::cout << "p1[1]"<<p1[1]<<std::endl;




vtkSmartPointer<vtkLineSource> lineSource =
vtkSmartPointer<vtkLineSource>::New();
lineSource->SetPoint1(p0);
lineSource->SetPoint2(p1);
lineSource->Update();

vtkSmartPointer<vtkPolyDataMapper> mapper = vtkSmartPointer<vtkPolyDataMapper>::New();
mapper->SetInputConnection(lineSource->GetOutputPort());
vtkSmartPointer<vtkActor> actor =
vtkSmartPointer<vtkActor>::New();
actor->SetMapper(mapper);
actor->GetProperty()->SetLineWidth(4);

vtkSmartPointer<vtkRenderer> renderer =
vtkSmartPointer<vtkRenderer>::New();
vtkSmartPointer<vtkRenderWindow> renderWindow =
vtkSmartPointer<vtkRenderWindow>::New();
renderWindow->AddRenderer(renderer);
vtkSmartPointer<vtkRenderWindowInteractor> renderWindowInteractor =
vtkSmartPointer<vtkRenderWindowInteractor>::New();
renderWindowInteractor->SetRenderWindow(renderWindow);

renderer->AddActor(actor);

renderWindow->Render();
renderWindowInteractor->Start();


}



}

}

}

但是最后一个循环不停的无限循环,什么也没有画出来。我使用了 (break) 但没有任何改进。

我的目的是每次迭代,检索x和y的值并画线。

你能帮帮我吗?提前谢谢你。

最佳答案

好吧,我认为很难理解您的代码中有什么问题。我看不到任何明显的东西(也许其他人会看到),但这里有几点可以帮助您找出正在发生的事情:

  • 您是否尝试过在最后一个循环(使用迭代器 p)中注释掉所有函数?当你这样做时它是否有效?

  • 您可能不想在这个大循环中做任何显示,您应该构建或绘制所有内容,然后仅在完成时显示。

  • 重构这段代码是个好主意,您可能知道自己现在在做什么,但 6 个月后怎么样?我什至没有提到这样一个事实,即看到这段代码的其他人可能要么放弃理解它,要么自己重写整个代码,即使错误修复是一个字符。

关于c++ - 如何浏览嵌套的 for 循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17224716/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com