/usr/include/paraview/vtkGridAxes2DActor.h is in paraview-dev 5.0.1+dfsg1-4.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 | /*=========================================================================
Program: Visualization Toolkit
Module: vtkGridAxes2DActor.h
Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
All rights reserved.
See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
This software is distributed WITHOUT ANY WARRANTY; without even
the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE. See the above copyright notice for more information.
=========================================================================*/
// .NAME vtkGridAxes2DActor
// .SECTION Description
#ifndef vtkGridAxes2DActor_h
#define vtkGridAxes2DActor_h
#include "vtkPVVTKExtensionsDefaultModule.h" //needed for exports
#include "vtkProp3D.h"
#include "vtkGridAxesHelper.h" // needed of Helper
#include "vtkGridAxesPlane2DActor.h" // needed for inline methods
#include "vtkNew.h" // needed for vtkNew.
#include "vtkSmartPointer.h" // needed for vtkSmartPointer.
#include "vtkStdString.h" // needed for vtkStdString.
class vtkAxis;
class vtkContextScene;
class vtkDoubleArray;
class vtkProperty;
class vtkTextProperty;
class VTKPVVTKEXTENSIONSDEFAULT_EXPORT vtkGridAxes2DActor : public vtkProp3D
{
public:
static vtkGridAxes2DActor* New();
vtkTypeMacro(vtkGridAxes2DActor, vtkProp3D);
void PrintSelf(ostream& os, vtkIndent indent);
// Description:
// Set the bounding box defining the grid space. This, together with the
// \c Face identify which planar surface this class is interested in. This
// class is designed to work with a single planar surface.
vtkSetVector6Macro(GridBounds, double);
vtkGetVector6Macro(GridBounds, double);
// These are in the same order as the faces of a vtkVoxel.
enum Faces
{
MIN_YZ = vtkGridAxesHelper::MIN_YZ,
MIN_ZX = vtkGridAxesHelper::MIN_ZX,
MIN_XY = vtkGridAxesHelper::MIN_XY,
MAX_YZ = vtkGridAxesHelper::MAX_YZ,
MAX_ZX = vtkGridAxesHelper::MAX_ZX,
MAX_XY = vtkGridAxesHelper::MAX_XY
};
// Description:
// Indicate which face of the specified bounds is this class operating with.
vtkSetClampMacro(Face, int, MIN_YZ, MAX_XY);
vtkGetMacro(Face, int);
// Description:
// Valid values for LabelMask.
enum LabelMasks
{
MIN_X=vtkGridAxesHelper::MIN_X,
MIN_Y=vtkGridAxesHelper::MIN_Y,
MIN_Z=vtkGridAxesHelper::MIN_Z,
MAX_X=vtkGridAxesHelper::MAX_X,
MAX_Y=vtkGridAxesHelper::MAX_Y,
MAX_Z=vtkGridAxesHelper::MAX_Z
};
// Description:
// Set the axes to label.
vtkSetMacro(LabelMask, unsigned int);
vtkGetMacro(LabelMask, unsigned int);
// Description:
// Enable/Disable layer support. Default is off. When enabled, the prop can
// render in there separate layers:
// \li \c BackgroundLayer for all text labels and titles on the back faces,
// \li \c GeometryLayer for all 3D geometry e.g the grid wireframe, and
// \li \c ForegroundLayer for all text labels and titles on the front faces.
vtkSetMacro(EnableLayerSupport, bool);
vtkGetMacro(EnableLayerSupport, bool);
vtkBooleanMacro(EnableLayerSupport, bool);
// Description:
// Get/Set the layer in which to render all background actors/text when
// EnableLayerSupport is ON. Default is 0.
vtkSetMacro(BackgroundLayer, int);
vtkGetMacro(BackgroundLayer, int);
// Description:
// Get/Set the layer in which to render all 3D actors when
// EnableLayerSupport is ON. Default is 0.
vtkSetMacro(GeometryLayer, int);
vtkGetMacro(GeometryLayer, int);
// Description:
// Get/Set the layer in which to render all foreground actors/text when
// EnableLayerSupport is ON. Default is 0.
vtkSetMacro(ForegroundLayer, int);
vtkGetMacro(ForegroundLayer, int);
// Description:
// Get/Set the property used to control the appearance of the rendered grid.
void SetProperty(vtkProperty*);
vtkProperty* GetProperty();
// Description:
// Get/Set the title text properties for each of the coordinate axes. Which
// properties will be used depends on the selected Face being rendered.
void SetTitleTextProperty(int axis, vtkTextProperty*);
vtkTextProperty* GetTitleTextProperty(int axis);
// Description:
// Get/Set the label text properties for each of the coordinate axes. Which
// properties will be used depends on the selected Face being rendered.
void SetLabelTextProperty(int axis, vtkTextProperty*);
vtkTextProperty* GetLabelTextProperty(int axis);
// Description:
// Set titles for each of the axes.
void SetTitle(int axis, const vtkStdString& title);
const vtkStdString& GetTitle(int axis);
// Description:
// Get/set the numerical notation, standard, scientific or mixed (0, 1, 2).
// Accepted values are vtkAxis::AUTO, vtkAxis::FIXED, vtkAxis::CUSTOM.
void SetNotation(int axis, int notation);
int GetNotation(int axis);
// Description:
// Get/set the numerical precision to use, default is 2.
void SetPrecision(int axis, int val);
int GetPrecision(int axis);
// Description:
// Set custom tick positions for each of the axes.
// The positions are deep copied. Set to NULL to not use custom tick positions
// for the axis.
void SetCustomTickPositions(int axis, vtkDoubleArray* positions);
//---------------------------------------------------------------------------
// *** Properties to control grid rendering ***
//---------------------------------------------------------------------------
// Description:
// Turn off to not generate polydata for the plane's grid.
void SetGenerateGrid(bool val)
{ this->PlaneActor->SetGenerateGrid(val); }
bool GetGenerateGrid()
{ return this->PlaneActor->GetGenerateGrid(); }
vtkBooleanMacro(GenerateGrid, bool);
// Description:
// Turn off to not generate the polydata for the plane's edges. Which edges
// are rendered is defined by the EdgeMask.
void SetGenerateEdges(bool val)
{ this->PlaneActor->SetGenerateEdges(val); }
bool GetGenerateEdges()
{ return this->PlaneActor->GetGenerateEdges(); }
vtkBooleanMacro(GenerateEdges, bool);
// Turn off to not generate the markers for the tick positions. Which egdes
// are rendered is defined by the TickMask.
void SetGenerateTicks(bool val)
{ this->PlaneActor->SetGenerateTicks(val); }
bool GetGenerateTicks()
{ return this->PlaneActor->GetGenerateTicks(); }
vtkBooleanMacro(GenerateTicks, bool);
//--------------------------------------------------------------------------
// Methods for vtkProp3D API.
//--------------------------------------------------------------------------
// Description:
// Returns the prop bounds.
virtual double *GetBounds()
{
this->GetGridBounds(this->Bounds);
return this->Bounds;
}
virtual int RenderOpaqueGeometry(vtkViewport *);
virtual int RenderTranslucentPolygonalGeometry(vtkViewport* viewport);
virtual int RenderOverlay(vtkViewport* viewport);
virtual int HasTranslucentPolygonalGeometry();
virtual void ReleaseGraphicsResources(vtkWindow *);
// Description:
// Overridden to include the mtime for the text properties.
unsigned long GetMTime();
//BTX
protected:
vtkGridAxes2DActor();
~vtkGridAxes2DActor();
bool Update(vtkViewport* viewport);
void UpdateTextProperties(vtkViewport* viewport);
void UpdateLabelPositions(vtkViewport* viewport);
void UpdateTextActors(vtkViewport* viewport);
friend class vtkGridAxes3DActor;
double GridBounds[6];
int Face;
unsigned int LabelMask;
bool EnableLayerSupport;
int BackgroundLayer;
int ForegroundLayer;
int GeometryLayer;
vtkTuple<vtkSmartPointer<vtkTextProperty>, 3> TitleTextProperty;
vtkTuple<vtkSmartPointer<vtkTextProperty>, 3> LabelTextProperty;
vtkTuple<vtkStdString, 3> Titles;
vtkNew<vtkGridAxesHelper> Helper;
vtkSmartPointer<vtkGridAxesPlane2DActor> PlaneActor;
vtkNew<vtkAxis> AxisHelpers[3];
vtkNew<vtkContextScene> AxisHelperScene;
vtkTimeStamp UpdateLabelTextPropertiesMTime;
private:
vtkGridAxes2DActor(const vtkGridAxes2DActor&); // Not implemented.
void operator=(const vtkGridAxes2DActor&); // Not implemented.
class vtkLabels;
vtkLabels* Labels;
friend class vtkLabels;
bool DoRender;
//ETX
};
#endif
|