vtkKWMimxDisplayMatPropGroup.h

Go to the documentation of this file.
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 

Generated on 6 Apr 2011 for Slicer3 by  doxygen 1.6.1