source: trunk/packages/vizservers/vtkvis/RpPolyData.h @ 2320

Last change on this file since 2320 was 2320, checked in by ldelgass, 13 years ago

Add Molecule (ball-and-stick) and Line Integral Convolution (LIC) rendering to
vtkvis. LIC is a work in progress, and rendering LIC textures on PolyDatas?
conflicts with offscreen rendering in the main render window. However, LIC
textures on other data sets work, as the vtkImageDataLIC2D class will create
it's own render window/context for its FBOs.

  • Property svn:eol-style set to native
File size: 1.3 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_POLYDATA_H__
9#define __RAPPTURE_VTKVIS_POLYDATA_H__
10
11#include <vtkSmartPointer.h>
12#include <vtkPolyDataMapper.h>
13#include <vtkActor.h>
14
15#include "RpVtkDataSet.h"
16
17namespace Rappture {
18namespace VtkVis {
19
20/**
21 * \brief VTK Mesh (Polygon data)
22 */
23class PolyData {
24public:
25    PolyData();
26    virtual ~PolyData();
27
28    void setDataSet(DataSet *dataset);
29
30    DataSet *getDataSet();
31
32    vtkProp *getProp();
33
34    void setVisibility(bool state);
35
36    bool getVisibility();
37
38    void setOpacity(double opacity);
39
40    void setWireframe(bool state);
41
42    void setColor(float color[3]);
43
44    void setEdgeVisibility(bool state);
45
46    void setEdgeColor(float color[3]);
47
48    void setEdgeWidth(float edgeWidth);
49
50    void setClippingPlanes(vtkPlaneCollection *planes);
51
52    void setLighting(bool state);
53
54private:
55    void initProp();
56    void update();
57
58    DataSet *_dataSet;
59
60    float _color[3];
61    float _edgeColor[3];
62    float _edgeWidth;
63    double _opacity;
64    bool _lighting;
65    vtkSmartPointer<vtkPolyDataMapper> _pdMapper;
66    vtkSmartPointer<vtkActor> _pdActor;
67};
68
69}
70}
71
72#endif
Note: See TracBrowser for help on using the repository browser.