【请教】vtkLineWidget2 怎么没显示出来设置的线?
vtk吧
全部回复
仅看楼主
level 9
微尘小六 楼主
用vtkLineWidget2显示一条线,结果只有一个黑框框,没有显示出来线。
2017年05月23日 09点05分 1
level 9
微尘小六 楼主
代码如下:
#include "vtkLineWidget2.h"
#include "vtkSmartPointer.h"
#include "vtkRenderWindow.h"
#include "vtkRenderWindowInteractor.h"
#include "vtkLineRepresentation.h"
int main( int argc, char** argv )
{
vtkSmartPointer<vtkLineRepresentation> pRepresent = vtkSmartPointer<vtkLineRepresentation>::New();
double dPos1[3] = { 10, 0, 0 };
double dPos2[3] = { 50, 30, 0 };
pRepresent->SetPoint1WorldPosition( dPos1 );
pRepresent->SetPoint2WorldPosition( dPos2 );
pRepresent->SetLineColor( 0, 1, 0 );
vtkSmartPointer<vtkRenderWindow> renderWindow = vtkSmartPointer<vtkRenderWindow>::New();
vtkSmartPointer<vtkRenderWindowInteractor> interactor = vtkSmartPointer<vtkRenderWindowInteractor>::New();
interactor->SetRenderWindow( renderWindow );
vtkSmartPointer<vtkLineWidget2> lineWidget = vtkSmartPointer<vtkLineWidget2>::New();
lineWidget->SetInteractor( interactor );
lineWidget->SetRepresentation( pRepresent );
lineWidget->On();
interactor->Initialize();
interactor->Start();
return 0;
}
2017年05月23日 09点05分 2
level 9
微尘小六 楼主
结果如下:
2017年05月23日 09点05分 3
level 12
vtkLineSource
2017年05月23日 09点05分 4
level 12
vtkLine 也行
2017年05月23日 09点05分 5
level 12
vtkSmartPointer<vtkLineWidget2> lineWidget = vtkSmartPointer<vtkLineWidget2>::New();
lineWidget->SetInteractor(renderWindowInteractor);
lineWidget->CreateDefaultRepresentation();//少了这个?
2017年05月23日 09点05分 6
恩恩。是设置坐标错了,好像世界坐标是[ -0.5, 0.5 ]?反正设置成0.x就能显示出来了。多谢吧主大大[吐舌]
2017年05月23日 12点05分
1