mirror of
https://github.com/OpenFOAM/ThirdParty-6.git
synced 2025-12-08 06:57:43 +00:00
106 lines
3.4 KiB
C++
106 lines
3.4 KiB
C++
/*=========================================================================
|
|
|
|
Program: Visualization Toolkit
|
|
Module: vtkBoostRandomSparseArraySource.h
|
|
|
|
-------------------------------------------------------------------------
|
|
Copyright 2008 Sandia Corporation.
|
|
Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation,
|
|
the U.S. Government retains certain rights in this software.
|
|
-------------------------------------------------------------------------
|
|
|
|
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 vtkBoostRandomSparseArraySource - generates a sparse N-way array containing random values.
|
|
//
|
|
// .SECTION Thanks
|
|
// Developed by Timothy M. Shead (tshead@sandia.gov) at Sandia National Laboratories.
|
|
|
|
#ifndef vtkBoostRandomSparseArraySource_h
|
|
#define vtkBoostRandomSparseArraySource_h
|
|
|
|
#include "vtkInfovisBoostGraphAlgorithmsModule.h" // For export macro
|
|
#include "vtkArrayDataAlgorithm.h"
|
|
#include "vtkArrayExtents.h"
|
|
|
|
class VTKINFOVISBOOSTGRAPHALGORITHMS_EXPORT vtkBoostRandomSparseArraySource : public vtkArrayDataAlgorithm
|
|
{
|
|
public:
|
|
static vtkBoostRandomSparseArraySource* New();
|
|
vtkTypeMacro(vtkBoostRandomSparseArraySource, vtkArrayDataAlgorithm);
|
|
void PrintSelf(ostream& os, vtkIndent indent);
|
|
|
|
//BTX
|
|
// Description:
|
|
// Sets the extents (dimensionality and size) of the output array
|
|
void SetExtents(const vtkArrayExtents&);
|
|
|
|
// Description:
|
|
// Returns the extents (dimensionality and size) of the output array
|
|
vtkArrayExtents GetExtents();
|
|
//ETX
|
|
|
|
// Description:
|
|
// Stores a random-number-seed for determining which elements within
|
|
// the output matrix will have non-zero values
|
|
vtkGetMacro(ElementProbabilitySeed, vtkTypeUInt32);
|
|
vtkSetMacro(ElementProbabilitySeed, vtkTypeUInt32);
|
|
|
|
// Description:
|
|
// Stores the probability (in the range [0, 1]) that an element within
|
|
// the output matrix will have a non-zero value
|
|
vtkGetMacro(ElementProbability, double);
|
|
vtkSetMacro(ElementProbability, double);
|
|
|
|
// Description:
|
|
// Stores a random-number-seed for computing random element values
|
|
vtkGetMacro(ElementValueSeed, vtkTypeUInt32);
|
|
vtkSetMacro(ElementValueSeed, vtkTypeUInt32);
|
|
|
|
// Description:
|
|
// Stores the minimum value of any element
|
|
vtkGetMacro(MinValue, double);
|
|
vtkSetMacro(MinValue, double);
|
|
|
|
// Description:
|
|
// Stores the maximum value of any element
|
|
vtkGetMacro(MaxValue, double);
|
|
vtkSetMacro(MaxValue, double);
|
|
|
|
//BTX
|
|
protected:
|
|
vtkBoostRandomSparseArraySource();
|
|
~vtkBoostRandomSparseArraySource();
|
|
|
|
int RequestData(
|
|
vtkInformation*,
|
|
vtkInformationVector**,
|
|
vtkInformationVector*);
|
|
|
|
private:
|
|
vtkBoostRandomSparseArraySource(const vtkBoostRandomSparseArraySource&); // Not implemented
|
|
void operator=(const vtkBoostRandomSparseArraySource&); // Not implemented
|
|
|
|
vtkArrayExtents Extents;
|
|
|
|
vtkTypeUInt32 ElementProbabilitySeed;
|
|
double ElementProbability;
|
|
|
|
vtkTypeUInt32 ElementValueSeed;
|
|
double MinValue;
|
|
double MaxValue;
|
|
//ETX
|
|
};
|
|
|
|
#endif
|
|
|
|
// VTK-HeaderTest-Exclude: vtkBoostRandomSparseArraySource.h
|