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; }
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(); }
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); }
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]; }
// 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; } }