cgma
CGMApp.hpp
Go to the documentation of this file.
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 
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines