irc_web/.svn/pristine/ee/ee8d7c0ad9e0619bf0e53df06f5...

44 lines
1.5 KiB
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'
var currentPreset = 'hsv'
var upper = 6
function setPetColorMapTransferFunctionForVolumeActor(
volumeInfo
) {
const { volumeActor, preset } = volumeInfo
const mapper = volumeActor.getMapper()
mapper.setSampleDistance(1.0)
// const range = volumeActor
// .getProperty()
// .getRGBTransferFunction(0)
// .getRange()
// console.log(range)
const cfun = vtkColorTransferFunction.newInstance()
const presetToUse = preset || vtkColorMaps.getPresetByName(currentPreset)
cfun.applyColorMap(presetToUse)
console.log(upper)
cfun.setMappingRange(0, upper)
// const range1 = volumeActor
// .getProperty()
// .getRGBTransferFunction(0)
// .getRange()
// console.log(range1)
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)
}
function setColorPreset(preset) {
currentPreset = preset
}
function setRangeUper(v) {
upper = v
}
export { setPetColorMapTransferFunctionForVolumeActor, setColorPreset, setRangeUper }