vtkPixelSpaceCallbackMapper iterates over the points of its input dataset, using the transforms from the active camera to compute the screen coordinates of each point.
Methods
extend
Method use to decorate a given object (publicAPI+model) with vtkPixelSpaceCallbackMapper characteristics.
Argument
Type
Required
Description
publicAPI
Yes
object on which methods will be bounds (public)
model
Yes
object on which data structure will be bounds (protected)
initialValues
IPixelSpaceCallbackMapperInitialValues
No
(default: {})
getCallback
getUseZValues
invokeCallback
Argument
Type
Required
Description
dataset
Yes
camera
Yes
aspect
Yes
windowSize
Yes
depthValues
Yes
newInstance
Method use to create a new instance of vtkPixelSpaceCallbackMapper
Argument
Type
Required
Description
initialValues
IPixelSpaceCallbackMapperInitialValues
No
for pre-setting some of its content
setCallback
Set the callback function the mapper will call, during the rendering process, with the screen coords of the points in dataset. The callback function will have the following parameters:
// An array of 4-component arrays, in the index-order of the datasets points
// The active camera of the renderer, in case you may need to compute alternate // depth values for your dataset points. Using the sphere mapper in your // application code is one example where this may be useful, so that you can // account for that mapper’s radius when doing depth checks.
camera: vtkCamera
// The aspect ratio of the render view and depthBuffer aspect: float
// A Uint8Array of size width * height * 4, where the zbuffer values are // encoded in the red and green components of each pixel. This will only // be non-null after you call setUseZValues(true) on the mapper before // rendering.
depthBuffer: Uint8Array
Argument
Type
Required
Description
callback
Yes
called with coords, camera, aspect and depthBuffer
setUseZValues
Set whether or not this mapper should capture the zbuffer during rendering. Useful for allowing depth checks in the application code.
/** * Set the callback function the mapper will call, during the rendering * process, with the screen coords of the points in dataset. The callback * function will have the following parameters: * * // An array of 4-component arrays, in the index-order of the datasets points * * coords: [ * [screenx, screeny, screenz, zBufValue], * ... * ] * // The active camera of the renderer, in case you may need to compute alternate * // depth values for your dataset points. Using the sphere mapper in your * // application code is one example where this may be useful, so that you can * // account for that mapper's radius when doing depth checks. * * camera: vtkCamera * // The aspect ratio of the render view and depthBuffer * aspect: float * // A Uint8Array of size width * height * 4, where the zbuffer values are * // encoded in the red and green components of each pixel. This will only * // be non-null after you call setUseZValues(true) on the mapper before * // rendering. * * depthBuffer: Uint8Array * * @example * ```js * // there is some text canvas and label data * const textCtx = textCanvas.getContext('2d'); * const psMapper = vtkPixelSpaceCallbackMapper.newInstance(); * psMapper.setInputData(pointPoly); * psMapper.setCallback((coords, camera, aspect, depthBuffer) => { * textCtx.clearRect(0, 0, oglCtx.drawingBufferWidth, oglCtx.drawingBufferHeight); * coords.forEach((xy, idx) => { * let label = data.labels[idx] * textCtx.fillStyle = "white"; * textCtx.font = "12px Arial"; * textCtx.fillText(label, xy[0], oglCtx.drawingBufferHeight - xy[1]); * }) * }) * * const textActor = vtkActor.newInstance(); * textActor.setMapper(psMapper); * renderer.addActor(textActor); * ``` * * @param callback called with coords, camera, aspect and depthBuffer */ setCallback( callback: ( coords: Vector3[], camera: vtkCamera, aspect: number, depthBuffer: Uint8Array ) => any ): boolean;
/** * Set whether or not this mapper should capture the zbuffer during * rendering. Useful for allowing depth checks in the application code. * @paramuseZValues */ setUseZValues(useZValues: boolean): boolean; }
/** * Method use to decorate a given object (publicAPI+model) with vtkPixelSpaceCallbackMapper characteristics. * * @param publicAPI object on which methods will be bounds (public) * @param model object on which data structure will be bounds (protected) * @param {IPixelSpaceCallbackMapperInitialValues} [initialValues] (default: {}) */ exportfunctionextend( publicAPI: object, model: object, initialValues?: IPixelSpaceCallbackMapperInitialValues ): void;
/** * Method use to create a new instance of vtkPixelSpaceCallbackMapper * @param {IPixelSpaceCallbackMapperInitialValues} [initialValues] for pre-setting some of its content */ exportfunctionnewInstance( initialValues?: IPixelSpaceCallbackMapperInitialValues ): vtkPixelSpaceCallbackMapper;
/** * vtkPixelSpaceCallbackMapper iterates over the points of its input dataset, * using the transforms from the active camera to compute the screen coordinates * of each point. */ export declare constvtkPixelSpaceCallbackMapper: { newInstance: typeof newInstance; extend: typeof extend; }; exportdefault vtkPixelSpaceCallbackMapper;