void CTransform::TransformPoint(float *pt3) { if(Mode == rotate) { float & ptHorz = pt3[axHorz]; float & ptVert = pt3[axVert]; float fX, fY; // find rotate angle rotate_coords(&fX, &fY, ptHorz - ptRef[axHorz], ptVert - ptRef[axVert], fAngle); ptHorz = fX + ptRef[axHorz]; ptVert = fY + ptRef[axVert]; return; } if(Mode == shear) { if( } }
ErrorCode update_res_coords(IndexValue res, FloatValue *coords, BoolValue *distmask, struct AtomData *atoms, IndexValue natoms, struct ResidueData *residues, struct ChainData *chains, IndexValue nchains, BoolValue updatemask) { IndexValue bond; FloatValue alpha; for (bond = 0; bond < residues[res].nbonds; bond++) if (residues[res].bonds[bond].type != NOT_SET) { alpha = residues[res].bonds[bond].newangle - residues[res].bonds[bond].angle; if (fabs(alpha) > MIN_FLOAT_DIFF) { rotate_coords(coords, alpha, bond, residues, res); if (updatemask) { update_distmask(distmask, atoms, natoms, bond, residues, res, chains, nchains); } residues[res].bonds[bond].angle += alpha; } } return NO_ERROR; }