VTK
vtkGlyphSource2D.h
Go to the documentation of this file.
1/*=========================================================================
2
3 Program: Visualization Toolkit
4 Module: vtkGlyphSource2D.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=========================================================================*/
36#ifndef vtkGlyphSource2D_h
37#define vtkGlyphSource2D_h
38
39#include "vtkFiltersSourcesModule.h" // For export macro
41
42#define VTK_NO_GLYPH 0
43#define VTK_VERTEX_GLYPH 1
44#define VTK_DASH_GLYPH 2
45#define VTK_CROSS_GLYPH 3
46#define VTK_THICKCROSS_GLYPH 4
47#define VTK_TRIANGLE_GLYPH 5
48#define VTK_SQUARE_GLYPH 6
49#define VTK_CIRCLE_GLYPH 7
50#define VTK_DIAMOND_GLYPH 8
51#define VTK_ARROW_GLYPH 9
52#define VTK_THICKARROW_GLYPH 10
53#define VTK_HOOKEDARROW_GLYPH 11
54#define VTK_EDGEARROW_GLYPH 12
55
56#define VTK_MAX_CIRCLE_RESOLUTION 1024
57
58class vtkPoints;
60class vtkCellArray;
61
62class VTKFILTERSSOURCES_EXPORT vtkGlyphSource2D : public vtkPolyDataAlgorithm
63{
64public:
66 void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
67
73
75
78 vtkSetVector3Macro(Center,double);
79 vtkGetVectorMacro(Center,double,3);
81
83
87 vtkSetClampMacro(Scale,double,0.0,VTK_DOUBLE_MAX);
88 vtkGetMacro(Scale,double);
90
92
96 vtkSetClampMacro(Scale2,double,0.0,VTK_DOUBLE_MAX);
97 vtkGetMacro(Scale2,double);
99
101
104 vtkSetVector3Macro(Color,double);
105 vtkGetVectorMacro(Color,double,3);
107
109
114 vtkSetMacro(Filled,int);
115 vtkGetMacro(Filled,int);
116 vtkBooleanMacro(Filled,int);
118
120
125 vtkSetMacro(Dash,int);
126 vtkGetMacro(Dash,int);
129
131
136 vtkSetMacro(Cross,int);
137 vtkGetMacro(Cross,int);
138 vtkBooleanMacro(Cross,int);
140
142
147 vtkSetMacro(RotationAngle,double);
148 vtkGetMacro(RotationAngle,double);
150
152
155 vtkSetClampMacro(Resolution,int,3,VTK_MAX_CIRCLE_RESOLUTION);
156 vtkGetMacro(Resolution,int);
158
160
163 vtkSetClampMacro(GlyphType,int,VTK_NO_GLYPH,VTK_EDGEARROW_GLYPH);
164 vtkGetMacro(GlyphType,int);
165 void SetGlyphTypeToNone() {this->SetGlyphType(VTK_NO_GLYPH);}
166 void SetGlyphTypeToVertex() {this->SetGlyphType(VTK_VERTEX_GLYPH);}
167 void SetGlyphTypeToDash() {this->SetGlyphType(VTK_DASH_GLYPH);}
168 void SetGlyphTypeToCross() {this->SetGlyphType(VTK_CROSS_GLYPH);}
169 void SetGlyphTypeToThickCross() {this->SetGlyphType(VTK_THICKCROSS_GLYPH);}
170 void SetGlyphTypeToTriangle() {this->SetGlyphType(VTK_TRIANGLE_GLYPH);}
171 void SetGlyphTypeToSquare() {this->SetGlyphType(VTK_SQUARE_GLYPH);}
172 void SetGlyphTypeToCircle() {this->SetGlyphType(VTK_CIRCLE_GLYPH);}
173 void SetGlyphTypeToDiamond() {this->SetGlyphType(VTK_DIAMOND_GLYPH);}
174 void SetGlyphTypeToArrow() {this->SetGlyphType(VTK_ARROW_GLYPH);}
175 void SetGlyphTypeToThickArrow() {this->SetGlyphType(VTK_THICKARROW_GLYPH);}
177 void SetGlyphTypeToEdgeArrow() {this->SetGlyphType(VTK_EDGEARROW_GLYPH);}
179
181
186 vtkSetMacro(OutputPointsPrecision,int);
187 vtkGetMacro(OutputPointsPrecision,int);
189
190protected:
192 ~vtkGlyphSource2D() VTK_OVERRIDE {}
193
195
196 double Center[3];
197 double Scale;
198 double Scale2;
199 double Color[3];
201 int Dash;
202 int Cross;
207
210 unsigned char RGB[3];
211
213 vtkUnsignedCharArray *colors);
215 vtkCellArray *polys, vtkUnsignedCharArray *colors, double scale);
217 vtkCellArray *polys, vtkUnsignedCharArray *colors, double scale);
219 vtkCellArray *polys, vtkUnsignedCharArray *colors);
221 vtkCellArray *polys, vtkUnsignedCharArray *colors);
223 vtkCellArray *polys, vtkUnsignedCharArray *colors);
225 vtkCellArray *polys, vtkUnsignedCharArray *colors);
227 vtkCellArray *polys, vtkUnsignedCharArray *colors);
229 vtkCellArray *polys, vtkUnsignedCharArray *colors);
231 vtkCellArray *polys, vtkUnsignedCharArray *colors);
233 vtkCellArray *polys, vtkUnsignedCharArray *colors);
235 vtkCellArray *polys, vtkUnsignedCharArray *colors);
236
237private:
238 vtkGlyphSource2D(const vtkGlyphSource2D&) VTK_DELETE_FUNCTION;
239 void operator=(const vtkGlyphSource2D&) VTK_DELETE_FUNCTION;
240};
241
242#endif
object to represent cell connectivity
Definition: vtkCellArray.h:51
create 2D glyphs represented by vtkPolyData
void CreateThickArrow(vtkPoints *pts, vtkCellArray *lines, vtkCellArray *polys, vtkUnsignedCharArray *colors)
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
This is called by the superclass.
void SetGlyphTypeToThickArrow()
void SetGlyphTypeToEdgeArrow()
void CreateCross(vtkPoints *pts, vtkCellArray *lines, vtkCellArray *polys, vtkUnsignedCharArray *colors, double scale)
void CreateThickCross(vtkPoints *pts, vtkCellArray *lines, vtkCellArray *polys, vtkUnsignedCharArray *colors)
void CreateDiamond(vtkPoints *pts, vtkCellArray *lines, vtkCellArray *polys, vtkUnsignedCharArray *colors)
void TransformGlyph(vtkPoints *pts)
void CreateCircle(vtkPoints *pts, vtkCellArray *lines, vtkCellArray *polys, vtkUnsignedCharArray *colors)
~vtkGlyphSource2D() override
void CreateTriangle(vtkPoints *pts, vtkCellArray *lines, vtkCellArray *polys, vtkUnsignedCharArray *colors)
void SetGlyphTypeToHookedArrow()
void CreateEdgeArrow(vtkPoints *pts, vtkCellArray *lines, vtkCellArray *polys, vtkUnsignedCharArray *colors)
void CreateVertex(vtkPoints *pts, vtkCellArray *verts, vtkUnsignedCharArray *colors)
void CreateArrow(vtkPoints *pts, vtkCellArray *lines, vtkCellArray *polys, vtkUnsignedCharArray *colors)
void CreateHookedArrow(vtkPoints *pts, vtkCellArray *lines, vtkCellArray *polys, vtkUnsignedCharArray *colors)
static vtkGlyphSource2D * New()
Construct a vertex glyph centered at the origin, scale 1.0, white in color, filled,...
void SetGlyphTypeToThickCross()
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
void CreateDash(vtkPoints *pts, vtkCellArray *lines, vtkCellArray *polys, vtkUnsignedCharArray *colors, double scale)
void CreateSquare(vtkPoints *pts, vtkCellArray *lines, vtkCellArray *polys, vtkUnsignedCharArray *colors)
a simple class to control print indentation
Definition: vtkIndent.h:40
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
represent and manipulate 3D points
Definition: vtkPoints.h:40
Superclass for algorithms that produce only polydata as output.
dynamic, self-adjusting array of unsigned char
@ Color
Definition: vtkX3D.h:46
@ scale
Definition: vtkX3D.h:229
#define VTK_DIAMOND_GLYPH
#define VTK_SQUARE_GLYPH
#define VTK_TRIANGLE_GLYPH
#define VTK_NO_GLYPH
#define VTK_MAX_CIRCLE_RESOLUTION
#define VTK_VERTEX_GLYPH
#define VTK_THICKCROSS_GLYPH
#define VTK_DASH_GLYPH
#define VTK_HOOKEDARROW_GLYPH
#define VTK_ARROW_GLYPH
#define VTK_EDGEARROW_GLYPH
#define VTK_CIRCLE_GLYPH
#define VTK_CROSS_GLYPH
#define VTK_THICKARROW_GLYPH
vtkSetMacro(IgnoreDriverBugs, bool)
Updates the extensions string.
vtkBooleanMacro(IgnoreDriverBugs, bool)
Updates the extensions string.
#define VTK_DOUBLE_MAX
Definition: vtkType.h:163