SuperCell::SuperCell(const Vec v[3], const bool p[3]) { atoms = 0; for (int i = 0; i < 3; i++) periodic[i] = p[i]; SetBasis(v); }
SuperCell::SuperCell(const SuperCell *original) { atoms = 0; for (int i = 0; i < 3; i++) periodic[i] = original->periodic[i]; SetBasis(original->vectors); }
SuperCell::SuperCell(const SuperCell &original) { atoms = 0; for (i = 0; i < 3; i++) periodic[i] = original.periodic[i]; SetBasis(original.vectors); }
void IK_QSegment::Reset() { m_locked[0] = m_locked[1] = m_locked[2] = false; m_basis = m_orig_basis; m_translation = m_orig_translation; SetBasis(m_basis); for (IK_QSegment *seg = m_child; seg; seg = seg->m_sibling) seg->Reset(); }
void IK_QSegment::SetTransform( const MT_Vector3& start, const MT_Matrix3x3& rest_basis, const MT_Matrix3x3& basis, const MT_Scalar length ) { m_max_extension = start.length() + length; m_start = start; m_rest_basis = rest_basis; m_orig_basis = basis; SetBasis(basis); m_translation = MT_Vector3(0, length, 0); m_orig_translation = m_translation; }
int SetRotMxInfo(const int *R, T_SMxI *SI) { int Order, AbsOrder, i; int M_ProperR[9]; const int *ProperR; int M_CumMx[9], *CumMx; if (SI) ResetSeitzMxInfo(SI, 0); Order = GetRotMxOrder(R); if (Order == 0) return 0; ProperR = R; AbsOrder = Order; if (AbsOrder < 0) { AbsOrder *= -1; for (i = 0; i < 9; i++) M_ProperR[i] = -R[i]; ProperR = M_ProperR; } CumMx = NULL; if (SI != NULL) CumMx = M_CumMx; if (VerifyRotMxOrder(ProperR, AbsOrder, CumMx) != 0) return 0; if (SI) { if (SetBasis(ProperR, AbsOrder, CumMx, SI->Basis) != 0) { ResetSeitzMxInfo(SI, 0); return 0; } SI->SenseOfRotation = SenseOfRotation(R, Order, SI->Basis[2]); SI->Order = Order; } return Order; }
void Matrix3::SetBasis(unsigned index, Vec3Param basisVector) { SetBasis(index, basisVector[0], basisVector[1], basisVector[2]); }
GEMDen::GEMDen(string Typ, string BasName) { //Fancy constructor SetBasis(Typ,BasName); return; };