source: trunk/packages/vizservers/vtkvis/LIC.h @ 4060

Last change on this file since 4060 was 4060, checked in by ldelgass, 6 years ago

Add separate configure scripts for nanovis and vtkvis, remove them from the
vizservers configure (which now only configures nanoscale and pymolproxy).

  • Property svn:eol-style set to native
File size: 1.7 KB
Line 
1/* -*- mode: c++; c-basic-offset: 4; indent-tabs-mode: nil -*- */
2/*
3 * Copyright (C) 2004-2012  HUBzero Foundation, LLC
4 *
5 * Author: Leif Delgass <ldelgass@purdue.edu>
6 */
7
8#ifndef VTKVIS_LIC_H
9#define 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 "Types.h"
24#include "GraphicsObject.h"
25
26namespace VtkVis {
27
28/**
29 * \brief Line Integral Convolution visualization of vector fields
30 *
31 *  The DataSet must contain vectors
32 */
33class LIC : public GraphicsObject {
34public:
35    LIC();
36    virtual ~LIC();
37
38    virtual const char *getClassName() const
39    {
40        return "LIC";
41    }
42   
43    virtual void setClippingPlanes(vtkPlaneCollection *planes);
44
45    void selectVolumeSlice(Axis axis, double ratio);
46
47    void setInterpolateBeforeMapping(bool state);
48
49    void setColorMap(ColorMap *colorMap);
50
51    /**
52     * \brief Return the ColorMap in use
53     */
54    ColorMap *getColorMap()
55    {
56        return _colorMap;
57    }
58
59    void updateColorMap();
60
61    virtual void updateRanges(Renderer *renderer);
62
63private:
64    virtual void initProp();
65    virtual void update();
66
67    Axis _sliceAxis;
68    ColorMap *_colorMap;
69    int _resolution;
70
71    vtkSmartPointer<vtkLookupTable> _lut;
72    vtkSmartPointer<vtkExtractVOI> _volumeSlicer;
73    vtkSmartPointer<vtkProbeFilter> _probeFilter;
74    vtkSmartPointer<vtkPlane> _cutPlane;
75    vtkSmartPointer<vtkImageDataLIC2D> _lic;
76    vtkSmartPointer<vtkSurfaceLICPainter> _painter;
77    vtkSmartPointer<vtkMapper> _mapper;
78};
79
80}
81
82#endif
Note: See TracBrowser for help on using the repository browser.