Introduction

Getting Started

Programming Guides

API Reference

Additional Resources

HDB.h
1 // Copyright (c) Tech Soft 3D, Inc.
2 //
3 // The information contained herein is confidential and proprietary to Tech Soft 3D, Inc.,
4 // and considered a trade secret as defined under civil and criminal statutes.
5 // Tech Soft 3D, Inc. shall pursue its civil and criminal remedies in the event of
6 // unauthorized use or misappropriation of its trade secrets. Use of this information
7 // by anyone other than authorized employees of Tech Soft 3D, Inc. is granted only under
8 // a written non-disclosure agreement, expressly prescribing the scope and manner of such use.
9 
10 #ifndef _HDB_H
11 #define _HDB_H
12 
13 #ifdef H_PACK_8
14 #pragma pack(push)
15 #pragma pack(8)
16 #endif
17 
18 #include "HTools.h"
19 
20 
21 class HImManager;
22 class HIOManager;
23 class HTManager;
24 class HMaterialLibrary;
25 
26 
28 
32 class MVO_API HDB {
33 
34 
35 public:
36  /*Constructs an HDB object.*/
37  HDB ();
38  virtual ~HDB ();
39 
45  virtual void Init ();
46 
47  static HDB * GetHDB();
48 
50  static void IncrementInstanceCount();
51 
53  static void DecrementInstanceCount();
54 
56  static void SetInstanceBase(const char* s);
57 
59  static const char* GetInstanceBase();
60 
62  static void SetDriverType(const char* s);
63 
65  static const char* GetDriverType();
66 
68  static bool GetCleanInclude() { return m_bCleanInclude; }
69 
72  static void SetCleanInclude(bool value) { m_bCleanInclude = value; }
73 
75  static int GetInstanceCount() {return m_InstanceCount; }
76 
78  static int GetUniqueID() {return m_nextUID++; }
79 
83  static void SetInstanceCount(int count) {m_InstanceCount = count;}
84 
86  static HImManager * GetHImManager();
87 
92  static HImManager * SetHImManager(HImManager * manager);
93 
94 
96  static HIOManager * GetHIOManager();
97 
102  static HIOManager * SetHIOManager(HIOManager * manager);
103 
105  static HMaterialLibrary * GetMaterialLibrary();
106 
108  static void SetMaterialLibrary(HMaterialLibrary *library);
109 
111  static HTManager * GetHTManager();
112 
117  static HTManager * SetHTManager(HTManager * manager);
118 
120  static HC_KEY GetUniqueIncludeKey();
121 
123  static unsigned long GetNextCookie() { return next_cookie++; };
124 
133  static void ReportError( const char *message, int severity = 1, int category = 0, int specific = 0 );
134 
136  static void EnableErrorManager();
138  static void DisableErrorManager();
139 
141  static void SetOwnsSystem(bool owns) {m_bOwnsSystem=owns;};
143  static bool GetOwnsSystem() {return m_bOwnsSystem;};
145  static void SetIsolatedDrivers(bool isolated) {m_bIsolatedDrivers=isolated;};
147  static bool GetIsolatedDrivers() {return m_bIsolatedDrivers;};
148 
152  static void SetRetainIOManager(bool retain) {m_bRetainIOManager = retain;};
154  static bool GetRetainIOManager() {return m_bRetainIOManager;};
156  static void ReleaseIOManager();
157 
158  static void Lock();
159 
160  static void UnLock();
161 
162  static bool GetPublishExchangeLicenseSet() { return m_bPublishExchangeLicenseSet; }
163 
164  static void SetPublishExchangeLicenseSet(bool isSet);
165 
166  static bool GetPublishInitialized() { return m_bPublishInitialized; }
167 
168  static void SetPublishInitialized(bool initialized);
169 
170 private:
171 
172  static HDB * m_pHDB;
173  static void * m_Mutex;
174 
175  static int m_InstanceCount;
176  static int m_nextUID;
177  static char* m_pInstanceBase;
178  static char* m_pDriverType;
179  static bool m_bCleanInclude;
180  static bool m_bUsingErrorManager;
181  static bool m_bOwnsSystem;
182  static bool m_bIsolatedDrivers;
183  static bool m_bRetainIOManager;
184 
185  static HImManager * m_pHImManager;
186 
187  static HIOManager * m_pHIOManager;
188 
189  static HMaterialLibrary * m_pHMaterialLibrary;
190 
191  static HTManager * m_pHTManager;
192 
193  static unsigned long include_counter;
194  static unsigned long next_cookie;
195 
196  static bool m_bPublishExchangeLicenseSet;
197 
198  static bool m_bPublishInitialized;
199 
200 
201 };
202 
203 
204 #ifdef H_PACK_8
205 #pragma pack(pop)
206 #endif
207 
208 #endif
209 
210 
211 
212 
213 
214 
Definition: HIOManager.h:1434
Definition: HTManager.h:50
static void SetCleanInclude(bool value)
Definition: HDB.h:72
static int GetUniqueID()
Definition: HDB.h:78
Definition: HMaterialLibrary.h:30
static void SetInstanceCount(int count)
Definition: HDB.h:83
static bool GetRetainIOManager()
Definition: HDB.h:154
#define HC_KEY
static bool GetCleanInclude()
Definition: HDB.h:68
The HDB class serves as a wrapper/utility class to manage an instance of the HOOPS/3dGS scene-graph...
Definition: HDB.h:32
static int GetInstanceCount()
Definition: HDB.h:75
static void SetIsolatedDrivers(bool isolated)
Definition: HDB.h:145
static bool GetIsolatedDrivers()
Definition: HDB.h:147
static void SetRetainIOManager(bool retain)
Definition: HDB.h:152
static unsigned long GetNextCookie()
Definition: HDB.h:123
The HImManager class serves as a manager for IM callbacks.
Definition: HImManager.h:90