public Hashtable getSpaceGroupInfo(int modelIndex, String spaceGroup,
int symOp, Point3f pt1, Point3f pt2, String drawID) {
String strOperations = null;
Hashtable info = null;
SymmetryInterface cellInfo = null;
Object[][] infolist = null;
if (spaceGroup == null) {
if (modelIndex <= 0)
modelIndex = (pt1 instanceof Atom ? ((Atom) pt1).modelIndex
: viewer.getCurrentModelIndex());
if (modelIndex < 0)
strOperations = "no single current model";
else if (unitCells == null || unitCells[modelIndex] == null)
strOperations = "not applicable";
if (strOperations != null) {
info = new Hashtable();
info.put("spaceGroupInfo", strOperations);
info.put("symmetryInfo", "");
return info;
}
if (pt1 == null && drawID == null && symOp != 0)
info = (Hashtable) getModelAuxiliaryInfo(modelIndex, "spaceGroupInfo");
if (info != null)
return info;
info = new Hashtable();
if (pt1 == null && drawID == null && symOp == 0)
setModelAuxiliaryInfo(modelIndex, "spaceGroupInfo", info);
cellInfo = unitCells[modelIndex];
spaceGroup = cellInfo.getSpaceGroupName();
String[] list = unitCells[modelIndex].getSymmetryOperations();
if (list == null) {
strOperations = "\n no symmetry operations employed";
} else {
getSymTemp(true);