public bool Refresh(string schema) { OracleCommand cmd = new OracleCommand(ALL_CONSTRAINTS_SCHEMA_SELECT, conn); cmd.BindByName = true; // set up parameters OracleParameter schemaParam = cmd.CreateParameter(); schemaParam.ParameterName = "owner"; schemaParam.OracleDbType = OracleDbType.Char; schemaParam.Direction = System.Data.ParameterDirection.Input; schemaParam.Value = schema; // add it cmd.Parameters.Add(schemaParam); // execute OracleDataReader odr = cmd.ExecuteReader(); if (!odr.HasRows) { return(false); } // purge old data purgeConstraintData(schema); while (odr.Read()) { ConstraintBase constraint = LoadConstraint(odr); constraints.Add(constraint); } return(true); }
private void DrawConstraints(Rect inRect) { ConstraintBase toRemove = null; var listing = new Listing_Standard(); int totalConstraints = _constraints.Count; Rect viewRect = new Rect(0f, 0f, inRect.width - 16f, LineHeight * totalConstraints).Rounded(); Widgets.BeginScrollView(inRect, ref _constraintsScrollPos, viewRect); listing.Begin(viewRect); for (var i = 0; i < _constraints.Count; i++) { ConstraintBase constraint = _constraints[i]; Rect lineRect = listing.GetRect(LineHeight); if (!lineRect.IsVisible(viewRect, _constraintsScrollPos)) { continue; } if (i % 2 == 0) { Widgets.DrawLightHighlight(lineRect); } var constraintRect = new Rect(lineRect.x, lineRect.y, lineRect.width - _removeButtonWidth - 20f, lineRect.height); var removeRect = new Rect(lineRect.width - _removeButtonWidth, lineRect.y, _removeButtonWidth, lineRect.height); constraint.Draw(constraintRect); if (Widgets.ButtonText(removeRect, _removeText)) { toRemove = constraint; } } if (toRemove != null) { _constraints.Remove(toRemove); } listing.End(); Widgets.EndScrollView(); }
public void Refresh() { OracleCommand cmd = new OracleCommand(ALL_CONSTRAINTS_SELECT, conn); OracleDataReader odr = cmd.ExecuteReader(); if (!odr.HasRows) { return; } // purge old data constraints.Clear(); while (odr.Read()) { ConstraintBase constraint = LoadConstraint(odr); constraints.Add(constraint); } }
public void ApplySolution <TBlocks, TConstraints>(TBlocks blocks, TConstraints constraints) where TBlocks : struct, IEnumerator <BlockState> where TConstraints : struct, IEnumerator <ConstraintBase> { ProfilerShort.Begin("SolverFast.ApplySolution"); while (blocks.MoveNext()) { var current = blocks.Current; int idx = current.Index; current.LinearAcceleration += m_bodies[idx].DeltaLinearAcceleration; current.AngularAcceleration += m_bodies[idx].DeltaAngularAcceleration; } ConstraintBase.ResetMaxStrain(); while (constraints.MoveNext()) { constraints.Current.ReadStrain(m_constraints); } ProfilerShort.End(); }
public bool Refresh(TableManager.Table table) { OracleCommand cmd = new OracleCommand(ALL_CONSTRAINTS_TABLE_SELECT, conn); cmd.BindByName = true; // set up parameters // schemaParam OracleParameter schemaParam = cmd.CreateParameter(); schemaParam.ParameterName = "owner"; schemaParam.OracleDbType = OracleDbType.Char; schemaParam.Direction = System.Data.ParameterDirection.Input; schemaParam.Value = table.Owner; cmd.Parameters.Add(schemaParam); // tableParam OracleParameter tableParam = cmd.CreateParameter(); tableParam.ParameterName = "table_name"; tableParam.OracleDbType = OracleDbType.Char; tableParam.Direction = System.Data.ParameterDirection.Input; tableParam.Value = table.Name; cmd.Parameters.Add(tableParam); // execute OracleDataReader odr = cmd.ExecuteReader(); if (!odr.HasRows) { return(false); } // purge old data purgeConstraintData(table); while (odr.Read()) { ConstraintBase constraint = LoadConstraint(odr); constraints.Add(constraint); } return(true); }
private void GetPrimaryKeyAndIndex(string constraint) { string tName, tAlias; GetTableDefinition(constraint, "\"", "\"", out tName, out tAlias); var constraintName = constraint.GetSlice(" ADD CONSTRAINT \"", "\""); var columns = new List <string>(); ConstraintBase c = null; var table = TableList.FirstOrDefault(x => x.Name == tName); if (constraint.Contains("PRIMARY KEY")) { c = GetPrimaryKey(constraint, out columns, table); } else if (constraint.Contains("UNIQUE")) { c = GetUniqueIndex(constraint, out columns, table); } c.Name = constraintName; c.Table = table; }
private void GetForeignKey(string constraint) { if (constraint.Contains("FOREIGN KEY ()") || constraint.Contains("REFERENCES ()")) { return; } string tName, tAlias; GetTableDefinition(constraint, "\"", "\"", out tName, out tAlias); var constraintName = constraint.GetSlice(" ADD CONSTRAINT \"", "\""); ConstraintBase c = null; var table1 = TableList.FirstOrDefault(x => x.Name == tName); var column1 = constraint.GetSlice("FOREIGN KEY (\"", "\")"); c = new ForeignKey(); (c as ForeignKey).Column = table1.Columns.FirstOrDefault(x => x.Name == column1); (c as ForeignKey).Column.Constraints.Add(c); string tName2, tAlias2; GetTableDefinition(constraint, "REFERENCES \"", "\"", out tName2, out tAlias2); var table2FullName = string.IsNullOrEmpty(tAlias2) ? tName2 : tName2 + " (" + tAlias2 + ")"; var column2 = constraint.GetSlice($"REFERENCES \"{table2FullName}\" (\"", "\")"); var table2 = TableList.FirstOrDefault(x => x.Name == tName2); (c as ForeignKey).ReferenceColumn = table2.Columns.FirstOrDefault(x => x.Name == column2); (c as ForeignKey).ReferenceColumn.Constraints.Add(c); c.Name = constraintName; c.Table = table1; }
private void AddConstraint(ConstraintBase constraint) { constraint.SetAtoms(m_constraints, m_invDeltaTime); int start = constraint.Index; int end = constraint.Index + constraint.AtomCount; var rbA = constraint.BlockA; var rbB = constraint.BlockB; for (int i = start; i < end; ++i) { int idA = rbA.Index; int idB = rbB.Index; m_constraints[i].m_solverBodyIdA = idA; m_constraints[i].m_solverBodyIdB = idB; Vector3.TransformNormal(ref m_constraints[i].m_JaAngularAxis, ref m_bodies[idA].InvInertiaWorld, out m_constraints[i].m_angularComponentA); Vector3.TransformNormal(ref m_constraints[i].m_JbAngularAxis, ref m_bodies[idB].InvInertiaWorld, out m_constraints[i].m_angularComponentB); { Vector3 iMJlA, iMJlB; iMJlA = m_constraints[i].m_JaLinearAxis * m_bodies[idA].InvMass; iMJlB = m_constraints[i].m_JbLinearAxis * m_bodies[idB].InvMass; Vector3 iMJaA, iMJaB; Vector3.TransformNormal(ref m_constraints[i].m_JaAngularAxis, ref m_bodies[idA].InvInertiaWorld, out iMJaA); Vector3.TransformNormal(ref m_constraints[i].m_JbAngularAxis, ref m_bodies[idB].InvInertiaWorld, out iMJaB); float sum = iMJlA.Dot(ref m_constraints[i].m_JaLinearAxis); sum += iMJlB.Dot(ref m_constraints[i].m_JbLinearAxis); sum += iMJaA.Dot(ref m_constraints[i].m_JaAngularAxis); sum += iMJaB.Dot(ref m_constraints[i].m_JbAngularAxis); sum = Math.Abs(sum); m_constraints[i].m_jacDiagABInv = (sum > MyMathConstants.EPSILON) ? (1f / sum) : 0f; } { float acc1Dotn = m_constraints[i].m_JaLinearAxis.Dot(m_invDeltaTime * rbA.LinearVelocity + rbA.LinearAcceleration); float acc2Dotn = m_constraints[i].m_JbLinearAxis.Dot(m_invDeltaTime * rbB.LinearVelocity + rbB.LinearAcceleration); acc1Dotn += m_constraints[i].m_JaAngularAxis.Dot(m_invDeltaTime * rbA.AngularVelocity + rbA.AngularAcceleration); acc2Dotn += m_constraints[i].m_JbAngularAxis.Dot(m_invDeltaTime * rbB.AngularVelocity + rbB.AngularAcceleration); float posError = m_constraints[i].m_rhs; // filled by constraint float accError = acc1Dotn + acc2Dotn; float posImpulse = posError * m_constraints[i].m_jacDiagABInv; float accImpulse = accError * m_constraints[i].m_jacDiagABInv; m_constraints[i].m_rhs = posImpulse - accImpulse; } const bool WARMSTARTING = true; if (WARMSTARTING) { m_constraints[i].m_appliedImpulse *= 0.25f; var linearComponentA = m_constraints[i].m_JaLinearAxis * m_bodies[idA].InvMass; var linearComponentB = m_constraints[i].m_JbLinearAxis * m_bodies[idB].InvMass; m_bodies[idA].ApplyImpulse(ref linearComponentA, ref m_constraints[i].m_angularComponentA, m_constraints[i].m_appliedImpulse); m_bodies[idB].ApplyImpulse(ref linearComponentB, ref m_constraints[i].m_angularComponentB, m_constraints[i].m_appliedImpulse); } else { m_constraints[i].m_appliedImpulse = 0f; } } }
public void add_weight(string name = null, TensorShape shape = null, string dtype = null, Initializer initializer = null, Regularizer regularizer = null, bool?trainable = null, ConstraintBase constraint = null, dynamic partitioner = null, bool?use_resource = null, VariableSynchronization synchronization = VariableSynchronization.Auto, VariableAggregation aggregation = VariableAggregation.None, Dictionary <string, object> kwargs = null) => throw new NotImplementedException();
protected void AddConstraint(ConstraintBase constraint) { ConstraintList.Add(constraint); }
public void AddConstraint(ConstraintBase constraint) { _constraintList.Add(constraint); }