title: Reliable way to find an intersection between an unfilled StreamGeometry and a RectangleGeometry
body: <p>I have the following unit test:</p>
  
  <pre><code>[TestMethod]
  public void IntersectionTest()
  {
      var lineStreamGeometry = new StreamGeometry { FillRule = FillRule.EvenOdd };
      using (var sgc = lineStreamGeometry.Open())
      {
          sgc.BeginFigure(new Point(), false, false);
          sgc.LineTo(new Point(10, 0), true, true);
          sgc.LineTo(new Point(0, 10), true, true);
      }
      lineStreamGeometry.Freeze();
      var lineGeomtry = new LineGeometry(new Point(), new Point(10,0));
      var rectangleGeometry = new RectangleGeometry(new Rect(new Point(-20, -20), new Point(20, 20)));
      var geometryFillContains = rectangleGeometry.FillContainsWithDetail(lineGeomtry);
      var streamFillContains = rectangleGeometry.FillContainsWithDetail(lineStreamGeometry);
      Assert.AreEqual(geometryFillContains, streamFillContains);
  }
  </code></pre>
  
  <p>Both of these lines are inside my <code>RectangleGeometry</code>, however the intersection result with the <code>StreamGeometry</code> is incorrect. This happens because the <code>isFilled</code> parameter of <code>BeginFigure</code> is <code>false</code>.</p>
  
  <p>I could set <code>isFilled</code> to <code>true</code> to make the satisfy the unit test, but this gives issues when the <code>RectangleGeometry</code> falls within the invisible closing triangle that it causes.</p>
  
  <p>I am looking for a function that works with all kinds of geometries, <code>FillContainsWithDetail</code> only works correctly if both geometries are filled/closed polygons.</p>