Escript  Revision_4320
ElementData.h
Go to the documentation of this file.
1 
2 /*****************************************************************************
3 *
4 * Copyright (c) 2003-2013 by University of Queensland
5 * http://www.uq.edu.au
6 *
7 * Primary Business: Queensland, Australia
8 * Licensed under the Open Software License version 3.0
9 * http://www.opensource.org/licenses/osl-3.0.php
10 *
11 * Development until 2012 by Earth Systems Science Computational Center (ESSCC)
12 * Development since 2012 by School of Earth Sciences
13 *
14 *****************************************************************************/
15 
16 #ifndef __WEIPA_ELEMENTDATA_H__
17 #define __WEIPA_ELEMENTDATA_H__
18 
19 #include <weipa/weipa.h>
20 #include <weipa/vtkCellType.h>
21 #include <ostream>
22 
23 namespace weipa {
24 
25 typedef enum {
33 } ZoneType;
34 
38 struct QuadMaskInfo {
39  std::vector<IntVec> mask;
41 };
42 
48 {
49 public:
51  virtual void writeConnectivityVTK(std::ostream& os) = 0;
52 
54  virtual StringVec getMeshNames() const = 0;
55 
57  virtual StringVec getVarNames() const = 0;
58 
60  virtual int getNumElements() const = 0;
61 
63  virtual int getNodesPerElement() const = 0;
64 
66  virtual int getGhostCount() const = 0;
67 
69  virtual ZoneType getType() const = 0;
70 
72  virtual const IntVec& getNodeList() const = 0;
73 
75  virtual const IntVec& getIDs() const = 0;
76 
78  virtual NodeData_ptr getNodes() const = 0;
79 
81  virtual ElementData_ptr getReducedElements() const = 0;
82 
84  virtual const QuadMaskInfo& getQuadMask(int fsCode) const = 0;
85 
89  virtual int getElementFactor() const = 0;
90 
91 protected:
92  virtual ~ElementData() {}
93 };
94 
95 } // namespace weipa
96 
97 #endif // __WEIPA_ELEMENTDATA_H__
98