//This function returns true if the 2 MyLine correspond to the same line in 3D space, false otherwise.
        //First the function verifies if the two lines have the same direction versor, then it verifies if
        //the point lying on the first line also lies on the second line, and viceversa.
        //The direction versor of each line is computed by computing the vector product of the two normal
        //vectors of the two planes defining the line.
        public static bool MyEqualsMyPlane(MyLine firstLine, MyLine secondLine, MyVertex firstPoint, MyVertex secondPoint)
        {
            var firstDirection  = firstLine.direction;
            var secondDirection = secondLine.direction;

            var secondDirectionInverted = new double[3];

            secondDirectionInverted.SetValue(-secondDirection[0], 0);
            secondDirectionInverted.SetValue(-secondDirection[1], 1);
            secondDirectionInverted.SetValue(-secondDirection[2], 2);


            if (FunctionsLC.MyEqualsArray(firstDirection, secondDirection) || FunctionsLC.MyEqualsArray(firstDirection, secondDirectionInverted))
            {
                var firstVerify  = firstPoint.Lieonline(secondLine);
                var secondVerify = secondPoint.Lieonline(firstLine);
                if (firstPoint.Lieonline(secondLine) && secondPoint.Lieonline(firstLine))
                {
                    return(true);
                }
                return(false);
            }
            return(false);
        }