source: branches/1.2/packages/vizservers/vtkvis/RpLIC.h @ 5036

Last change on this file since 5036 was 3542, checked in by ldelgass, 12 years ago

Turn on InterpolateScalarsBeforeMapping? by default in cutplane, heightmap,
pseudocolor, LIC, warp. Added preinterp option to warp, add preinterp to
protocol doc.

  • 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 __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 setInterpolateBeforeMapping(bool state);
49
50    void setColorMap(ColorMap *colorMap);
51
52    /**
53     * \brief Return the ColorMap in use
54     */
55    ColorMap *getColorMap()
56    {
57        return _colorMap;
58    }
59
60    void updateColorMap();
61
62    virtual void updateRanges(Renderer *renderer);
63
64private:
65    virtual void initProp();
66    virtual void update();
67
68    Axis _sliceAxis;
69    ColorMap *_colorMap;
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
83#endif
Note: See TracBrowser for help on using the repository browser.