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

Public Member Functions

virtual signed int AskInterface (const BGUID *piid, IRoot **ppr)=0
 
virtual signed int DecRef ()=0
 
virtual signed int ImageAlloc (VOLVISIMAGE *im)=0
 
virtual signed int ImageBytePerPixel (unsigned int *pl, ENUM_IMAGE_TYPE type)=0
 
virtual signed int ImageCopy (VOLVISIMAGE *dst, VOLVISIMAGE *src)=0
 
virtual signed int ImageDataSize (unsigned int *pl, VOLVISIMAGE *im)=0
 
virtual signed int ImageFragmentRowDataOffset (unsigned int *pl, const VOLVISIMAGE *im, ENUM_CLUSTER_PARAM e, unsigned int FragemntId, unsigned int lRow)=0
 
virtual signed int ImageFree (VOLVISIMAGE *im)=0
 
virtual signed int ImageSmooth (VOLVISIMAGE *dst, VOLVISIMAGE *src)=0
 
virtual signed int IncRef ()=0
 
- Public Member Functions inherited from IRoot
template<class T >
signed int AskInterface (T **pp)
 

Detailed Description

Utility functions for manipulating images.

Member Function Documentation

virtual signed int IImageUtil::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 IImageUtil::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 IImageUtil::ImageAlloc ( VOLVISIMAGE im)
pure virtual

Allocates the VOLVISIMAGE::Data buffer based upon the parameters specified in the rest of the structure.

Parameters
imVOLVISIMAGE to validate.
virtual signed int IImageUtil::ImageBytePerPixel ( unsigned int *  pl,
ENUM_IMAGE_TYPE  type 
)
pure virtual

pl will receive the number of bytes per pixel for this image type.

Parameters
pldestination parameter.
typeImage type in question.
virtual signed int IImageUtil::ImageCopy ( VOLVISIMAGE dst,
VOLVISIMAGE src 
)
pure virtual

Copies an image. The dst image is allocated by this function.

Parameters
dstStructure which recieves the new image params.
srcStricture describing the input image.
virtual signed int IImageUtil::ImageDataSize ( unsigned int *  pl,
VOLVISIMAGE im 
)
pure virtual

pl will receive the number of bytes necessary to store the information in this image.

Parameters
pldestination parameter.
imThe Image in question.
virtual signed int IImageUtil::ImageFragmentRowDataOffset ( unsigned int *  pl,
const VOLVISIMAGE im,
ENUM_CLUSTER_PARAM  e,
unsigned int  FragemntId,
unsigned int  lRow 
)
pure virtual

Returns the offset into the data buffer for the fragment specified in the current clustering environment.

Parameters
pldestination parameter.
imThe full output image.
eThe parameters for clustering.
FragemntIdThe fragment rendered.
lRowThe row to get in this fragment.
virtual signed int IImageUtil::ImageFree ( VOLVISIMAGE im)
pure virtual

Frees the VOLVISIMAGE::Data buffer.

Parameters
imimage to invalidate.
virtual signed int IImageUtil::ImageSmooth ( VOLVISIMAGE dst,
VOLVISIMAGE src 
)
pure virtual

Smooths an image, reducing the number of jaggies. This is called automatically by all engines except the Thin MIP/MPR engine (overridable by a render flag).

Parameters
dstDestination image. The data buffer is allocated by this function.
srcSource image.
virtual signed int IImageUtil::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.