irc_web/.svn/pristine/2a/2a9a7cda029ea04c8c3e016546d...

27 lines
987 B
Plaintext

import vtkColorMaps from '@kitware/vtk.js/Rendering/Core/ColorTransferFunction/ColorMaps';
import vtkColorTransferFunction from '@kitware/vtk.js/Rendering/Core/ColorTransferFunction';
import vtkPiecewiseFunction from '@kitware/vtk.js/Common/DataModel/PiecewiseFunction';
export default function setPetColorMapTransferFunctionForVolumeActor(
volumeInfo
) {
const { volumeActor, preset } = volumeInfo;
const mapper = volumeActor.getMapper();
mapper.setSampleDistance(1.0);
const cfun = vtkColorTransferFunction.newInstance();
let presetToUse = preset ? preset : vtkColorMaps.getPresetByName('hsv');
cfun.applyColorMap(presetToUse);
cfun.setMappingRange(0, 5);
volumeActor.getProperty().setRGBTransferFunction(0, cfun);
// Create scalar opacity function
const ofun = vtkPiecewiseFunction.newInstance();
ofun.addPoint(0, 0.0);
ofun.addPoint(0.1, 0.9);
ofun.addPoint(5, 1.0);
volumeActor.getProperty().setScalarOpacity(0, ofun);
}