vtkKWMimxFEMeshMenuGroup.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003 Program:   MIMX Meshing Toolkit
00004 Module:    $RCSfile: vtkKWMimxFEMeshMenuGroup.h,v $
00005 Language:  C++
00006 Date:      $Date: 2008/10/26 18:51:24 $
00007 Version:   $Revision: 1.24.4.2 $
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 vtkKWMimxFEMeshMenuGroup - It is the base class for all menu options
00024 // for FE mesh.
00025 // .SECTION Description
00026 // Menu options that the class supports are Assign/Edit Mesh Seeds, Create, Load,
00027 // Renumber Nodes/Elements, Export, Delete and Save. If a menu option is chosen,
00028 // corresponding GUI is launched.
00029 //
00030 // .SECTION See Also
00031 // vtkKWMimxCreateFEMeshFromBBGroup, vtkKWMimxDeleteObjectGroup, vtkKWMimxEditBBMeshSeedGroup,
00032 // vtkKWMimxEditElementSetNumbersGroup, vtkKWMimxExportAbaqusFEMeshGroup, vtkKWMimxSaveVTKFEMeshGroup
00033 
00034 #ifndef __vtkKWMimxFEMeshMenuGroup_h
00035 #define __vtkKWMimxFEMeshMenuGroup_h
00036 
00037 #include "vtkKWMimxMainMenuGroup.h"
00038 #include "vtkKWMimxMainWindow.h"
00039 #include "vtkBuildingBlockWin32Header.h"
00040 
00041 
00042 class vtkUnstructuredGrid;
00043 class vtkKWMimxCreateFEMeshFromBBGroup;
00044 class vtkKWMimxDeleteObjectGroup;
00045 class vtkKWMimxEditBBMeshSeedGroup;
00046 class vtkKWMimxEditElementSetNumbersGroup;
00047 class vtkKWMimxExportAbaqusFEMeshGroup;
00048 class vtkKWMimxSaveVTKFEMeshGroup;
00049 class vtkLinkedListWrapper;
00050 
00051 class VTK_BUILDINGBLOCK_EXPORT vtkKWMimxFEMeshMenuGroup : public vtkKWMimxMainMenuGroup
00052 {
00053 public:
00054   static vtkKWMimxFEMeshMenuGroup* New();
00055   vtkTypeRevisionMacro(vtkKWMimxFEMeshMenuGroup,vtkKWMimxMainMenuGroup);
00056   void PrintSelf(ostream& os, vtkIndent indent);
00057   virtual void Update();
00058   virtual void UpdateEnableState();
00059   
00060   // Description:
00061   // launch GUI for creating FE mesh
00062   void CreateFEMeshFromBBCallback();
00063 
00064   // Description:
00065   // launch GUI for deleting FE mesh
00066   void DeleteFEMeshCallback();
00067 
00068   // Description:
00069   // launch GUI for loading FE mesh (VTK format)
00070   void LoadVTKFEMeshCallback();
00071 
00072   // Description:
00073   // Save FE mesh in VTK file format
00074   void SaveVTKFEMeshCallback();
00075  
00076   // Description:
00077   // Launch GUI for node and element renumber
00078   void EditElementNumbersCallback();
00079 
00080   // Description:
00081   // Launch GUI for exporting the selected FE mesh in abaqus
00082   // file format (.inp)
00083   void ExportAbaqusFEMeshCallback();
00084 
00085   // Description:
00086   // Launch GUI used in modifying the mesh seeds
00087   void EditBBMeshSeedCallback();
00088   
00089   // Description:
00090   // Setting lists of all the objects for accessing
00091   vtkSetObjectMacro(SurfaceList, vtkLinkedListWrapper);
00092   vtkSetObjectMacro(FEMeshList, vtkLinkedListWrapper);
00093   vtkSetObjectMacro(ImageList, vtkLinkedListWrapper);
00094   vtkSetObjectMacro(BBoxList, vtkLinkedListWrapper);
00095 
00096 protected:
00097         vtkKWMimxFEMeshMenuGroup();
00098         ~vtkKWMimxFEMeshMenuGroup();
00099         virtual void CreateWidget();
00100 
00101   vtkKWMimxCreateFEMeshFromBBGroup *FEMeshFromBB;
00102   vtkKWMimxSaveVTKFEMeshGroup *SaveVTKFEMeshGroup;
00103   vtkKWMimxDeleteObjectGroup *DeleteObjectGroup;
00104   vtkKWMimxEditElementSetNumbersGroup *EditElementSetNumbersGroup;
00105   vtkKWMimxExportAbaqusFEMeshGroup *ExportAbaqusFEMeshGroup;
00106   vtkKWMimxEditBBMeshSeedGroup *EditBBMeshSeedGroup;
00107   
00108   void UpdateObjectLists();
00109 
00110 private:
00111   vtkKWMimxFEMeshMenuGroup(const vtkKWMimxFEMeshMenuGroup&); // Not implemented
00112   void operator=(const vtkKWMimxFEMeshMenuGroup&); // Not implemented
00113 };
00114 
00115 #endif

Generated on 6 Apr 2011 for Slicer3 by  doxygen 1.6.1