cgma
|
00001 //------------------------------------------------------------------------- 00002 // Filename : CGMApp.hpp 00003 // 00004 // Purpose : This file represents the Cubit application itself. 00005 // 00006 // Special Notes : 00007 // 00008 // Creator : Byron Hanks 00009 // 00010 // Date : 06/08/98 00011 // 00012 // Owner : Darryl Melander 00013 //------------------------------------------------------------------------- 00014 00015 //- ********************************************************************* 00016 //- Copyright notice: 00017 //- 00018 //- This program was prepared by Sandia National Laboratories under 00019 //- Contract No. DE-AC04-94-AL8500 with the U.S. Department of Energy 00020 //- (DOE). All rights in the program are reserved by DOE on behalf of the 00021 //- Government and Sandia pursuant to the contract. You are authorized to 00022 //- use this program for U.S. Government purposes, but it is not to be 00023 //- released or distributed to the public. Neither the U.S. Government 00024 //- nor Sandia makes any warranty, express or implied, or assumes any 00025 //- liability or responsibility for the use of this software. 00026 //- 00027 //- ********************************************************************* 00028 //- More official Copyright text 00029 //- 00030 //- Copyright 2001 Sandia Corporation. Under the terms of Contract 00031 //- DEAC04-94AL85000, there is a non-exclusive license for use of this 00032 //- work by or on behalf of the U.S. Government. Export of this program 00033 //- may require a license from the United States Government. 00034 //- 00035 //- ********************************************************************* 00036 00037 #ifndef CGM_APP_HPP 00038 #define CGM_APP_HPP 00039 00040 #include "CubitDefines.h" 00041 #include "CubitAttribManager.hpp" 00042 #include "CGMGeomConfigure.h" 00043 #include "DAG.hpp" 00044 00045 class CUBIT_GEOM_EXPORT CGMApp 00046 { 00047 public: 00048 static CGMApp* instance(); 00049 //- Access to the application object 00050 00051 static void delete_instance() 00052 { 00053 if (instance_) 00054 delete instance_; 00055 instance_ = NULL; 00056 }; 00057 00058 ~CGMApp(); 00059 00060 void startup(const std::vector<CubitString>& args); 00061 //- Contains startup code for cubit 00062 00063 void shutdown(); 00064 //- Contains shutdown code for cubit 00065 00066 static void initialize_settings(); 00067 00068 CubitAttribManager* attrib_manager(); 00069 00070 void save_current_attribute_states(); 00071 void restore_previous_attribute_states(); 00072 00073 private: 00074 00075 static CGMApp* instance_; 00076 CubitBoolean mAppStarted; 00077 CubitAttribManager mAttribManager; 00078 00079 CGMApp(); 00080 00081 void register_attributes(); 00082 00083 CubitBoolean *caUpdateFlgs; 00084 CubitBoolean *caActuateFlgs; 00085 CubitBoolean *caWriteFlgs; 00086 CubitBoolean *caReadFlgs; 00087 }; 00088 00089 00090 #endif 00091