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.
86 lines
2.8 KiB
C
86 lines
2.8 KiB
C
|
3 weeks ago
|
/*=========================================================================
|
||
|
|
|
||
|
|
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
|
||
|
|
|
||
|
|
|
||
|
|
|