| 60 | \*---------------------------------------------------------------------------*/ |
| 61 | |
| 62 | class STARCD |
| 63 | : |
| 64 | public meshReader |
| 65 | { |
| 66 | |
| 67 | protected: |
| 68 | |
| 69 | // Protected Data |
| 70 | |
| 71 | static const char* const defaultBoundaryName; |
| 72 | static const char* const defaultSolidBoundaryName; |
| 73 | |
| 74 | //- Face addressing from pro-STAR faces -> OpenFOAM faces |
| 75 | static const int starToFoamFaceAddr[4][6]; |
| 76 | |
| 77 | //- Cell shapes |
| 78 | cellShapeList cellShapes_; |
| 79 | |
| 80 | //- Point labels (imported Point numbering not necessarily contiguous) |
| 81 | labelList mapToFoamPointId_; |
| 82 | |
| 83 | //- Cell labels (imported Cell numbering not necessarily contiguous) |
| 84 | labelList mapToFoamCellId_; |
| 85 | |
| 86 | //- Boundary region data |
| 87 | boundaryRegion boundaryRegion_; |
| 88 | |
| 89 | |
| 90 | // Protected Member Functions |
| 91 | |
| 92 | //- Read the mesh from the file(s) |
| 93 | virtual bool readGeometry(const scalar scaleFactor = 1.0); |
| 94 | |
| 95 | //- Read points from file |
| 96 | void readPoints(const fileName&, const scalar scaleFactor); |
| 97 | |
| 98 | //- Read cell connectivities from file |
| 99 | virtual void readCells(const fileName&); |
| 100 | |
| 101 | //- Remove unused points |
| 102 | void cullPoints(); |
| 103 | |
| 104 | //- Read boundary (cell/face) definitions |
| 105 | void readBoundary(const fileName&); |
| 106 | |
| 107 | //- Read auxiliary data from constant/{boundaryRegion,cellTable} |
| 108 | void readAux(const objectRegistry&); |
| 109 | |
| 110 | //- Read and discard to newline |
| 111 | static void readToNewline(IFstream&); |
| 112 | |
| 113 | //- Read header |
| 114 | static bool readHeader(IFstream&, word fileSignature); |
| 115 | |
| 116 | |
| 117 | private: |
| 118 | |
| 119 | // Private member functions |