public void CombineCallBack(double v0, double v1, double v2, ref Tesselator.CombineParameters combinePars, out int outData) { //double error = .001; //Assert.IsTrue(GetNextOutputAsString() == "C"); //Assert.AreEqual(GetNextOutputAsDouble(), v0, error); //Assert.AreEqual(GetNextOutputAsDouble(), v1, error); //Assert.AreEqual(GetNextOutputAsInt(), data4[0]); //Assert.AreEqual(GetNextOutputAsInt(), data4[1]); //Assert.AreEqual(GetNextOutputAsInt(), data4[2]); //Assert.AreEqual(GetNextOutputAsInt(), data4[3]); //Assert.AreEqual(GetNextOutputAsDouble(), weight4[0], error); //Assert.AreEqual(GetNextOutputAsDouble(), weight4[1], error); //Assert.AreEqual(GetNextOutputAsDouble(), weight4[2], error); //Assert.AreEqual(GetNextOutputAsDouble(), weight4[3], error); //here , outData = index of newly add vertext //---------------------------------------------------------------------- //*** new vertext is added into user vertext list *** //use negative to note that this vertext is from temporary source //other implementation: // append to end of input list is ok if the input list can grow up *** //---------------------------------------------------------------------- outData = -this.tempVertexList.Count; //---------------------------------------- tempVertexList.Add(new TessTempVertex(v0, v1)); //---------------------------------------- }
//public delegate void CallCombineDelegate( // double c1, double c2, double c3, ref CombineParameters combinePars, out int outData); public void CombineCallBack(double v0, double v1, double v2, ref Tesselator.CombineParameters combinePars, out int outData) { double error = .001; Assert.IsTrue(GetNextOutputAsString() == "C"); Assert.AreEqual(GetNextOutputAsDouble(), v0, error); Assert.AreEqual(GetNextOutputAsDouble(), v1, error); Assert.AreEqual(GetNextOutputAsInt(), combinePars.d0); Assert.AreEqual(GetNextOutputAsInt(), combinePars.d1); Assert.AreEqual(GetNextOutputAsInt(), combinePars.d2); Assert.AreEqual(GetNextOutputAsInt(), combinePars.d3); Assert.AreEqual(GetNextOutputAsDouble(), combinePars.w0, error); Assert.AreEqual(GetNextOutputAsDouble(), combinePars.w1, error); Assert.AreEqual(GetNextOutputAsDouble(), combinePars.w2, error); Assert.AreEqual(GetNextOutputAsDouble(), combinePars.w3, error); outData = m_VertexList.Count; m_VertexList.Add(new Vertex(v0, v1)); }