Fovia's C++ Client/Server API
Public Member Functions | List of all members
IMovieMaker Struct Referenceabstract
Inheritance diagram for IMovieMaker:
IRoot

Public Member Functions

virtual signed int AskInterface (const BGUID *piid, IRoot **ppr)=0
 
virtual signed int CancelMovie ()=0
 
virtual signed int CreateMovie (IMovie *movie, signed int numFrames, signed int width, signed int height, signed int bPreview, IVolumeDataContext *volume, IOctreeContext *octree, IServerContext *server, IFrameCreatedListener *target)=0
 
virtual signed int CreateMovie4D (IMovie *movie, signed int numFrames, signed int width, signed int height, signed int bPreview, signed int framesPerPhase, signed int numVolumes, IVolumeDataContext **volumes, IOctreeContext **octrees, IServerContext *server, IFrameCreatedListener *target)=0
 
virtual signed int DecRef ()=0
 
virtual signed int GetStereoMode (signed int &mode)=0
 
virtual signed int IncRef ()=0
 
virtual signed int SetRenderEngineContext (IRenderEngineContext *pRenderContext)=0
 
virtual signed int SetStereoMode (signed int mode, double separation)=0
 
virtual signed int SetUniversalVertexCallLists (IVertexCallListContext **pvcls, signed int numVCLs)=0
 
- Public Member Functions inherited from IRoot
template<class T >
signed int AskInterface (T **pp)
 

Detailed Description

Object that creates movie frames from an IMovie description. The rendered frames can then be output to a movie file or saved into a DICOM repository. Use ILibrary::CreateObject() to create this object.

Member Function Documentation

virtual signed int IMovieMaker::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 IMovieMaker::CancelMovie ( )
pure virtual

Cancels a CreateMovie() or CreateMovie4D() call. Since those calls are blocking, this must be called from another thread to have any effect.

virtual signed int IMovieMaker::CreateMovie ( IMovie movie,
signed int  numFrames,
signed int  width,
signed int  height,
signed int  bPreview,
IVolumeDataContext volume,
IOctreeContext octree,
IServerContext server,
IFrameCreatedListener target 
)
pure virtual

Creates a movie from the specified parameters. You must call SetRenderEngineContext() before calling this function.

Parameters
movieIMovie to render.
numFramesThe number of frames to create from this movie. For example, if the movie is 7 second and you want 30 frames per second, this parameter should be 7*30=210.
widthWidth of the rendered frames. Must be a multiple of 16 in the range [16-8192].
heightHeight of the rendered frames. Must be a multiple of 16 in the range [16-8192].
bPreviewIf false, the maximum quality images are rendered. If true, lower quality images are generated in a shorter amount of time.
volumeVolume data to use when generating the frames.
octreeOctree that is attached to the volume data. This can be NULL if all the key frames in movie are in RT_THIN_* rendering types.
serverServer connection object.
targetObject that will receive events when each frame is rendered. These frames should be saved at the time of the event because the memory will be freed internally immediately afterwards.
virtual signed int IMovieMaker::CreateMovie4D ( IMovie movie,
signed int  numFrames,
signed int  width,
signed int  height,
signed int  bPreview,
signed int  framesPerPhase,
signed int  numVolumes,
IVolumeDataContext **  volumes,
IOctreeContext **  octrees,
IServerContext server,
IFrameCreatedListener target 
)
pure virtual

Creates a 4D movie (playback cycling through multiple datasets) from the specified parameters. You must call SetRenderEngineContext() before calling this function.

Parameters
movieIMovie to render.
numFramesThe number of frames to create from this movie. For example, if the movie is 7 second and you want 30 frames per second, this parameter should be 7*30=210.
widthWidth of the rendered frames. Must be a multiple of 16 in the range [16-8192].
heightHeight of the rendered frames. Must be a multiple of 16 in the range [16-8192].
bPreviewIf false, the maximum quality images are rendered. If true, lower quality images are generated in a shorter amount of time.
framesPerPhaseThe number of frames to render before moving to the next phase (dataset in the list).
numVolumesThe number of volumes in volumes
volumesVolume data to use when generating the frames.
octreesOctree that is attached to the volume data. This can be NULL if all the key frames in movie are in RT_THIN_* rendering types.
serverServer connection object.
targetObject that will receive events when each frame is rendered. These frames should be saved at the time of the event because the memory will be freed internally immediately afterwards.
virtual signed int IMovieMaker::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 IMovieMaker::GetStereoMode ( signed int &  mode)
pure virtual

Returns the setero mode for this object into mode. The default value is STEREO_MODE_OFF.

See also
RENDER_PARAMS::StereoMode for more information about this parameter.
virtual signed int IMovieMaker::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 IMovieMaker::SetRenderEngineContext ( IRenderEngineContext pRenderContext)
pure virtual

Sets an IRenderEngineContext to be used when rendering frames of a movie in CreateMovie() or CreateMovie4D().

virtual signed int IMovieMaker::SetStereoMode ( signed int  mode,
double  separation 
)
pure virtual

Sets the stereo mode for all frames created in any subsequent CreateMovie() or CreateMovie4D() calls. The default value is STEREO_MODE_OFF.

See also
RENDER_PARAMS::StereoMode and RENDER_PARAMS::StereoSeparation for more information about these parameters.
virtual signed int IMovieMaker::SetUniversalVertexCallLists ( IVertexCallListContext **  pvcls,
signed int  numVCLs 
)
pure virtual

Sets vertex call lists to be displayed in all the rendered frames of this movie.

Parameters
pvclsAn array of IVertexCallListContext pointers that will be applied to every rendered movie frame.
numVCLsThe number of IVertexCallListContext pointers in pvcls