/** * */ package icy.vtk; import icy.image.lut.LUT; import icy.image.lut.LUT.LUTChannel; import java.awt.Color; import vtk.vtkColorTransferFunction; import vtk.vtkPiecewiseFunction; /** * Class to represent a 3D binary image as a 3D VTK volume object. * * @author Stephane */ public class VtkBinaryVolume extends VtkImageVolume { /** * Always single channel here */ @Override protected int getChannelCount() { return 1; } /** * Set the color of the binary volume. */ public void setColor(Color value) { volumeProperty.SetColor(VtkUtil.getBinaryColorMap(value)); } /** * Set the opacity of the binary volume. */ public void setOpacity(double value) { volumeProperty.SetScalarOpacity(VtkUtil.getBinaryOpacityMap(value)); } /** * @deprecated Use {@link #setColor(Color)} instead. */ @Override @Deprecated public void setColorMap(vtkColorTransferFunction map, int channel) { // done nothing here } /** * @deprecated Use {@link #setOpacity(double)} instead. */ @Override @Deprecated public void setOpacityMap(vtkPiecewiseFunction map, int channel) { // done nothing here } /** * @deprecated Use {@link #setColor(Color)} and {@link #setOpacity(double)} instead. */ @Override @Deprecated public void setLUT(LUT value) { // done nothing here } /** * @deprecated Use {@link #setColor(Color)} and {@link #setOpacity(double)} instead. */ @Override @Deprecated public void setLUT(LUTChannel lutChannel, int channel) { // done nothing here } /** * Enable / Disable the shading (global) */ @Override public void setShade(boolean value) { volumeProperty.SetShade(value ? 1 : 0); } /** * Sets the ambient lighting coefficient (global) */ @Override public void setAmbient(double value) { volumeProperty.SetAmbient(value); } /** * Sets the diffuse lighting coefficient (global) */ @Override public void setDiffuse(double value) { volumeProperty.SetDiffuse(value); } /** * Sets the specular lighting coefficient (global) */ @Override public void setSpecular(double value) { volumeProperty.SetSpecular(value); } /** * Sets the specular power (global) */ @Override public void setSpecularPower(double value) { volumeProperty.SetSpecularPower(value); } }