VTK
vtkLabelPlacementMapper.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkLabelPlacementMapper.h
5 
6  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7  All rights reserved.
8  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
15 /*-------------------------------------------------------------------------
16  Copyright 2008 Sandia Corporation.
17  Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation,
18  the U.S. Government retains certain rights in this software.
19 -------------------------------------------------------------------------*/
40 #ifndef vtkLabelPlacementMapper_h
41 #define vtkLabelPlacementMapper_h
42 
43 #include "vtkRenderingLabelModule.h" // For export macro
44 #include "vtkMapper2D.h"
45 
46 class vtkCoordinate;
49 
51 {
52 public:
55  void PrintSelf(ostream& os, vtkIndent indent);
56 
58  void RenderOverlay(vtkViewport *viewport, vtkActor2D *actor);
59 
61 
65 
67 
69  vtkSetClampMacro(MaximumLabelFraction,double,0.,1.);
70  vtkGetMacro(MaximumLabelFraction,double);
72 
74 
76  vtkSetMacro(IteratorType,int);
77  vtkGetMacro(IteratorType,int);
79 
81 
82  vtkSetMacro(UseUnicodeStrings,bool);
83  vtkGetMacro(UseUnicodeStrings,bool);
84  vtkBooleanMacro(UseUnicodeStrings,bool);
86 
88 
92  vtkGetMacro(PositionsAsNormals,bool);
93  vtkSetMacro(PositionsAsNormals,bool);
94  vtkBooleanMacro(PositionsAsNormals,bool);
96 
98 
100  vtkGetMacro(GeneratePerturbedLabelSpokes,bool);
101  vtkSetMacro(GeneratePerturbedLabelSpokes,bool);
102  vtkBooleanMacro(GeneratePerturbedLabelSpokes,bool);
104 
106 
109  vtkGetMacro(UseDepthBuffer,bool);
110  vtkSetMacro(UseDepthBuffer,bool);
111  vtkBooleanMacro(UseDepthBuffer,bool);
113 
115 
117  vtkSetMacro(PlaceAllLabels, bool);
118  vtkGetMacro(PlaceAllLabels, bool);
119  vtkBooleanMacro(PlaceAllLabels, bool);
121 
123 
124  vtkSetMacro(OutputTraversedBounds, bool);
125  vtkGetMacro(OutputTraversedBounds, bool);
126  vtkBooleanMacro(OutputTraversedBounds, bool);
128 
129  //BTX
130  enum LabelShape {
134  NUMBER_OF_LABEL_SHAPES
135  };
136  //ETX
137 
139 
141  vtkSetClampMacro(Shape, int, 0, NUMBER_OF_LABEL_SHAPES-1);
143  virtual void SetShapeToNone()
144  { this->SetShape(NONE); }
145  virtual void SetShapeToRect()
146  { this->SetShape(RECT); }
147  virtual void SetShapeToRoundedRect()
148  { this->SetShape(ROUNDED_RECT); }
150 
151  //BTX
152  enum LabelStyle {
155  NUMBER_OF_LABEL_STYLES
156  };
157  //ETX
158 
160 
162  vtkSetClampMacro(Style, int, 0, NUMBER_OF_LABEL_STYLES-1);
163  vtkGetMacro(Style, int);
164  virtual void SetStyleToFilled()
165  { this->SetStyle(FILLED); }
166  virtual void SetStyleToOutline()
167  { this->SetStyle(OUTLINE); }
169 
171 
172  vtkSetMacro(Margin, double);
173  vtkGetMacro(Margin, double);
175 
177 
178  vtkSetVector3Macro(BackgroundColor, double);
179  vtkGetVector3Macro(BackgroundColor, double);
181 
183 
184  vtkSetClampMacro(BackgroundOpacity, double, 0.0, 1.0);
185  vtkGetMacro(BackgroundOpacity, double);
187 
189 
192 
197 
198 protected:
201 
203 
205 
206  //BTX
207  class Internal;
208  Internal* Buckets;
209  //ETX
210 
221 
222  int LastRendererSize[2];
223  double LastCameraPosition[3];
224  double LastCameraFocalPoint[3];
225  double LastCameraViewUp[3];
228 
229  int Style;
230  int Shape;
231  double Margin;
233  double BackgroundColor[3];
234 
235 private:
236  vtkLabelPlacementMapper(const vtkLabelPlacementMapper&); // Not implemented.
237  void operator=(const vtkLabelPlacementMapper&); // Not implemented.
238 };
239 
240 #endif
241 
vtkLabelPlacementMapper::LastCameraParallelScale
double LastCameraParallelScale
Definition: vtkLabelPlacementMapper.h:226
vtkRenderingLabelModule.h
vtkGetObjectMacro
#define vtkGetObjectMacro(name, type)
Definition: vtkSetGet.h:232
vtkglX::NONE
const GLenum NONE
Definition: vtkgl.h:19335
vtkLabelPlacementMapper::OUTLINE
@ OUTLINE
Definition: vtkLabelPlacementMapper.h:154
vtkLabelPlacementMapper::Shape
int Shape
Definition: vtkLabelPlacementMapper.h:230
vtkSetVector3Macro
#define vtkSetVector3Macro(name, type)
Definition: vtkSetGet.h:287
vtkLabelPlacementMapper::SetShapeToRect
virtual void SetShapeToRect()
Definition: vtkLabelPlacementMapper.h:145
vtkLabelPlacementMapper::SetStyleToFilled
virtual void SetStyleToFilled()
Definition: vtkLabelPlacementMapper.h:164
vtkLabelPlacementMapper::vtkLabelPlacementMapper
vtkLabelPlacementMapper()
vtkgl::s
GLdouble s
Definition: vtkgl.h:11594
vtkLabelPlacementMapper::Margin
double Margin
Definition: vtkLabelPlacementMapper.h:231
vtkTypeMacro
#define vtkTypeMacro(thisClass, superclass)
Definition: vtkSetGet.h:642
vtkX3D::Shape
@ Shape
Definition: vtkX3D.h:36
vtkLabelPlacementMapper::Style
int Style
Definition: vtkLabelPlacementMapper.h:229
VTKRENDERINGLABEL_EXPORT
#define VTKRENDERINGLABEL_EXPORT
Definition: vtkRenderingLabelModule.h:15
vtkLabelPlacementMapper
Places and renders non-overlapping labels.
Definition: vtkLabelPlacementMapper.h:51
vtkLabelPlacementMapper::RenderStrategy
vtkLabelRenderStrategy * RenderStrategy
Definition: vtkLabelPlacementMapper.h:211
vtkLabelPlacementMapper::OutputTraversedBounds
bool OutputTraversedBounds
Definition: vtkLabelPlacementMapper.h:220
vtkLabelPlacementMapper::SetShapeToNone
virtual void SetShapeToNone()
Definition: vtkLabelPlacementMapper.h:143
vtkLabelPlacementMapper::New
static vtkLabelPlacementMapper * New()
vtkLabelPlacementMapper::LabelStyle
LabelStyle
Definition: vtkLabelPlacementMapper.h:152
vtkLabelPlacementMapper::RenderOverlay
void RenderOverlay(vtkViewport *viewport, vtkActor2D *actor)
vtkLabelPlacementMapper::LabelShape
LabelShape
Definition: vtkLabelPlacementMapper.h:130
vtkWindow
window superclass for vtkRenderWindow
Definition: vtkWindow.h:34
vtkLabelPlacementMapper::NONE
@ NONE
Definition: vtkLabelPlacementMapper.h:131
vtkLabelPlacementMapper::BackgroundOpacity
double BackgroundOpacity
Definition: vtkLabelPlacementMapper.h:232
vtkLabelPlacementMapper::FillInputPortInformation
virtual int FillInputPortInformation(int port, vtkInformation *info)
vtkX3D::port
@ port
Definition: vtkX3D.h:447
vtkSetClampMacro
#define vtkSetClampMacro(name, type, min, max)
Definition: vtkSetGet.h:143
vtkLabelPlacementMapper::PlaceAllLabels
bool PlaceAllLabels
Definition: vtkLabelPlacementMapper.h:219
vtkGetVector3Macro
#define vtkGetVector3Macro(name, type)
Definition: vtkSetGet.h:304
vtkLabelPlacementMapper::FILLED
@ FILLED
Definition: vtkLabelPlacementMapper.h:153
vtkLabelPlacementMapper::UseUnicodeStrings
bool UseUnicodeStrings
Definition: vtkLabelPlacementMapper.h:218
vtkLabelPlacementMapper::SetRenderStrategy
virtual void SetRenderStrategy(vtkLabelRenderStrategy *s)
vtkLabelPlacementMapper::Buckets
Internal * Buckets
Definition: vtkLabelPlacementMapper.h:207
vtkLabelPlacementMapper::MaximumLabelFraction
double MaximumLabelFraction
Definition: vtkLabelPlacementMapper.h:214
vtkLabelPlacementMapper::SetShapeToRoundedRect
virtual void SetShapeToRoundedRect()
Definition: vtkLabelPlacementMapper.h:147
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:39
vtkLabelPlacementMapper::IteratorType
int IteratorType
Definition: vtkLabelPlacementMapper.h:227
vtkMapper2D.h
vtkCoordinate
perform coordinate transformation, and represent position, in a variety of vtk coordinate systems
Definition: vtkCoordinate.h:70
vtkLabelPlacementMapper::PositionsAsNormals
bool PositionsAsNormals
Definition: vtkLabelPlacementMapper.h:215
vtkLabelPlacementMapper::AnchorTransform
vtkCoordinate * AnchorTransform
Definition: vtkLabelPlacementMapper.h:212
vtkGetMacro
#define vtkGetMacro(name, type)
Definition: vtkSetGet.h:93
vtkLabelPlacementMapper::ROUNDED_RECT
@ ROUNDED_RECT
Definition: vtkLabelPlacementMapper.h:133
vtkLabelPlacementMapper::VisiblePoints
vtkSelectVisiblePoints * VisiblePoints
Definition: vtkLabelPlacementMapper.h:213
vtkMapper2D
abstract class specifies interface for objects which render 2D actors
Definition: vtkMapper2D.h:35
vtkLabelPlacementMapper::~vtkLabelPlacementMapper
~vtkLabelPlacementMapper()
vtkViewport
abstract specification for Viewports
Definition: vtkViewport.h:47
vtkLabelRenderStrategy
Superclass for label rendering implementations.
Definition: vtkLabelRenderStrategy.h:36
vtkBooleanMacro
vtkBooleanMacro(IgnoreDriverBugs, bool)
vtkInformation
Store vtkAlgorithm input/output information.
Definition: vtkInformation.h:86
vtkSetMacro
vtkSetMacro(IgnoreDriverBugs, bool)
vtkX3D::info
@ info
Definition: vtkX3D.h:376
vtkLabelPlacementMapper::ReleaseGraphicsResources
virtual void ReleaseGraphicsResources(vtkWindow *)
vtkLabelPlacementMapper::UseDepthBuffer
bool UseDepthBuffer
Definition: vtkLabelPlacementMapper.h:217
vtkActor2D
a actor that draws 2D data
Definition: vtkActor2D.h:45
vtkLabelPlacementMapper::SetAnchorTransform
virtual void SetAnchorTransform(vtkCoordinate *)
vtkSelectVisiblePoints
extract points that are visible (based on z-buffer calculation)
Definition: vtkSelectVisiblePoints.h:60
vtkLabelPlacementMapper::SetStyleToOutline
virtual void SetStyleToOutline()
Definition: vtkLabelPlacementMapper.h:166
vtkLabelPlacementMapper::RECT
@ RECT
Definition: vtkLabelPlacementMapper.h:132
vtkLabelPlacementMapper::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent)
vtkLabelPlacementMapper::GeneratePerturbedLabelSpokes
bool GeneratePerturbedLabelSpokes
Definition: vtkLabelPlacementMapper.h:216