From 6bd16e1eeff4fff77d1c5cc7e1b4f0e87e81448e Mon Sep 17 00:00:00 2001
From: mattijs <mattijs>
Date: Tue, 13 Nov 2012 12:17:41 +0000
Subject: [PATCH] ENH: OBJstream: output triPointRef

---
 src/surfMesh/surfaceFormats/obj/OBJstream.C | 32 +++++++++++++++++++++
 src/surfMesh/surfaceFormats/obj/OBJstream.H |  6 +++-
 2 files changed, 37 insertions(+), 1 deletion(-)

diff --git a/src/surfMesh/surfaceFormats/obj/OBJstream.C b/src/surfMesh/surfaceFormats/obj/OBJstream.C
index ca24b6b6aa2..fcd446eaabb 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 9e62cbdbebc..ec7e93d24ea 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
             (
-- 
GitLab