Main Page | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members | Related Pages

dox/Hybrid/vtkCaptionActor2D.h

Go to the documentation of this file.
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: $RCSfile: vtkCaptionActor2D.h,v $ 00005 00006 Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen 00007 All rights reserved. 00008 See Copyright.txt or http://www.kitware.com/Copyright.htm for details. 00009 00010 This software is distributed WITHOUT ANY WARRANTY; without even 00011 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00012 PURPOSE. See the above copyright notice for more information. 00013 00014 =========================================================================*/ 00057 #ifndef __vtkCaptionActor2D_h 00058 #define __vtkCaptionActor2D_h 00059 00060 #include "vtkActor2D.h" 00061 00062 class vtkActor; 00063 class vtkAppendPolyData; 00064 class vtkGlyph2D; 00065 class vtkGlyph3D; 00066 class vtkPolyData; 00067 class vtkPolyDataMapper2D; 00068 class vtkPolyDataMapper; 00069 class vtkTextActor; 00070 class vtkTextMapper; 00071 class vtkTextProperty; 00072 00073 class VTK_HYBRID_EXPORT vtkCaptionActor2D : public vtkActor2D 00074 { 00075 public: 00076 vtkTypeRevisionMacro(vtkCaptionActor2D,vtkActor2D); 00077 void PrintSelf(ostream& os, vtkIndent indent); 00078 00079 static vtkCaptionActor2D *New(); 00080 00082 00084 vtkSetStringMacro(Caption); 00085 vtkGetStringMacro(Caption); 00087 00089 00092 vtkWorldCoordinateMacro(AttachmentPoint); 00094 00096 00097 vtkSetMacro(Border,int); 00098 vtkGetMacro(Border,int); 00099 vtkBooleanMacro(Border,int); 00101 00103 00105 vtkSetMacro(Leader,int); 00106 vtkGetMacro(Leader,int); 00107 vtkBooleanMacro(Leader,int); 00109 00111 00113 vtkSetMacro(ThreeDimensionalLeader,int); 00114 vtkGetMacro(ThreeDimensionalLeader,int); 00115 vtkBooleanMacro(ThreeDimensionalLeader,int); 00117 00119 00122 virtual void SetLeaderGlyph(vtkPolyData*); 00123 vtkGetObjectMacro(LeaderGlyph,vtkPolyData); 00125 00127 00132 vtkSetClampMacro(LeaderGlyphSize,double,0.0,0.1); 00133 vtkGetMacro(LeaderGlyphSize,double); 00135 00137 00140 vtkSetClampMacro(MaximumLeaderGlyphSize,int,1,1000); 00141 vtkGetMacro(MaximumLeaderGlyphSize,int); 00143 00145 00147 vtkSetClampMacro(Padding, int, 0, 50); 00148 vtkGetMacro(Padding, int); 00150 00152 00153 virtual void SetCaptionTextProperty(vtkTextProperty *p); 00154 vtkGetObjectMacro(CaptionTextProperty,vtkTextProperty); 00156 00159 void ShallowCopy(vtkProp *prop); 00160 00161 //BTX 00166 virtual void ReleaseGraphicsResources(vtkWindow *); 00167 00169 00172 int RenderOpaqueGeometry(vtkViewport* viewport); 00173 int RenderTranslucentGeometry(vtkViewport* ) {return 0;} 00174 int RenderOverlay(vtkViewport* viewport); 00176 //ETX 00177 00178 protected: 00179 vtkCaptionActor2D(); 00180 ~vtkCaptionActor2D(); 00181 00182 vtkCoordinate *AttachmentPointCoordinate; 00183 00184 char *Caption; 00185 int Border; 00186 int Leader; 00187 int ThreeDimensionalLeader; 00188 double LeaderGlyphSize; 00189 int MaximumLeaderGlyphSize; 00190 00191 vtkPolyData *LeaderGlyph; //what to put on the end of the leader 00192 00193 int Padding; 00194 00195 private: 00196 vtkTextActor *CaptionActor; 00197 vtkTextProperty *CaptionTextProperty; 00198 00199 vtkPolyData *BorderPolyData; 00200 vtkPolyDataMapper2D *BorderMapper; 00201 vtkActor2D *BorderActor; 00202 00203 vtkPolyData *HeadPolyData; // single attachment point for glyphing 00204 vtkGlyph3D *HeadGlyph; // for 3D leader 00205 vtkPolyData *LeaderPolyData; // line represents the leader 00206 vtkAppendPolyData *AppendLeader; // append head and leader 00207 00208 // for 2D leader 00209 vtkCoordinate *MapperCoordinate2D; 00210 vtkPolyDataMapper2D *LeaderMapper2D; 00211 vtkActor2D *LeaderActor2D; 00212 00213 // for 3D leader 00214 vtkPolyDataMapper *LeaderMapper3D; 00215 vtkActor *LeaderActor3D; 00216 00217 private: 00218 vtkCaptionActor2D(const vtkCaptionActor2D&); // Not implemented. 00219 void operator=(const vtkCaptionActor2D&); // Not implemented. 00220 }; 00221 00222 00223 #endif 00224 00225 00226