Go to the documentation of this file.
43 scalar a = readScalar(is);
44 scalar
b = readScalar(is);
45 scalar
c = readScalar(is);
54 bool Foam::fileFormats::TRIReader::readFile(
const fileName& filename)
60 IFstream is(filename);
64 <<
"Cannot read file " << filename <<
nl
70 DynamicList<STLpoint> dynPoints;
71 DynamicList<label> dynZones;
72 DynamicList<word> dynNames;
73 DynamicList<label> dynSizes;
74 HashTable<label> lookup;
78 dynSizes.append(zoneI);
79 lookup.insert(
"zoneI", zoneI);
92 IStringStream lineStream(line);
96 if (!lineStream)
break;
107 lineStream >> zeroChar;
109 const word rawName(lineStream);
110 const word
name(
"zone" + rawName.substr(1));
112 const auto iter = lookup.cfind(
name);
115 if (zoneI != iter.val())
123 zoneI = dynSizes.size();
124 if (lookup.insert(
name, zoneI))
126 dynNames.append(
name);
131 dynZones.append(zoneI);
143 dynNames[nZone] = dynNames[zonei];
144 dynSizes[nZone] = dynSizes[zonei];
151 dynNames.setCapacity(nZone);
152 dynSizes.setCapacity(nZone);
155 points_.transfer(dynPoints);
199 return mergePointsMap
209 const scalar mergeTol,
A class for handling file names.
constexpr doubleScalar doubleScalarSMALL
Input/output from string buffers.
#define forAll(list, i)
Loop across all elements in list.
const dimensionedScalar b
Wien displacement law constant: default SI units: [m.K].
An Istream is an abstract base class for all input systems (streams, files, token lists etc)....
void transfer(List< T > &list)
Istream and Ostream manipulators taking arguments.
label mergePoints(const PointList &points, const scalar mergeTol, const bool verbose, labelList &pointMap, typename PointList::const_reference origin=PointList::value_type::zero)
Sorts and merges points. All points closer than/equal mergeTol get merged.
errorManipArg< error, int > exit(error &err, const int errNo=1)
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
A vertex point or facet normal representation for STL files.
const dimensionedScalar c
Speed of light in a vacuum.
word name(const expressions::valueTypeCode typeCode)
A word representation of a valueTypeCode. Empty for INVALID.
static STLpoint getSTLpoint(Istream &is)