为什么会发生只显示一半圆柱的现象,有什么方法解决吗
vtk吧
全部回复
仅看楼主
level 3
皇汉三 楼主
double one[3]={local[i][0],local[i][1],local[i][2]};
double two[3]={local[temp][0],local[temp][1],local[temp][2]};
double three[3]={(local[i][0]+local[temp][0])/2,(local[i][1]+local[temp][1])/2,(local[i][2]+local[temp][2])/2};
vtkSmartPointer<vtkLineSource> line = vtkSmartPointer<vtkLineSource>::New();
line->SetPoint1(one);
line->SetPoint2(three);
vtkSmartPointer<vtkLineSource> line1 = vtkSmartPointer<vtkLineSource>::New();
line1->SetPoint1(two);
line1->SetPoint2(three);
vtkSmartPointer<vtkTubeFilter> tubeFilter = vtkSmartPointer<vtkTubeFilter>::New();
tubeFilter->SetInputConnection(line->GetOutputPort());
tubeFilter->SetRadius(0.1);
tubeFilter->SetNumberOfSides(100);
tubeFilter->CappingOn();
vtkSmartPointer<vtkTubeFilter> tubeFilter1 = vtkSmartPointer<vtkTubeFilter>::New();
tubeFilter1->SetInputConnection(line1->GetOutputPort());
tubeFilter1->SetRadius(0.1);
tubeFilter1->SetNumberOfSides(100);
tubeFilter1->CappingOn();
vtkSmartPointer<vtkPolyDataMapper> mapper =
vtkSmartPointer<vtkPolyDataMapper>::New();
mapper->SetInputConnection(tubeFilter->GetOutputPort());
vtkSmartPointer<vtkPolyDataMapper> mapper1 =
vtkSmartPointer<vtkPolyDataMapper>::New();
mapper1->SetInputConnection(tubeFilter1->GetOutputPort());
vtkSmartPointer<vtkActor> actor =
vtkSmartPointer<vtkActor>::New();
actor->SetMapper(mapper);
actor->GetProperty()->SetColor(color1[0],color1[1],color1[2]);
mapper1->SetInputConnection(tubeFilter1->GetOutputPort());
vtkSmartPointer<vtkActor> actor1 =
vtkSmartPointer<vtkActor>::New();
actor1->SetMapper(mapper);
actor1->GetProperty()->SetColor(color[0],color[1],color[2]);
renderer->AddActor(actor);
renderer->AddActor(actor1);
2017年05月14日 10点05分 1
1