HDB

Functions

HDB

~HDB

void

Init

HDB *

GetHDB

void

IncrementInstanceCount

void

DecrementInstanceCount

void

SetInstanceBase

char const *

GetInstanceBase

void

SetDriverType

char const *

GetDriverType

bool

GetCleanInclude

void

SetCleanInclude

int

GetInstanceCount

int

GetUniqueID

void

SetInstanceCount

HImManager *

GetHImManager

HImManager *

SetHImManager

HIOManager *

GetHIOManager

HIOManager *

SetHIOManager

HMaterialLibrary *

GetMaterialLibrary

void

SetMaterialLibrary

HTManager *

GetHTManager

HTManager *

SetHTManager

HC_KEY

GetUniqueIncludeKey

unsigned long

GetNextCookie

void

ReportError

void

EnableErrorManager

void

DisableErrorManager

void

SetOwnsSystem

bool

GetOwnsSystem

void

SetIsolatedDrivers

bool

GetIsolatedDrivers

void

SetRetainIOManager

bool

GetRetainIOManager

void

ReleaseIOManager

void

Lock

void

UnLock

bool

GetPublishExchangeLicenseSet

void

SetPublishExchangeLicenseSet

bool

GetPublishInitialized

void

SetPublishInitialized

Detailed Description

class HDB

The HDB class serves as a wrapper/utility class to manage an instance of the HOOPS/3dGS scene-graph.

HDB Stores the information of how many and which type of HOOPS driver instances the associated object HBaseView creates.

Public Functions

HDB()
virtual ~HDB()
virtual void Init()

Init() initializes the HOOPS attributes for driver type and unsets the default HOOPS alias—“?Picture”—for the root segment of the given driver. The function also sets up a default color map and registers the HOOPS I.M. callbacks that are listed in HDB::RegisterHoopsIMCallbacks().

Public Static Functions

static HDB *GetHDB()
Returns

A pointer to the HDB object.

static void IncrementInstanceCount()

This method augments the number of instances of a driver by one.

static void DecrementInstanceCount()

This method decrements the number of instances of a driver by one.

static void SetInstanceBase(char const *s)

This method sets the base name for driver instances.

static char const *GetInstanceBase()
Returns

The base name for driver instances.

static void SetDriverType(char const *s)

This method sets the base driver type for the driver instances.

static char const *GetDriverType()
Returns

The base driver type for the driver instances.

static inline bool GetCleanInclude()
Returns

True if global includes should be moved to model specific includes during reading.

static inline void SetCleanInclude(bool value)

This method determines whether global includes should be moved to model specific includes during reading.

Parameters

value – Pass true to have global includes move to model specific includes during reading or false to keep the includes.

static inline int GetInstanceCount()
Returns

An integer denoting the number of instances of a driver.

static inline int GetUniqueID()
Returns

An integer that will be unique during the runtime of the application.

static inline void SetInstanceCount(int count)

This method sets the number of instances of a driver.

Parameters

count – The number of driver instances.

static HImManager *GetHImManager()
Returns

A pointer to the current HImManager object (the HOOPS/3dGS I.M. manager). This method creates one if none exists.

static HImManager *SetHImManager(HImManager *manager)

This method replaces the HOOPS/3dGS I.M. manager.

Parameters

manager – A pointer to an HImManager object.

Returns

A pointer to the replaced HImManager.

static HIOManager *GetHIOManager()
Returns

A pointer to the current HIOManager object (the input/output manager). This method creates one if none exists.

static HIOManager *SetHIOManager(HIOManager *manager)

This method replaces the input/output manager.

Parameters

manager – A pointer to an HIOManager object.

Returns

A pointer to the replaced HIOManager.

static HMaterialLibrary *GetMaterialLibrary()
Returns

A pointer to the current HMaterialLibrary object (which manages materials resources from disk). Return value is NULL if none exists.

static void SetMaterialLibrary(HMaterialLibrary *library)
Returns

Sets the pointer to the material library.

static HTManager *GetHTManager()
Returns

A pointer to the current HTManager object (the timer manager). This method creates one if none exists.

static HTManager *SetHTManager(HTManager *manager)

This method replaces the timer manager.

Parameters

manager – A pointer to an HTManager object.

Returns

A pointer to the replaced HTManager.

static HC_KEY GetUniqueIncludeKey()
Returns

A key to a unique Include Library segment.

static inline unsigned long GetNextCookie()
Returns

A globally unique identifier.

static void ReportError(char const *message, int severity = 1, int category = 0, int specific = 0)

This method generates a HOOPS error. Using this method, allows the error to go through HOOPS so that it will be intercepted by whatever error handlers the app might have registered, and will use the reporting mechanism appropriate to the specific platform.

Parameters
  • message – The text to be posted.

  • severity – If the value is 0, the message is informational. If the value is 1, the message is a warning. If the value is 2, then the message is an error. If the value is 3 or greater, the error is fatal.

  • category – The category that this error falls under as described in #HC_Define_Error_Handler.

  • specific – The specific error under the category as described in #HC_Define_Error_Handler.

static void EnableErrorManager()

This method initializes the error manager and puts it in use.

static void DisableErrorManager()

This method cleans up the error manager and then disables it.

static inline void SetOwnsSystem(bool owns)
static inline bool GetOwnsSystem()
static inline void SetIsolatedDrivers(bool isolated)

Sets the “isolated” driver option. Allows a driver to be spawned on a separate thread. Used for background printing or multiple views.

static inline bool GetIsolatedDrivers()
Returns

True if isolated driver is set

static inline void SetRetainIOManager(bool retain)

Determines whether the IO Manager is retained when an HDB is deleted. Normally it is not retained, but if a program needs to create and destroy multiple HDBs, and also uses HIO modules like DWG that can only be loaded once per process, it will need to activate retaining (and manually request the release)

static inline bool GetRetainIOManager()
Returns

True if Retain IO Manager is set

static void ReleaseIOManager()

Turns off the retain state and requests the immediate release of the IO Manager if there are no active GDNs.

static void Lock()
static void UnLock()
static inline bool GetPublishExchangeLicenseSet()
static void SetPublishExchangeLicenseSet(bool isSet)
static inline bool GetPublishInitialized()
static void SetPublishInitialized(bool initialized)