Ejemplo n.º 1
0
 public override void KeysEventPointedWhatever()
 {
     if (KeyCode.N.IsDown() && PointedTriangle != null)
     {
         PointedTriangle.InvertNormal();
         Dirty = true;
     }
 }
Ejemplo n.º 2
0
        public override bool MouseEventPointedTriangle()
        {
            if (EditorInputManager.GetMouseButton(0))
            {
                EditedMesh.Dirty |= PointedTriangle.SetSharpCorners(_setTo);
            }

            return(false);
        }
Ejemplo n.º 3
0
        public override void KeysEventPointedTriangle()
        {
            if (KeyCode.N.IsDown())
            {
                if (!EditorInputManager.Alt)
                {
                    var no = PointedTriangle.NumberOf(PointedTriangle.GetClosestTo(MeshMGMT.collisionPosLocal));
                    PointedTriangle.dominantCorner[no] = !PointedTriangle.dominantCorner[no];
                    (PointedTriangle.dominantCorner[no] ? "Triangle edge's Normal is now dominant" : "Triangle edge Normal is NO longer dominant").TeachingNotification();
                }
                else
                {
                    PointedTriangle.InvertNormal();
                    "Flipping Normals".TeachingNotification();
                }

                EditedMesh.Dirty = true;
            }
        }
Ejemplo n.º 4
0
        public override void KeysEventPointedTriangle()
        {
            if (KeyCode.Backspace.IsDown() || KeyCode.Delete.IsDown())
            {
                EditedMesh.triangles.Remove(PointedTriangle);
                foreach (var uv in PointedTriangle.vertexes)
                {
                    if (uv.meshPoint.vertices.Count == 1 && uv.triangles.Count == 1)
                    {
                        EditedMesh.meshPoints.Remove(uv.meshPoint);
                    }
                }

                Dirty = true;
                return;
            }

            if (KeyCode.U.IsDown())
            {
                PointedTriangle.MakeTriangleVertexUnique(PointedUv);
                Dirty = true;
            }

            /*  if (KeyCode.N.isDown())
             * {
             *
             *    if (!EditorInputManager.getAltKey())
             *    {
             *        int no = pointedTriangle.NumberOf(pointedTriangle.GetClosestTo(meshMGMT.collisionPosLocal));
             *        pointedTriangle.SharpCorner[no] = !pointedTriangle.SharpCorner[no];
             *
             *        (pointedTriangle.SharpCorner[no] ? "Triangle edge's Normal is now dominant" : "Triangle edge Normal is NO longer dominant").TeachingNotification();
             *    }
             *    else
             *    {
             *        pointedTriangle.InvertNormal();
             *        "Inverting Normals".TeachingNotification();
             *    }
             *
             *    meshMGMT.edMesh.dirty = true;
             *
             * }*/
        }
Ejemplo n.º 5
0
        public override bool MouseEventPointedTriangle()
        {
            if (EditorInputManager.GetMouseButton(0))
            {
                if (_mergeUnMerge)
                {
                    if (EditorInputManager.Shift)
                    {
                        EditedMesh.SetAllVerticesShared(PointedTriangle);
                    }
                    else
                    {
                        EditedMesh.GiveTriangleUniqueVertices(PointedTriangle);
                    }
                }
                else
                {
                    EditedMesh.Dirty |= PointedTriangle.SetSmoothVertices(!EditorInputManager.Shift);
                }
            }

            return(false);
        }
Ejemplo n.º 6
0
        public override void ManageDragging()
        {
            if (PointedTriangle != null && SelectedUv != null)
            {
                var uv        = SelectedUv.SharedEditedUv;
                var posUv     = PointedTriangle.LocalPosToEditedUv(MeshMGMT.collisionPosLocal);
                var newUv     = uv * 2 - posUv;
                var isChanged = newUv != _lastCalculatedUv;
                _lastCalculatedUv = newUv;

                var trg = MeshEditorManager.target;

                if (isChanged && !EditorInputManager.GetMouseButtonUp(0))
                {
                    var prMesh = GetPreviewMesh;
                    if (prMesh.selectedUv != null)
                    {
                        prMesh.selectedUv.SharedEditedUv = _lastCalculatedUv;
                        trg.SharedMesh = new MeshConstructor(prMesh, trg.MeshProfile, trg.SharedMesh).Construct();
                    }
                }
            }

            if (EditorInputManager.GetMouseButtonUp(0))
            {
                MeshMGMT.SelectedUv.SharedEditedUv = _lastCalculatedUv;
                EditedMesh.dirtyUvs = true;
                Debug.Log("Setting Dirty UV Test");
                MeshMGMT.Dragging = false;
            }


            if (!EditorInputManager.GetMouseButton(0))
            {
                MeshMGMT.Dragging = false;
            }
        }