public void PlanarObjectsCoplanarityTest() { Plane3d s1 = new Plane3d(new Point3d(1, 1, 1), new Vector3d(1, 0, 0)); Plane3d s2 = new Plane3d(new Point3d(-1, 1, 1), new Vector3d(1, 0, 0)); Plane3d s3 = new Plane3d(new Point3d(1, 2, 3), new Vector3d(-1, 0, 0)); Plane3d s4 = new Plane3d(new Point3d(1, 1, 1), new Vector3d(-1, 2, 3)); Assert.IsTrue(s1.IsCoplanarTo(s3)); Assert.IsTrue(s1.IsCoplanarTo(s1)); Assert.IsFalse(s1.IsCoplanarTo(s2)); Assert.IsFalse(s1.IsCoplanarTo(s4)); Circle3d c = new Circle3d(new Point3d(1, 2, 2), 5, new Vector3d(1, 0, 0)); Assert.IsTrue(c.IsCoplanarTo(c)); Assert.IsTrue(s1.IsCoplanarTo(c)); Assert.IsFalse(s2.IsCoplanarTo(c)); Assert.IsTrue(c.IsCoplanarTo(s1)); Assert.IsFalse(c.IsCoplanarTo(s2)); Triangle t = new Triangle(new Point3d(1, 2, 2), new Point3d(1, -5, 0), new Point3d(1, 3, -2)); Assert.IsTrue(t.IsCoplanarTo(t)); Assert.IsTrue(s1.IsCoplanarTo(t)); Assert.IsFalse(s2.IsCoplanarTo(t)); Assert.IsTrue(t.IsCoplanarTo(s1)); Assert.IsFalse(t.IsCoplanarTo(s2)); Assert.IsTrue(t.IsCoplanarTo(c)); }