Пример #1
0
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);
}
Пример #2
0
SuperCell::SuperCell(const SuperCell *original)
{
  atoms = 0;
  for (int i = 0; i < 3; i++)
    periodic[i] = original->periodic[i];

  SetBasis(original->vectors);
}
Пример #3
0
SuperCell::SuperCell(const SuperCell &original)
{
  atoms = 0;
  for (i = 0; i < 3; i++)
    periodic[i] = original.periodic[i];

  SetBasis(original.vectors);
}
Пример #4
0
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();
}
Пример #5
0
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;
}
Пример #6
0
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;
}
Пример #7
0
	void Matrix3::SetBasis(unsigned index, Vec3Param basisVector)
	{
		SetBasis(index, basisVector[0], basisVector[1], basisVector[2]);
	}
Пример #8
0
GEMDen::GEMDen(string Typ, string BasName)
{
  //Fancy constructor
  SetBasis(Typ,BasName);
  return;
};