Changeset 2865 for trunk/packages


Ignore:
Timestamp:
Mar 18, 2012 7:10:04 PM (12 years ago)
Author:
ldelgass
Message:

Use new custom vtk 3d axes (when USE_CUSTOM_AXES is defined). Fixes gridlines
in 3D.

Location:
trunk/packages/vizservers/vtkvis
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/packages/vizservers/vtkvis/RpVtkRenderer.cpp

    r2759 r2865  
    519519{
    520520    TRACE("Initializing axes");
     521#ifdef USE_CUSTOM_AXES
     522    if (_cubeAxesActor == NULL)
     523        _cubeAxesActor = vtkSmartPointer<vtkRpCubeAxesActor>::New();
     524#else
    521525    if (_cubeAxesActor == NULL)
    522526        _cubeAxesActor = vtkSmartPointer<vtkCubeAxesActor>::New();
     527#endif
    523528    _cubeAxesActor->SetCamera(_renderer->GetActiveCamera());
    524529    _cubeAxesActor->GetProperty()->LightingOff();
     
    10881093 * \param[in] width Pixel width of legend (aspect controls orientation)
    10891094 * \param[in] height Pixel height of legend (aspect controls orientation)
     1095 * \param[in] opaque Flag to control if legend is rendered opaque or translucent
    10901096 * \param[in] numLabels Number of labels to render (includes min/max)
    10911097 * \param[in,out] imgData Pointer to array to fill with image bytes. Array
     
    11541160 * \param[in] width Pixel width of legend (aspect controls orientation)
    11551161 * \param[in] height Pixel height of legend (aspect controls orientation)
     1162 * \param[in] opaque Flag to control if legend is rendered opaque or translucent
    11561163 * \param[in] numLabels Number of labels to render (includes min/max)
    11571164 * \param[in,out] imgData Pointer to array to fill with image bytes. Array
     
    12171224 * \param[in] width Pixel width of legend (aspect controls orientation)
    12181225 * \param[in] height Pixel height of legend (aspect controls orientation)
     1226 * \param[in] opaque Flag to control if legend is rendered opaque or translucent
    12191227 * \param[in] numLabels Number of labels to render (includes min/max)
    12201228 * \param[in,out] imgData Pointer to array to fill with image bytes. Array
     
    19811989    outerGutter = (outerGutter > 15 ? 15 : outerGutter);
    19821990
     1991    int imgWidthPx = _windowWidth - pxOffsetX - outerGutter;
    19831992    int imgHeightPx = _windowHeight - pxOffsetY - outerGutter;
    1984     int imgWidthPx = _windowWidth - pxOffsetX - outerGutter;
    19851993
    19861994    double imgAspect = width / height;
     
    19901998
    19911999    if (imgAspect >= winAspect) {
    1992         pxToWorld = width / imgWidthPx;
     2000        pxToWorld = width / (double)imgWidthPx;
    19932001    } else {
    1994         pxToWorld = height / imgHeightPx;
     2002        pxToWorld = height / (double)imgHeightPx;
    19952003    }
    19962004
  • trunk/packages/vizservers/vtkvis/RpVtkRenderer.h

    r2757 r2865  
    1717#include <vtkCubeAxesActor.h>
    1818#ifdef USE_CUSTOM_AXES
     19#include "vtkRpCubeAxesActor.h"
    1920#include "vtkRpCubeAxesActor2D.h"
    2021#else
     22#include <vtkCubeAxesActor.h>
    2123#include <vtkCubeAxesActor2D.h>
    2224#endif
     
    8991    typedef std::string ColorMapId;
    9092    typedef std::string FieldId;
     93
     94    // Data sets
     95
     96    void addDataSet(const DataSetId& id);
     97
     98    void deleteDataSet(const DataSetId& id);
     99
     100    DataSet *getDataSet(const DataSetId& id);
     101
     102    void getDataSetNames(std::vector<std::string>& names);
     103
     104    bool setData(const DataSetId& id, char *data, int nbytes);
     105
     106    bool setDataFile(const DataSetId& id, const char *filename);
     107
     108    bool setDataSetActiveScalars(const DataSetId& id, const char *scalarName);
     109
     110    bool setDataSetActiveVectors(const DataSetId& id, const char *vectorName);
     111
     112    bool getScalarValueAtPixel(const DataSetId& id, int x, int y, double *value);
     113
     114    bool getScalarValue(const DataSetId& id, double x, double y, double z, double *value);
     115
     116    bool getVectorValueAtPixel(const DataSetId& id, int x, int y, double vector[3]);
     117
     118    bool getVectorValue(const DataSetId& id, double x, double y, double z, double vector[3]);
     119
     120    void setDataSetShowBounds(const DataSetId& id, bool state);
     121
     122    void setDataSetOutlineColor(const DataSetId& id, float color[3]);
     123
     124    void setDataSetOpacity(const DataSetId& id, double opacity);
     125
     126    void setDataSetVisibility(const DataSetId& id, bool state);
     127
     128    void setUseCumulativeDataRange(bool state, bool onlyVisible = false);
     129
     130    bool getUseCumulativeRange();
     131
     132    bool getCumulativeDataRange(double *range, const char *name,
     133                                int numComponents,
     134                                int component = -1);
     135
     136    bool getCumulativeDataRange(double *range, const char *name,
     137                                DataSet::DataAttributeType type,
     138                                int numComponents,
     139                                int component = -1);
     140
     141    // Render window
     142
     143    /// Get the VTK render window object this Renderer uses
     144    vtkRenderWindow *getRenderWindow()
     145    {
     146        return _renderWindow;
     147    }
     148
     149    void setWindowSize(int width, int height);
     150
     151    int getWindowWidth() const;
     152
     153    int getWindowHeight() const;
     154
     155    // Camera controls
     156
     157    void setViewAngle(int height);
     158
     159    vtkCamera *getVtkCamera()
     160    {
     161        if (_renderer != NULL)
     162            return _renderer->GetActiveCamera();
     163        else
     164            return NULL;
     165    }
     166
     167    void setCameraMode(CameraMode mode);
     168
     169    CameraMode getCameraMode() const;
     170
     171    void resetCamera(bool resetOrientation = true);
     172
     173    void resetCameraClippingRange();
     174
     175    void setCameraZoomRegionPixels(int x, int y, int width, int height);
     176
     177    void setCameraZoomRegion(double x, double y, double width, double height);
     178
     179    void getCameraZoomRegion(double xywh[4]) const;
     180
     181    void getScreenWorldCoords(double xywh[4]) const;
     182
     183    void rotateCamera(double yaw, double pitch, double roll);
     184
     185    void setCameraOrientation(const double quat[4], bool absolute = true);
     186
     187    void panCamera(double x, double y, bool absolute = true);
     188
     189    void zoomCamera(double z, bool absolute = true);
     190
     191    void setCameraOrientationAndPosition(const double position[3],
     192                                         const double focalPoint[3],
     193                                         const double viewUp[3]);
     194
     195    void getCameraOrientationAndPosition(double position[3],
     196                                         double focalPoint[3],
     197                                         double viewUp[3]);
     198
     199    // Rendering an image
     200
     201    void setBackgroundColor(float color[3]);
     202
     203    void setClipPlane(Axis axis, double ratio, int direction);
     204
     205    void setUseTwoSidedLighting(bool state);
     206
     207    void setUseDepthPeeling(bool state);
     208
     209    void eventuallyRender();
     210
     211    bool render();
     212
     213    void getRenderedFrame(vtkUnsignedCharArray *imgData);
     214
     215    // Axes
     216
     217    void setAxesFlyMode(AxesFlyMode mode);
     218
     219    void setAxesVisibility(bool state);
     220
     221    void setAxesGridVisibility(bool state);
     222
     223    void setAxesLabelVisibility(bool state);
     224
     225    void setAxesTickVisibility(bool state);
     226
     227    void setAxesTickPosition(AxesTickPosition pos);
     228
     229    void setAxesColor(double color[3]);
     230
     231    void setAxisVisibility(Axis axis, bool state);
     232
     233    void setAxisGridVisibility(Axis axis, bool state);
     234
     235    void setAxisLabelVisibility(Axis axis, bool state);
     236
     237    void setAxisTickVisibility(Axis axis, bool state);
     238
     239    void setAxisTitle(Axis axis, const char *title);
     240
     241    void setAxisUnits(Axis axis, const char *units);
     242
     243    // Colormaps
     244
     245    void addColorMap(const ColorMapId& id, ColorMap *colorMap);
     246
     247    void deleteColorMap(const ColorMapId& id);
     248
     249    ColorMap *getColorMap(const ColorMapId& id);
     250
     251    bool renderColorMap(const ColorMapId& id,
     252                        const DataSetId& dataSetID,
     253                        LegendType legendType,
     254                        const char *fieldName,
     255                        DataSet::DataAttributeType type,
     256                        std::string& title,
     257                        double range[2],
     258                        int width, int height,
     259                        bool opaque,
     260                        int numLabels,
     261                        vtkUnsignedCharArray *imgData);
     262
     263    bool renderColorMap(const ColorMapId& id,
     264                        const DataSetId& dataSetID,
     265                        LegendType legendType,
     266                        const char *fieldName,
     267                        std::string& title,
     268                        double range[2],
     269                        int width, int height,
     270                        bool opaque,
     271                        int numLabels,
     272                        vtkUnsignedCharArray *imgData);
     273
     274    bool renderColorMap(const ColorMapId& id,
     275                        const DataSetId& dataSetID,
     276                        LegendType legendType,
     277                        std::string& title,
     278                        double range[2],
     279                        int width, int height,
     280                        bool opaque,
     281                        int numLabels,
     282                        vtkUnsignedCharArray *imgData);
     283
     284    // Generic VtkGraphicsObject methods
     285
     286    template<class GraphicsObject>
     287    GraphicsObject *getGraphicsObject(const DataSetId& id);
     288
     289    template<class GraphicsObject>
     290    bool addGraphicsObject(const DataSetId& id);
     291
     292    template<class GraphicsObject>
     293    void deleteGraphicsObject(const DataSetId& id);
     294
     295    template<class GraphicsObject>
     296    void setGraphicsObjectColorMap(const DataSetId& id, const ColorMapId& colorMapId);
     297
     298    template<class GraphicsObject>
     299    void setGraphicsObjectVolumeSlice(const DataSetId& id, Axis axis, double ratio);
     300
     301    //   Prop/Prop3D properties
     302
     303    template<class GraphicsObject>
     304    void setGraphicsObjectOrientation(const DataSetId& id, double quat[4]);
     305
     306    template<class GraphicsObject>
     307    void setGraphicsObjectOrientation(const DataSetId& id, double angle, double axis[3]);
     308
     309    template<class GraphicsObject>
     310    void setGraphicsObjectPosition(const DataSetId& id, double pos[3]);
     311
     312    template<class GraphicsObject>
     313    void setGraphicsObjectScale(const DataSetId& id, double scale[3]);
     314
     315    template<class GraphicsObject>
     316    void setGraphicsObjectTransform(const DataSetId& id, vtkMatrix4x4 *trans);
     317
     318    template<class GraphicsObject>
     319    void setGraphicsObjectVisibility(const DataSetId& id, bool state);
     320
     321    //   Actor properties
     322
     323    template<class GraphicsObject>
     324    void setGraphicsObjectColor(const DataSetId& id, float color[3]);
     325
     326    template<class GraphicsObject>
     327    void setGraphicsObjectEdgeVisibility(const DataSetId& id, bool state);
     328
     329    template<class GraphicsObject>
     330    void setGraphicsObjectEdgeColor(const DataSetId& id, float color[3]);
     331
     332    template<class GraphicsObject>
     333    void setGraphicsObjectEdgeWidth(const DataSetId& id, float edgeWidth);
     334
     335    template<class GraphicsObject>
     336    void setGraphicsObjectAmbient(const DataSetId& id, double coeff);
     337
     338    template<class GraphicsObject>
     339    void setGraphicsObjectDiffuse(const DataSetId& id, double coeff);
     340
     341    template<class GraphicsObject>
     342    void setGraphicsObjectSpecular(const DataSetId& id, double coeff, double power);
     343
     344    template<class GraphicsObject>
     345    void setGraphicsObjectLighting(const DataSetId& id, bool state);
     346
     347    template<class GraphicsObject>
     348    void setGraphicsObjectOpacity(const DataSetId& id, double opacity);
     349
     350    template<class GraphicsObject>
     351    void setGraphicsObjectPointSize(const DataSetId& id, float size);
     352
     353    template<class GraphicsObject>
     354    void setGraphicsObjectWireframe(const DataSetId& id, bool state);
     355
     356    // 2D Contour plots
     357
     358    bool addContour2D(const DataSetId& id, int numContours);
     359
     360    bool addContour2D(const DataSetId& id, const std::vector<double>& contours);
     361
     362    void setContour2DContours(const DataSetId& id, int numContours);
     363
     364    void setContour2DContourList(const DataSetId& id, const std::vector<double>& contours);
     365
     366    // 3D Contour (isosurface) plots
     367
     368    bool addContour3D(const DataSetId& id, int numContours);
     369
     370    bool addContour3D(const DataSetId& id, const std::vector<double>& contours);
     371
     372    void setContour3DContours(const DataSetId& id, int numContours);
     373
     374    void setContour3DContourList(const DataSetId& id, const std::vector<double>& contours);
     375
     376    // Cutplanes
     377
     378    void setCutplaneOutlineVisibility(const DataSetId& id, bool state);
     379
     380    void setCutplaneSliceVisibility(const DataSetId& id, Axis axis, bool state);
     381
     382    void setCutplaneColorMode(const DataSetId& id,
     383                              Cutplane::ColorMode mode,
     384                              const char *name, double range[2] = NULL);
     385
     386    void setCutplaneColorMode(const DataSetId& id,
     387                              Cutplane::ColorMode mode,
     388                              DataSet::DataAttributeType type,
     389                              const char *name, double range[2] = NULL);
     390
     391    // Glyphs
     392
     393    bool addGlyphs(const DataSetId& id, Glyphs::GlyphShape shape);
     394
     395    void setGlyphsShape(const DataSetId& id, Glyphs::GlyphShape shape);
     396
     397    void setGlyphsColorMode(const DataSetId& id,
     398                            Glyphs::ColorMode mode,
     399                            const char *name,
     400                            double range[2] = NULL);
     401
     402    void setGlyphsScalingMode(const DataSetId& id,
     403                              Glyphs::ScalingMode mode,
     404                              const char *name,
     405                              double range[2] = NULL);
     406
     407    void setGlyphsNormalizeScale(const DataSetId& id, bool normalize);
     408
     409    void setGlyphsScaleFactor(const DataSetId& id, double scale);
     410
     411    // Height maps
     412
     413    bool addHeightMap(const DataSetId& id, int numContours, double heightScale);
     414
     415    bool addHeightMap(const DataSetId& id, const std::vector<double>& contours, double heightScale);
     416
     417    void setHeightMapHeightScale(const DataSetId& id, double scale);
     418
     419    void setHeightMapNumContours(const DataSetId& id, int numContours);
     420
     421    void setHeightMapContourList(const DataSetId& id, const std::vector<double>& contours);
     422
     423    void setHeightMapContourSurfaceVisibility(const DataSetId& id, bool state);
     424
     425    void setHeightMapContourLineVisibility(const DataSetId& id, bool state);
     426
     427    void setHeightMapContourEdgeColor(const DataSetId& id, float color[3]);
     428
     429    void setHeightMapContourEdgeWidth(const DataSetId& id, float edgeWidth);
     430
     431    // Molecules
     432
     433    void setMoleculeAtomScaling(const DataSetId& id, Molecule::AtomScaling scaling);
     434
     435    void setMoleculeAtomVisibility(const DataSetId& id, bool state);
     436
     437    void setMoleculeBondVisibility(const DataSetId& id, bool state);
     438
     439    // Color-mapped surfaces
     440
     441    void setPseudoColorColorMode(const DataSetId& id,
     442                                 PseudoColor::ColorMode mode,
     443                                 const char *name, double range[2] = NULL);
     444
     445    void setPseudoColorColorMode(const DataSetId& id,
     446                                 PseudoColor::ColorMode mode,
     447                                 DataSet::DataAttributeType type,
     448                                 const char *name, double range[2] = NULL);
     449
     450    // Streamlines
     451
     452    void setStreamlinesNumberOfSeedPoints(const DataSetId& id, int numPoints);
     453
     454    void setStreamlinesSeedToMeshPoints(const DataSetId& id);
     455
     456    void setStreamlinesSeedToFilledMesh(const DataSetId& id, int numPoints);
     457
     458    bool setStreamlinesSeedToMeshPoints(const DataSetId& id,
     459                                        char *data, size_t nbytes);
     460
     461    bool setStreamlinesSeedToFilledMesh(const DataSetId& id,
     462                                        char *data, size_t nbytes,
     463                                        int numPoints);
     464
     465    void setStreamlinesSeedToRake(const DataSetId& id,
     466                                  double start[3], double end[3],
     467                                  int numPoints);
     468
     469    void setStreamlinesSeedToDisk(const DataSetId& id,
     470                                  double center[3], double normal[3],
     471                                  double radius, double innerRadius,
     472                                  int numPoints);
     473
     474    void setStreamlinesSeedToPolygon(const DataSetId& id,
     475                                     double center[3], double normal[3],
     476                                     double angle, double radius,
     477                                     int numSides);
     478
     479    void setStreamlinesSeedToFilledPolygon(const DataSetId& id,
     480                                           double center[3], double normal[3],
     481                                           double angle, double radius,
     482                                           int numSides, int numPoints);
     483
     484    void setStreamlinesLength(const DataSetId& id, double length);
     485
     486    void setStreamlinesTypeToLines(const DataSetId& id);
     487
     488    void setStreamlinesTypeToTubes(const DataSetId& id, int numSides, double radius);
     489
     490    void setStreamlinesTypeToRibbons(const DataSetId& id, double width, double angle);
     491
     492    void setStreamlinesSeedVisibility(const DataSetId& id, bool state);
     493
     494    void setStreamlinesColorMode(const DataSetId& id,
     495                                 Streamlines::ColorMode mode,
     496                                 const char *name, double range[2] = NULL);
     497
     498    void setStreamlinesColorMode(const DataSetId& id,
     499                                 Streamlines::ColorMode mode,
     500                                 DataSet::DataAttributeType type,
     501                                 const char *name, double range[2] = NULL);
     502
     503    void setStreamlinesSeedColor(const DataSetId& id, float color[3]);
     504
     505    // Volumes
     506
     507    void setVolumeSampleDistance(const DataSetId& id, double distance);
     508
     509private:
    91510    typedef std::tr1::unordered_map<DataSetId, DataSet *> DataSetHashmap;
    92511    typedef std::tr1::unordered_map<FieldId, double *> FieldRangeHashmap;
     
    104523    typedef std::tr1::unordered_map<DataSetId, Volume *> VolumeHashmap;
    105524
    106     // Data sets
    107 
    108     void addDataSet(const DataSetId& id);
    109 
    110     void deleteDataSet(const DataSetId& id);
    111 
    112     DataSet *getDataSet(const DataSetId& id);
    113 
    114     void getDataSetNames(std::vector<std::string>& names);
    115 
    116     bool setData(const DataSetId& id, char *data, int nbytes);
    117 
    118     bool setDataFile(const DataSetId& id, const char *filename);
    119 
    120     bool setDataSetActiveScalars(const DataSetId& id, const char *scalarName);
    121 
    122     bool setDataSetActiveVectors(const DataSetId& id, const char *vectorName);
    123 
    124     bool getScalarValueAtPixel(const DataSetId& id, int x, int y, double *value);
    125 
    126     bool getScalarValue(const DataSetId& id, double x, double y, double z, double *value);
    127 
    128     bool getVectorValueAtPixel(const DataSetId& id, int x, int y, double vector[3]);
    129 
    130     bool getVectorValue(const DataSetId& id, double x, double y, double z, double vector[3]);
    131 
    132     void setDataSetShowBounds(const DataSetId& id, bool state);
    133 
    134     void setDataSetOutlineColor(const DataSetId& id, float color[3]);
    135 
    136     void setDataSetOpacity(const DataSetId& id, double opacity);
    137 
    138     void setDataSetVisibility(const DataSetId& id, bool state);
    139 
    140     void setUseCumulativeDataRange(bool state, bool onlyVisible = false);
    141 
    142     bool getUseCumulativeRange();
    143 
    144     bool getCumulativeDataRange(double *range, const char *name,
    145                                 int numComponents,
    146                                 int component = -1);
    147 
    148     bool getCumulativeDataRange(double *range, const char *name,
    149                                 DataSet::DataAttributeType type,
    150                                 int numComponents,
    151                                 int component = -1);
    152 
    153     // Render window
    154 
    155     /// Get the VTK render window object this Renderer uses
    156     vtkRenderWindow *getRenderWindow()
    157     {
    158         return _renderWindow;
    159     }
    160 
    161     void setWindowSize(int width, int height);
    162 
    163     int getWindowWidth() const;
    164 
    165     int getWindowHeight() const;
    166 
    167     // Camera controls
    168 
    169     void setViewAngle(int height);
    170 
    171     vtkCamera *getVtkCamera()
    172     {
    173         if (_renderer != NULL)
    174             return _renderer->GetActiveCamera();
    175         else
    176             return NULL;
    177     }
    178 
    179     void setCameraMode(CameraMode mode);
    180 
    181     CameraMode getCameraMode() const;
    182 
    183     void resetCamera(bool resetOrientation = true);
    184 
    185     void resetCameraClippingRange();
    186 
    187     void setCameraZoomRegionPixels(int x, int y, int width, int height);
    188 
    189     void setCameraZoomRegion(double x, double y, double width, double height);
    190 
    191     void getCameraZoomRegion(double xywh[4]) const;
    192 
    193     void getScreenWorldCoords(double xywh[4]) const;
    194 
    195     void rotateCamera(double yaw, double pitch, double roll);
    196 
    197     void setCameraOrientation(const double quat[4], bool absolute = true);
    198 
    199     void panCamera(double x, double y, bool absolute = true);
    200 
    201     void zoomCamera(double z, bool absolute = true);
    202 
    203     void setCameraOrientationAndPosition(const double position[3],
    204                                          const double focalPoint[3],
    205                                          const double viewUp[3]);
    206 
    207     void getCameraOrientationAndPosition(double position[3],
    208                                          double focalPoint[3],
    209                                          double viewUp[3]);
    210 
    211     // Rendering an image
    212 
    213     void setBackgroundColor(float color[3]);
    214 
    215     void setClipPlane(Axis axis, double ratio, int direction);
    216 
    217     void setUseTwoSidedLighting(bool state);
    218 
    219     void setUseDepthPeeling(bool state);
    220 
    221     void eventuallyRender();
    222 
    223     bool render();
    224 
    225     void getRenderedFrame(vtkUnsignedCharArray *imgData);
    226 
    227     // Axes
    228 
    229     void setAxesFlyMode(AxesFlyMode mode);
    230 
    231     void setAxesVisibility(bool state);
    232 
    233     void setAxesGridVisibility(bool state);
    234 
    235     void setAxesLabelVisibility(bool state);
    236 
    237     void setAxesTickVisibility(bool state);
    238 
    239     void setAxesTickPosition(AxesTickPosition pos);
    240 
    241     void setAxesColor(double color[3]);
    242 
    243     void setAxisVisibility(Axis axis, bool state);
    244 
    245     void setAxisGridVisibility(Axis axis, bool state);
    246 
    247     void setAxisLabelVisibility(Axis axis, bool state);
    248 
    249     void setAxisTickVisibility(Axis axis, bool state);
    250 
    251     void setAxisTitle(Axis axis, const char *title);
    252 
    253     void setAxisUnits(Axis axis, const char *units);
    254 
    255     // Colormaps
    256 
    257     void addColorMap(const ColorMapId& id, ColorMap *colorMap);
    258 
    259     void deleteColorMap(const ColorMapId& id);
    260 
    261     ColorMap *getColorMap(const ColorMapId& id);
    262 
    263     bool renderColorMap(const ColorMapId& id,
    264                         const DataSetId& dataSetID,
    265                         LegendType legendType,
    266                         const char *fieldName,
    267                         DataSet::DataAttributeType type,
    268                         std::string& title,
    269                         double range[2],
    270                         int width, int height,
    271                         bool opaque,
    272                         int numLabels,
    273                         vtkUnsignedCharArray *imgData);
    274 
    275     bool renderColorMap(const ColorMapId& id,
    276                         const DataSetId& dataSetID,
    277                         LegendType legendType,
    278                         const char *fieldName,
    279                         std::string& title,
    280                         double range[2],
    281                         int width, int height,
    282                         bool opaque,
    283                         int numLabels,
    284                         vtkUnsignedCharArray *imgData);
    285 
    286     bool renderColorMap(const ColorMapId& id,
    287                         const DataSetId& dataSetID,
    288                         LegendType legendType,
    289                         std::string& title,
    290                         double range[2],
    291                         int width, int height,
    292                         bool opaque,
    293                         int numLabels,
    294                         vtkUnsignedCharArray *imgData);
    295 
    296     // Generic VtkGraphicsObject methods
    297 
    298     template<class GraphicsObject>
    299     GraphicsObject *getGraphicsObject(const DataSetId& id);
    300 
    301     template<class GraphicsObject>
    302     bool addGraphicsObject(const DataSetId& id);
    303 
    304     template<class GraphicsObject>
    305     void deleteGraphicsObject(const DataSetId& id);
    306 
    307     template<class GraphicsObject>
    308     void setGraphicsObjectColorMap(const DataSetId& id, const ColorMapId& colorMapId);
    309 
    310     template<class GraphicsObject>
    311     void setGraphicsObjectVolumeSlice(const DataSetId& id, Axis axis, double ratio);
    312 
    313     //   Prop/Prop3D properties
    314 
    315     template<class GraphicsObject>
    316     void setGraphicsObjectOrientation(const DataSetId& id, double quat[4]);
    317 
    318     template<class GraphicsObject>
    319     void setGraphicsObjectOrientation(const DataSetId& id, double angle, double axis[3]);
    320 
    321     template<class GraphicsObject>
    322     void setGraphicsObjectPosition(const DataSetId& id, double pos[3]);
    323 
    324     template<class GraphicsObject>
    325     void setGraphicsObjectScale(const DataSetId& id, double scale[3]);
    326 
    327     template<class GraphicsObject>
    328     void setGraphicsObjectTransform(const DataSetId& id, vtkMatrix4x4 *trans);
    329 
    330     template<class GraphicsObject>
    331     void setGraphicsObjectVisibility(const DataSetId& id, bool state);
    332 
    333     //   Actor properties
    334 
    335     template<class GraphicsObject>
    336     void setGraphicsObjectColor(const DataSetId& id, float color[3]);
    337 
    338     template<class GraphicsObject>
    339     void setGraphicsObjectEdgeVisibility(const DataSetId& id, bool state);
    340 
    341     template<class GraphicsObject>
    342     void setGraphicsObjectEdgeColor(const DataSetId& id, float color[3]);
    343 
    344     template<class GraphicsObject>
    345     void setGraphicsObjectEdgeWidth(const DataSetId& id, float edgeWidth);
    346 
    347     template<class GraphicsObject>
    348     void setGraphicsObjectAmbient(const DataSetId& id, double coeff);
    349 
    350     template<class GraphicsObject>
    351     void setGraphicsObjectDiffuse(const DataSetId& id, double coeff);
    352 
    353     template<class GraphicsObject>
    354     void setGraphicsObjectSpecular(const DataSetId& id, double coeff, double power);
    355 
    356     template<class GraphicsObject>
    357     void setGraphicsObjectLighting(const DataSetId& id, bool state);
    358 
    359     template<class GraphicsObject>
    360     void setGraphicsObjectOpacity(const DataSetId& id, double opacity);
    361 
    362     template<class GraphicsObject>
    363     void setGraphicsObjectPointSize(const DataSetId& id, float size);
    364 
    365     template<class GraphicsObject>
    366     void setGraphicsObjectWireframe(const DataSetId& id, bool state);
    367 
    368     // 2D Contour plots
    369 
    370     bool addContour2D(const DataSetId& id, int numContours);
    371 
    372     bool addContour2D(const DataSetId& id, const std::vector<double>& contours);
    373 
    374     void setContour2DContours(const DataSetId& id, int numContours);
    375 
    376     void setContour2DContourList(const DataSetId& id, const std::vector<double>& contours);
    377 
    378     // 3D Contour (isosurface) plots
    379 
    380     bool addContour3D(const DataSetId& id, int numContours);
    381 
    382     bool addContour3D(const DataSetId& id, const std::vector<double>& contours);
    383 
    384     void setContour3DContours(const DataSetId& id, int numContours);
    385 
    386     void setContour3DContourList(const DataSetId& id, const std::vector<double>& contours);
    387 
    388     // Cutplanes
    389 
    390     void setCutplaneOutlineVisibility(const DataSetId& id, bool state);
    391 
    392     void setCutplaneSliceVisibility(const DataSetId& id, Axis axis, bool state);
    393 
    394     void setCutplaneColorMode(const DataSetId& id,
    395                               Cutplane::ColorMode mode,
    396                               const char *name, double range[2] = NULL);
    397 
    398     void setCutplaneColorMode(const DataSetId& id,
    399                               Cutplane::ColorMode mode,
    400                               DataSet::DataAttributeType type,
    401                               const char *name, double range[2] = NULL);
    402 
    403     // Glyphs
    404 
    405     bool addGlyphs(const DataSetId& id, Glyphs::GlyphShape shape);
    406 
    407     void setGlyphsShape(const DataSetId& id, Glyphs::GlyphShape shape);
    408 
    409     void setGlyphsColorMode(const DataSetId& id,
    410                             Glyphs::ColorMode mode,
    411                             const char *name,
    412                             double range[2] = NULL);
    413 
    414     void setGlyphsScalingMode(const DataSetId& id,
    415                               Glyphs::ScalingMode mode,
    416                               const char *name,
    417                               double range[2] = NULL);
    418 
    419     void setGlyphsNormalizeScale(const DataSetId& id, bool normalize);
    420 
    421     void setGlyphsScaleFactor(const DataSetId& id, double scale);
    422 
    423     // Height maps
    424 
    425     bool addHeightMap(const DataSetId& id, int numContours, double heightScale);
    426 
    427     bool addHeightMap(const DataSetId& id, const std::vector<double>& contours, double heightScale);
    428 
    429     void setHeightMapHeightScale(const DataSetId& id, double scale);
    430 
    431     void setHeightMapNumContours(const DataSetId& id, int numContours);
    432 
    433     void setHeightMapContourList(const DataSetId& id, const std::vector<double>& contours);
    434 
    435     void setHeightMapContourSurfaceVisibility(const DataSetId& id, bool state);
    436 
    437     void setHeightMapContourLineVisibility(const DataSetId& id, bool state);
    438 
    439     void setHeightMapContourEdgeColor(const DataSetId& id, float color[3]);
    440 
    441     void setHeightMapContourEdgeWidth(const DataSetId& id, float edgeWidth);
    442 
    443     // Molecules
    444 
    445     void setMoleculeAtomScaling(const DataSetId& id, Molecule::AtomScaling scaling);
    446 
    447     void setMoleculeAtomVisibility(const DataSetId& id, bool state);
    448 
    449     void setMoleculeBondVisibility(const DataSetId& id, bool state);
    450 
    451     // Color-mapped surfaces
    452 
    453     void setPseudoColorColorMode(const DataSetId& id,
    454                                  PseudoColor::ColorMode mode,
    455                                  const char *name, double range[2] = NULL);
    456 
    457     void setPseudoColorColorMode(const DataSetId& id,
    458                                  PseudoColor::ColorMode mode,
    459                                  DataSet::DataAttributeType type,
    460                                  const char *name, double range[2] = NULL);
    461 
    462     // Streamlines
    463 
    464     void setStreamlinesNumberOfSeedPoints(const DataSetId& id, int numPoints);
    465 
    466     void setStreamlinesSeedToMeshPoints(const DataSetId& id);
    467 
    468     void setStreamlinesSeedToFilledMesh(const DataSetId& id, int numPoints);
    469 
    470     bool setStreamlinesSeedToMeshPoints(const DataSetId& id,
    471                                         char *data, size_t nbytes);
    472 
    473     bool setStreamlinesSeedToFilledMesh(const DataSetId& id,
    474                                         char *data, size_t nbytes,
    475                                         int numPoints);
    476 
    477     void setStreamlinesSeedToRake(const DataSetId& id,
    478                                   double start[3], double end[3],
    479                                   int numPoints);
    480 
    481     void setStreamlinesSeedToDisk(const DataSetId& id,
    482                                   double center[3], double normal[3],
    483                                   double radius, double innerRadius,
    484                                   int numPoints);
    485 
    486     void setStreamlinesSeedToPolygon(const DataSetId& id,
    487                                      double center[3], double normal[3],
    488                                      double angle, double radius,
    489                                      int numSides);
    490 
    491     void setStreamlinesSeedToFilledPolygon(const DataSetId& id,
    492                                            double center[3], double normal[3],
    493                                            double angle, double radius,
    494                                            int numSides, int numPoints);
    495 
    496     void setStreamlinesLength(const DataSetId& id, double length);
    497 
    498     void setStreamlinesTypeToLines(const DataSetId& id);
    499 
    500     void setStreamlinesTypeToTubes(const DataSetId& id, int numSides, double radius);
    501 
    502     void setStreamlinesTypeToRibbons(const DataSetId& id, double width, double angle);
    503 
    504     void setStreamlinesSeedVisibility(const DataSetId& id, bool state);
    505 
    506     void setStreamlinesColorMode(const DataSetId& id,
    507                                  Streamlines::ColorMode mode,
    508                                  const char *name, double range[2] = NULL);
    509 
    510     void setStreamlinesColorMode(const DataSetId& id,
    511                                  Streamlines::ColorMode mode,
    512                                  DataSet::DataAttributeType type,
    513                                  const char *name, double range[2] = NULL);
    514 
    515     void setStreamlinesSeedColor(const DataSetId& id, float color[3]);
    516 
    517     // Volumes
    518 
    519     void setVolumeSampleDistance(const DataSetId& id, double distance);
    520 
    521 private:
    522525    static void printCameraInfo(vtkCamera *camera);
    523526
     
    601604    vtkSmartPointer<vtkPlane> _userClipPlanes[6];
    602605    vtkSmartPointer<vtkPlaneCollection> _activeClipPlanes;
    603     vtkSmartPointer<vtkCubeAxesActor> _cubeAxesActor; // For 3D view
    604606#ifdef USE_CUSTOM_AXES
     607    vtkSmartPointer<vtkRpCubeAxesActor> _cubeAxesActor; // For 3D view
    605608    vtkSmartPointer<vtkRpCubeAxesActor2D> _cubeAxesActor2D; // For 2D view
    606609#else
     610    vtkSmartPointer<vtkCubeAxesActor> _cubeAxesActor; // For 3D view
    607611    vtkSmartPointer<vtkCubeAxesActor2D> _cubeAxesActor2D; // For 2D view
    608612#endif
Note: See TracChangeset for help on using the changeset viewer.