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
|