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
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
|
|
|
|
|
|
|