Ejemplo n.º 1
0
    public IEnumerator TurnOffAllModes()
    {
        GeoModeActive = false;
        ContexMenu.Instance.GeometryModeActive = false;
        VertexModeActive = false;
        EdgeModeActive   = false;
        FaceModeActive   = false;
        PR_FACE_GO.SetActive(FaceModeActive);
        PR_EDGE_GO.SetActive(EdgeModeActive);
        PR_VERTEX_GO.SetActive(VertexModeActive);
        // Remove targets.
        Manager.Instance.GIZMO.ClearTargets();

        yield return(null);
    }
Ejemplo n.º 2
0
    /// <summary>
    /// Returns the list of this object's vertexHolders, to be used for duplication.
    /// </summary>
    /// <returns> List with VertexHolders. </returns>
    public List <PRVertexHolder> CopyAllGeoProperties()
    {
        // Mesh modifications
        List <PRVertexHolder> vertexHolderColl = new List <PRVertexHolder>();

        PRVertex[] vertexCoColl = PR_VERTEX_GO.GetComponent <ParentVertex>().GEO_VERTEX_COLL_CO;
        foreach (PRVertex prV in vertexCoColl)
        {
            // First update the vertexHolder in case last modification was made in other than vertex mode.
            prV.UpdateVertexPosition();
            // Store the vertexHolder of the original object for duplication process.
            vertexHolderColl.Add(prV.VertexHolder);
        }

        return(vertexHolderColl);
    }
Ejemplo n.º 3
0
    /// <summary>
    /// Coroutine that activates the geometry selection mode.
    /// </summary>
    /// <returns></returns>
    public IEnumerator TurnOnCube()
    {
        GeoModeActive = true;
        ContexMenu.Instance.GeometryModeActive = true;
        VertexModeActive = false;
        EdgeModeActive   = false;
        FaceModeActive   = false;
        PR_FACE_GO.SetActive(FaceModeActive);
        PR_EDGE_GO.SetActive(EdgeModeActive);
        PR_VERTEX_GO.SetActive(VertexModeActive);
        // Add the whole geometry to Gizmo array.
        Manager.Instance.GIZMO.ClearAndAddTarget(this.transform);
        // Save the position, used during movement transformation.
        Manager.Instance.GIZMO.SaveTargetPrevPosition();

        yield return(null);
    }
Ejemplo n.º 4
0
    /// <summary>
    /// Paste the transformations on the original object to the this duplicated object.
    /// </summary>
    /// <param name="vertexHolderColl"> The list of the original object vertexHolders. </param>
    public void PasteAllGeoProperties(List <PRVertexHolder> vertexHolderColl)
    {
        for (int j = 0; j < vertexHolderColl.Count; j++)
        {
            PRVertexHolder vertHolder = vertexHolderColl[j];
            PRVertex       vertCO     = PR_VERTEX_GO.GetComponent <ParentVertex>().GEO_VERTEX_COLL_CO[j];
            // Update the vertexHolder.
            vertCO.VertexHolder = vertHolder;
            Vector3[] meshVertices = GeoMesh.vertices;
            // Update Mesh vertices.
            for (int i = 0; i < vertHolder.SameVIndexColl.Count; i++)
            {
                meshVertices[vertHolder.SameVIndexColl[i]] = vertHolder.V;
            }
            GeoMesh.vertices = meshVertices;
            GeoMesh.RecalculateBounds();

            // Update VertexGO position.
            vertCO.UpdateVertexPosition();
        }
    }
Ejemplo n.º 5
0
 // Activate/Deactivate elements.
 private void ActiveteVertex(bool state)
 {
     VertexModeActive = state;
     PR_VERTEX_GO.SetActive(state);
 }