From 6d734c035ecaf9077874e35e12fb16555dd31bfe Mon Sep 17 00:00:00 2001
From: Boris Sedji <sedji.boris@hotmail.com>
Date: Fri, 30 Apr 2010 15:42:42 +0000
Subject: [PATCH]

---
 Geo/MElementCut.h | 21 +++++++++++----------
 1 file changed, 11 insertions(+), 10 deletions(-)

diff --git a/Geo/MElementCut.h b/Geo/MElementCut.h
index 174e19fa24..65f7a9d47e 100644
--- a/Geo/MElementCut.h
+++ b/Geo/MElementCut.h
@@ -47,7 +47,7 @@ class MPolyhedron : public MElement {
       _parts.push_back(vT[i]);
     _init();
   }
-  ~MPolyhedron() 
+  ~MPolyhedron()
   {
     if(_owner)
       delete _orig;
@@ -60,7 +60,7 @@ class MPolyhedron : public MElement {
   virtual int getNumVolumeVertices() const { return _innerVertices.size(); }
   virtual MVertex *getVertex(int num)
   {
-    return (num < (int)_vertices.size()) ? 
+    return (num < (int)_vertices.size()) ?
       _vertices[num] : _innerVertices[num - _vertices.size()];
   }
   virtual int getNumEdges() { return _edges.size(); }
@@ -114,7 +114,7 @@ class MPolyhedron : public MElement {
       vol += _parts[i]->getVolume();
     return vol;
   }
-  virtual const polynomialBasis* getFunctionSpace(int order=-1) const 
+  virtual const polynomialBasis* getFunctionSpace(int order=-1) const
   {
     return _orig->getFunctionSpace(order);
   }
@@ -191,13 +191,13 @@ class MPolygon : public MElement {
   virtual int getNumFaceVertices() const { return _innerVertices.size(); }
   virtual MVertex *getVertex(int num)
   {
-    return (num < (int)_vertices.size()) ? 
+    return (num < (int)_vertices.size()) ?
       _vertices[num] : _innerVertices[num - _vertices.size()];
   }
   virtual int getNumEdges() { return _edges.size(); }
   virtual MEdge getEdge(int num) { return _edges[num]; }
   virtual int getNumEdgesRep() { return getNumEdges(); }
-  virtual void getEdgeRep(int num, double *x, double *y, double *z, SVector3 *n) 
+  virtual void getEdgeRep(int num, double *x, double *y, double *z, SVector3 *n)
   {
     MEdge e(getEdge(num));
     _getEdgeRep(e.getVertex(0), e.getVertex(1), x, y, z, n, 0);
@@ -233,7 +233,7 @@ class MPolygon : public MElement {
     _edges.clear();
     _initVertices();
   }
-  virtual const polynomialBasis* getFunctionSpace(int order=-1) const 
+  virtual const polynomialBasis* getFunctionSpace(int order=-1) const
   {
     return _orig->getFunctionSpace(order);
   }
@@ -293,7 +293,7 @@ class MTriangleBorder : public MTriangle {
     return NULL;
   }
   virtual int getTypeForMSH() const { return MSH_TRI_B; }
-  virtual const polynomialBasis* getFunctionSpace(int order=-1) const 
+  virtual const polynomialBasis* getFunctionSpace(int order=-1) const
   {
     return getParent()->getFunctionSpace(order);
   }
@@ -337,7 +337,7 @@ class MPolygonBorder : public MPolygon {
     return NULL;
   }
   virtual int getTypeForMSH() const { return MSH_POLYG_B; }
-  virtual const polynomialBasis* getFunctionSpace(int order=-1) const 
+  virtual const polynomialBasis* getFunctionSpace(int order=-1) const
   {
     return getParent()->getFunctionSpace(order);
   }
@@ -381,9 +381,10 @@ class MLineBorder : public MLine {
     return NULL;
   }
   virtual int getTypeForMSH() const { return MSH_LIN_B; }
-  virtual const polynomialBasis* getFunctionSpace(int order=-1) const 
+  virtual const polynomialBasis* getFunctionSpace(int order=-1) const
   {
-    return getParent()->getFunctionSpace(order);
+    if (this->getParent()) return getParent()->getFunctionSpace(order);
+    else return NULL;
   }
   virtual void getShapeFunctions(double u, double v, double w, double s[], int o)
   {
-- 
GitLab