/*
* Copyright 2010-2015 Institut Pasteur.
*
* This file is part of Icy.
*
* Icy is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Icy is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with Icy. If not, see <http://www.gnu.org/licenses/>.
*/
package icy.canvas;
import icy.gui.viewer.Viewer;
import icy.vtk.IcyVtkPanel;
import java.awt.image.BufferedImage;
import plugins.kernel.canvas.VtkCanvas;
import vtk.vtkRenderer;
/**
* @deprecated Use {@link VtkCanvas} instead.
* @author Stephane
*/
@Deprecated
public abstract class Canvas3D extends IcyCanvas3D
{
private static final long serialVersionUID = -2677870897470280726L;
public Canvas3D(Viewer viewer)
{
super(viewer);
}
/**
* Adjust the volume image resolution rendering.<br>
* <ul>
* <li>0 = auto selection</li>
* <li>1 = highest resolution (slow)</li>
* <li>10 = lowest resolution (fast)</li>
* </ul>
*
* @param value
*/
public abstract void setVolumeDistanceSample(int value);
public abstract IcyVtkPanel getPanel3D();
public abstract vtkRenderer getRenderer();
/**
* Get scaling for image volume rendering
*/
public abstract double[] getVolumeScale();
/**
* @deprecated Use {@link #getVolumeScale()} instead.
*/
@Deprecated
public double getVolumeScaleX()
{
return getVolumeScale()[0];
}
/**
* @deprecated Use {@link #getVolumeScale()} instead.
*/
@Deprecated
public double getVolumeScaleY()
{
return getVolumeScale()[1];
}
/**
* @deprecated Use {@link #getVolumeScale()} instead.
*/
@Deprecated
public double getVolumeScaleZ()
{
return getVolumeScale()[2];
}
/**
* @deprecated
*/
@Deprecated
public double getXScaling()
{
return getVolumeScaleX();
}
/**
* @deprecated
*/
@Deprecated
public double getYScaling()
{
return getVolumeScaleY();
}
/**
* @deprecated
*/
@Deprecated
public double getZScaling()
{
return getVolumeScaleZ();
}
/**
* Set scaling for image volume rendering
*/
public abstract void setVolumeScale(double x, double y, double z);
/**
* @deprecated Use {@link #setVolumeScale(double, double, double)} instead
*/
@Deprecated
public void setVolumeScaleX(double value)
{
final double[] scale = getVolumeScale();
if (scale[0] != value)
{
scale[0] = value;
setVolumeScale(scale[0], scale[1], scale[2]);
}
}
/**
* @deprecated Use {@link #setVolumeScale(double, double, double)} instead
*/
@Deprecated
public void setVolumeScaleY(double value)
{
final double[] scale = getVolumeScale();
if (scale[1] != value)
{
scale[1] = value;
setVolumeScale(scale[0], scale[1], scale[2]);
}
}
/**
* @deprecated Use {@link #setVolumeScale(double, double, double)} instead
*/
@Deprecated
public void setVolumeScaleZ(double value)
{
final double[] scale = getVolumeScale();
if (scale[2] != value)
{
scale[2] = value;
setVolumeScale(scale[0], scale[1], scale[2]);
}
}
/**
* @deprecated
*/
@Deprecated
public void setXScaling(double value)
{
setVolumeScaleX(value);
}
/**
* @deprecated
*/
@Deprecated
public void setYScaling(double value)
{
setVolumeScaleY(value);
}
/**
* @deprecated
*/
@Deprecated
public void setZScaling(double value)
{
setVolumeScaleZ(value);
}
/**
* Returns a RGB or ARGB (depending support) BufferedImage representing the canvas view for
* image at position (t, c).<br>
*
* @param t
* T position of wanted image (-1 for complete sequence)
* @param c
* C position of wanted image (-1 for all channels)
*/
public abstract BufferedImage getRenderedImage(int t, int c);
}