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

#include <HDB.h>

Public Member Functions

virtual void Init ()
 

Static Public Member Functions

static void DecrementInstanceCount ()
 
static void DisableErrorManager ()
 
static void EnableErrorManager ()
 
static bool GetCleanInclude ()
 
static const char * GetDriverType ()
 
static HDBGetHDB ()
 
static HImManagerGetHImManager ()
 
static HIOManagerGetHIOManager ()
 
static HTManagerGetHTManager ()
 
static const char * GetInstanceBase ()
 
static int GetInstanceCount ()
 
static bool GetIsolatedDrivers ()
 
static HMaterialLibraryGetMaterialLibrary ()
 
static unsigned long GetNextCookie ()
 
static bool GetOwnsSystem ()
 
static bool GetPublishExchangeLicenseSet ()
 
static bool GetPublishInitialized ()
 
static bool GetRetainIOManager ()
 
static int GetUniqueID ()
 
static HC_KEY GetUniqueIncludeKey ()
 
static void IncrementInstanceCount ()
 
static void Lock ()
 
static void ReleaseIOManager ()
 
static void ReportError (const char *message, int severity=1, int category=0, int specific=0)
 
static void SetCleanInclude (bool value)
 
static void SetDriverType (const char *s)
 
static HImManagerSetHImManager (HImManager *manager)
 
static HIOManagerSetHIOManager (HIOManager *manager)
 
static HTManagerSetHTManager (HTManager *manager)
 
static void SetInstanceBase (const char *s)
 
static void SetInstanceCount (int count)
 
static void SetIsolatedDrivers (bool isolated)
 
static void SetMaterialLibrary (HMaterialLibrary *library)
 
static void SetOwnsSystem (bool owns)
 
static void SetPublishExchangeLicenseSet (bool isSet)
 
static void SetPublishInitialized (bool initialized)
 
static void SetRetainIOManager (bool retain)
 
static void UnLock ()
 

Detailed Description

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.

Member Function Documentation

◆ DecrementInstanceCount()

static void HDB::DecrementInstanceCount ( )
static

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

◆ DisableErrorManager()

static void HDB::DisableErrorManager ( )
static

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

◆ EnableErrorManager()

static void HDB::EnableErrorManager ( )
static

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

◆ GetCleanInclude()

static bool HDB::GetCleanInclude ( )
inlinestatic
Returns
True if global includes should be moved to model specific includes during reading.

◆ GetDriverType()

static const char* HDB::GetDriverType ( )
static
Returns
The base driver type for the driver instances.

◆ GetHDB()

static HDB* HDB::GetHDB ( )
static
Returns
A pointer to the HDB object.

◆ GetHImManager()

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

◆ GetHIOManager()

static HIOManager* HDB::GetHIOManager ( )
static
Returns
A pointer to the current HIOManager object (the input/output manager). This method creates one if none exists.

Referenced by HIOUtilityPDF::Has3dSupport().

◆ GetHTManager()

static HTManager* HDB::GetHTManager ( )
static
Returns
A pointer to the current HTManager object (the timer manager). This method creates one if none exists.

◆ GetInstanceBase()

static const char* HDB::GetInstanceBase ( )
static
Returns
The base name for driver instances.

◆ GetInstanceCount()

static int HDB::GetInstanceCount ( )
inlinestatic
Returns
An integer denoting the number of instances of a driver.

◆ GetIsolatedDrivers()

static bool HDB::GetIsolatedDrivers ( )
inlinestatic
Returns
True if isolated driver is set

◆ GetMaterialLibrary()

static HMaterialLibrary* HDB::GetMaterialLibrary ( )
static
Returns
A pointer to the current HMaterialLibrary object (which manages materials resources from disk). Return value is NULL if none exists.

◆ GetNextCookie()

static unsigned long HDB::GetNextCookie ( )
inlinestatic
Returns
A globally unique identifier.

◆ GetRetainIOManager()

static bool HDB::GetRetainIOManager ( )
inlinestatic
Returns
True if Retain IO Manager is set

◆ GetUniqueID()

static int HDB::GetUniqueID ( )
inlinestatic
Returns
An integer that will be unique during the runtime of the application.

◆ GetUniqueIncludeKey()

static HC_KEY HDB::GetUniqueIncludeKey ( )
static
Returns
A key to a unique Include Library segment.

◆ IncrementInstanceCount()

static void HDB::IncrementInstanceCount ( )
static

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

◆ Init()

virtual void HDB::Init ( )
virtual

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().

◆ ReleaseIOManager()

static void HDB::ReleaseIOManager ( )
static

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

◆ ReportError()

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

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
messageThe text to be posted.
severityIf 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.
categoryThe category that this error falls under as described in #HC_Define_Error_Handler.
specificThe specific error under the category as described in #HC_Define_Error_Handler.

◆ SetCleanInclude()

static void HDB::SetCleanInclude ( bool  value)
inlinestatic

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

Parameters
valuePass true to have global includes move to model specific includes during reading or false to keep the includes.

◆ SetDriverType()

static void HDB::SetDriverType ( const char *  s)
static

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

◆ SetHImManager()

static HImManager* HDB::SetHImManager ( HImManager manager)
static

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

Parameters
managerA pointer to an HImManager object.
Returns
A pointer to the replaced HImManager.

◆ SetHIOManager()

static HIOManager* HDB::SetHIOManager ( HIOManager manager)
static

This method replaces the input/output manager.

Parameters
managerA pointer to an HIOManager object.
Returns
A pointer to the replaced HIOManager.

◆ SetHTManager()

static HTManager* HDB::SetHTManager ( HTManager manager)
static

This method replaces the timer manager.

Parameters
managerA pointer to an HTManager object.
Returns
A pointer to the replaced HTManager.

◆ SetInstanceBase()

static void HDB::SetInstanceBase ( const char *  s)
static

This method sets the base name for driver instances.

◆ SetInstanceCount()

static void HDB::SetInstanceCount ( int  count)
inlinestatic

This method sets the number of instances of a driver.

Parameters
countThe number of driver instances.

◆ SetIsolatedDrivers()

static void HDB::SetIsolatedDrivers ( bool  isolated)
inlinestatic

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

◆ SetMaterialLibrary()

static void HDB::SetMaterialLibrary ( HMaterialLibrary library)
static
Returns
Sets the pointer to the material library.

◆ SetRetainIOManager()

static void HDB::SetRetainIOManager ( bool  retain)
inlinestatic

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)


The documentation for this class was generated from the following file: