Fovia's C++ Client/Server API
|
Public Member Functions | |
virtual signed int | ApplyTransformToQueue (MATRIX44D *trans)=0 |
virtual signed int | AskInterface (const BGUID *piid, IRoot **ppr)=0 |
virtual signed int | BreakStreaming ()=0 |
virtual signed int | ClearQueue ()=0 |
virtual signed int | DecRef ()=0 |
virtual signed int | FastSwap (IVolumeDataContext *volumeData, IOctreeContext *octree)=0 |
virtual signed int | GetAdaptiveJPEGStatus (signed int *status)=0 |
virtual signed int | GetAndResetModifiedTFs (unsigned int *modifiedTFs)=0 |
virtual signed int | GetAndResetModifiedTFsEx (unsigned long long *modifiedTFs)=0 |
virtual signed int | GetCurvedReformat (IVolumeDataContext **pData, const unsigned int numProjPlanesPerSlice, const unsigned int numSlices, const unsigned int ppWidth, const unsigned int ppHeight, const unsigned int measurementSlice, const float Zoom, MATRIX44D **arrProjPlanes, const ENUM_CURVED_MPR_TYPE type)=0 |
virtual signed int | GetMaximumFrameRate (unsigned int *pFPS)=0 |
virtual signed int | GetRawFrameReadyCallbackEnabled (signed int *val)=0 |
virtual signed int | GetRenderEngineContext (IRenderEngineContext **pREC)=0 |
virtual signed int | GetRenderEngineType (ENUM_RENDER_TYPE *pRT)=0 |
virtual signed int | GetRenderParams (RENDER_PARAMS *pRP)=0 |
virtual signed int | GetRenderParamsCached (RENDER_PARAMS *pRP)=0 |
virtual signed int | GetRenderParamsEx (RENDER_PARAMS *pRP, const signed int bIncludeQueuedParams)=0 |
virtual signed int | GetTransferFunction (RENDER_RANGE_PARAMS *pRP, const unsigned int index)=0 |
virtual signed int | GetTransferFunctionCached (RENDER_RANGE_PARAMS *pRP, const unsigned int index)=0 |
virtual signed int | GetTransferFunctionEx (RENDER_RANGE_PARAMS *pRP, const unsigned int index, const signed int bIncludeQueuedParams)=0 |
virtual signed int | IncRef ()=0 |
virtual signed int | Init (IServerContext *serverContext, IVolumeDataContext *volumeData, IOctreeContext *octree)=0 |
virtual signed int | Init4D (IServerContext *serverContext, IVolumeDataContext **volumeData, IOctreeContext **octree, const unsigned int numVolumes)=0 |
virtual signed int | IsFinalShown (signed int *pVal)=0 |
virtual signed int | IsRendering (signed int *pVal)=0 |
virtual signed int | ReleaseSessionResources ()=0 |
virtual signed int | Render ()=0 |
virtual signed int | RenderFinal ()=0 |
virtual signed int | RenderFinalEx (const signed int bNotifyListeners)=0 |
virtual signed int | RenderFinalEx2 (const signed int bIgnoreParams, const ENUM_RENDER_PARAMS_MASK paramsToIgnore)=0 |
virtual signed int | RenderFinalEx3 (const signed int bNotifyListeners, const signed int bIgnoreParams, const ENUM_RENDER_PARAMS_MASK paramsToIgnore)=0 |
virtual signed int | SetAdaptiveJPEGParameters (ADAPTIVEJPEGPARAMS *params)=0 |
virtual signed int | SetAdaptiveJPEGStatus (signed int status)=0 |
virtual signed int | SetAutonavigating (const signed int bNav, const double speed)=0 |
virtual signed int | SetCompressionType (const ENUM_COMPRESSION_TYPE type, const signed int quality)=0 |
virtual signed int | SetCurvedMPRPath (const unsigned int numProjPlanes, MATRIX44D *arrProjPlanes, const ENUM_CURVED_MPR_TYPE type)=0 |
virtual signed int | SetDontRenderWhileDisplaying (const signed int bVal)=0 |
virtual signed int | SetFinalCompressionType (const ENUM_COMPRESSION_TYPE type, const signed int quality)=0 |
virtual signed int | SetFinalRenderTimeout (const unsigned long long time)=0 |
virtual signed int | SetFrameListener (IRQFrameListener *listener)=0 |
virtual signed int | SetImageAllocator (IAllocator *pAlloc)=0 |
virtual signed int | SetLocalRendering (const signed int bVal)=0 |
virtual signed int | SetMaximumFrameRate (const unsigned int fps)=0 |
virtual signed int | SetNoFinalRenders (const signed int bVal)=0 |
virtual signed int | SetParameterIgnoringEnabled (const signed int bVal)=0 |
virtual signed int | SetRawFrameReadyCallbackEnabled (signed int val)=0 |
virtual signed int | SetRenderEngineContext (IRenderEngineContext *pRenderContext)=0 |
virtual signed int | SetRenderParams (RENDER_PARAMS *rp)=0 |
virtual signed int | SetRenderParamsEx (RENDER_PARAMS *rp, const signed int bNotifyLinked)=0 |
virtual signed int | SetRenderParamsEx2 (RENDER_PARAMS *rp, const unsigned int numVertexCallLists, IVertexCallListContext **arrVertices)=0 |
virtual signed int | SetRenderParamsEx3 (RENDER_PARAMS *rp, const unsigned int numVertexCallLists, IVertexCallListContext **arrVertices, const signed int bNotifyLinked)=0 |
virtual signed int | SetStereoMode (signed int bEnabled)=0 |
virtual signed int | SetTransferFunction (const unsigned int index, RENDER_RANGE_PARAMS *rrp)=0 |
virtual signed int | SetViewMode (const ENUM_VIEW_MODE mode)=0 |
virtual signed int | StopThreads ()=0 |
virtual signed int | UpdateImage (VOLVISIMAGE *imm, RENDER_PARAMS *rp)=0 |
virtual signed int | UpdateRenderParamMembers (RENDER_PARAMS *rp)=0 |
virtual signed int | WaitForParamsToBeSet ()=0 |
![]() | |
template<class T > | |
signed int | AskInterface (T **pp) |
Provides render queueing functionality. You simply pass all RENDER_PARAMS to this object and efficient streaming and final rendering calls automatically happen. Specify an IRQFrameListener to recieve events when a frame is ready for display. Call RenderFinal() when you're sure you're done sending rendering parameters for a while (such as when the user releases the mouse after a drag operation).
Use ILibrary::CreateObject() to create this object.
|
pure virtual |
Deprecated. Just use SetRenderParams().
trans | MATRIX44D |
|
pure virtual |
Requests that streaming break at the next possible opportunity. Normally, the queue will wait a little while before breaking streaming to see if more params come in. This will make sure that wait does not happen.
|
pure virtual |
Clears any queued up render param changes. They will be discarded and the information will be lost.
|
pure virtual |
Decreases the reference count on this object by 1. If the reference count reaches 0, the object is deallocated.
Implements IRoot.
|
pure virtual |
Requests a fast swap of the current volume to another. The new volume must be the same dimension, orientation, spacing, and skew.
volumeData | |
octree |
|
pure virtual |
Gets the status of adaptive JPEG quality for interactive rendering.
|
pure virtual |
This will not go through the queuing process. You MUST make sure you're actually in curved MPR mode before calling this function. To ensure this, call WaitForParamsToBeSet() after setting the render type.
pData | The address of the IVolumeDataContext pointer that will get the location of the newly created volume. |
numProjPlanesPerSlice | int |
numSlices | int |
ppWidth | int |
ppHeight | int |
measurementSlice | The index of the slice that can be used for accurate measurement. For accurate measurement on other slices, it is up to the user to understand the relationship between the input data and the output volume. |
Zoom | float |
arrProjPlanes | MATRIX44D** |
type | int |
|
pure virtual |
Returns the current max FPS. See SetMaximumFrameRate() for details.
|
pure virtual |
Returns the render engine context associated with this queue.
pREC | IRenderEngineContext A pointer to the IRenderEngineContext* that will receive the context. |
Implements IRenderParamsReceiver.
|
pure virtual |
Returns the render engine type associated with this queue.
|
pure virtual |
Returns the current state of the engine in a RENDER_PARAMS structure.
pRP | Will be filled with the parameters |
Implements IRenderParamsReceiver.
|
pure virtual |
Gets the current RENDER_PARAMS as the queue knows them without sending a request to the server for engine state. This is almost always the preferred method of getting the RENDER_PARAMS.
Implements IRenderParamsReceiver.
|
pure virtual |
Returns the current state of the engine in a RENDER_PARAMS structure.
bIncludeQueuedParams | Set to HT_TRUE if you want to include the RENDER_PARAMS currently queued to be sent to the server. |
pRP | Will be filled with the parameters |
Implements IRenderParamsReceiver.
|
pure virtual |
Reserved for future use.
|
pure virtual |
Reserved for future use.
|
pure virtual |
Reserved for future use.
|
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.
|
pure virtual |
Initializes the render queue. You must call this function before calling other server related functions on the object.
serverContext | The server context |
volumeData | The volume data |
octree | The octre. This can be null if you are going to use only RT_THIN_* rendering modes |
|
pure virtual |
Initializes the render queue for 4D rendering on the server side. All volumes must be the same dimension, orientation, spacing, and skew.
serverContext | The server context |
volumeData | An array of pointers to volume data contexts. |
octree | An array of pointers to octree contexts. This can be null if you are going to use only RT_THIN_* rendering modes |
numVolumes | The number of volumes described in volumeData and octree. |
|
pure virtual |
Returns HT_TRUE if the engine is currently rendering a frame.
|
pure virtual |
Call this if you wish to free up server resources for this object but do not want to disconnect from the server yet.
|
pure virtual |
Signals a render to happen at the next earliest convenience.
|
pure virtual |
Enqueues a final render into the render queue. Call this if you do not think you will be setting render params for the foreeable future (like if the user released the mouse button after dragging).
Implements IRenderParamsReceiver.
|
pure virtual |
bNotifyLinked is ignored, so this is functionally identical to calling RenderFinal().
Implements IRenderParamsReceiver.
|
pure virtual |
Just like renderFinal(), except allows parameter interrupting. You should consider this functionality if you're implementing a mouse drag operation.
bIgnoreParams | Set to true if you want this final render to use the parameters from the last rendered frame |
paramsToIgnore | Limits the parameters to be ignored. For example, if you're adjusting the orientation, you would put RPM_TRANSFORM in this parameter to specify that's the parameter that may have been adjusted since the last frame was displayed. |
Implements IRenderParamsReceiver.
|
pure virtual |
bNotifyLinked is ignored, so this is functionally identical to calling RenderFinalEx2().
Implements IRenderParamsReceiver.
|
pure virtual |
Sets the parameters for adaptive JPEG quality for interactive rendering.
|
pure virtual |
Turns the adaptive JPEG quality on or off for interactive rendering. This will adjust the JPEG compression based on the time taken for previous frames
|
pure virtual |
Call this to change whether we're autonavigating.
bNav | boolean |
speed | double |
Implements IRenderParamsReceiver.
|
pure virtual |
Sets the compression parameters for interactive rendering.
type | Type of compression. |
quality | This parameter depends on what value type has. |
|
pure virtual |
This will not go through the queuing process. You MUST make sure you're actually in curved MPR mode before calling this function. To ensure this, call WaitForParamsToBeSet() after setting the render type.
numProjPlanes | int |
arrProjPlanes | MATRIX44D* |
type | int |
Implements IRenderParamsReceiver.
|
pure virtual |
Some systems will not perform as well if you are displaying while rendering (maybe the threading model is not well implemented). Set this to true if you experience jerkiness in more difficult to render scenes.
bVal | H_TRUE if true, H_FALSE otherwise. |
|
pure virtual |
Sets the compression parameters for final rendering.
type | Type of compression. |
quality | This parameter depends on what value type has. |
|
pure virtual |
This should be a time in milliseconds. If it's 0xffffffffffffffff, no final renders will happen automatically. They will need to be requested with renderFinal().
time |
|
pure virtual |
Call this to register your IRQFrameListener to recieve events about frames rendered.
listener | IRQFrameListener A pointer to your IRQFrameListener. |
|
pure virtual |
Sets a cusom IAllocator to be used for allocating/deallocating images as they are rendered. Images are allocated only when the render image size changes. Otherwise, the image is placed in the previous frame's buffer. Note that images are almost always different sizes when compression is used, and therefore compressed streaming performs a lot of allocation/deallocatioin.
|
pure virtual |
If HT_TRUE is passed in here, a more accurate timing model is used and therefore the frames are more smooth and consistent However, This method requires two server calls per frame and is therefore not acceptable for remote rendering.
bVal | H_TRUE if true, H_FALSE otherwise. |
|
pure virtual |
Set's the desired frame rate to the specified value. Use 100000 to specify no cap. There is no cap to the frame rate by default.
fps | Desired frame rate. |
|
pure virtual |
If true, renderFinal() calls will be ignored.
bVal | H_TRUE if true, H_FALSE otherwise. |
|
pure virtual |
This subsystem ensures that the last frame displayed is the state that the final render will have when the user releases the mouse button during a drag operation. Otherwise, the next frame would be rendered since it has already started rendering when the user releases the mouse button. Render widgets that use more than one engine simultaneously might not want this.
bVal | H_TRUE if true, H_FALSE otherwise. |
|
pure virtual |
Assigns pRenderContext as the render engine this queue should be associated with.
pRenderContext | The engine |
|
pure virtual |
Enqueues a RENDER_PARAMS to be set. Note that the settings are not set immediately. Also, this queue has the possibility of being collapsed some. For example, if you set the view very quickly in response to mouse events, some of the move events may be consolidated if the frame rate of the engine is not as fast as the mouse update. Information is never lost in this process.
rp | RENDER_PARAMS |
Implements IRenderParamsReceiver.
|
pure virtual |
bNotifyLinked is ignored, so this is functionally identical to calling SetRenderParams().
Implements IRenderParamsReceiver.
|
pure virtual |
Identical to SetRenderParams(), but with two additional parameters.
rp | The RENDER_PARAMS to set. |
numVertexCallLists | The number of vertex call lists in arrVertices. If 0, arrVertices is ignored. However, if you wish to set 0 call lists to the engine so no polygons are rendered, set this parameter to 0xFFFFFFFF. |
arrVertices | An array of interface points to vertex call lists describing polygon objects to put into images rendered by this engine. |
Implements IRenderParamsReceiver.
|
pure virtual |
bNotifyLinked is ignored, so this is functionally identical to calling SetRenderParamsEx2().
Implements IRenderParamsReceiver.
|
pure virtual |
Reserved for future use.
|
pure virtual |
Implements IRenderParamsReceiver.
|
pure virtual |
Stops the currently running threads on this object.
|
pure virtual |
Public only for legacy reasons.
|
pure virtual |
Will wait on the current thread until we've applied all params waiting in the queue. If params keep being added by some other thread, you will lock this thread until they stop being applied.