public class XtalSymmetry
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
private AtomSetCollectionReader |
acr |
private boolean |
applySymmetryToBonds |
private AtomSetCollection |
asc |
private SymmetryInterface |
baseSymmetry |
private float[] |
baseUnitCell |
private int |
bondCount0 |
private boolean |
centroidPacked |
private boolean |
checkAll |
private boolean |
doCentroidUnitCell |
private boolean |
doNormalize |
private boolean |
doPackUnitCell |
private int |
dtype |
private java.lang.String |
filterSymop |
private int |
firstAtom |
private int[] |
latticeCells |
private boolean |
latticeOnly |
private int |
latticeOp |
private javajs.util.P3i |
maxXYZ |
private javajs.util.P3 |
maxXYZ0 |
private javajs.util.P3i |
minXYZ |
private javajs.util.P3 |
minXYZ0 |
private javajs.util.M3 |
mTemp |
private int |
noSymmetryCount |
private int |
nVib |
private float |
packingError |
private static int |
PARTICLE_CHAIN |
private static int |
PARTICLE_NONE |
private static int |
PARTICLE_SYMOP |
private javajs.util.P3 |
ptOffset |
private javajs.util.P3 |
ptTemp |
private float |
rmaxx
range minima and maxima -- also usedf for cartesians comparisons
|
private float |
rmaxy
range minima and maxima -- also usedf for cartesians comparisons
|
private float |
rmaxz
range minima and maxima -- also usedf for cartesians comparisons
|
private float |
rminx
range minima and maxima -- also usedf for cartesians comparisons
|
private float |
rminy
range minima and maxima -- also usedf for cartesians comparisons
|
private float |
rminz
range minima and maxima -- also usedf for cartesians comparisons
|
private SymmetryInterface |
sym2 |
SymmetryInterface |
symmetry |
private float |
symmetryRange |
private javajs.util.Lst<float[]> |
trajectoryUnitCells |
private float[] |
unitCellParams |
private javajs.util.V3[] |
unitCellTranslations |
Constructor and Description |
---|
XtalSymmetry() |
Modifier and Type | Method and Description |
---|---|
Tensor |
addRotatedTensor(Atom a,
Tensor t,
int iSym,
boolean reset,
SymmetryInterface symmetry) |
(package private) int |
addSpaceGroupOperation(java.lang.String xyz,
boolean andSetLattice) |
private void |
adjustRangeMinMax(javajs.util.T3[] oabc) |
private void |
applyAllSymmetry(MSInterface ms,
javajs.util.BS bsAtoms) |
void |
applySymmetryBio(java.util.Map<java.lang.String,java.lang.Object> thisBiomolecule,
boolean applySymmetryToBonds,
java.lang.String filter) |
(package private) SymmetryInterface |
applySymmetryFromReader(SymmetryInterface readerSymmetry) |
private void |
applySymmetryLattice() |
private void |
duplicateAtomProperties(int nTimes) |
private void |
finalizeSymmetry(SymmetryInterface symmetry) |
void |
finalizeUnitCell(javajs.util.P3 ptSupercell)
Ensure that ModelLoader sets up the supercell unit cell.
|
SymmetryInterface |
getBaseSymmetry()
Get the symmetry that was in place prior to any supercell business
|
javajs.util.T3 |
getOverallSpan() |
(package private) SymmetryInterface |
getSymmetry() |
boolean |
isWithinCell(int dtype,
javajs.util.P3 pt,
float minX,
float maxX,
float minY,
float maxY,
float minZ,
float maxZ,
float slop) |
private void |
reset() |
void |
scaleFractionalVibs()
magCIF files have moments expressed as Bohr magnetons along
the cryrstallographic axes.
|
XtalSymmetry |
set(AtomSetCollectionReader reader) |
private void |
setAtomSetSpaceGroupName(java.lang.String spaceGroupName) |
private void |
setLatticeCells() |
void |
setLatticeParameter(int latt) |
void |
setSpaceGroupFrom(SymmetryInterface readerSymmetry) |
int |
setSpinVectors() |
(package private) SymmetryInterface |
setSymmetry(SymmetryInterface symmetry) |
private void |
setSymmetryMinMax(javajs.util.P3 c) |
private void |
setSymmetryOps() |
private void |
setSymmetryRange(float factor) |
(package private) void |
setTensors() |
void |
setTimeReversal(int op,
int timeRev) |
private void |
setUnitCell(float[] info,
javajs.util.M3 matUnitCellOrientation,
javajs.util.P3 unitCellOffset) |
private int |
symmetryAddAtoms(int transX,
int transY,
int transZ,
int baseCount,
int pt,
int iCellOpPt,
javajs.util.P3[] cartesians,
MSInterface ms,
javajs.util.BS excludedOps,
int[] atomMap) |
private javajs.util.BS |
updateBSAtoms()
Update asc.bsAtoms to include all atoms, or at least all
atoms that are still viable from the reader.
|
private AtomSetCollection asc
private AtomSetCollectionReader acr
public SymmetryInterface symmetry
private float[] unitCellParams
private float[] baseUnitCell
private float symmetryRange
private boolean doCentroidUnitCell
private boolean centroidPacked
private float packingError
private java.lang.String filterSymop
private boolean applySymmetryToBonds
private int[] latticeCells
private javajs.util.Lst<float[]> trajectoryUnitCells
private boolean doNormalize
private boolean doPackUnitCell
private SymmetryInterface baseSymmetry
private SymmetryInterface sym2
private float rminx
private float rminy
private float rminz
private float rmaxx
private float rmaxy
private float rmaxz
private final javajs.util.P3 ptOffset
private javajs.util.P3i minXYZ
private javajs.util.P3i maxXYZ
private javajs.util.P3 minXYZ0
private javajs.util.P3 maxXYZ0
private boolean checkAll
private int bondCount0
private int dtype
private javajs.util.V3[] unitCellTranslations
private int latticeOp
private boolean latticeOnly
private int noSymmetryCount
private int firstAtom
private static final int PARTICLE_NONE
private static final int PARTICLE_CHAIN
private static final int PARTICLE_SYMOP
private javajs.util.P3 ptTemp
private javajs.util.M3 mTemp
private int nVib
public XtalSymmetry set(AtomSetCollectionReader reader)
SymmetryInterface getSymmetry()
SymmetryInterface setSymmetry(SymmetryInterface symmetry)
private void setSymmetryRange(float factor)
private void setLatticeCells()
private void setUnitCell(float[] info, javajs.util.M3 matUnitCellOrientation, javajs.util.P3 unitCellOffset)
int addSpaceGroupOperation(java.lang.String xyz, boolean andSetLattice)
public void setLatticeParameter(int latt)
SymmetryInterface applySymmetryFromReader(SymmetryInterface readerSymmetry) throws java.lang.Exception
java.lang.Exception
public void setSpaceGroupFrom(SymmetryInterface readerSymmetry)
private void setAtomSetSpaceGroupName(java.lang.String spaceGroupName)
private void applySymmetryLattice() throws java.lang.Exception
java.lang.Exception
private javajs.util.BS updateBSAtoms()
private void adjustRangeMinMax(javajs.util.T3[] oabc)
private void setSymmetryMinMax(javajs.util.P3 c)
public boolean isWithinCell(int dtype, javajs.util.P3 pt, float minX, float maxX, float minY, float maxY, float minZ, float maxZ, float slop)
private void applyAllSymmetry(MSInterface ms, javajs.util.BS bsAtoms) throws java.lang.Exception
ms
- modulated structure interfacebsAtoms
- relating to supercellsjava.lang.Exception
private int symmetryAddAtoms(int transX, int transY, int transZ, int baseCount, int pt, int iCellOpPt, javajs.util.P3[] cartesians, MSInterface ms, javajs.util.BS excludedOps, int[] atomMap) throws java.lang.Exception
java.lang.Exception
private void duplicateAtomProperties(int nTimes)
private void finalizeSymmetry(SymmetryInterface symmetry)
private void setSymmetryOps()
public javajs.util.T3 getOverallSpan()
public void applySymmetryBio(java.util.Map<java.lang.String,java.lang.Object> thisBiomolecule, boolean applySymmetryToBonds, java.lang.String filter)
private void reset()
public Tensor addRotatedTensor(Atom a, Tensor t, int iSym, boolean reset, SymmetryInterface symmetry)
void setTensors()
public void setTimeReversal(int op, int timeRev)
public int setSpinVectors()
public void scaleFractionalVibs()
public SymmetryInterface getBaseSymmetry()
public void finalizeUnitCell(javajs.util.P3 ptSupercell)
ptSupercell
-