Exemplo n.º 1
0
Arquivo: UPoly.cs Projeto: Cdrix/SM
    public static List <Vector3> ReturnARealPoly(Vector3 hitVector3, Vector3[] Vertices, InitializerTerrain iniTerr,
                                                 Vertexer vertex)
    {
        if (hitVector3 == null || hitVector3 == new Vector3())
        {
            return(new List <Vector3>());
        }
        Vector3 firstVertex = vertex.FindClosestVertex(hitVector3, Vertices);

        Dir     quadrant     = vertex.FindVertexQuadrant(firstVertex, hitVector3);
        Vector3 lefTopVertex = vertex.FindTopLeftVertex(firstVertex, quadrant,
                                                        iniTerr.StepX, iniTerr.StepZ, Vertices);
        //UVisHelp.CreateHelpers(lefTopVertex, Root.redSphereHelp);

        List <Vector3> poly = FindPoly(lefTopVertex, iniTerr.StepX, iniTerr.StepZ, vertex, Vertices);

        //UVisHelp.CreateHelpers(poly, Root.boxCollHelp);
        return(poly);
    }
Exemplo n.º 2
0
Arquivo: SubPolyr.cs Projeto: Cdrix/SM
    //create one subpoly based on where we hit the terrain
    List <Vector3> CreateOneSubPoly(Vector3 hitPointOnSubPoly, bool isMouseOnTerrain, Vertexer vertex,
                                    SubDivider subDivide, UPoly poly, List <Vector3> currentHoverVertices)
    {
        //print(isMouseOnTerrain + "isMouseOnTerrain");
        List <Vector3> subPoly = new List <Vector3>();

        if (isMouseOnTerrain)
        {
            Vector3 firstVertex = vertex.FindClosestVertex(hitPointOnSubPoly, currentHoverVertices.ToArray());

            Dir     quadrant     = vertex.FindVertexQuadrant(firstVertex, hitPointOnSubPoly);
            Vector3 lefTopVertex = vertex.FindTopLeftVertex(firstVertex, quadrant,
                                                            subDivide.XSubStep, subDivide.ZSubStep, currentHoverVertices.ToArray());

            subPoly = UPoly.FindPoly(lefTopVertex, subDivide.XSubStep, subDivide.ZSubStep,
                                     vertex, currentHoverVertices.ToArray());
            //UVisHelp.CreateHelpers(subPoly, Root.blueCube);
        }
        return(subPoly);
    }