VTK
vtkCPExodusIINodalCoordinatesTemplate.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkCPExodusIINodalCoordinatesTemplate.h
5 
6  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7  All rights reserved.
8  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
15 
26 #ifndef vtkCPExodusIINodalCoordinatesTemplate_h
27 #define vtkCPExodusIINodalCoordinatesTemplate_h
28 
29 #include "vtkMappedDataArray.h"
30 #include "vtkIOExodusModule.h" // For export macro
31 
32 #include "vtkTypeTemplate.h" // For templated vtkObject API
33 #include "vtkObjectFactory.h" // for vtkStandardNewMacro
34 
35 template <class Scalar>
37  public vtkTypeTemplate<vtkCPExodusIINodalCoordinatesTemplate<Scalar>,
38  vtkMappedDataArray<Scalar> >
39 {
40 public:
44  virtual void PrintSelf(ostream &os, vtkIndent indent);
45 
47 
49  void SetExodusScalarArrays(Scalar *x, Scalar *y, Scalar *z,
50  vtkIdType numPoints);
52 
53  // Reimplemented virtuals -- see superclasses for descriptions:
54  void Initialize();
55  void GetTuples(vtkIdList *ptIds, vtkAbstractArray *output);
57  void Squeeze();
62  void ClearLookup();
63  double* GetTuple(vtkIdType i);
64  void GetTuple(vtkIdType i, double *tuple);
67  Scalar GetValue(vtkIdType idx);
69  void GetTupleValue(vtkIdType idx, Scalar *t);
70 
72 
75  int Resize(vtkIdType numTuples);
78  void SetTuple(vtkIdType i, const float *source);
79  void SetTuple(vtkIdType i, const double *source);
81  void InsertTuple(vtkIdType i, const float *source);
82  void InsertTuple(vtkIdType i, const double *source);
83  void InsertTuples(vtkIdList *dstIds, vtkIdList *srcIds,
85  void InsertTuples(vtkIdType dstStart, vtkIdType n, vtkIdType srcStart,
92  void InterpolateTuple(vtkIdType i, vtkIdList *ptIndices,
93  vtkAbstractArray* source, double* weights);
95  vtkIdType id2, vtkAbstractArray *source2, double t);
100  void SetTupleValue(vtkIdType i, const Scalar *t);
101  void InsertTupleValue(vtkIdType i, const Scalar *t);
103  void SetValue(vtkIdType idx, Scalar value);
105  void InsertValue(vtkIdType idx, Scalar v);
107 
108 protected:
111 
112  Scalar *XArray;
113  Scalar *YArray;
114  Scalar *ZArray;
115 
116 private:
118  const vtkCPExodusIINodalCoordinatesTemplate &); // Not implemented.
119  void operator=(
120  const vtkCPExodusIINodalCoordinatesTemplate &); // Not implemented.
121 
122  vtkIdType Lookup(const Scalar &val, vtkIdType startIndex);
123  double *TempDoubleArray;
124 };
125 
126 #include "vtkCPExodusIINodalCoordinatesTemplate.txx"
127 
128 #endif //vtkCPExodusIINodalCoordinatesTemplate_h
129 
130 // VTK-HeaderTest-Exclude: vtkCPExodusIINodalCoordinatesTemplate.h
vtkgl::z
GLdouble GLdouble z
Definition: vtkgl.h:11754
vtkCPExodusIINodalCoordinatesTemplate::SetVariantValue
void SetVariantValue(vtkIdType idx, vtkVariant value)
vtkCPExodusIINodalCoordinatesTemplate::GetValueReference
Scalar & GetValueReference(vtkIdType idx)
vtkCPExodusIINodalCoordinatesTemplate::vtkMappedDataArrayNewInstanceMacro
vtkMappedDataArrayNewInstanceMacro(vtkCPExodusIINodalCoordinatesTemplate< Scalar >) static vtkCPExodusIINodalCoordinatesTemplate *New()
vtkCPExodusIINodalCoordinatesTemplate::SetTupleValue
void SetTupleValue(vtkIdType i, const Scalar *t)
vtkCPExodusIINodalCoordinatesTemplate::InterpolateTuple
void InterpolateTuple(vtkIdType i, vtkIdType id1, vtkAbstractArray *source1, vtkIdType id2, vtkAbstractArray *source2, double t)
vtkgl::weights
const GLbyte * weights
Definition: vtkgl.h:12766
vtkCPExodusIINodalCoordinatesTemplate::ClearLookup
void ClearLookup()
vtkIdType
int vtkIdType
Definition: vtkType.h:275
vtkCPExodusIINodalCoordinatesTemplate::RemoveLastTuple
void RemoveLastTuple()
vtkCPExodusIINodalCoordinatesTemplate::InterpolateTuple
void InterpolateTuple(vtkIdType i, vtkIdList *ptIndices, vtkAbstractArray *source, double *weights)
vtkCPExodusIINodalCoordinatesTemplate::NewIterator
vtkArrayIterator * NewIterator()
vtkObject::New
static vtkObject * New()
vtkCPExodusIINodalCoordinatesTemplate::InsertNextTuple
vtkIdType InsertNextTuple(const double *source)
vtkIOExodusModule.h
vtkgl::n
GLclampd n
Definition: vtkgl.h:14370
vtkCPExodusIINodalCoordinatesTemplate
Map native Exodus II coordinate arrays into the vtkDataArray interface.
Definition: vtkCPExodusIINodalCoordinatesTemplate.h:39
vtkCPExodusIINodalCoordinatesTemplate::InsertTupleValue
void InsertTupleValue(vtkIdType i, const Scalar *t)
vtkgl::v
const GLdouble * v
Definition: vtkgl.h:11595
vtkgl::x
GLint GLint GLint GLint GLint x
Definition: vtkgl.h:11318
vtkObjectFactory.h
vtkTypeTemplate.h
vtkMappedDataArray.h
vtkDataArray
abstract superclass for arrays of numeric data
Definition: vtkDataArray.h:55
vtkCPExodusIINodalCoordinatesTemplate::InsertNextTuple
vtkIdType InsertNextTuple(vtkIdType j, vtkAbstractArray *source)
vtkCPExodusIINodalCoordinatesTemplate::YArray
Scalar * YArray
Definition: vtkCPExodusIINodalCoordinatesTemplate.h:113
vtkCPExodusIINodalCoordinatesTemplate::GetVariantValue
vtkVariant GetVariantValue(vtkIdType idx)
vtkCPExodusIINodalCoordinatesTemplate::~vtkCPExodusIINodalCoordinatesTemplate
~vtkCPExodusIINodalCoordinatesTemplate()
vtkCPExodusIINodalCoordinatesTemplate::LookupTypedValue
vtkIdType LookupTypedValue(Scalar value)
vtkCPExodusIINodalCoordinatesTemplate::SetValue
void SetValue(vtkIdType idx, Scalar value)
vtkCPExodusIINodalCoordinatesTemplate::InsertTuples
void InsertTuples(vtkIdType dstStart, vtkIdType n, vtkIdType srcStart, vtkAbstractArray *source)
vtkgl::val
GLuint GLfloat * val
Definition: vtkgl.h:13789
source
boost::graph_traits< vtkGraph * >::vertex_descriptor source(boost::graph_traits< vtkGraph * >::edge_descriptor e, vtkGraph *)
Definition: vtkBoostGraphAdapter.h:821
vtkgl::value
GLsizei const GLfloat * value
Definition: vtkgl.h:12021
vtkCPExodusIINodalCoordinatesTemplate::GetTuples
void GetTuples(vtkIdType p1, vtkIdType p2, vtkAbstractArray *output)
vtkgl::ids
GLuint * ids
Definition: vtkgl.h:11831
vtkCPExodusIINodalCoordinatesTemplate::LookupTypedValue
void LookupTypedValue(Scalar value, vtkIdList *ids)
vtkCPExodusIINodalCoordinatesTemplate::SetNumberOfTuples
void SetNumberOfTuples(vtkIdType number)
vtkCPExodusIINodalCoordinatesTemplate::GetValue
Scalar GetValue(vtkIdType idx)
vtkCPExodusIINodalCoordinatesTemplate::RemoveFirstTuple
void RemoveFirstTuple()
vtkCPExodusIINodalCoordinatesTemplate::SetExodusScalarArrays
void SetExodusScalarArrays(Scalar *x, Scalar *y, Scalar *z, vtkIdType numPoints)
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:39
vtkCPExodusIINodalCoordinatesTemplate::InsertValue
void InsertValue(vtkIdType idx, Scalar v)
vtkCPExodusIINodalCoordinatesTemplate::GetTuples
void GetTuples(vtkIdList *ptIds, vtkAbstractArray *output)
vtkVariant
A atomic type representing the union of many types.
Definition: vtkVariant.h:79
vtkIdList
list of point or cell ids
Definition: vtkIdList.h:36
vtkCPExodusIINodalCoordinatesTemplate::GetTuple
void GetTuple(vtkIdType i, double *tuple)
vtkCPExodusIINodalCoordinatesTemplate::Squeeze
void Squeeze()
vtkCPExodusIINodalCoordinatesTemplate::XArray
Scalar * XArray
Definition: vtkCPExodusIINodalCoordinatesTemplate.h:112
vtkCPExodusIINodalCoordinatesTemplate::Initialize
void Initialize()
vtkCPExodusIINodalCoordinatesTemplate::DeepCopy
void DeepCopy(vtkDataArray *da)
vtkCPExodusIINodalCoordinatesTemplate::SetTuple
void SetTuple(vtkIdType i, const float *source)
vtkCPExodusIINodalCoordinatesTemplate::InsertTuple
void InsertTuple(vtkIdType i, const double *source)
vtkCPExodusIINodalCoordinatesTemplate::InsertTuple
void InsertTuple(vtkIdType i, vtkIdType j, vtkAbstractArray *source)
vtkAbstractArray
Abstract superclass for all arrays.
Definition: vtkAbstractArray.h:65
vtkCPExodusIINodalCoordinatesTemplate::ZArray
Scalar * ZArray
Definition: vtkCPExodusIINodalCoordinatesTemplate.h:114
vtkCPExodusIINodalCoordinatesTemplate::Resize
int Resize(vtkIdType numTuples)
vtkgl::t
GLdouble GLdouble t
Definition: vtkgl.h:11602
vtkCPExodusIINodalCoordinatesTemplate::SetTuple
void SetTuple(vtkIdType i, vtkIdType j, vtkAbstractArray *source)
vtkgl::y
GLint GLint GLint GLint GLint GLint y
Definition: vtkgl.h:11318
vtkArrayIterator
Abstract superclass to iterate over elements in an vtkAbstractArray.
Definition: vtkArrayIterator.h:49
vtkCPExodusIINodalCoordinatesTemplate::vtkCPExodusIINodalCoordinatesTemplate
vtkCPExodusIINodalCoordinatesTemplate()
vtkCPExodusIINodalCoordinatesTemplate::InsertTuples
void InsertTuples(vtkIdList *dstIds, vtkIdList *srcIds, vtkAbstractArray *source)
vtkCPExodusIINodalCoordinatesTemplate::SetTuple
void SetTuple(vtkIdType i, const double *source)
vtkCPExodusIINodalCoordinatesTemplate::GetTuple
double * GetTuple(vtkIdType i)
vtkCPExodusIINodalCoordinatesTemplate::Allocate
int Allocate(vtkIdType sz, vtkIdType ext)
vtkCPExodusIINodalCoordinatesTemplate::LookupValue
void LookupValue(vtkVariant value, vtkIdList *ids)
vtkCPExodusIINodalCoordinatesTemplate::PrintSelf
virtual void PrintSelf(ostream &os, vtkIndent indent)
vtkCPExodusIINodalCoordinatesTemplate::InsertTuple
void InsertTuple(vtkIdType i, const float *source)
vtkCPExodusIINodalCoordinatesTemplate::InsertNextValue
vtkIdType InsertNextValue(Scalar v)
vtkCPExodusIINodalCoordinatesTemplate::RemoveTuple
void RemoveTuple(vtkIdType id)
vtkCPExodusIINodalCoordinatesTemplate::DeepCopy
void DeepCopy(vtkAbstractArray *aa)
vtkCPExodusIINodalCoordinatesTemplate::LookupValue
vtkIdType LookupValue(vtkVariant value)
vtkCPExodusIINodalCoordinatesTemplate::GetTupleValue
void GetTupleValue(vtkIdType idx, Scalar *t)
vtkCPExodusIINodalCoordinatesTemplate::InsertNextTuple
vtkIdType InsertNextTuple(const float *source)
vtkCPExodusIINodalCoordinatesTemplate::InsertNextTupleValue
vtkIdType InsertNextTupleValue(const Scalar *t)
vtkTypeTemplate
Provides the equivalent of vtkTypeMacro for use with template classes.
Definition: vtkTypeTemplate.h:40