4 #ifndef vtkXArrayAccessor_h
5 #define vtkXArrayAccessor_h
10 #include "vtkIONetCDFModule.h"
13 VTK_ABI_NAMESPACE_BEGIN
24 int close(
int ncid)
override;
25 int open(
const char* path,
int omode,
int* ncidp)
override;
26 const char*
strerror(
int ncerr1)
override;
28 int inq_attlen(
int ncid,
int varid,
const char*
name,
size_t* lenp)
override;
30 int inq_dimlen(
int ncid,
int dimid,
size_t* lenp)
override;
33 int inq_nvars(
int ncid,
int* nvarsp)
override;
34 int inq_ndims(
int ncid,
int* ndimsp)
override;
36 int inq_vardimid(
int ncid,
int varid,
int* dimidsp)
override;
37 int inq_varid(
int ncid,
const char*
name,
int* varidp)
override;
39 int inq_varndims(
int ncid,
int varid,
int* ndimsp)
override;
40 int inq_vartype(
int ncid,
int varid,
int* typep)
override;
46 bool GetCoordinates(
int ncFD,
int varId, std::vector<std::string>& coordName)
override;
50 int get_vars(
int ncid,
int varid,
const size_t* startp,
const size_t* countp,
51 const ptrdiff_t* stridep,
int vtkType,
vtkIdType numberOfComponents,
vtkIdType numberOfTuples,
54 int get_vars(
int ncid,
int varid,
const size_t* startp,
const size_t* countp,
55 const ptrdiff_t* stridep,
void* ip)
override;
57 int get_vars_double(
int ncid,
int varid,
const size_t* startp,
const size_t* countp,
58 const ptrdiff_t* stridep,
double* ip)
override;
65 void SetDim(
const std::vector<std::string>& v);
66 void SetDimLen(
const std::vector<size_t>& v);
73 void SetVar(
const std::vector<std::string>& v,
const std::vector<int>& is_coord);
74 void SetVarValue(
size_t varIndex,
void*
value);
76 void SetVarType(
size_t varIndex,
int nctype);
87 void SetVarDims(
size_t varIndex,
const std::vector<size_t>& dims);
88 void SetVarCoords(
size_t varIndex,
const std::vector<size_t>& coords);
93 void PrintVarValue(
const char*
name,
int varid);
94 void PrintVarValue(
const char*
name,
int varid,
const size_t* startp,
const size_t* countp);
95 bool IsContiguous(
int varid,
const size_t* startp,
const size_t* countp);
96 void GetContiguousStartSize(
97 int varid,
const size_t* startp,
const size_t* countp,
char*& arrayStart,
vtkIdType& arraySize);
98 void Copy(
int varid,
const size_t* startp,
const size_t* countp,
char* dst);
99 std::vector<size_t> GetDimIncrement(
int varid);
100 bool DecrementAndUpdate(
size_t varid, std::vector<size_t>& count,
const size_t* startp,
101 const size_t* count_p,
const std::vector<size_t>& dimIncrement,
char*& src);
113 std::vector<std::string> Var;
114 std::vector<int> IsCoord;
115 std::vector<char*> VarValue;
116 std::map<std::string, size_t> VarIndex;
117 std::vector<std::map<std::string, vtkVariant>> Att;
118 std::vector<int> VarType;
126 std::vector<std::string> Dim;
127 std::map<std::string, size_t> DimIndex;
128 std::vector<size_t> DimLen;
133 std::vector<std::vector<size_t>> VarDims;
134 std::vector<std::vector<size_t>> VarCoords;
140 VTK_ABI_NAMESPACE_END
virtual int inq_ndims(int ncid, int *ndimsp)
virtual int get_att_text(int ncid, int varid, const char *name, char *value)
virtual int get_att_float(int ncid, int varid, const char *name, float *value)
virtual int inq_varid(int ncid, const char *name, int *varidp)
A type representing the union of many types.
virtual int close(int ncid)
virtual int inq_attlen(int ncid, int varid, const char *name, size_t *lenp)
virtual int get_var_double(int ncid, int varid, double *ip)
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
virtual int open(const char *path, int omode, int *ncidp)
virtual bool GetCoordinates(int ncFD, int varId, std::vector< std::string > &coordName)
virtual int get_vars_double(int ncid, int varid, const size_t *startp, const size_t *countp, const ptrdiff_t *stridep, double *ip)
a simple class to control print indentation
topologically and geometrically regular array of data
virtual int inq_varndims(int ncid, int varid, int *ndimsp)
virtual int inq_varname(int ncid, int varid, char *name)
abstract superclass for arrays of numeric data
virtual int inq_nvars(int ncid, int *nvarsp)
handles properties associated with a texture map
virtual int inq_dimlen(int ncid, int dimid, size_t *lenp)
virtual int inq_vartype(int ncid, int varid, int *typep)
virtual int get_vars(int ncid, int varid, const size_t *startp, const size_t *countp, const ptrdiff_t *stridep, int vtkType, vtkIdType numberOfComponents, vtkIdType numberOfTuples, vtkDataArray *dataArray)
virtual int inq_vardimid(int ncid, int varid, int *dimidsp)
virtual int inq_dimname(int ncid, int dimid, char *name)
static vtkNetCDFAccessor * New()
virtual const char * strerror(int ncerr1)
virtual int get_att_double(int ncid, int varid, const char *name, double *value)
virtual bool NeedsFileName()