Esempio n. 1
0
 public void UseView(PCView v)
 {
     this.LatestView = v;
     Camera.main.transform.position = v.transform.position;
     Camera.main.transform.rotation = v.transform.rotation;
     Camera.main.fieldOfView        = v.FieldOfView;
 }
Esempio n. 2
0
        protected void PCView_Init(object sender, EventArgs e)
        {
            Matrix PCmatrix = (Matrix)stream.get("PCmatrix");
            Vector Weights  = (Vector)stream.get("Weights");

            String[] features = (String[])stream.get("selectedFeatures");

            for (int i = 0; i < Weights.Length; i++)
            {
                VariancePlot.Series[0].Points.InsertY(i, Weights[i]);
            }

            DataSet   ds = new DataSet("temp");
            DataTable dt = new DataTable();
            // Declare your Columns

            //PC Weight
            DataColumn dc = new DataColumn("Weight", Type.GetType("System.Double"));

            dt.Columns.Add(dc);

            //PC Coefficients
            foreach (String feature in features)
            {
                dc = new DataColumn(feature, Type.GetType("System.Double"));
                dt.Columns.Add(dc);
            }

            // Add the DataTable to your DataSet
            ds.Tables.Add(dt);

            DataRow dr;

            for (int i = 0; i < PCmatrix.ColumnCount; i++)
            {
                dr = ds.Tables[0].NewRow();
                dt.Rows.Add(dr);
                dt.Rows[i][0] = Weights[i];
                for (int j = 0; j < PCmatrix.RowCount; j++)
                {
                    dt.Rows[i][j + 1] = PCmatrix[j, i];
                }
            }

            /*
             * dr = ds.Tables[0].NewRow();
             * dt.Rows.Add(dr);
             * double[] dataArray = new double[Weights.Length];
             * dataArray[0] = 1232.21321;
             * dr[0] = 321.12321;
             *
             * //dt.Rows[0].ItemArray[1] = 333.32;
             */
            PCView.DataSource = dt;
            PCView.DataBind();
        }
Esempio n. 3
0
    public PCView FindClosestView()
    {
        PCView bestView  = null;
        float  bestScore = -100.0f;

        foreach (var v in this.AllViews)
        {
            if (v != null)
            {
                float d = Vector3.Dot(v.transform.forward, Camera.main.transform.forward);
                if (d > bestScore)
                {
                    bestView  = v;
                    bestScore = d;
                }
            }
        }
        return(bestView);
    }
Esempio n. 4
0
    void PossibleTapClick()
    {
        RaycastHit hitInfo;

        if (Physics.Raycast(Camera.main.ScreenPointToRay(Input.mousePosition), out hitInfo))
        {
            if ((hitInfo.collider != null) && (hitInfo.collider.gameObject.GetComponent <IsInputConsumer> () != null))
            {
                return;                 // tapped on input system
            }
        }

        float mx     = Input.mousePosition.x;
        bool  isLeft = ((mx < (Screen.width / 2)));

        var curViewNdx = this.AllViews.ToList().IndexOf(this.LatestView);
        var nextNdx    = (isLeft ? (curViewNdx - 1) : (curViewNdx + 1));

        nextNdx         = ((nextNdx + this.AllViews.Length) % this.AllViews.Length);
        this.LatestView = this.AllViews [nextNdx];
    }
Esempio n. 5
0
    // Update is called once per frame
    void Update()
    {
        this.UpdateLerping();
        var bv = this.FindClosestView();

        if (Input.GetMouseButton(0))
        {
            MouseDownTime          += Time.deltaTime;
            Camera.main.fieldOfView = Mathf.Lerp(Camera.main.fieldOfView, bv.FieldOfView, 0.02f);
        }
        else
        {
            var startView = this.LatestView;

            float maxTapTime = 0.3f;

            if (LerpingIsActive)
            {
                return;
            }
            else if ((bv != null) && (bv != this.LatestView))
            {
                this.LatestView = bv;
            }
            else if ((MouseDownTime > 0) && (MouseDownTime < maxTapTime))
            {
                this.PossibleTapClick();
            }

            if (startView != this.LatestView)
            {
                LerpingStartTime  = Time.time;
                LerpingStartTrans = Camera.main.transform.localToWorldMatrix;
                LerpingStartFOV   = Camera.main.fieldOfView;
                LerpingIsActive   = true;
            }

            MouseDownTime = 0.0f;
        }
    }