00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00044 #ifndef __vtkAnnotatedCubeActor_h
00045 #define __vtkAnnotatedCubeActor_h
00046
00047 #include "vtkProp3D.h"
00048
00049 class vtkActor;
00050 class vtkAppendPolyData;
00051 class vtkCubeSource;
00052 class vtkFeatureEdges;
00053 class vtkPropCollection;
00054 class vtkProperty;
00055 class vtkRenderer;
00056 class vtkTransform;
00057 class vtkTransformFilter;
00058 class vtkVectorText;
00059
00060 class VTK_HYBRID_EXPORT vtkAnnotatedCubeActor : public vtkProp3D
00061 {
00062 public:
00063 static vtkAnnotatedCubeActor *New();
00064 vtkTypeRevisionMacro(vtkAnnotatedCubeActor,vtkProp3D);
00065 void PrintSelf(ostream& os, vtkIndent indent);
00066
00070 virtual void GetActors(vtkPropCollection *);
00071
00073
00074 virtual int RenderOpaqueGeometry(vtkViewport *viewport);
00075 virtual int RenderTranslucentGeometry(vtkViewport *viewport);
00077
00079 void ShallowCopy(vtkProp *prop);
00080
00084 void ReleaseGraphicsResources(vtkWindow *);
00085
00087
00090 void GetBounds(double bounds[6]);
00091 double *GetBounds();
00093
00095 unsigned long int GetMTime();
00096
00101 virtual unsigned long GetRedrawMTime();
00102
00104
00105 void SetFaceTextScale(double);
00106 vtkGetMacro(FaceTextScale, double);
00108
00110
00111 vtkProperty *GetXPlusFaceProperty();
00112 vtkProperty *GetXMinusFaceProperty();
00113 vtkProperty *GetYPlusFaceProperty();
00114 vtkProperty *GetYMinusFaceProperty();
00115 vtkProperty *GetZPlusFaceProperty();
00116 vtkProperty *GetZMinusFaceProperty();
00118
00120 vtkProperty *GetCubeProperty();
00121
00123 vtkProperty *GetTextEdgesProperty();
00124
00126
00127 vtkSetStringMacro( XPlusFaceText );
00128 vtkGetStringMacro( XPlusFaceText );
00129 vtkSetStringMacro( XMinusFaceText );
00130 vtkGetStringMacro( XMinusFaceText );
00131 vtkSetStringMacro( YPlusFaceText );
00132 vtkGetStringMacro( YPlusFaceText );
00133 vtkSetStringMacro( YMinusFaceText );
00134 vtkGetStringMacro( YMinusFaceText );
00135 vtkSetStringMacro( ZPlusFaceText );
00136 vtkGetStringMacro( ZPlusFaceText );
00137 vtkSetStringMacro( ZMinusFaceText );
00138 vtkGetStringMacro( ZMinusFaceText );
00140
00142
00143 vtkSetMacro(TextEdges, int);
00144 vtkGetMacro(TextEdges, int);
00145 vtkBooleanMacro(TextEdges, int);
00147
00149
00150 vtkSetMacro(Cube, int);
00151 vtkGetMacro(Cube, int);
00152 vtkBooleanMacro(Cube, int);
00154
00156
00157 vtkSetMacro(FaceText, int);
00158 vtkGetMacro(FaceText, int);
00159 vtkBooleanMacro(FaceText, int);
00161
00163
00164 vtkSetMacro(XFaceTextRotation,double);
00165 vtkGetMacro(XFaceTextRotation,double);
00166 vtkSetMacro(YFaceTextRotation,double);
00167 vtkGetMacro(YFaceTextRotation,double);
00168 vtkSetMacro(ZFaceTextRotation,double);
00169 vtkGetMacro(ZFaceTextRotation,double);
00171
00172 protected:
00173 vtkAnnotatedCubeActor();
00174 ~vtkAnnotatedCubeActor();
00175
00176 vtkCubeSource *CubeSource;
00177 vtkActor *CubeActor;
00178 int Cube;
00179
00180 vtkAppendPolyData *AppendTextEdges;
00181 vtkFeatureEdges *ExtractTextEdges;
00182 vtkActor *TextEdgesActor;
00183 int TextEdges;
00184
00185 void UpdateProps();
00186
00187 char *XPlusFaceText;
00188 char *XMinusFaceText;
00189 char *YPlusFaceText;
00190 char *YMinusFaceText;
00191 char *ZPlusFaceText;
00192 char *ZMinusFaceText;
00193
00194 double FaceTextScale;
00195 int FaceText;
00196
00197 double XFaceTextRotation;
00198 double YFaceTextRotation;
00199 double ZFaceTextRotation;
00200
00201 vtkVectorText *XPlusFaceVectorText;
00202 vtkVectorText *XMinusFaceVectorText;
00203 vtkVectorText *YPlusFaceVectorText;
00204 vtkVectorText *YMinusFaceVectorText;
00205 vtkVectorText *ZPlusFaceVectorText;
00206 vtkVectorText *ZMinusFaceVectorText;
00207
00208 vtkActor *XPlusFaceActor;
00209 vtkActor *XMinusFaceActor;
00210 vtkActor *YPlusFaceActor;
00211 vtkActor *YMinusFaceActor;
00212 vtkActor *ZPlusFaceActor;
00213 vtkActor *ZMinusFaceActor;
00214
00215 vtkTransformFilter *TransformFilter;
00216 vtkTransform *Transform;
00217
00218 private:
00219 vtkAnnotatedCubeActor(const vtkAnnotatedCubeActor&);
00220 void operator=(const vtkAnnotatedCubeActor&);
00221 };
00222
00223 #endif
00224