Cloned library of VTK-5.0.0 with extra build files for internal package management.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

83 lines
3.2 KiB

/*=========================================================================
Program: Visualization Toolkit
Module: $RCSfile: vtkMergeDataObjectFilter.h,v $
Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
All rights reserved.
See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
This software is distributed WITHOUT ANY WARRANTY; without even
the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE. See the above copyright notice for more information.
=========================================================================*/
// .NAME vtkMergeDataObjectFilter - merge dataset and data object field to create dataset with attribute data
// .SECTION Description
// vtkMergeDataObjectFilter is a filter that merges the field from a
// vtkDataObject with a vtkDataSet. The resulting combined dataset can
// then be processed by other filters (e.g.,
// vtkFieldDataToAttributeDataFilter) to create attribute data like
// scalars, vectors, etc.
//
// The filter operates as follows. The field data from the
// vtkDataObject is merged with the input's vtkDataSet and then placed
// in the output. You can choose to place the field data into the cell
// data field, the point data field, or the datasets field (i.e., the
// one inherited from vtkDataSet's superclass vtkDataObject). All this
// data shuffling occurs via reference counting, therefore memory is
// not copied.
//
// One of the uses of this filter is to allow you to read/generate the
// structure of a dataset independent of the attributes. So, for
// example, you could store the dataset geometry/topology in one file,
// and field data in another. Then use this filter in combination with
// vtkFieldDataToAttributeData to create a dataset ready for
// processing in the visualization pipeline.
#ifndef __vtkMergeDataObjectFilter_h
#define __vtkMergeDataObjectFilter_h
#include "vtkDataSetAlgorithm.h"
class VTK_GRAPHICS_EXPORT vtkMergeDataObjectFilter : public vtkDataSetAlgorithm
{
public:
static vtkMergeDataObjectFilter *New();
vtkTypeRevisionMacro(vtkMergeDataObjectFilter,vtkDataSetAlgorithm);
void PrintSelf(ostream& os, vtkIndent indent);
// Description:
// Specify the data object to merge with the input dataset.
void SetDataObject(vtkDataObject *object);
vtkDataObject *GetDataObject();
// Description:
// Specify where to place the field data during the merge process. There
// are three choices: the field data associated with the vtkDataObject
// superclass; the point field attribute data; and the cell field attribute
// data.
vtkSetMacro(OutputField,int);
vtkGetMacro(OutputField,int);
void SetOutputFieldToDataObjectField();
void SetOutputFieldToPointDataField();
void SetOutputFieldToCellDataField();
protected:
vtkMergeDataObjectFilter();
~vtkMergeDataObjectFilter();
// Usual data generation method
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
int FillInputPortInformation(int port, vtkInformation *info);
int OutputField; // which output field
private:
vtkMergeDataObjectFilter(const vtkMergeDataObjectFilter&); // Not implemented.
void operator=(const vtkMergeDataObjectFilter&); // Not implemented.
};
#endif