From 3748028318c6737ca2c2fe068b910b49dc0d8939 Mon Sep 17 00:00:00 2001
From: Christophe Geuzaine <cgeuzaine@uliege.be>
Date: Fri, 3 Jun 2022 16:26:56 +0200
Subject: [PATCH] extrude curve mesh depending on geo.Source (like for surfaces
 and volumes) instead of assuming that the extrusion is always done from the
 start point of the curve

---
 src/mesh/meshGEdgeExtruded.cpp | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/src/mesh/meshGEdgeExtruded.cpp b/src/mesh/meshGEdgeExtruded.cpp
index f9b51a9698..2b606fb945 100644
--- a/src/mesh/meshGEdgeExtruded.cpp
+++ b/src/mesh/meshGEdgeExtruded.cpp
@@ -104,7 +104,12 @@ int MeshExtrudedCurve(GEdge *ge)
 
   if(ep->geo.Mode == EXTRUDED_ENTITY) {
     // curve is extruded from a point
-    extrudeMesh(ge->getBeginVertex(), ge);
+    GVertex *from = ge->model()->getVertexByTag(std::abs(ep->geo.Source));
+    if(!from) {
+      Msg::Error("Unknown source point %d for extrusion", ep->geo.Source);
+      return 0;
+    }
+    extrudeMesh(from, ge);
   }
   else {
     GEdge *from = ge->model()->getEdgeByTag(std::abs(ep->geo.Source));
-- 
GitLab