public Polygon(PolygonDrawer drawer, List <Dot> dots)
 {
     this.drawer = drawer;
     tops        = new List <Dot> ();
     tops        = dots;
     drawLines(dots, 1f);
 }
        public Figure CreateFigure()
        {
            PolygonDrawer            drawer  = new PolygonDrawer();
            IsoscelesTriangleUpdater updater = new IsoscelesTriangleUpdater();
            RegularMover             mover   = new RegularMover();
            RegularRotator           rotator = new RegularRotator();
            RegularScaler            scaler  = new RegularScaler();
            Figure figure = new Figure(drawer, scaler, updater, mover, rotator);

            return(figure);
        }
 void Start()
 {
     _polygonDrawer = GetComponent <PolygonDrawer>();
     Draw();
 }
示例#4
0
文件: Form1.cs 项目: Battler45/lab4
        private void primitiveDrawingButton_Click(object sender, EventArgs e)
        {
            var drawingButton = (Button)sender;

            var(drawingButtonText, newPrimitive, newPrimitiveDrawer) = GetPrimitiveContext(drawingButton, _primitivePoints);
            if (_primitivePoints != null)
            {
                drawingButton.Text = drawingButtonText;
                _primitive         = newPrimitive;
                _primitivePoints   = null;
                _primitiveDrawer.Draw(_canvasGraphics, _drawingPen, _primitive, _canvas);
                return;
            }

            _primitiveDrawer = newPrimitiveDrawer;
            _primitiveDrawer.ClearCanvas(_canvasGraphics, _canvas);
            drawingButton.Text = "Рисование";
            _primitive         = null;
            _primitivePoints   = new List <Point>();

            ///this is peace of shit code
            (string, Primitive, IPrimitiveDrawer) GetPrimitiveContext(Button drawingButton, List <Point> primitivePoints)
            {
                string           drawingButtonText  = null;
                Primitive        newPrimitive       = null;
                IPrimitiveDrawer newPrimitiveDrawer = null;

                if (drawingButton == polygonDrawingButton)
                {
                    if (primitivePoints != null)
                    {
                        drawingButtonText = "Многоугольник";
                        newPrimitive      = new Polygon(primitivePoints);
                    }
                    else
                    {
                        newPrimitiveDrawer = new PolygonDrawer();
                    }
                }
                else if (drawingButton == edgeDrawingButton)
                {
                    if (primitivePoints != null)
                    {
                        drawingButtonText = "Ребро";
                        newPrimitive      = new Edge(primitivePoints);
                    }
                    else
                    {
                        newPrimitiveDrawer = new EdgeDrawer();
                    }
                }
                else
                {
                    throw new ArgumentException();
                }

                return(drawingButtonText, newPrimitive, newPrimitiveDrawer);
            }

            ///this is peace of shit code
            (string, Primitive, IPrimitiveDrawer) GetPrimitiveContext2(Button drawingButton, List <Point> primitivePoints)
            {
                if (drawingButton != edgeDrawingButton && drawingButton != polygonDrawingButton)
                {
                    throw new ArgumentException();
                }
                var(drawingButtonText, newPrimitive, newPrimitiveDrawer) = primitivePoints != null
                    ? drawingButton == polygonDrawingButton
                        ? ("Многоугольник", new Polygon(primitivePoints), (IPrimitiveDrawer)null)
                        : ("Ребро", (Primitive) new Edge(primitivePoints), (IPrimitiveDrawer)null)
                    : drawingButton == polygonDrawingButton
                        ? ((string)null, (Primitive)null, (IPrimitiveDrawer) new PolygonDrawer())
                        : ((string)null, (Primitive)null, new EdgeDrawer());
                return(drawingButtonText, newPrimitive, newPrimitiveDrawer);
            }
        }
示例#5
0
    // Use this for initialization
    void Start()
    {
        _iosShadows = GameObject.Find("iosShadows");
        if(_backgroundImg == null)  Debug.LogError(DEBUGTAG+"Background Image"+PC.MISSING_REF);

        GameObject cameraGameObject = GameObject.Find ("PlanCamera");
        _planCamera = cameraGameObject.GetComponent<Camera>();

        _mainCamera = GameObject.Find ("mainCam");

        _renderCamera = Camera.main;

        _polyDrawer = cameraGameObject.GetComponent <PolygonDrawer> ();
        _snapper = cameraGameObject.GetComponent <Snapper> ();
        _planTransformation = cameraGameObject.GetComponent <PlanTransformation> ();

        _planCamera.GetComponent<Camera>().enabled = false;
        _polyDrawer.enabled = false;
        _planTransformation.enabled = false;

        enabled = false;

        Point2 prevBgPoint = new Point2  (UnityEngine.Screen.width / 2 - 50, UnityEngine.Screen.height / 2);
        Point2 nextBgPoint = new Point2  (UnityEngine.Screen.width / 2 + 50, UnityEngine.Screen.height / 2);

        _backgroundEdge = new Edge2 (prevBgPoint, nextBgPoint);

        prevBgPoint.SetNextEdge (_backgroundEdge);
        nextBgPoint.SetPrevEdge (_backgroundEdge);
    }
 public void FillPloygon(PolygonDrawer cd)
 {
     OnGetFirstPoint  += cd.MeetFirstPoint;
     OnGetMiddlePoint += cd.MeetMiddlePoint;
     OnGetLastPoint   += cd.MeetLastPoint;
 }
示例#7
0
    // Use this for initialization
    void Start()
    {
        //NEW UI ----------------------------------------------
        m_headerRect = new Rect(0,0,Screen.width,m_btnH);

        m_drawRect = new Rect(0,-m_drawMenus.Length* m_btnH,m_btnWL,m_drawMenus.Length* m_btnH);
        m_tmpDrawRect = new Rect(0,m_btnH,m_btnWL,m_btnH);

        //		m_planRect = new Rect(m_btnW,-m_planMenus.Length* m_btnH,m_btnWL,m_planMenus.Length* m_btnH);
        m_planRect = new Rect(m_btnW,-m_planMenus.Length* m_btnH,m_btnWL,m_btnH);
        m_tmpPlanRect = new Rect(0,m_btnH,m_btnWL,m_btnH);

        m_paramRect = new Rect(2*m_btnW,-m_paramMenus.Length* m_btnH,m_btnWL*1.25f,m_paramMenus.Length* m_btnH);
        m_tmpParamRect = new Rect(0,m_btnH,m_btnWL*1.25f,m_btnH);

        m_mainView = new Rect(0,m_btnH,Screen.width,Screen.height-(2*m_btnH));
        m_askRect  = new Rect(Screen.width/3f,Screen.height/4f,Screen.width/3f,Screen.height/4f);
        //NEW UI ----------------------------------------------

         if(_backgroundImg == null)  Debug.LogError(DEBUGTAG+"Background Image"+PC.MISSING_REF);

        GameObject cameraGameObject = GameObject.Find ("PlanCamera");
        _planCamera = cameraGameObject.GetComponent<Camera>();
        _mainCamera = GameObject.Find ("mainCam");
        _renderCamera = Camera.main;

        _polyDrawer = cameraGameObject.GetComponent <PolygonDrawer> ();
        _snapper = cameraGameObject.GetComponent <Snapper> ();
        _planTransformation = cameraGameObject.GetComponent <PlanTransformation> ();

        _planCamera.GetComponent<Camera>().enabled = false;
        _polyDrawer.enabled = false;
        _planTransformation.enabled = false;

        enabled = false;

        Point2 prevBgPoint = new Point2  (UnityEngine.Screen.width / 2 - 50, UnityEngine.Screen.height / 2);
        Point2 nextBgPoint = new Point2  (UnityEngine.Screen.width / 2 + 50, UnityEngine.Screen.height / 2);

        _backgroundEdge = new Edge2 (prevBgPoint, nextBgPoint);

        prevBgPoint.SetNextEdge (_backgroundEdge);
        nextBgPoint.SetPrevEdge (_backgroundEdge);
    }
示例#8
0
    // Use this for initialization
    protected void Start()
    {
        _hRect = new Rect (0, 0, Screen.width, THICKNESS);
        _vRect = new Rect (0, 0, THICKNESS, Screen.height);

        _planTransformation = GetComponent<PlanTransformation> ();
        _polygonDrawer = GetComponent<PolygonDrawer> ();
        _polygon = _polygonDrawer.GetPolygon ();
    }