45 "(tria3 quad4 nsided)" 61 const face&
f = faces[facei];
67 else if (f.
size() == 4)
90 const face&
f = faces[facei];
94 triCells[nTri++] = facei;
96 else if (f.
size() == 4)
98 quadCells[nQuad++] = facei;
102 polygonCells[nPoly++] = facei;
108 elemLists_.
setSize(elementTypes().size());
110 elemLists_[tria3Elements].transfer(triCells);
111 elemLists_[quad4Elements].transfer(quadCells);
112 elemLists_[nsidedElements].transfer(polygonCells);
114 size_ = faces.
size();
123 const string& partDescription
128 contiguousPoints_(
false)
139 const string& partDescription,
142 const bool contiguousPoints
147 contiguousPoints_(contiguousPoints)
166 faces_(mesh.
faces()),
167 contiguousPoints_(
false)
170 offset_ = patch.
start();
181 contiguousPoints_(part.contiguousPoints_)
230 if (usedPoints[f[fp]] == -1)
232 usedPoints[f[fp]] = nPoints++;
242 if (usedPoints[ptI] > -1)
244 usedPoints[ptI] = nPoints++;
253 void Foam::ensightPartFaces::writeConnectivity
273 const face&
f = faces[id];
284 const face&
f = faces[id];
290 os.
write(pointMap[f[fp]] + 1);
297 void Foam::ensightPartFaces::writeConnectivity
#define forAll(list, i)
Loop across all elements in list.
const word & name() const
Return name.
label nPoints
Number of points used.
A face is a list of labels corresponding to mesh vertices.
virtual ~ensightPartFaces()
Destructor.
An Istream is an abstract base class for all input systems (streams, files, token lists etc)...
void size(const label)
Override size to be inconsistent with allocated storage.
Specialised Ensight output with extra geometry file header.
virtual void writeGeometry(ensightGeoFile &) const
Write geometry.
const pointField & points_
pointField referenced
Track the points used by the part and map global to local indices.
labelList identity(const label len)
Create identity map (map[i] == i) of given length.
bool isCellData_
Cell or face data.
static const List< face > & null()
Return a null List.
labelListList elemLists_
Simple labelList with a name.
static const List< word > elemTypes_
const bool contiguousPoints_
Can skip local point renumbering when points are contiguous.
labelList list
Map global to local indices.
Macros for easy insertion into run-time selection tables.
virtual const pointField & points() const
Return raw points.
Useful combination of include files which define Sin, Sout and Serr and the use of IO streams general...
A class for handling words, derived from string.
void reconstruct(Istream &)
Reconstruct part characteristics (eg, element types) from Istream.
ensightPartFaces(label partNumber, const string &partDescription)
Construct empty part with number and description.
virtual void writeGeometry(ensightGeoFile &) const
Write geometry.
virtual const faceList & faces() const
Return raw faces.
virtual Ostream & writeKeyword(const string &key)
Write keyword with trailing newline.
virtual Ostream & write(const char *buf, std::streamsize count)
Binary write.
A 1D vector of objects of type <T>, where the size of the vector is known and can be used for subscri...
addToRunTimeSelectionTable(ensightPart, ensightPartCells, istream)
Base class for ensightPartCells and ensightPartFaces.
defineTypeNameAndDebug(combustionModel, 0)
void setSize(const label)
Reset size of List.
void newline()
Add carriage return to ascii stream.
label offset_
Start offset for elemLists_.
label start() const
Return start label of this patch in the polyMesh face list.
An implementation of ensightPart to hold volume mesh faces.
Mesh consisting of general polyhedral cells.
void classify(const faceList &)
Classify the face shapes, set elemLists.
A patch is a list of labels that address the faces in the global face list.
label size() const
Return the number of elements in the UList.
const faceList & faces_
Faces referenced.