Fovia C++ In-Process API
Public Member Functions | List of all members
IVolumeData Struct Referenceabstract
Inheritance diagram for IVolumeData:
IRoot

Public Member Functions

virtual signed int AskInterface (const BGUID *piid, IRoot **ppr)=0
 
virtual signed int Attach (VOLUME_DATA_PARAMS vdp, bool bOwnData)
 
virtual signed int AttachEx (VOLUME_DATA_PARAMS *vdp, bool bOwnData)=0
 
virtual signed int DecRef ()=0
 
virtual signed int Detach ()=0
 
virtual signed int GetCustomAllocator (IAllocator **alloc)=0
 
virtual signed int GetDesc (VOLUME_DATA_PARAMS *vdp)=0
 
virtual signed int GetHistogram (unsigned long long *histogram)=0
 
virtual signed int IncRef ()=0
 
virtual signed int SetCustomAllocator (IAllocator *alloc)=0
 
- Public Member Functions inherited from IRoot
template<class T >
signed int AskInterface (T **pp)
 

Detailed Description

The IVolumeData interface represents a volume data set in memory.

Member Function Documentation

virtual signed int IVolumeData::AskInterface ( const BGUID piid,
IRoot **  ppr 
)
pure virtual

Queries this object to see if the interface piid is supported and returns the result in ppr.

Parameters
piidThe BGUID of the requested interface.
pprThe address of an IRoot pointer which will receive the new interface.
Returns
S_OK if the interface is supported. E_FAIL if it is not.

Implements IRoot.

virtual signed int IVolumeData::Attach ( VOLUME_DATA_PARAMS  vdp,
bool  bOwnData 
)
inlinevirtual
Deprecated:
Please use the newer and more efficient AttachEx() method of attaching a data description to an IVolumeData. Also note that passsing large structures across library boundaries like this occasionally produces unpredictable results on Unix-based platforms like Mac OS and Linux.
virtual signed int IVolumeData::AttachEx ( VOLUME_DATA_PARAMS vdp,
bool  bOwnData 
)
pure virtual

Attach volume data object to a memory block

Parameters
vdpvolume data description.
bOwnDataIf true, the memory will be freed when this object is destructed. Specifically, each slice in the VOLUME_DATA_PARAMS::Data array is released, then the actual VOLUME_DATA_PARAMS::Data array. Finally, the VOLUME_DATA_PARAMS::ImagePositionPatient buffer is freed if it is non-NULL.
virtual signed int IVolumeData::DecRef ( )
pure virtual

Decreases the reference count on this object by 1. If the reference count reaches 0, the object is deallocated.

Implements IRoot.

virtual signed int IVolumeData::Detach ( )
pure virtual

Detach volume data object from memory block. Note that this does not free the memory used by this data. It only removes it's reference information from this IVolumeData. If it was attached with bOwnData set to true, DecRef() this object until the count is 0 instead of Detach() and the data will be freed.

virtual signed int IVolumeData::GetCustomAllocator ( IAllocator **  alloc)
pure virtual

Gets the custom allocator for this volume.

Parameters
allocAddress of pointer to receive the location of the custom allocator (or NULL if there is none).
virtual signed int IVolumeData::GetDesc ( VOLUME_DATA_PARAMS vdp)
pure virtual

Get volume data description.

Parameters
vdpStruct to receive the volume data description.
virtual signed int IVolumeData::IncRef ( )
pure virtual

Increases the reference count on this object by 1. You do not need to call this after an object is first created. It is 1 by default.

Implements IRoot.

virtual signed int IVolumeData::SetCustomAllocator ( IAllocator alloc)
pure virtual

Sets a custom allocator to be used for freeing/allocating slices in this volume.

Parameters
allocThe allocator. NULL is an acceptable (and the default) value.