// [mostly internal]. as before, but uses the current (just changed) mask protected void BuildLink() { // set ndoc by counting non-dofs ndoc = mask.GetMaskDoc(); ndoc_c = mask.GetMaskDoc_c(); ndoc_d = mask.GetMaskDoc_d(); // create matrices if (ndoc > 0) { C = new ChMatrixDynamic <double>(ndoc, 1); C_dt = new ChMatrixDynamic <double>(ndoc, 1); C_dtdt = new ChMatrixDynamic <double>(ndoc, 1); react = new ChMatrixDynamic <double>(ndoc, 1); Qc = new ChMatrixDynamic <double>(ndoc, 1); Ct = new ChMatrixDynamic <double>(ndoc, 1); Cq1 = new ChMatrixDynamic <double>(ndoc, ChBody.BODY_QDOF); Cq2 = new ChMatrixDynamic <double>(ndoc, ChBody.BODY_QDOF); Cqw1 = new ChMatrixDynamic <double>(ndoc, ChBody.BODY_DOF); Cqw2 = new ChMatrixDynamic <double>(ndoc, ChBody.BODY_DOF); } else { /* C = null; * C_dt = null; * C_dtdt = null; * react = null; * Qc = null; * Ct = null; * Cq1 = null; * Cq2 = null; * Cqw1 = null; * Cqw2 = null;*/ } }
protected void ChangedLinkMask() { ndoc = mask.GetMaskDoc(); ndoc_c = mask.GetMaskDoc_c(); ndoc_d = mask.GetMaskDoc_d(); }