Go to the documentation of this file.
94 static bool hasReadWriteTypes(
const word& readType,
const word& writeType)
96 volatile bool good =
true;
114 int main(
int argc,
char *argv[])
118 "Convert between surface formats, using MeshSurface library components"
128 "Perform some surface checking/cleanup on the input surface"
134 "Input format (default: use file extension)"
140 "Output format (default: use file extension)"
146 "Input geometry scaling factor"
152 "Output geometry scaling factor"
164 "The source coordinate system, applied after '-read-scale'",
171 "The target coordinate system, applied before '-write-scale'",
177 "Triangulate surface"
187 if (importName == exportName)
190 <<
"Output file would overwrite input file."
194 const word readFileType
199 const word writeFileType
206 if (!hasReadWriteTypes(readFileType, writeFileType))
209 <<
"Unsupported file format(s)" <<
nl
214 scalar scaleFactor(0);
226 coordinateSystems::typeName,
239 <<
"Cannot open coordinateSystems file\n "
249 const auto* csPtr = globalCoords.cfind(csName);
254 <<
"Cannot find -from " << csName <<
nl
255 <<
"available coordinateSystems: "
266 const auto* csPtr = globalCoords.cfind(csName);
271 <<
"Cannot find -to " << csName <<
nl
272 <<
"available coordinateSystems: "
281 if (fromCsys && toCsys)
284 <<
"Only allowed '-from' or '-to' option at the moment."
295 Info<<
"scale input " << scaleFactor <<
nl;
296 surf.scalePoints(scaleFactor);
306 Info<<
"move points from coordinate system: "
307 << fromCsys->
name() <<
nl;
309 surf.movePoints(tpf());
314 Info<<
"move points to coordinate system: "
317 surf.movePoints(tpf());
322 Info<<
"scale output " << scaleFactor <<
nl;
323 surf.scalePoints(scaleFactor);
328 Info<<
"triangulate" <<
nl;
332 Info<<
"writing " << exportName;
333 surf.write(exportName, writeFileType);
point globalPosition(const point &local) const
From local coordinate position to global (cartesian) position.
word lessExt() const
Return word without extension (part before last .)
static autoPtr< T > New(Args &&... args)
Construct autoPtr of T with forwarding arguments.
Defines the attributes of an object for which implicit objectRegistry management is supported,...
Class to control time during OpenFOAM simulations that is also the top-level objectRegistry.
A class for handling words, derived from Foam::string.
A class for handling file names.
T getOrDefault(const word &optName, const T &deflt) const
Get a value from the named option if present, or return default.
static bool canReadType(const word &fileType, bool verbose=false)
Can we read this file format? Also checks friend types.
A class for managing temporary objects.
bool typeHeaderOk(const bool checkType=true, const bool search=true, const bool verbose=true)
Read header (uses typeFilePath to find file) and check its info.
virtual const word & name() const
Return the name.
static void addNote(const string ¬e)
Add extra notes for the usage information.
static void addOptionCompat(const word &optName, std::pair< const char *, int > compat)
Specify an alias for the option name.
Extract command arguments and options from the supplied argc and argv parameters.
Ostream & endl(Ostream &os)
Add newline and flush stream.
word ext() const
Return file name extension (part after last .)
static bool canWriteType(const word &fileType, bool verbose=false)
Can we write this file format? Also checks proxy types.
bool readIfPresent(const word &optName, T &val) const
Read a value from the named option if present.
const fileName & rootPath() const
Return root path.
static void addArgument(const string &argName, const string &usage="")
Append a (mandatory) argument to validArgs.
messageStream Info
Information stream (uses stdout - output is on the master only)
word name(const complex &c)
Return string representation of complex.
static IOobject selectIO(const IOobject &io, const fileName &altFile, const word &ioName="")
Return the IOobject, but also consider an alternative file name.
A centralized collection of named coordinate systems.
errorManipArg< error, int > exit(error &err, const int errNo=1)
static void addBoolOption(const word &optName, const string &usage="", bool advanced=false)
Add a bool option to validOptions with usage information.
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
FlatOutput< Container > flatOutput(const Container &obj, label len=0)
Global flatOutput function.
point localPosition(const point &global) const
From global (cartesian) position to local coordinate position.
const fileName & caseName() const
Return case name (parallel run) or global case (serial run)
static void noParallel()
Remove the parallel options.
fileName objectPath() const
The complete path + object name.
const word & constant() const
Return constant name.
static void addOption(const word &optName, const string ¶m="", const string &usage="", bool advanced=false)
Add an option to validOptions with usage information.
Foam::argList args(argc, argv)
bool found(const word &optName) const
Return true if the named option is found.