Constructor for the RenderEngineContext3D
Unique render engine ID that corresponds to the native rendering engine.
volumeDataContext associated with this native rendering engine.
ShadowMapContext to be updated
call bsck method to be called on both success and failure case
This is an asynchronous method that returns a Promise as follows:
Promise .then(void) .catch (err: ReturnCode )
Returns the renderParameter
Gets the lighting characterists for rendering of the polygons.
This is an asynchronous method that returns a Promise as follows:
Promise .then(data) .catch (err: ReturnCode
callbackFunc(err: ReturnCode , data)
Return the render engine ID associated with this object
Gets the current RenderParams3D structure for the engine.
This is an asynchronous method that returns a Promise as follows:
Promise .then(renderParams : RenderParams3D ) .catch (err: ReturnCode )
callbackFunc(err: ReturnCode , renderParams : RenderParams3D )
Gets one of the transfer functions associated with this engine.
This is an asynchronous method that returns a Promise as follows:
Promise .then(renderRangeParams : RenderRangeParams ) .catch (err: ReturnCode )
callbackFunc(err: ReturnCode , renderRenderParams : RenderRangeParams )
Return the volumeDataContext associated with this object
Loads a transfer function XML file and applies the contents to the engine.
The file name of a transfer function XML file to load and apply.
This is an asynchronous method that returns a Promise as follows:
Promise .then() .catch (err: ReturnCode )
callbackFunc(err: ReturnCode )
Projects the specific array of vectors into the scene and returns a correpsonding array of points.
This is an asynchronous method that returns a Promise as follows:
Promise .then(pointList : Array< Point >) .catch (err: ReturnCode )
callbackFunc(err: ReturnCode , pointList Point : Array< Point> )
Releases server side resources assoicated with this RenderEngineContext3D instance.
This is an asynchronous method that returns a Promise as follows:
Promise .then() .catch (err: ReturnCode )
callbackFunc(err: ReturnCode )
Renders an interactive quality image.
This is a synchronous method and returns ReturnCode.ok on success.
Renders a final maximum quality image.
This is a synchronous method and returns ReturnCode.ok on success.
Name of the file to save to disk.
Set to true to render a final quality image (defualt), or false for interactive quality image.
This is an asynchronous method that returns a Promise as follows:
Promise .then() .catch (err: ReturnCode ) callbackFunc(err: ReturnCode )
Saves the current set of transfer functions to an XML file.
The file name of a transfer function XML file to save to.
This is an asynchronous method that returns a Promise as follows:
Promise .then() .catch (err: ReturnCode )
callbackFunc(err: ReturnCode )
Sets the curved MPR path to use. Essentially, the X vector (m11,m21,m31) in the projection plane describes the direction for the linear slice to take at every interpolated point on the curve. The offset (m14,m24,m34) in the projection plane describes where each point is. From this description, the points you specify are interpolated via Catmull-Rom spline interpolation. The spacing between interpolated points is dictated by the image size.
An arry of transformation matrices designating the position and direction vector for each control point.
A value designating which vector to align the points against.
This is an asynchronous method that returns a Promise as follows:
Promise .then() .catch (err: ReturnCode )
callbackFunc(err: ReturnCode )
Enables OpenGL GPU based rendering of polygon objects. All polygon objects will be rendered by OpenGL on the system GPU for this engine. The polygon objects are rendered into a seperate buffer that is overlayed on top of the HDVR image. OpenGL based polygon rendering is potentially much faster than the HDVR polygon engine, and supports layered object translucency. However, because the polygon objects are rendered into a seperate buffer and then overlayed on the HDVR image, they will always appear on top of the HDVR image. If volume occluded polygon objects are desired, the HDVR polygon engine must be used.
When this function is used to disable or enable OpenGL rendering it will reset the render engine's polygon state. This means that any PolygonContext objects that have been applied to the engine will be cleared, and FastPolygon rendering will be disabled. One must call setPolygonContexts and setFastPolygonEnable, as approptiate, to re-apply the polygon state.
For polygon objects to be visible the HDVR camera must be positioned so that the objects are in view. The HDVR camera position as represented in the RenderParams.transform variable may be different than the actual camera position if the front clipping plane is disabled (this is the default setting). This offsetting may be automated by using the bAutoOffset and offsetDistance paramaters. This auto offset feature is necessary if rendering in slab mode.
OpenGL polygon rendering is only available when the rendering server is running on a GPU enabled Microsoft Windows system.
Set to true to enable OpenGL GPU polygon rendering. Set to false to enable HDVR CPU polygon rendering.
True to enable auto camera offset feature for OpenGL frustrum. False to disable.
Offset distance for auto offset feature.
This is an asynchronous method that returns a Promise as follows:
Promise .then(renderParams : RenderParams3D ) .catch (err: ReturnCode )
callbackFunc(err: ReturnCode , renderParams : RenderParams3D )
Sets the engine to use fast polygons mode. In this mode changes to PolygonContext objects are rendered more quickly. However, no changes to the render engine state other than polygon transformations are permitted while in this mode. This means that no changes to the position, orientation, or any other RenderParams3D fields are permitted.
Set to true to turn fast polygon mode on, set to false to turn off.
This is an asynchronous method that returns a Promise as follows:
Promise .then(renderParams : RenderParams3D ) .catch (err: ReturnCode )
callbackFunc(err: ReturnCode , renderParams : RenderParams3D )
Sets the number of animation frames that will be produces for each dataset in a 4D series.
This is a synchronous method and returns ReturnCode.ok on success.
Sets the current 'phase' or animation frames in a 4D series.
This is a synchronous method and returns ReturnCode.ok on success.
Sets an array of PolygonContext objects to be assoicated with the render engine. Once added to the engine, a new frame is rendered that includes the added polygon objects.
An array of PolygonContext objects to be assoicated with the render engine.
If true an interactive quality image is automaticly generated. If false no image is generated.
This is an asynchronous method that returns a Promise as follows:
Promise .then(void) .catch (err: ReturnCode )
callbackFunc(err: ReturnCode , void)
Sets the lighting characterists for rendering of the polygons.
This is an asynchronous method that returns a Promise as follows:
Promise .then(void) .catch (err: ReturnCode )
callbackFunc(err: ReturnCode , void)
Sets the rendering parameter to be used with the render engine.
A RenderParams3D object containing the values that are to be applied to the rendering engine.
enum to instruct the render engine to re-render with the updated parameters
This is an asynchronous method that returns a Promise as follows:
Promise .then(void) .catch (err: ReturnCode )
callbackFunc(err: ReturnCode )
While this does not provide a return value, it is sometimes useful to wait for it to complete as in:
renderEngineContext.setRenderParams(renderParams).then(function() { renderEngineContext.render(); renderFinal(); });
Sets the transfer function on this rendering engine.
0-based number for transfer function to set.
An array of render ranges to set.
This is an asynchronous method that returns a Promise as follows:
Promise .then() .catch (err: ReturnCode )
callbackFunc(err: ReturnCode )
Shoots ray into the screen from an array of points, and returns a correpsonding array of RayStopInfo objects.
Array of Vectors to project into the scene. At most 20 points can be passed at one time.
This is an asynchronous method that returns a Promise as follows:
Promise .then(rayStopInfoList : Array< RayStopInfo>) .catch (err: ReturnCode )
callbackFunc(err: ReturnCode , rayStopInfoList : Array< RayStopInfo> )
RenderEngineContext3D is backed by a native renering engine and is typically associated with a Fovia.UI.HTMLViewport3D . This objectis typically created by a ServerContext.loadDICOMDir or a ServerContext.loadCustomData .