dox/Graphics/vtkGlyph3D.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00083 #ifndef __vtkGlyph3D_h
00084 #define __vtkGlyph3D_h
00085
00086 #include "vtkDataSetToPolyDataFilter.h"
00087
00088 #define VTK_SCALE_BY_SCALAR 0
00089 #define VTK_SCALE_BY_VECTOR 1
00090 #define VTK_SCALE_BY_VECTORCOMPONENTS 2
00091 #define VTK_DATA_SCALING_OFF 3
00092
00093 #define VTK_COLOR_BY_SCALE 0
00094 #define VTK_COLOR_BY_SCALAR 1
00095 #define VTK_COLOR_BY_VECTOR 2
00096
00097 #define VTK_USE_VECTOR 0
00098 #define VTK_USE_NORMAL 1
00099 #define VTK_VECTOR_ROTATION_OFF 2
00100
00101 #define VTK_INDEXING_OFF 0
00102 #define VTK_INDEXING_BY_SCALAR 1
00103 #define VTK_INDEXING_BY_VECTOR 2
00104
00105 class VTK_GRAPHICS_EXPORT vtkGlyph3D : public vtkDataSetToPolyDataFilter
00106 {
00107 public:
00108 vtkTypeRevisionMacro(vtkGlyph3D,vtkDataSetToPolyDataFilter);
00109 void PrintSelf(ostream& os, vtkIndent indent);
00110
00115 static vtkGlyph3D *New();
00116
00118
00120 void SetNumberOfSources(int num);
00121 int GetNumberOfSources();
00123
00125 void SetSource(vtkPolyData *pd) {this->SetSource(0,pd);};
00126
00128 void SetSource(int id, vtkPolyData *pd);
00129
00131 vtkPolyData *GetSource(int id=0);
00132
00134
00135 vtkSetMacro(Scaling,int);
00136 vtkBooleanMacro(Scaling,int);
00137 vtkGetMacro(Scaling,int);
00139
00141
00142 vtkSetMacro(ScaleMode,int);
00143 vtkGetMacro(ScaleMode,int);
00144 void SetScaleModeToScaleByScalar()
00145 {this->SetScaleMode(VTK_SCALE_BY_SCALAR);};
00146 void SetScaleModeToScaleByVector()
00147 {this->SetScaleMode(VTK_SCALE_BY_VECTOR);};
00148 void SetScaleModeToScaleByVectorComponents()
00149 {this->SetScaleMode(VTK_SCALE_BY_VECTORCOMPONENTS);};
00150 void SetScaleModeToDataScalingOff()
00151 {this->SetScaleMode(VTK_DATA_SCALING_OFF);};
00152 const char *GetScaleModeAsString();
00154
00156
00157 vtkSetMacro(ColorMode,int);
00158 vtkGetMacro(ColorMode,int);
00159 void SetColorModeToColorByScale()
00160 {this->SetColorMode(VTK_COLOR_BY_SCALE);};
00161 void SetColorModeToColorByScalar()
00162 {this->SetColorMode(VTK_COLOR_BY_SCALAR);};
00163 void SetColorModeToColorByVector()
00164 {this->SetColorMode(VTK_COLOR_BY_VECTOR);};
00165 const char *GetColorModeAsString();
00167
00169
00170 vtkSetMacro(ScaleFactor,float);
00171 vtkGetMacro(ScaleFactor,float);
00173
00175
00176 vtkSetVector2Macro(Range,float);
00177 vtkGetVectorMacro(Range,float,2);
00179
00181
00182 vtkSetMacro(Orient,int);
00183 vtkBooleanMacro(Orient,int);
00184 vtkGetMacro(Orient,int);
00186
00188
00190 vtkSetMacro(Clamping,int);
00191 vtkBooleanMacro(Clamping,int);
00192 vtkGetMacro(Clamping,int);
00194
00196
00197 vtkSetMacro(VectorMode,int);
00198 vtkGetMacro(VectorMode,int);
00199 void SetVectorModeToUseVector() {this->SetVectorMode(VTK_USE_VECTOR);};
00200 void SetVectorModeToUseNormal() {this->SetVectorMode(VTK_USE_NORMAL);};
00201 void SetVectorModeToVectorRotationOff()
00202 {this->SetVectorMode(VTK_VECTOR_ROTATION_OFF);};
00203 const char *GetVectorModeAsString();
00205
00207
00210 vtkSetMacro(IndexMode,int);
00211 vtkGetMacro(IndexMode,int);
00212 void SetIndexModeToScalar() {this->SetIndexMode(VTK_INDEXING_BY_SCALAR);};
00213 void SetIndexModeToVector() {this->SetIndexMode(VTK_INDEXING_BY_VECTOR);};
00214 void SetIndexModeToOff() {this->SetIndexMode(VTK_INDEXING_OFF);};
00215 const char *GetIndexModeAsString();
00217
00219
00223 vtkSetMacro(GeneratePointIds,int);
00224 vtkGetMacro(GeneratePointIds,int);
00225 vtkBooleanMacro(GeneratePointIds,int);
00227
00229
00232 vtkSetStringMacro(PointIdsName);
00233 vtkGetStringMacro(PointIdsName);
00235
00236 protected:
00237 vtkGlyph3D();
00238 ~vtkGlyph3D();
00239
00240 void Execute();
00241 void ExecuteInformation();
00242 void ComputeInputUpdateExtents(vtkDataObject *output);
00243
00244 int NumberOfSources;
00245 vtkPolyData **Source;
00246 int Scaling;
00247 int ScaleMode;
00248 int ColorMode;
00249 float ScaleFactor;
00250 float Range[2];
00251 int Orient;
00252 int VectorMode;
00253 int Clamping;
00254 int IndexMode;
00255 int GeneratePointIds;
00256 char *PointIdsName;
00257
00258 char *InputScalarsSelection;
00259 char *InputVectorsSelection;
00260 char *InputNormalsSelection;
00261 vtkSetStringMacro(InputScalarsSelection);
00262 vtkSetStringMacro(InputVectorsSelection);
00263 vtkSetStringMacro(InputNormalsSelection);
00264
00265 private:
00266 vtkGlyph3D(const vtkGlyph3D&);
00267 void operator=(const vtkGlyph3D&);
00268 };
00269
00271 inline const char *vtkGlyph3D::GetScaleModeAsString(void)
00272 {
00273 if ( this->ScaleMode == VTK_SCALE_BY_SCALAR )
00274 {
00275 return "ScaleByScalar";
00276 }
00277 else if ( this->ScaleMode == VTK_SCALE_BY_VECTOR )
00278 {
00279 return "ScaleByVector";
00280 }
00281 else
00282 {
00283 return "DataScalingOff";
00284 }
00285 }
00286
00288 inline const char *vtkGlyph3D::GetColorModeAsString(void)
00289 {
00290 if ( this->ColorMode == VTK_COLOR_BY_SCALAR )
00291 {
00292 return "ColorByScalar";
00293 }
00294 else if ( this->ColorMode == VTK_COLOR_BY_VECTOR )
00295 {
00296 return "ColorByVector";
00297 }
00298 else
00299 {
00300 return "ColorByScale";
00301 }
00302 }
00303
00305 inline const char *vtkGlyph3D::GetVectorModeAsString(void)
00306 {
00307 if ( this->VectorMode == VTK_USE_VECTOR)
00308 {
00309 return "UseVector";
00310 }
00311 else if ( this->VectorMode == VTK_USE_NORMAL)
00312 {
00313 return "UseNormal";
00314 }
00315 else
00316 {
00317 return "VectorRotationOff";
00318 }
00319 }
00320
00322 inline const char *vtkGlyph3D::GetIndexModeAsString(void)
00323 {
00324 if ( this->IndexMode == VTK_INDEXING_OFF)
00325 {
00326 return "IndexingOff";
00327 }
00328 else if ( this->IndexMode == VTK_INDEXING_BY_SCALAR)
00329 {
00330 return "IndexingByScalar";
00331 }
00332 else
00333 {
00334 return "IndexingByVector";
00335 }
00336 }
00337
00338 #endif