找回密码
 注册
查看: 3092|回复: 8

求高手!!!!

[复制链接]
发表于 2010-11-15 19:32:16 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
下面是我的代码,附件中有数据,但是我运行的时候总要报错(语法没有错误!),完全看不到结果,请各位高手指点一下,非常感谢!!!
#include <vtkSmartPointer.h>
#include <vtkHAVSVolumeMapper.h>
#include <vtkRenderer.h>
#include <vtkRenderWindow.h>
#include <vtkUnstructuredGridReader.h>
#include <vtkRenderWindowInteractor.h>
#include <vtkStructuredPointsReader.h>
#include <vtkSLCReader.h>
#include <vtkStructuredPoints.h>
#include <vtkUnstructuredGrid.h>
#include <vtkDataSetTriangleFilter.h>
#include <vtkPiecewiseFunction.h>
#include <vtkColorTransferFunction.h>
#include <vtkVolumeProperty.h>
#include <vtkVolume.h>
#include <vtkContourFilter.h>
#include <vtkPolyDataMapper.h>
#include <vtkActor.h>
#include <vtkStdString.h>
#include <vtkTesting.h>
#include <vtkPLOT3DReader.h>
#include <vtkXMLUnstructuredGridReader.h>
#include <vtkStructuredGridOutlineFilter.h>
#include <vtkPlaneSource.h>
#include <vtkStreamLine.h>
#include <vtkProperty.h>
#include <vtkXMLRectilinearGridReader.h>
#include <vtkRectilinearGridReader.h>
#include <vtkAssignAttribute.h>
#include <vtkPointSource.h>


int main(int, char*[])
{
        vtkSmartPointer<vtkRenderer> ren1 =vtkSmartPointer<vtkRenderer>::New();
        vtkSmartPointer<vtkRenderWindow> renWin = vtkSmartPointer<vtkRenderWindow>::New();
        renWin->AddRenderer(ren1);

        vtkSmartPointer<vtkRenderWindowInteractor> iren = vtkSmartPointer<vtkRenderWindowInteractor>::New();
        iren->SetRenderWindow(renWin);
        // 建立读数据类,读入数据
        std::string dataRoot = "E:\\vtkdata-5.4.2\\VTKData";

        std::string filename = dataRoot + "/Data/hj.vtu";
    //创建非结构化读数据类,读入数据
        vtkSmartPointer<vtkXMLUnstructuredGridReader> reader = vtkSmartPointer<vtkXMLUnstructuredGridReader>::New();
        reader->SetFileName(filename.c_str());
        reader->Update();

        // 建立流线种子
        vtkSmartPointer<vtkPointSource> seeds = vtkSmartPointer<vtkPointSource>::New();
        seeds->SetCentral(0,0,0);
        seeds->SetRadius(2);
        seeds->SetNumberOfPoints(20);
       

        // 建立流线类
        vtkSmartPointer<vtkStreamLine> streamLine = vtkSmartPointer<vtkStreamLine>::New();
        streamLine->SetInputConnection(reader->GetOutputPort());
        streamLine->SetSource(seeds->GetOutput());
        //设置流线参数
        streamLine->SetMaximumPropagationTime(200);
        streamLine->SetIntegrationStepLength(.2);
        streamLine->SetStepLength(.001);
        streamLine->SetNumberOfThreads(1);
        streamLine->SetIntegrationDirectionToForward();
        streamLine->VorticityOn();
    //建立mapper
        vtkSmartPointer<vtkPolyDataMapper> streamLineMapper = vtkSmartPointer<vtkPolyDataMapper>::New();
        streamLineMapper->SetInputConnection(streamLine->GetOutputPort());
    //建立actor
        vtkSmartPointer<vtkActor> streamLineActor = vtkSmartPointer<vtkActor>::New();
        streamLineActor->SetMapper(streamLineMapper);
        streamLineActor->VisibilityOn();

        ren1->AddViewProp(streamLineActor);

        renWin->Render();

        iren->Start();

        return EXIT_SUCCESS;
}

hj .rar

504.33 KB, 下载次数: 352

发表于 2010-11-15 19:47:26 | 显示全部楼层
这个数据有点扎人。

[ 本帖最后由 shirazbj 于 2010-11-15 19:53 编辑 ]
h.gif
 楼主| 发表于 2010-11-15 22:18:06 | 显示全部楼层
请问楼上的朋友,我这个程序为什么不能画出来流线呢?能指点一下么?谢谢!
发表于 2010-11-16 18:31:43 | 显示全部楼层
我的图是用VisIt2.1画的你的数据,网格都不对。

VisIt2.1错了?
 楼主| 发表于 2010-11-16 21:44:59 | 显示全部楼层
vislt2.1是什么?我用visual studio 2005画的,但是要报错。无法得到结果。你能运行这个程序么?
发表于 2010-11-17 10:54:11 | 显示全部楼层
vc我没有,可以用windows下的gcc编译么?这里的http://www.equation.com/servlet/equation.cmd?call=fortran)

还要装vtk吧,多大呀?

[ 本帖最后由 shirazbj 于 2010-11-18 20:18 编辑 ]
 楼主| 发表于 2010-11-17 13:52:30 | 显示全部楼层
我想可能是我的数据有问题,你有vtk能画流线的数据么?
发表于 2010-11-18 19:40:16 | 显示全部楼层
这有个简单例子:

# vtk DataFile Version 1.0
2D Unstructured Grid of Linear Triangles
ASCII

DATASET UNSTRUCTURED_GRID
POINTS 8 float
0.0  0.0  0.0
1.0  0.0  0.0
2.0  0.0  0.0
0.0  1.0  0.0
1.0  1.0  0.0
2.0  1.0  0.0
0.0  2.0  0.0
1.0  2.0  0.0

CELLS 6 24
3  0  1  3
3  1  4  3
3  1  2  4
3  2  5  4
3  3  4  6
3  4  7  6

CELL_TYPES 6
5
5
5
5
5
5

POINT_DATA 8
SCALARS pressure float
LOOKUP_TABLE default
0.0
1.0
2.0
1.0
2.0
3.0
2.0
3.0

VECTORS velocity float
1.0  1.0  0.0
2.0  1.0  0.0
3.0  1.0  0.0
1.0  2.0  0.0
2.0  2.0  0.0
3.0  2.0  0.0
1.0  3.0  0.0
2.0  3.0  0.0

[ 本帖最后由 shirazbj 于 2010-11-18 20:09 编辑 ]
simple.gif
 楼主| 发表于 2010-11-18 21:50:40 | 显示全部楼层
谢谢,我先试试
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表