46    void setInputLine( 
const QgsPoint &pt1, 
const QgsPoint &pt2, 
double tolerance, 
bool newVertexOnIntersection );
 
   49    void setTolerance( 
double tolerance );
 
   52    void setAddVertexOnIntersection( 
bool addVertex );
 
   55    void setDefaultZValue( 
double defaultZValue );
 
   62    void setInterpolateZValueOnMesh( 
bool interpolateZValueOnMesh );
 
   67    bool mNewVertexOnIntersection = 
false;
 
   68    double mTolerance = 1e-8;
 
   69    double mDefaultZValue = 0;
 
   70    bool mInterpolateZValueOnMesh = 
false;
 
   74    virtual void finish();
 
   78    QList<int> mRemovedFaces;
 
   79    QList<int> mHoleOnLeft; 
 
   80    QList<int> mNeighborOnLeft; 
 
   81    QList<int> mHoleOnRight; 
 
   82    QList<int> mNeighborOnRight; 
 
   83    QList<int> mNewVerticesIndexesOnLine; 
 
   84    bool mEndOnPoint2 = 
false;
 
   85    int mPoint2VertexIndex = -1;
 
   86    int mCurrentSnappedVertex = -1; 
 
   89    bool mFirstPointChecked = 
false;
 
   90    bool mSecondPointChecked = 
false;
 
   92    void interpolateZValueOnMesh( 
QgsPoint &point ) 
const;
 
   93    void interpolateZValueOnMesh( 
int faceIndex, 
QgsPoint &point ) 
const;
 
   97    bool buildForcedElements();
 
   99    bool edgeIntersection( 
int vertex1,
 
  101                           int &closestSnappedVertex,
 
  105    bool searchIntersectionEdgeFromSnappedVertex(
 
  106      int &intersectionFaceIndex,
 
  107      int &previousSnappedVertex,
 
  108      int ¤tSnappedVertexIndex,
 
  111      QSet<int> &treatedFaces );
 
  116    bool triangulateHoles( 
const QList<int> &holeOnLeft,
 
  117                           const QList<int> &neighborOnLeft,
 
  119                           QList<std::array<int, 2> > &newFacesOnLine,
 
  120                           std::array<int, 2> &extremeFaces );
 
  122    bool finishForcingLine();
 
  124    friend class TestQgsMeshEditor;