예제 #1
0
        private void intersect2BoundaryPlanes(Vertex vertex)
        {
            Line intersectionLine = new Line();
            Boolean intersectionWork = Rhino.Geometry.Intersect.Intersection.PlanePlane(proxies[vertex.connectedFaces[0].index].rhinoPlane, proxies[vertex.connectedFaces[1].index].rhinoPlane, out intersectionLine);

            if (intersectionWork)
            {
                intersectionLine.Extend(1000, 1000);
                Point3d newPositionForVertex = intersectionLine.ClosestPoint(UsefulFunctions.convertVertexToPoint3d(vertex), false);
                vertex.position = UsefulFunctions.convertPoint3dToVector(newPositionForVertex);
            }
        }