Alphabetical Class Index  Class Hierarchy   File Members   Compound Members   File List  

HDB.h
1 //
2 // Copyright (c) 2000 by Tech Soft 3D, LLC.
3 // The information contained herein is confidential and proprietary to
4 // Tech Soft 3D, LLC., and considered a trade secret as defined under
5 // civil and criminal statutes. Tech Soft 3D shall pursue its civil
6 // and criminal remedies in the event of unauthorized use or misappropriation
7 // of its trade secrets. Use of this information by anyone other than
8 // authorized employees of Tech Soft 3D, LLC. is granted only under a
9 // written non-disclosure agreement, expressly prescribing the scope and
10 // manner of such use.
11 //
12 // $Id: d34cc3077d01ca867b3976a00204bb47f63ee71f $
13 //
14 
15 
16 #ifndef _HDB_H
17 #define _HDB_H
18 
19 #ifdef H_PACK_8
20 #pragma pack(push)
21 #pragma pack(8)
22 #endif
23 
24 #include "HTools.h"
25 
26 
27 class HImManager;
28 class HIOManager;
29 class HTManager;
30 class HMaterialLibrary;
31 
32 
34 
38 class MVO_API HDB {
39 
40 
41 public:
42  /*Constructs an HDB object.*/
43  HDB ();
44  virtual ~HDB ();
45 
51  virtual void Init ();
52 
53  static HDB * GetHDB();
54 
56  static void IncrementInstanceCount();
57 
59  static void DecrementInstanceCount();
60 
62  static void SetInstanceBase(const char* s);
63 
65  static const char* GetInstanceBase();
66 
68  static void SetDriverType(const char* s);
69 
71  static const char* GetDriverType();
72 
74  static bool GetCleanInclude() { return m_bCleanInclude; }
75 
78  static void SetCleanInclude(bool value) { m_bCleanInclude = value; }
79 
81  static int GetInstanceCount() {return m_InstanceCount; }
82 
84  static int GetUniqueID() {return m_nextUID++; }
85 
89  static void SetInstanceCount(int count) {m_InstanceCount = count;}
90 
92  static HImManager * GetHImManager();
93 
98  static HImManager * SetHImManager(HImManager * manager);
99 
100 
102  static HIOManager * GetHIOManager();
103 
108  static HIOManager * SetHIOManager(HIOManager * manager);
109 
111  static HMaterialLibrary * GetMaterialLibrary();
112 
114  static void SetMaterialLibrary(HMaterialLibrary *library);
115 
117  static HTManager * GetHTManager();
118 
123  static HTManager * SetHTManager(HTManager * manager);
124 
126  static HC_KEY GetUniqueIncludeKey();
127 
129  static unsigned long GetNextCookie() { return next_cookie++; };
130 
139  static void ReportError( const char *message, int severity = 1, int category = 0, int specific = 0 );
140 
142  static void EnableErrorManager();
144  static void DisableErrorManager();
145 
147  static void SetOwnsSystem(bool owns) {m_bOwnsSystem=owns;};
149  static bool GetOwnsSystem() {return m_bOwnsSystem;};
151  static void SetIsolatedDrivers(bool isolated) {m_bIsolatedDrivers=isolated;};
153  static bool GetIsolatedDrivers() {return m_bIsolatedDrivers;};
154 
155  static void Lock();
156 
157  static void UnLock();
158 
159  static bool GetPublishExchangeLicenseSet() { return m_bPublishExchangeLicenseSet; }
160  static void SetPublishExchangeLicenseSet(bool isSet);
161 
162 
163 private:
164 
165  static HDB * m_pHDB;
166  static void * m_Mutex;
167 
168  static int m_InstanceCount;
169  static int m_nextUID;
170  static char* m_pInstanceBase;
171  static char* m_pDriverType;
172  static bool m_bCleanInclude;
173  static bool m_bUsingErrorManager;
174  static bool m_bOwnsSystem;
175  static bool m_bIsolatedDrivers;
176 
177 
178  static HImManager * m_pHImManager;
179 
180  static HIOManager * m_pHIOManager;
181 
182  static HMaterialLibrary * m_pHMaterialLibrary;
183 
184  static HTManager * m_pHTManager;
185 
186  static unsigned long include_counter;
187  static unsigned long next_cookie;
188 
189  static bool m_bPublishExchangeLicenseSet;
190 
191 };
192 
193 
194 #ifdef H_PACK_8
195 #pragma pack(pop)
196 #endif
197 
198 #endif
199 
200 
201 
202 
203 
204 
Definition: HTManager.h:55
static void SetCleanInclude(bool value)
Definition: HDB.h:78
static int GetUniqueID()
Definition: HDB.h:84
Definition: HMaterialLibrary.h:34
#define HC_KEY
static void SetInstanceCount(int count)
Definition: HDB.h:89
static bool GetCleanInclude()
Definition: HDB.h:74
The HDB class serves as a wrapper/utility class to manage an instance of the HOOPS/3dGS scene-graph...
Definition: HDB.h:38
static int GetInstanceCount()
Definition: HDB.h:81
static void SetIsolatedDrivers(bool isolated)
Definition: HDB.h:151
static bool GetIsolatedDrivers()
Definition: HDB.h:153
static unsigned long GetNextCookie()
Definition: HDB.h:129
The HImManager class serves as a manager for IM callbacks.
Definition: HImManager.h:95