diff --git a/src/surfMesh/surfaceFormats/obj/OBJstream.C b/src/surfMesh/surfaceFormats/obj/OBJstream.C index ca24b6b6aa2a54c07fa7c471ee392614e4f7ef21..fcd446eaabb44f642f441e74352045a9fa96659b 100644 --- a/src/surfMesh/surfaceFormats/obj/OBJstream.C +++ b/src/surfMesh/surfaceFormats/obj/OBJstream.C @@ -238,6 +238,38 @@ Foam::Ostream& Foam::OBJstream::write(const linePointRef& ln) } +Foam::Ostream& Foam::OBJstream::write +( + const triPointRef& f, + const bool lines +) +{ + label start = nVertices_; + write(f.a()); + write(f.b()); + write(f.c()); + if (lines) + { + write('l'); + for (int i = 0; i < 3; i++) + { + write(' ') << start+1+i; + } + write(' ') << start+1 << '\n'; + } + else + { + write('f'); + for (int i = 0; i < 3; i++) + { + write(' ') << start+1+i; + } + write('\n'); + } + return *this; +} + + Foam::Ostream& Foam::OBJstream::write ( const face& f, diff --git a/src/surfMesh/surfaceFormats/obj/OBJstream.H b/src/surfMesh/surfaceFormats/obj/OBJstream.H index 9e62cbdbebcc186bc31ba5384bd984f00915f67d..ec7e93d24ea0184ff3c840f9ae902fa46a90c821 100644 --- a/src/surfMesh/surfaceFormats/obj/OBJstream.H +++ b/src/surfMesh/surfaceFormats/obj/OBJstream.H @@ -39,13 +39,14 @@ SourceFiles #include "point.H" #include "edge.H" #include "face.H" +#include "triPointRef.H" +#include "linePointRef.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // namespace Foam { - /*---------------------------------------------------------------------------*\ Class OBJstream Declaration \*---------------------------------------------------------------------------*/ @@ -134,6 +135,9 @@ public: //- Write line Ostream& write(const linePointRef&); + //- Write triangle as points with lines or filled polygon + Ostream& write(const triPointRef&, const bool lines = true); + //- Write face as points with lines or filled polygon Ostream& write (