You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
nmWTAI-Platform/3rd/VTK7.1/include/vtkPExtractArraysOverTime.h

86 lines
2.8 KiB
C

/*=========================================================================
Program: Visualization Toolkit
Module: vtkPExtractArraysOverTime.h
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.
=========================================================================*/
/**
* @class vtkPExtractArraysOverTime
* @brief extract point or cell data over time (parallel)
*
* vtkPExtractArraysOverTime is a parallelized version of
* vtkExtractArraysOverTime.
* vtkExtractArraysOverTime extract point or cell data given a selection. For
* every cell or point extracted, vtkExtractArraysOverTime create a vtkTable
* that is placed in an appropriately named block in an output multi-block
* dataset. For global-id based selections or location based selections, it's
* possible that over time the cell/point moves across processes. This filter
* ensures that such extractions spread across processes are combined correctly
* into a single vtkTable.
* This filter produces a valid output on the root node alone, all other nodes,
* simply have empty multi-block dataset with number of blocks matching the root
* (to ensure that all processes have the same structure).
* @sa
* vtkExtractArraysOverTime
*/
#ifndef vtkPExtractArraysOverTime_h
#define vtkPExtractArraysOverTime_h
#include "vtkFiltersParallelModule.h" // For export macro
#include "vtkExtractArraysOverTime.h"
class vtkMultiProcessController;
class vtkTable;
class VTKFILTERSPARALLEL_EXPORT vtkPExtractArraysOverTime : public vtkExtractArraysOverTime
{
public:
static vtkPExtractArraysOverTime *New();
vtkTypeMacro(vtkPExtractArraysOverTime,vtkExtractArraysOverTime);
void PrintSelf(ostream& os, vtkIndent indent);
//@{
/**
* Set and get the controller.
*/
virtual void SetController(vtkMultiProcessController*);
vtkGetObjectMacro(Controller, vtkMultiProcessController);
//@}
enum Tags
{
EXCHANGE_DATA = 1972
};
protected:
vtkPExtractArraysOverTime();
~vtkPExtractArraysOverTime();
virtual void PostExecute(vtkInformation* request,
vtkInformationVector** inputVector,
vtkInformationVector* outputVector);
void AddRemoteData(vtkMultiBlockDataSet* routput,
vtkMultiBlockDataSet* output);
void MergeTables(vtkTable* routput, vtkTable* output);
vtkMultiProcessController* Controller;
private:
vtkPExtractArraysOverTime(const vtkPExtractArraysOverTime&) VTK_DELETE_FUNCTION;
void operator=(const vtkPExtractArraysOverTime&) VTK_DELETE_FUNCTION;
};
#endif