source: branches/blt4/packages/vizservers/vtkvis/RpLIC.h @ 2742

Last change on this file since 2742 was 2681, checked in by gah, 12 years ago
File size: 1.7 KB
Line 
1/* -*- mode: c++; c-basic-offset: 4; indent-tabs-mode: nil -*- */
2/*
3 * Copyright (C) 2011, Purdue Research Foundation
4 *
5 * Author: Leif Delgass <ldelgass@purdue.edu>
6 */
7
8#ifndef __RAPPTURE_VTKVIS_LIC_H__
9#define __RAPPTURE_VTKVIS_LIC_H__
10
11#include <vtkSmartPointer.h>
12#include <vtkProp.h>
13#include <vtkPlaneCollection.h>
14#include <vtkExtractVOI.h>
15#include <vtkProbeFilter.h>
16#include <vtkImageDataLIC2D.h>
17#include <vtkSurfaceLICPainter.h>
18#include <vtkMapper.h>
19#include <vtkLookupTable.h>
20#include <vtkPlane.h>
21
22#include "ColorMap.h"
23#include "RpTypes.h"
24#include "RpVtkGraphicsObject.h"
25
26namespace Rappture {
27namespace VtkVis {
28
29/**
30 * \brief Line Integral Convolution visualization of vector fields
31 *
32 *  The DataSet must contain vectors
33 */
34class LIC : public VtkGraphicsObject {
35public:
36    LIC();
37    virtual ~LIC();
38
39    virtual const char *getClassName() const
40    {
41        return "LIC";
42    }
43   
44    virtual void setClippingPlanes(vtkPlaneCollection *planes);
45
46    void selectVolumeSlice(Axis axis, double ratio);
47
48    void setColorMap(ColorMap *colorMap);
49
50    /**
51     * \brief Return the ColorMap in use
52     */
53    ColorMap *getColorMap()
54    {
55        return _colorMap;
56    }
57
58    void updateColorMap();
59
60    virtual void updateRanges(Renderer *renderer);
61
62private:
63    virtual void initProp();
64    virtual void update();
65
66    Axis _sliceAxis;
67    ColorMap *_colorMap;
68
69    vtkSmartPointer<vtkLookupTable> _lut;
70    vtkSmartPointer<vtkExtractVOI> _volumeSlicer;
71    vtkSmartPointer<vtkProbeFilter> _probeFilter;
72    vtkSmartPointer<vtkPlane> _cutPlane;
73    vtkSmartPointer<vtkImageDataLIC2D> _lic;
74    vtkSmartPointer<vtkSurfaceLICPainter> _painter;
75    vtkSmartPointer<vtkMapper> _mapper;
76};
77
78}
79}
80
81#endif
Note: See TracBrowser for help on using the repository browser.