Simplified implementation of std::unique_ptr, using only default deleter.
Wrapper of type containing either a value or an error message.
double Float
Precision used withing the code. Use Float instead of float or double where precision is important.
AutoPtr< IMeshFile > getMeshFile(const Path &path)
Deduces mesh type from extension of given path.
#define NAMESPACE_SPH_END
Helper object defining permutation.
Return value of function that may fail, containing either SUCCEES (true) or error message.
Object representing a path on a filesystem, similar to std::filesystem::path in c++17.
Object providing safe access to continuous memory of data.
Wrapper of pointer that deletes the resource from destructor.
Wrapper of type that either contains a value of given type, or an error message.
Interface for mesh exporters.
virtual Outcome save(const Path &path, ArrayView< const Triangle > triangles)=0
virtual Expected< Array< Triangle > > load(const Path &path)=0
Text format containing mesh vertices (prefixed by 'v') and triangle indices (prefixed by 'f')
virtual Expected< Array< Triangle > > load(const Path &path) override
virtual Outcome save(const Path &path, ArrayView< const Triangle > triangles) override
Object representing a path on a filesystem.
Exports meshes into a Polygon File Format (.ply file).
virtual Expected< Array< Triangle > > load(const Path &path) override
virtual Outcome save(const Path &path, ArrayView< const Triangle > triangles) override
Simple text format containing mesh vertices and triangle indices.
virtual Expected< Array< Triangle > > load(const Path &path) override
virtual Outcome save(const Path &path, ArrayView< const Triangle > triangles) override
TabFile(const Float lengthUnit=1.e3_f)
Base class for all polymorphic objects.