II3DBugger Interface
- DumpObject
 
- Dump
 
- AttachStream
 
- CloseStream
 
- BeginSession
 
- BeginDump
 
- BlockAllDumps
 
 
The interface is used to display intermediate 3D objects created by an 
application  in 3D window on 3D Debugger in Debug mode. See
3D Debugger for details. I3DBugger 
can be queried 
from IDIObjGenerator 
See also: 
3DBugger Sample,
3D Debugger, Interface List 
 
HRESULT DumpObject(IUnknown* representation, int objectHash, 
VARIANT_BOOL writeThrough, VARIANT_BOOL transient) 
Parameters 
representation - [in]
ISection
implemented by the object to be dumped or IModel.to 
dump a model 
objectHash - [in] a (preferably) unique number 
identifying the object or 0 
writeThrough - [in] True if the object must be 
displayed immediately 
transient - [in] True if the object is to be 
displayed for a short period of time (until the next call to BeginDump) only 
- 
  
 - Remarks: 
 
 
The methods adds object or set of objects identified by representation 
to scene displayed in 3DBugger window. If actual type of representation 
is
ISection
the object and its children will be added to the scene. If actual type of representation 
is IModel all objects in the model will be added to 
the scene. 
objectHash  can be any number identifying the 
represented object or 0. Debugger uses it to decide whether it is a new object 
or an update of a previously dumped one 
writeThrough  is provided for performance. When there 
are several objects to be dumped one after another it is better to set this 
parameter to true in the last call to DumpObject() only. 
transient  parameter set to true is used to display 
temporary objects, which change frequently, for example in some calculation 
loop. 
 
HRESULT Dump() 
- 
  
 - Remarks: 
 
 
The method displays in debugger window all objects added to the debug scene 
since the last Dump() or since the last call to DumpObject() 
with writeThrough  parameter set to true.  
This method is normally used to flash the 
stream into debug window to make 
sure all objects added without writeThrough  parameter 
of the DumpObject set to true are displayed. 
  
HRESULT AttachStream(char* name) 
Parameters 
name - [in] name of the stream 
- 
  
 - Remarks: 
 
 
Call this method to change the current
stream ("Dump" by default) to stream 
name. If the stream does not exist it is created and opened. If stream name has been created 
before on the computer the persistent data saved in the stream will be used on 
start of debugging. An existent stream can be cleared using BeginSession 
or Action > "Delete All" menu option in Model explorer of 3DBugger or other 
delete commands of 3DBugger. 
When application writes into more than one stream this method is used to 
switch (probably frequently) between the streams. 
  
HRESULT CloseStream(char* name) 
Parameters 
name - [in] name of a 
stream opened 
with AttachStream or "Default" 
- 
  
 - Remarks: 
 
 
Use the method to free (significant) memory associated with the 
stream. 
Persistent data of the stream will be preserved on the hard disk. 
  
HRESULT BeginSession() 
- 
  
 - Remarks: 
 
 
Removes all objects from the current
stream and clears the debugger window. This is 
programmatic equivalent of  Action > "Delete All" menu option in Model 
explorer of 3DBugger. 
 
HRESULT BeginDump() 
- 
  
 - Remarks: 
 
 
Removes any transient objects from the debug stream. 
 
HRESULT BlockAllDumps(VARIANT_BOOL block) 
- 
  
 - Remarks: 
 
 
After a call to BlockAllDumps(false) all Dump*() calls are ignored. This is 
    useful to allow the program run freely in some situations 
 
                 |