00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00028
#ifndef __vtkPlatonicSolidSource_h
00029
#define __vtkPlatonicSolidSource_h
00030
00031
#include "vtkPolyDataSource.h"
00032
00033 #define VTK_SOLID_TETRAHEDRON 0
00034 #define VTK_SOLID_CUBE 1
00035 #define VTK_SOLID_OCTAHEDRON 2
00036 #define VTK_SOLID_ICOSAHEDRON 3
00037 #define VTK_SOLID_DODECAHEDRON 4
00038
00039 class VTK_GRAPHICS_EXPORT vtkPlatonicSolidSource :
public vtkPolyDataSource
00040 {
00041
public:
00042
static vtkPlatonicSolidSource *
New();
00043 vtkTypeRevisionMacro(vtkPlatonicSolidSource,
vtkPolyDataSource);
00044
void PrintSelf(ostream& os,
vtkIndent indent);
00045
00047
00048 vtkSetClampMacro(SolidType,
int,VTK_SOLID_TETRAHEDRON,VTK_SOLID_DODECAHEDRON);
00049 vtkGetMacro(SolidType,
int);
00050 void SetSolidTypeToTetrahedron()
00051 {this->SetSolidType(
VTK_SOLID_TETRAHEDRON);}
00052 void SetSolidTypeToCube()
00053 {this->SetSolidType(
VTK_SOLID_CUBE);}
00054 void SetSolidTypeToOctahedron()
00055 {this->SetSolidType(
VTK_SOLID_OCTAHEDRON);}
00056 void SetSolidTypeToIcosahedron()
00057 {this->SetSolidType(
VTK_SOLID_ICOSAHEDRON);}
00058 void SetSolidTypeToDodecahedron()
00059 {this->SetSolidType(
VTK_SOLID_DODECAHEDRON);}
00061
00062
protected:
00063 vtkPlatonicSolidSource() : SolidType(
VTK_SOLID_TETRAHEDRON) {}
00064 ~vtkPlatonicSolidSource() {}
00065
00066
void Execute();
00067 int SolidType;
00068
00069
private:
00070 vtkPlatonicSolidSource(
const vtkPlatonicSolidSource&);
00071
void operator=(
const vtkPlatonicSolidSource&);
00072
00073 };
00074
00075
#endif
00076
00077