CFx SDK Documentation  2023 SP0
AECBase.h
Go to the documentation of this file.
1 // Copyright (C) 2002-2017, Open Design Alliance (the "Alliance").
3 // All rights reserved.
4 //
5 // This software and its documentation and related materials are owned by
6 // the Alliance. The software may only be incorporated into application
7 // programs owned by members of the Alliance, subject to a signed
8 // Membership Agreement and Supplemental Software License Agreement with the
9 // Alliance. The structure and organization of this software are the valuable
10 // trade secrets of the Alliance and its suppliers. The software is also
11 // protected by copyright law and international treaty provisions. Application
12 // programs incorporating this software must include the following statement
13 // with their copyright notices:
14 //
15 // This application incorporates Teigha(R) software pursuant to a license
16 // agreement with Open Design Alliance.
17 // Teigha(R) Copyright (C) 2002-2017 by Open Design Alliance.
18 // All rights reserved.
19 //
20 // By use of this software, its documentation or related materials, you
21 // acknowledge and accept the above terms.
23 
24 #ifndef __AECBASE_H__
25 #define __AECBASE_H__
26 
27 #include <OdaCommon.h>
28 #include <OdString.h>
29 #include <DbObjectId.h>
30 #include <RxDynamicModule.h>
31 #include "AECBaseDefs.h"
33 #include "Common/AECMacros.h"
34 #include "FMGeometry.h"
35 
36 #define AEC_ERROR_DEF(code, string) code,
37 
39 {
40 #include "AECBaseErrs.h"
42 };
43 
44 #undef AEC_ERROR_DEF
45 
47 class AECBASE_API AECModule : public OdRxModule
48 {
49  public:
54 
58  virtual ~AECModule();
59 
65  virtual OdString formatMessage( unsigned int nCode, va_list* argList = 0 );
66 
73  virtual OdString formatMsg( unsigned int nCode, ... );
74 
75  protected:
82  void LoadDependency( const OdString& strModuleName );
83 
84  // Determines if module was not only loaded but initiated
86 
87  private:
88  //
89  std::vector<OdRxModulePtr> m_aDependencies;
90 };
91 
93 class AECBASE_API AECBase : public AECModule
94 {
95  public:
99  virtual void initApp();
100 
104  virtual void uninitApp();
105 
109  virtual OdString formatMessage( unsigned int nCode, va_list* argList = 0 );
110 
111 };
112 
117 class AECBASE_API AECBaseDatabase
118 {
119  public:
124 
128  virtual ~AECBaseDatabase();
129 
130  public:
134  void Init() const;
135 
142  OdDbObjectId GetAECBaseSettings(bool bInitIfNotExists = true) const;
143 
151 
162  OdDbObjectId GetLayerByKey( const OdString& strKey ) const;
163 
171 
172  protected:
174 };
175 
177 AECBASE_API void SetArchVerticalApplicationsMode(OdDbDatabase* pDb, bool bEnabled);
178 
179 #endif //__AECBASE_H__
AECBASE_API void SetArchVerticalApplicationsMode(OdDbDatabase *pDb, bool bEnabled)
AECBASE_API bool IsArchVerticalApplicationsModeEnabled(OdDbDatabase *pDb)
AECErrorBase
Definition: AECBase.h:39
@ eaecDummyLastError
Definition: AECBase.h:41
virtual ~AECBaseDatabase()
OdDbObjectId GetLayerByKey(const OdString &strKey) const
OdDbObjectId SetAECBaseSettings(OdDbObjectId id)
FacetModeler::DeviationParams GetDeviation() const
OdDbDatabase * m_pDb
Definition: AECBase.h:173
void Init() const
AECBaseDatabase(OdDbDatabase *dDb)
OdDbObjectId GetAECBaseSettings(bool bInitIfNotExists=true) const
DOM.
Definition: AECBase.h:94
virtual OdString formatMessage(unsigned int nCode, va_list *argList=0)
virtual void uninitApp()
virtual void initApp()
DOM.
Definition: AECBase.h:48
bool m_bIsModuleInitiated
Definition: AECBase.h:85
virtual ~AECModule()
void LoadDependency(const OdString &strModuleName)
virtual OdString formatMessage(unsigned int nCode, va_list *argList=0)
virtual OdString formatMsg(unsigned int nCode,...)