93 int main(
int argc,
char *argv[])
97 "Export from surfMesh to various third-party surface formats" 106 "Perform some surface checking/cleanup on the input surface" 113 "Specify an alternative surface name when reading - " 114 "default is 'default'" 120 "Output format (default: use file extension)" 126 "Input geometry scaling factor" 132 "Output geometry scaling factor" 144 "The source coordinate system, applied after '-read-scale'",
151 "The target coordinate system, applied before '-write-scale'",
163 const word writeFileType
172 <<
"Unsupported file format(s)" <<
nl 177 scalar scaleFactor(0);
189 coordinateSystems::typeName,
211 const auto* csPtr = globalCoords.cfind(csName);
216 <<
"Cannot find -from " << csName <<
nl 217 <<
"available coordinateSystems: " 228 const auto* csPtr = globalCoords.cfind(csName);
233 <<
"Cannot find -to " << csName <<
nl 234 <<
"available coordinateSystems: " 243 if (fromCsys && toCsys)
246 <<
"Only allowed '-from' or '-to' option at the moment." 264 Info<<
"read surfMesh:\n " << smesh.objectPath() <<
endl;
273 Info<<
"scale input " << scaleFactor <<
nl;
274 surf.scalePoints(scaleFactor);
279 surf.cleanup(optVerbose);
284 Info<<
"move points from coordinate system: " 287 surf.movePoints(tpf());
292 Info<<
"move points to coordinate system: " 295 surf.movePoints(tpf());
300 Info<<
"scale output " << scaleFactor <<
endl;
301 surf.scalePoints(scaleFactor);
304 surf.writeStats(
Info);
307 Info<<
"writing " << exportName <<
nl;
308 surf.write(exportName, writeFileType);
point globalPosition(const point &local) const
From local coordinate position to global (cartesian) position.
static void addNote(const string ¬e)
Add extra notes for the usage information.
A class for handling file names.
errorManipArg< error, int > exit(error &err, const int errNo=1)
error FatalError
Error stream (stdout output on all processes), with additional 'FOAM FATAL ERROR' header text and sta...
constexpr char nl
The newline '\n' character (0x0a)
A centralized collection of named coordinate systems.
Ostream & endl(Ostream &os)
Add newline and flush stream.
static void addBoolOption(const word &optName, const string &usage="", bool advanced=false)
Add a bool option to validOptions with usage information.
static void noParallel()
Remove the parallel options.
static void addOptionCompat(const word &optName, std::pair< const char *, int > compat)
Specify an alias for the option name.
Ignore writing from objectRegistry::writeObject()
T getOrDefault(const word &optName, const T &deflt) const
Get a value from the named option if present, or return default.
Class to control time during OpenFOAM simulations that is also the top-level objectRegistry.
fileName objectPath() const
The complete path + object name.
point localPosition(const point &global) const
From global (cartesian) position to local coordinate position.
word ext() const
Return file name extension (part after last .)
word name(const expressions::valueTypeCode typeCode)
A word representation of a valueTypeCode. Empty for INVALID.
bool has_ext() const
Various checks for extensions.
A class for handling words, derived from Foam::string.
Extract command arguments and options from the supplied argc and argv parameters. ...
static void addOption(const word &optName, const string ¶m="", const string &usage="", bool advanced=false)
Add an option to validOptions with usage information.
const fileName & caseName() const noexcept
Return case name (parallel run) or global case (serial run)
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.
A surface mesh consisting of general polygon faces that has IO capabilities and a registry for storin...
static void addVerboseOption(const string &usage="", bool advanced=false)
Enable a 'verbose' bool option, with usage information.
const word & constant() const noexcept
Return constant name.
const fileName & rootPath() const noexcept
Return root path.
static bool canWriteType(const word &fileType, bool verbose=false)
Can we write this file format? Also checks proxy types.
T get(const label index) const
Get a value from the argument at index.
virtual const word & name() const
Return the name.
static void addArgument(const string &argName, const string &usage="")
Append a (mandatory) argument to validArgs.
messageStream Info
Information stream (stdout output on master, null elsewhere)
Pointer management similar to std::unique_ptr, with some additional methods and type checking...
bool readIfPresent(const word &optName, T &val) const
Read a value from the named option if present.
A class for managing temporary objects.
static autoPtr< T > New(Args &&... args)
Construct autoPtr with forwarding arguments.
Foam::argList args(argc, argv)
Defines the attributes of an object for which implicit objectRegistry management is supported...
int verbose() const noexcept
Return the verbose flag.
Do not request registration (bool: false)
bool found(const word &optName) const
Return true if the named option is found.
static IOobject selectIO(const IOobject &io, const fileName &altFile, const word &ioName="")
Return the IOobject, but also consider an alternative file name.
FlatOutput::OutputAdaptor< Container, Delimiters > flatOutput(const Container &obj, Delimiters delim)
Global flatOutput() function with specified output delimiters.