00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00022 #ifndef __vtkSMPart_h
00023 #define __vtkSMPart_h
00024
00025 #include "vtkSMProxy.h"
00026
00027 class vtkPVClassNameInformation;
00028 class vtkPVDataInformation;
00029 class vtkSMPartDisplay;
00030 class vtkSMDisplay;
00031 class vtkCollection;
00032
00033 class VTK_EXPORT vtkSMPart : public vtkSMProxy
00034 {
00035 public:
00036 static vtkSMPart* New();
00037 vtkTypeRevisionMacro(vtkSMPart, vtkSMProxy);
00038 void PrintSelf(ostream& os, vtkIndent indent);
00039
00040
00042
00044 vtkPVDataInformation* GetDataInformation();
00045
00047
00048
00050
00051 vtkPVClassNameInformation* GetClassNameInformation();
00052
00054
00056 void GatherClassNameInformation();
00057
00059 void GatherDataInformation(int doUpdate=1);
00060
00062 void InvalidateDataInformation();
00063
00066 void InsertExtractPiecesIfNecessary();
00067
00069 void CreateTranslatorIfNecessary();
00070
00071
00073 void Update();
00074
00076
00077 void MarkForUpdate();
00078 int UpdateNeeded;
00080
00081 protected:
00082 vtkSMPart();
00083 ~vtkSMPart();
00084
00085 vtkSMPart(const vtkSMPart&);
00086 void operator=(const vtkSMPart&);
00087
00088 vtkPVClassNameInformation* ClassNameInformation;
00089 int ClassNameInformationValid;
00090 vtkPVDataInformation* DataInformation;
00091 int DataInformationValid;
00092
00093 };
00094
00095 #endif