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.
Tools/Win64/VTK/include/vtk-9.0/vtkPPairwiseExtractHistogra...

81 lines
3.0 KiB
C++

/*=========================================================================
Program: Visualization Toolkit
Module: vtkPPairwiseExtractHistogram2D.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.
=========================================================================*/
/*-------------------------------------------------------------------------
Copyright 2009 Sandia Corporation.
Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation,
the U.S. Government retains certain rights in this software.
-------------------------------------------------------------------------*/
/**
* @class vtkPPairwiseExtractHistogram2D
* @brief compute a 2D histogram between
* all adjacent columns of an input vtkTable in parallel.
*
*
* This class does exactly the same this as vtkPairwiseExtractHistogram2D,
* but does it in a multi-process environment. After each node
* computes their own local histograms, this class does an AllReduce
* that distributes the sum of all local histograms onto each node.
*
* Because vtkPairwiseExtractHistogram2D is a light wrapper around a series
* of vtkExtractHistogram2D classes, this class just overrides the function
* that instantiates new histogram filters and returns the parallel version
* (vtkPExtractHistogram2D).
*
* @sa
* vtkExtractHistogram2D vtkPairwiseExtractHistogram2D vtkPExtractHistogram2D
*
* @par Thanks:
* Developed by David Feng and Philippe Pebay at Sandia National Laboratories
*------------------------------------------------------------------------------
*/
#ifndef vtkPPairwiseExtractHistogram2D_h
#define vtkPPairwiseExtractHistogram2D_h
#include "vtkFiltersParallelImagingModule.h" // For export macro
#include "vtkPairwiseExtractHistogram2D.h"
class vtkExtractHistogram2D;
class vtkMultiProcessController;
class VTKFILTERSPARALLELIMAGING_EXPORT vtkPPairwiseExtractHistogram2D
: public vtkPairwiseExtractHistogram2D
{
public:
static vtkPPairwiseExtractHistogram2D* New();
vtkTypeMacro(vtkPPairwiseExtractHistogram2D, vtkPairwiseExtractHistogram2D);
void PrintSelf(ostream& os, vtkIndent indent) override;
virtual void SetController(vtkMultiProcessController*);
vtkGetObjectMacro(Controller, vtkMultiProcessController);
protected:
vtkPPairwiseExtractHistogram2D();
~vtkPPairwiseExtractHistogram2D() override;
vtkMultiProcessController* Controller;
/**
* Generate a new histogram filter, but actually generate a parallel one this time.
*/
vtkExtractHistogram2D* NewHistogramFilter() override;
private:
vtkPPairwiseExtractHistogram2D(const vtkPPairwiseExtractHistogram2D&) = delete;
void operator=(const vtkPPairwiseExtractHistogram2D&) = delete;
};
#endif