00001 /*========================================================================= 00002 00003 Program: MIMX Meshing Toolkit 00004 Module: $RCSfile: vtkKWMimxBoundaryConditionsMenuGroup.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 vtkKWMimxBoundaryConditionsMenuGroup - Class for procedures associated with 00024 // boundary condition assignment and storage 00025 // .SECTION Description 00026 // Class contains menu button with the following entries 1) Assign boundary conditions 00027 // 2) Save 3) Export Abaqus. Assign Boundary conditions pops-up an instance of 00028 // vtkKWMimxAssignBoundaryConditionsGroup, Save pops-up an instance of 00029 // vtkKWMimxSaveVTKFEMeshGroup and Export Abaqus pop-up an instance of 00030 // vtkKWMimxExportAbaqusFEMeshGroup. 00031 // 00032 // .SECTION See Also 00033 // vtkKWMimxAssignBoundaryConditionsGroup, vtkKWMimxSaveVTKFEMeshGroup, vtkKWMimxExportAbaqusFEMeshGroup 00034 00035 #ifndef __vtkKWMimxBoundaryConditionsMenuGroup_h 00036 #define __vtkKWMimxBoundaryConditionsMenuGroup_h 00037 00038 #include "vtkKWMimxMainMenuGroup.h" 00039 #include "vtkBuildingBlockWin32Header.h" 00040 00041 00042 class vtkKWMimxAssignBoundaryConditionsGroup; 00043 class vtkKWMimxExportAbaqusFEMeshGroup; 00044 class vtkKWMimxSaveVTKFEMeshGroup; 00045 00046 00047 class VTK_BUILDINGBLOCK_EXPORT vtkKWMimxBoundaryConditionsMenuGroup : public vtkKWMimxMainMenuGroup 00048 { 00049 public: 00050 static vtkKWMimxBoundaryConditionsMenuGroup* New(); 00051 vtkTypeRevisionMacro(vtkKWMimxBoundaryConditionsMenuGroup,vtkKWMimxMainMenuGroup); 00052 void PrintSelf(ostream& os, vtkIndent indent); 00053 virtual void Update(); 00054 virtual void UpdateEnableState(); 00055 00056 // Description: 00057 // Access to list of FE mesh 00058 vtkSetObjectMacro(FEMeshList, vtkLinkedListWrapper); 00059 00060 // Description: 00061 // Update the FE mesh list entries 00062 void UpdateObjectLists(); 00063 00064 // Description: 00065 // Draw the GUI associated with boundary condition assignment 00066 void AssignBoundaryConditionsCallback(); 00067 00068 // Description: 00069 // Save the mesh chosen in VTK file format 00070 void SaveVTKFEMeshCallback(); 00071 00072 // Description: 00073 // Export the chosen mesh in abaqus file format 00074 void ExportAbaqusFEMeshCallback(); 00075 00076 protected: 00077 00078 vtkKWMimxBoundaryConditionsMenuGroup(); 00079 ~vtkKWMimxBoundaryConditionsMenuGroup(); 00080 virtual void CreateWidget(); 00081 // Declarations for GUI instances needed 00082 vtkKWMimxAssignBoundaryConditionsGroup *AssignBoundaryConditionsGroup; 00083 vtkKWMimxSaveVTKFEMeshGroup *SaveVTKFEMeshGroup; 00084 vtkKWMimxExportAbaqusFEMeshGroup *ExportAbaqusFEMeshGroup; 00085 00086 private: 00087 vtkKWMimxBoundaryConditionsMenuGroup(const vtkKWMimxBoundaryConditionsMenuGroup&); // Not implemented 00088 void operator=(const vtkKWMimxBoundaryConditionsMenuGroup&); // Not implemented 00089 00090 }; 00091 00092 #endif
1.6.1