VTK
|
blend images together using alpha or opacity More...
#include <vtkImageBlend.h>
Inherits vtkThreadedImageAlgorithm.
Public Types | |
typedef vtkThreadedImageAlgorithm | Superclass |
Public Member Functions | |
virtual int | IsA (const char *type) |
vtkImageBlend * | NewInstance () const |
void | PrintSelf (ostream &os, vtkIndent indent) |
virtual void | ReplaceNthInputConnection (int idx, vtkAlgorithmOutput *input) |
int | GetNumberOfInputs () |
void | SetStencilConnection (vtkAlgorithmOutput *algOutput) |
void | SetInputData (int num, vtkDataObject *input) |
void | SetInputData (vtkDataObject *input) |
vtkDataObject * | GetInput (int num) |
vtkDataObject * | GetInput () |
void | SetOpacity (int idx, double opacity) |
double | GetOpacity (int idx) |
void | SetStencilData (vtkImageStencilData *stencil) |
vtkImageStencilData * | GetStencil () |
virtual void | SetBlendMode (int) |
virtual int | GetBlendMode () |
void | SetBlendModeToNormal () |
void | SetBlendModeToCompound () |
const char * | GetBlendModeAsString (void) |
virtual void | SetCompoundThreshold (double) |
virtual double | GetCompoundThreshold () |
Static Public Member Functions | |
static vtkImageBlend * | New () |
static int | IsTypeOf (const char *type) |
static vtkImageBlend * | SafeDownCast (vtkObjectBase *o) |
Protected Member Functions | |
virtual vtkObjectBase * | NewInstanceInternal () const |
vtkImageBlend () | |
~vtkImageBlend () | |
virtual int | RequestUpdateExtent (vtkInformation *, vtkInformationVector **, vtkInformationVector *) |
void | InternalComputeInputUpdateExtent (int inExt[6], int outExt[6], int inWExtent[6]) |
void | ThreadedRequestData (vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector, vtkImageData ***inData, vtkImageData **outData, int ext[6], int id) |
virtual int | FillInputPortInformation (int, vtkInformation *) |
virtual int | RequestData (vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector) |
Protected Attributes | |
double * | Opacity |
int | OpacityArrayLength |
int | BlendMode |
double | CompoundThreshold |
int | DataWasPassed |
blend images together using alpha or opacity
vtkImageBlend takes L, LA, RGB, or RGBA images as input and blends them according to the alpha values and/or the opacity setting for each input.
The spacing, origin, extent, and number of components of the output are the same as those for the first input. If the input has an alpha component, then this component is copied unchanged into the output. In addition, if the first input has either one component or two components i.e. if it is either L (greyscale) or LA (greyscale + alpha) then all other inputs must also be L or LA.
Different blending modes are available:
Normal (default) : This is the standard blending mode used by OpenGL and other graphics packages. The output always has the same number of components and the same extent as the first input. The alpha value of the first input is not used in the blending computation, instead it is copied directly to the output.
Compound : Images are compounded together and each component is scaled by the sum of the alpha/opacity values. Use the CompoundThreshold method to set specify a threshold in compound mode. Pixels with opacity*alpha less or equal than this threshold are ignored. The alpha value of the first input, if present, is NOT copied to the alpha value of the output. The output always has the same number of components and the same extent as the first input.
Definition at line 88 of file vtkImageBlend.h.
typedef vtkThreadedImageAlgorithm vtkImageBlend::Superclass |
Definition at line 92 of file vtkImageBlend.h.
|
protected |
|
protected |
|
static |
|
static |
|
virtual |
|
static |
|
protectedvirtual |
vtkImageBlend* vtkImageBlend::NewInstance | ( | ) | const |
void vtkImageBlend::PrintSelf | ( | ostream & | os, |
vtkIndent | indent | ||
) |
|
virtual |
Replace one of the input connections with a new input. You can only replace input connections that you previously created with AddInputConnection() or, in the case of the first input, with SetInputConnection().
void vtkImageBlend::SetInputData | ( | int | num, |
vtkDataObject * | input | ||
) |
Assign a data object as input. Note that this method does not establish a pipeline connection. Use SetInputConnection() to setup a pipeline connection.
|
inline |
Assign a data object as input. Note that this method does not establish a pipeline connection. Use SetInputConnection() to setup a pipeline connection.
Definition at line 106 of file vtkImageBlend.h.
vtkDataObject* vtkImageBlend::GetInput | ( | int | num | ) |
Get one input to this filter. This method is only for support of old-style pipeline connections. When writing new code you should use vtkAlgorithm::GetInputConnection(0, num).
|
inline |
Get one input to this filter. This method is only for support of old-style pipeline connections. When writing new code you should use vtkAlgorithm::GetInputConnection(0, num).
Definition at line 114 of file vtkImageBlend.h.
|
inline |
Get the number of inputs to this filter. This method is only for support of old-style pipeline connections. When writing new code you should use vtkAlgorithm::GetNumberOfInputConnections(0).
Definition at line 120 of file vtkImageBlend.h.
void vtkImageBlend::SetOpacity | ( | int | idx, |
double | opacity | ||
) |
Set the opacity of an input image: the alpha values of the image are multiplied by the opacity. The opacity of image idx=0 is ignored.
double vtkImageBlend::GetOpacity | ( | int | idx | ) |
Set the opacity of an input image: the alpha values of the image are multiplied by the opacity. The opacity of image idx=0 is ignored.
void vtkImageBlend::SetStencilConnection | ( | vtkAlgorithmOutput * | algOutput | ) |
Set a stencil to apply when blending the data. Create a pipeline connection.
void vtkImageBlend::SetStencilData | ( | vtkImageStencilData * | stencil | ) |
Set a stencil to apply when blending the data.
vtkImageStencilData* vtkImageBlend::GetStencil | ( | ) |
Set a stencil to apply when blending the data.
|
virtual |
Set the blend mode
|
virtual |
Set the blend mode
|
inline |
Set the blend mode
Definition at line 145 of file vtkImageBlend.h.
|
inline |
Set the blend mode
Definition at line 147 of file vtkImageBlend.h.
|
inline |
Get the blending mode as a descriptive string
Definition at line 197 of file vtkImageBlend.h.
|
virtual |
Specify a threshold in compound mode. Pixels with opacity*alpha less or equal the threshold are ignored.
|
virtual |
Specify a threshold in compound mode. Pixels with opacity*alpha less or equal the threshold are ignored.
|
protectedvirtual |
|
protected |
|
protected |
|
protectedvirtual |
|
protectedvirtual |
|
protected |
Definition at line 184 of file vtkImageBlend.h.
|
protected |
Definition at line 185 of file vtkImageBlend.h.
|
protected |
Definition at line 186 of file vtkImageBlend.h.
|
protected |
Definition at line 187 of file vtkImageBlend.h.
|
protected |
Definition at line 188 of file vtkImageBlend.h.