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/vtkCPExodusIIResultsArrayTe...

139 lines
5.5 KiB
C++

/*=========================================================================
Program: Visualization Toolkit
Module: vtkCPExodusIIResultsArrayTemplate.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 vtkCPExodusIIResultsArrayTemplate
* @brief Map native Exodus II results arrays
* into the vtkDataArray interface.
*
*
* Map native Exodus II results arrays into the vtkDataArray interface. Use
* the vtkCPExodusIIInSituReader to read an Exodus II file's data into this
* structure.
*/
#ifndef vtkCPExodusIIResultsArrayTemplate_h
#define vtkCPExodusIIResultsArrayTemplate_h
#include "vtkMappedDataArray.h"
#include "vtkObjectFactory.h" // for vtkStandardNewMacro
template <class Scalar>
class vtkCPExodusIIResultsArrayTemplate : public vtkMappedDataArray<Scalar>
{
public:
vtkAbstractTemplateTypeMacro(
vtkCPExodusIIResultsArrayTemplate<Scalar>, vtkMappedDataArray<Scalar>)
vtkMappedDataArrayNewInstanceMacro(
vtkCPExodusIIResultsArrayTemplate<Scalar>) static vtkCPExodusIIResultsArrayTemplate* New();
void PrintSelf(ostream& os, vtkIndent indent) override;
typedef typename Superclass::ValueType ValueType;
//@{
/**
* Set the arrays to be used and the number of tuples in each array.
* The save option can be set to true to indicate that this class
* should not delete the actual allocated memory. By default it will
* delete the array with the 'delete []' method.
*/
void SetExodusScalarArrays(std::vector<Scalar*> arrays, vtkIdType numTuples);
void SetExodusScalarArrays(std::vector<Scalar*> arrays, vtkIdType numTuples, bool save);
//@}
// Reimplemented virtuals -- see superclasses for descriptions:
void Initialize() override;
void GetTuples(vtkIdList* ptIds, vtkAbstractArray* output) override;
void GetTuples(vtkIdType p1, vtkIdType p2, vtkAbstractArray* output) override;
void Squeeze() override;
VTK_NEWINSTANCE vtkArrayIterator* NewIterator() override;
vtkIdType LookupValue(vtkVariant value) override;
void LookupValue(vtkVariant value, vtkIdList* ids) override;
vtkVariant GetVariantValue(vtkIdType idx) override;
void ClearLookup() override;
double* GetTuple(vtkIdType i) override;
void GetTuple(vtkIdType i, double* tuple) override;
vtkIdType LookupTypedValue(Scalar value) override;
void LookupTypedValue(Scalar value, vtkIdList* ids) override;
ValueType GetValue(vtkIdType idx) const override;
ValueType& GetValueReference(vtkIdType idx) override;
void GetTypedTuple(vtkIdType idx, Scalar* t) const override;
//@{
/**
* This container is read only -- this method does nothing but print a
* warning.
*/
vtkTypeBool Allocate(vtkIdType sz, vtkIdType ext) override;
vtkTypeBool Resize(vtkIdType numTuples) override;
void SetNumberOfTuples(vtkIdType number) override;
void SetTuple(vtkIdType i, vtkIdType j, vtkAbstractArray* source) override;
void SetTuple(vtkIdType i, const float* source) override;
void SetTuple(vtkIdType i, const double* source) override;
void InsertTuple(vtkIdType i, vtkIdType j, vtkAbstractArray* source) override;
void InsertTuple(vtkIdType i, const float* source) override;
void InsertTuple(vtkIdType i, const double* source) override;
void InsertTuples(vtkIdList* dstIds, vtkIdList* srcIds, vtkAbstractArray* source) override;
void InsertTuples(
vtkIdType dstStart, vtkIdType n, vtkIdType srcStart, vtkAbstractArray* source) override;
vtkIdType InsertNextTuple(vtkIdType j, vtkAbstractArray* source) override;
vtkIdType InsertNextTuple(const float* source) override;
vtkIdType InsertNextTuple(const double* source) override;
void DeepCopy(vtkAbstractArray* aa) override;
void DeepCopy(vtkDataArray* da) override;
void InterpolateTuple(
vtkIdType i, vtkIdList* ptIndices, vtkAbstractArray* source, double* weights) override;
void InterpolateTuple(vtkIdType i, vtkIdType id1, vtkAbstractArray* source1, vtkIdType id2,
vtkAbstractArray* source2, double t) override;
void SetVariantValue(vtkIdType idx, vtkVariant value) override;
void InsertVariantValue(vtkIdType idx, vtkVariant value) override;
void RemoveTuple(vtkIdType id) override;
void RemoveFirstTuple() override;
void RemoveLastTuple() override;
void SetTypedTuple(vtkIdType i, const Scalar* t) override;
void InsertTypedTuple(vtkIdType i, const Scalar* t) override;
vtkIdType InsertNextTypedTuple(const Scalar* t) override;
void SetValue(vtkIdType idx, Scalar value) override;
vtkIdType InsertNextValue(Scalar v) override;
void InsertValue(vtkIdType idx, Scalar v) override;
//@}
protected:
vtkCPExodusIIResultsArrayTemplate();
~vtkCPExodusIIResultsArrayTemplate() override;
std::vector<Scalar*> Arrays;
private:
vtkCPExodusIIResultsArrayTemplate(const vtkCPExodusIIResultsArrayTemplate&) = delete;
void operator=(const vtkCPExodusIIResultsArrayTemplate&) = delete;
vtkIdType Lookup(const Scalar& val, vtkIdType startIndex);
double* TempDoubleArray;
//@{
/**
* By default Save is false.
*/
bool Save;
//@}
};
#include "vtkCPExodusIIResultsArrayTemplate.txx"
#endif // vtkCPExodusIIResultsArrayTemplate_h
// VTK-HeaderTest-Exclude: vtkCPExodusIIResultsArrayTemplate.h