00001 /*========================================================================= 00002 00003 Program: MIMX Meshing Toolkit 00004 Module: $RCSfile: vtkKWMimxDisplayMatPropGroup.h,v $ 00005 Language: C++ 00006 Date: $Date: 2008/10/17 03:37:39 $ 00007 Version: $Revision: 1.4.4.1 $ 00008 00009 Musculoskeletal Imaging, Modelling and Experimentation (MIMX) 00010 Center for Computer Aided Design 00011 The University of Iowa 00012 Iowa City, IA 52242 00013 http://www.ccad.uiowa.edu/mimx/ 00014 00015 Copyright (c) The University of Iowa. All rights reserved. 00016 See MIMXCopyright.txt or http://www.ccad.uiowa.edu/mimx/Copyright.htm for details. 00017 00018 This software is distributed WITHOUT ANY WARRANTY; without even 00019 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00020 PURPOSE. See the above copyright notices for more information. 00021 00022 =========================================================================*/ 00023 // .NAME vtkKWMimxDisplayMatPropGroup - Class containing GUI to display material 00024 // property assigned to the displayed mesh and the element set. 00025 // 00026 // .SECTION Description 00027 // The class contains two comboboxes containing the names of the meshes and the element 00028 // set contained in the chosen mesh. The class also contains an instance of 00029 // vtkKWMimxViewPropertiesOptionGroup to control the display parameters. 00030 // 00031 // .SECTION See Also 00032 // vtkKWMimxViewPropertiesOptionGroup 00033 00034 #ifndef __vtkKWMimxDisplayMatPropGroup_h 00035 #define __vtkKWMimxDisplayMatPropGroup_h 00036 00037 #include "vtkKWMimxGroupBase.h" 00038 #include "vtkKWMimxMainWindow.h" 00039 #include "vtkBuildingBlockWin32Header.h" 00040 00041 class vtkKWCheckButton; 00042 class vtkKWCheckButtonWithLabel; 00043 class vtkKWComboBoxWithLabel; 00044 class vtkKWEntryWithLabel; 00045 class vtkKWFrameWithLabel; 00046 class vtkKWMenuButtonWithLabel; 00047 class vtkKWPushButton; 00048 00049 class vtkKWMimxViewPropertiesOptionGroup; 00050 00051 00052 class VTK_BUILDINGBLOCK_EXPORT vtkKWMimxDisplayMatPropGroup : public vtkKWMimxGroupBase 00053 { 00054 public: 00055 static vtkKWMimxDisplayMatPropGroup* New(); 00056 vtkTypeRevisionMacro(vtkKWMimxDisplayMatPropGroup,vtkKWMimxGroupBase); 00057 void PrintSelf(ostream& os, vtkIndent indent); 00058 virtual void Update(); 00059 virtual void UpdateEnableState(); 00060 00061 // Description: 00062 // Update the list of FE mesh list and associated element set list 00063 void UpdateObjectLists(); 00064 00065 // Description: 00066 // Invert the cutting plane. mode 0 do not invert and 1 invert. 00067 void InvertPlaneCallback(int mode); 00068 00069 // Description: 00070 // Display/hide clipping plane. mode 0 display, mode 1 hide. 00071 void ClippingPlaneCallback(int mode); 00072 00073 // Description: 00074 // Display/Hide property legend. mode = 0, hide and 1 show 00075 void ViewPropertyLegendCallback( int mode ); 00076 00077 // Description: 00078 // Hide the GUI from display. 00079 void DisplayCancelCallback(); 00080 00081 // Description: 00082 // FE mesh selection changed call back. To change the element set list 00083 // and corresponding display on the window. 00084 void SelectionChangedCallback(const char *Selection); 00085 00086 // Description: 00087 // To change the display when the element set is changed. 00088 void ElementSetChangedCallback(const char *Selection); 00089 00090 // Description: 00091 // To display the pop-up window in which the range and scale of the property 00092 // being displayed can be changed. 00093 void DisplayOptionsCallback( ); 00094 00095 protected: 00096 vtkKWMimxDisplayMatPropGroup(); 00097 ~vtkKWMimxDisplayMatPropGroup(); 00098 virtual void CreateWidget(); 00099 00100 // Description: 00101 // To remove the previous display when the FE mesh selection changes. 00102 // The element set display is changed to mesh display and display of 00103 // scalars is removed. 00104 void RemovePreviousSelectionDisplay(); 00105 00106 vtkKWFrameWithLabel *ComponentFrame; 00107 vtkKWComboBoxWithLabel *ObjectListComboBox; 00108 vtkKWComboBoxWithLabel *ElementSetComboBox; 00109 vtkKWFrame *ViewFrame; 00110 vtkKWCheckButton *ViewLegendButton; 00111 vtkKWCheckButton *EnablePlaneButton; 00112 vtkKWCheckButtonWithLabel *InvertPlaneButton; 00113 vtkKWPushButton *DisplayOptionsButton; 00114 vtkKWMimxViewPropertiesOptionGroup *ViewOptionsGroup; 00115 00116 private: 00117 vtkKWMimxDisplayMatPropGroup(const vtkKWMimxDisplayMatPropGroup&); // Not implemented 00118 void operator=(const vtkKWMimxDisplayMatPropGroup&); // Not implemented 00119 00120 char meshName[64]; 00121 char elementSetName[64]; 00122 char elementSetSelectionPrevious[64]; 00123 }; 00124 00125 #endif 00126
1.6.1