public class Symmetry extends Object implements SymmetryInterface
Modifier and Type | Field and Description |
---|---|
private boolean |
isBio |
private PointGroup |
pointGroup |
private SpaceGroup |
spaceGroup |
private SymmetryInfo |
symmetryInfo |
private UnitCell |
unitCell |
Constructor and Description |
---|
Symmetry() |
Modifier and Type | Method and Description |
---|---|
int |
addBioMoleculeOperation(javajs.util.M4 mat,
boolean isReverse) |
void |
addLatticeVectors(javajs.util.List<float[]> lattvecs) |
String |
addOp(javajs.util.Matrix rs,
javajs.util.Matrix vs) |
int |
addSpaceGroupOperation(String xyz,
int opId) |
boolean |
checkDistance(javajs.util.P3 f1,
javajs.util.P3 f2,
float distance,
float dx,
int iRange,
int jRange,
int kRange,
javajs.util.P3 ptOffset) |
boolean |
checkUnitCell(SymmetryInterface uc,
javajs.util.P3 cell,
javajs.util.P3 ptTemp,
boolean isAbsolute) |
boolean |
createSpaceGroup(int desiredSpaceGroupIndex,
String name,
Object object) |
String |
fcoord(javajs.util.T3 p) |
javajs.util.P3[] |
getCanonicalCopy(float scale,
boolean withOffset) |
javajs.util.P3 |
getCartesianOffset() |
int[] |
getCellRange() |
boolean |
getCoordinatesAreFractional() |
javajs.util.P3 |
getFractionalOffset() |
Object |
getLatticeDesignation() |
int |
getLatticeOp() |
String |
getMatrixFromString(String xyz,
float[] rotTransMatrix,
boolean allowScaling,
int modDim) |
float[] |
getNotionalUnitCell() |
javajs.util.Matrix |
getOperationRsVs(int iop) |
Object |
getPointGroupInfo(int modelIndex,
boolean asDraw,
boolean asInfo,
String type,
int index,
float scale) |
String |
getPointGroupName() |
int |
getSiteMultiplicity(javajs.util.P3 pt) |
Object |
getSpaceGroup() |
Map<String,Object> |
getSpaceGroupInfo(ModelSet modelSet,
int modelIndex,
String spaceGroup,
int symOp,
javajs.util.P3 pt1,
javajs.util.P3 pt2,
String drawID) |
String |
getSpaceGroupInfo(String name,
SymmetryInterface cellInfo) |
String |
getSpaceGroupName() |
javajs.util.M4 |
getSpaceGroupOperation(int i) |
int |
getSpaceGroupOperationCount() |
String |
getSpaceGroupXyz(int i,
boolean doNormalize) |
Object |
getSymmetryInfo(ModelSet modelSet,
int iModel,
int iAtom,
SymmetryInterface uc,
String xyz,
int op,
javajs.util.P3 pt,
javajs.util.P3 pt2,
String id,
int type) |
String |
getSymmetryInfoString() |
String |
getSymmetryInfoString(Map<String,Object> sginfo,
int symOp,
String drawID,
boolean labelOnly) |
Object[] |
getSymmetryOperationDescription(ModelSet modelSet,
int isym,
SymmetryInterface cellInfo,
javajs.util.P3 pt1,
javajs.util.P3 pt2,
String id) |
String[] |
getSymmetryOperations() |
Tensor |
getTensor(float[] parBorU) |
SymmetryInterface |
getUnitCell(javajs.util.T3[] points,
boolean setRelative) |
float[] |
getUnitCellAsArray(boolean vectorsOnly) |
String |
getUnitCellInfo() |
float |
getUnitCellInfoType(int infoType) |
javajs.util.P3 |
getUnitCellMultiplier() |
String |
getUnitCellState() |
javajs.util.V3[] |
getUnitCellVectors() |
javajs.util.P3[] |
getUnitCellVertices() |
String |
getUnitsymmetryInfo() |
boolean |
haveUnitCell() |
boolean |
isBio() |
private boolean |
isNotCentroid(javajs.util.P3 center,
int n,
int[] minmax,
boolean centroidPacked) |
boolean |
isPeriodic() |
boolean |
isPolymer() |
boolean |
isSlab() |
boolean |
isSupercell() |
void |
newSpaceGroupPoint(int i,
javajs.util.P3 atom1,
javajs.util.P3 atom2,
int transX,
int transY,
int transZ) |
BS |
notInCentroid(ModelSet modelSet,
BS bsAtoms,
int[] minmax) |
javajs.util.V3[] |
rotateAxes(int iop,
javajs.util.V3[] axes,
javajs.util.P3 ptTemp,
javajs.util.M3 mTemp) |
void |
setCartesianOffset(javajs.util.T3 origin) |
void |
setFinalOperations(String name,
javajs.util.P3[] atoms,
int iAtomFirst,
int noSymmetryCount,
boolean doNormalize) |
void |
setLattice(int latt)
set symmetry lattice type using Hall rotations
|
void |
setMinMaxLatticeParameters(javajs.util.P3i minXYZ,
javajs.util.P3i maxXYZ) |
void |
setOffset(int nnn) |
void |
setOffsetPt(javajs.util.P3 pt) |
SymmetryInterface |
setPointGroup(SymmetryInterface siLast,
Atom[] atomset,
BS bsAtoms,
boolean haveVibration,
float distanceTolerance,
float linearTolerance) |
void |
setSpaceGroup(boolean doNormalize) |
void |
setSpaceGroupS(SymmetryInterface symmetry) |
void |
setSymmetryInfo(int modelIndex,
Map<String,Object> modelAuxiliaryInfo) |
void |
setUnitCell(float[] notionalUnitCell) |
void |
setUnitCellAllFractionalRelative(boolean TF) |
void |
setUnitCellOrientation(javajs.util.M3 matUnitCellOrientation) |
void |
toCartesian(javajs.util.T3 fpt,
boolean isAbsolute) |
void |
toFractional(javajs.util.T3 pt,
boolean isAbsolute) |
javajs.util.P3 |
toSupercell(javajs.util.P3 fpt) |
void |
toUnitCell(javajs.util.P3 pt,
javajs.util.P3 offset) |
boolean |
unitCellEquals(SymmetryInterface uc2) |
void |
unitize(javajs.util.P3 ptFrac) |
private PointGroup pointGroup
private SpaceGroup spaceGroup
private SymmetryInfo symmetryInfo
private UnitCell unitCell
private boolean isBio
public SymmetryInterface setPointGroup(SymmetryInterface siLast, Atom[] atomset, BS bsAtoms, boolean haveVibration, float distanceTolerance, float linearTolerance)
setPointGroup
in interface SymmetryInterface
public String getPointGroupName()
getPointGroupName
in interface SymmetryInterface
public Object getPointGroupInfo(int modelIndex, boolean asDraw, boolean asInfo, String type, int index, float scale)
getPointGroupInfo
in interface SymmetryInterface
public void setSpaceGroup(boolean doNormalize)
setSpaceGroup
in interface SymmetryInterface
public int addSpaceGroupOperation(String xyz, int opId)
addSpaceGroupOperation
in interface SymmetryInterface
public int addBioMoleculeOperation(javajs.util.M4 mat, boolean isReverse)
addBioMoleculeOperation
in interface SymmetryInterface
public void setLattice(int latt)
SymmetryInterface
setLattice
in interface SymmetryInterface
latt
- SHELX index or character lattice character P I R F A B C S T or \0public String getSpaceGroupName()
getSpaceGroupName
in interface SymmetryInterface
public Object getSpaceGroup()
getSpaceGroup
in interface SymmetryInterface
public void setSpaceGroupS(SymmetryInterface symmetry)
setSpaceGroupS
in interface SymmetryInterface
public boolean createSpaceGroup(int desiredSpaceGroupIndex, String name, Object object)
createSpaceGroup
in interface SymmetryInterface
public String getSpaceGroupInfo(String name, SymmetryInterface cellInfo)
getSpaceGroupInfo
in interface SymmetryInterface
public Object getLatticeDesignation()
getLatticeDesignation
in interface SymmetryInterface
public void setFinalOperations(String name, javajs.util.P3[] atoms, int iAtomFirst, int noSymmetryCount, boolean doNormalize)
setFinalOperations
in interface SymmetryInterface
public int getSpaceGroupOperationCount()
getSpaceGroupOperationCount
in interface SymmetryInterface
public javajs.util.M4 getSpaceGroupOperation(int i)
getSpaceGroupOperation
in interface SymmetryInterface
public String getSpaceGroupXyz(int i, boolean doNormalize)
getSpaceGroupXyz
in interface SymmetryInterface
public void newSpaceGroupPoint(int i, javajs.util.P3 atom1, javajs.util.P3 atom2, int transX, int transY, int transZ)
newSpaceGroupPoint
in interface SymmetryInterface
public javajs.util.V3[] rotateAxes(int iop, javajs.util.V3[] axes, javajs.util.P3 ptTemp, javajs.util.M3 mTemp)
rotateAxes
in interface SymmetryInterface
public Object[] getSymmetryOperationDescription(ModelSet modelSet, int isym, SymmetryInterface cellInfo, javajs.util.P3 pt1, javajs.util.P3 pt2, String id)
public String fcoord(javajs.util.T3 p)
fcoord
in interface SymmetryInterface
public String getMatrixFromString(String xyz, float[] rotTransMatrix, boolean allowScaling, int modDim)
getMatrixFromString
in interface SymmetryInterface
public boolean getCoordinatesAreFractional()
getCoordinatesAreFractional
in interface SymmetryInterface
public int[] getCellRange()
getCellRange
in interface SymmetryInterface
public String getSymmetryInfoString()
getSymmetryInfoString
in interface SymmetryInterface
public String[] getSymmetryOperations()
getSymmetryOperations
in interface SymmetryInterface
public boolean isPeriodic()
isPeriodic
in interface SymmetryInterface
public void setSymmetryInfo(int modelIndex, Map<String,Object> modelAuxiliaryInfo)
setSymmetryInfo
in interface SymmetryInterface
public void setUnitCell(float[] notionalUnitCell)
setUnitCell
in interface SymmetryInterface
public boolean haveUnitCell()
haveUnitCell
in interface SymmetryInterface
public String getUnitsymmetryInfo()
public void setUnitCellOrientation(javajs.util.M3 matUnitCellOrientation)
setUnitCellOrientation
in interface SymmetryInterface
public void unitize(javajs.util.P3 ptFrac)
unitize
in interface SymmetryInterface
public void toUnitCell(javajs.util.P3 pt, javajs.util.P3 offset)
toUnitCell
in interface SymmetryInterface
public void toCartesian(javajs.util.T3 fpt, boolean isAbsolute)
toCartesian
in interface SymmetryInterface
public javajs.util.P3 toSupercell(javajs.util.P3 fpt)
toSupercell
in interface SymmetryInterface
public void toFractional(javajs.util.T3 pt, boolean isAbsolute)
toFractional
in interface SymmetryInterface
public float[] getNotionalUnitCell()
getNotionalUnitCell
in interface SymmetryInterface
public float[] getUnitCellAsArray(boolean vectorsOnly)
getUnitCellAsArray
in interface SymmetryInterface
public Tensor getTensor(float[] parBorU)
getTensor
in interface SymmetryInterface
public javajs.util.P3[] getUnitCellVertices()
getUnitCellVertices
in interface SymmetryInterface
public javajs.util.P3 getCartesianOffset()
getCartesianOffset
in interface SymmetryInterface
public void setCartesianOffset(javajs.util.T3 origin)
setCartesianOffset
in interface SymmetryInterface
public javajs.util.P3 getFractionalOffset()
getFractionalOffset
in interface SymmetryInterface
public void setOffsetPt(javajs.util.P3 pt)
setOffsetPt
in interface SymmetryInterface
public void setOffset(int nnn)
setOffset
in interface SymmetryInterface
public javajs.util.P3 getUnitCellMultiplier()
getUnitCellMultiplier
in interface SymmetryInterface
public javajs.util.P3[] getCanonicalCopy(float scale, boolean withOffset)
getCanonicalCopy
in interface SymmetryInterface
public float getUnitCellInfoType(int infoType)
getUnitCellInfoType
in interface SymmetryInterface
public String getUnitCellInfo()
getUnitCellInfo
in interface SymmetryInterface
public boolean isSlab()
isSlab
in interface SymmetryInterface
public boolean isPolymer()
isPolymer
in interface SymmetryInterface
public void setMinMaxLatticeParameters(javajs.util.P3i minXYZ, javajs.util.P3i maxXYZ)
setMinMaxLatticeParameters
in interface SymmetryInterface
public void setUnitCellAllFractionalRelative(boolean TF)
setUnitCellAllFractionalRelative
in interface SymmetryInterface
public boolean checkDistance(javajs.util.P3 f1, javajs.util.P3 f2, float distance, float dx, int iRange, int jRange, int kRange, javajs.util.P3 ptOffset)
checkDistance
in interface SymmetryInterface
public javajs.util.V3[] getUnitCellVectors()
getUnitCellVectors
in interface SymmetryInterface
public SymmetryInterface getUnitCell(javajs.util.T3[] points, boolean setRelative)
getUnitCell
in interface SymmetryInterface
public boolean isSupercell()
isSupercell
in interface SymmetryInterface
public String getSymmetryInfoString(Map<String,Object> sginfo, int symOp, String drawID, boolean labelOnly)
getSymmetryInfoString
in interface SymmetryInterface
public Map<String,Object> getSpaceGroupInfo(ModelSet modelSet, int modelIndex, String spaceGroup, int symOp, javajs.util.P3 pt1, javajs.util.P3 pt2, String drawID)
getSpaceGroupInfo
in interface SymmetryInterface
public Object getSymmetryInfo(ModelSet modelSet, int iModel, int iAtom, SymmetryInterface uc, String xyz, int op, javajs.util.P3 pt, javajs.util.P3 pt2, String id, int type)
getSymmetryInfo
in interface SymmetryInterface
public BS notInCentroid(ModelSet modelSet, BS bsAtoms, int[] minmax)
notInCentroid
in interface SymmetryInterface
private boolean isNotCentroid(javajs.util.P3 center, int n, int[] minmax, boolean centroidPacked)
public boolean checkUnitCell(SymmetryInterface uc, javajs.util.P3 cell, javajs.util.P3 ptTemp, boolean isAbsolute)
checkUnitCell
in interface SymmetryInterface
public boolean unitCellEquals(SymmetryInterface uc2)
unitCellEquals
in interface SymmetryInterface
public void addLatticeVectors(javajs.util.List<float[]> lattvecs)
addLatticeVectors
in interface SymmetryInterface
public int getLatticeOp()
getLatticeOp
in interface SymmetryInterface
public javajs.util.Matrix getOperationRsVs(int iop)
getOperationRsVs
in interface SymmetryInterface
public int getSiteMultiplicity(javajs.util.P3 pt)
getSiteMultiplicity
in interface SymmetryInterface
public boolean isBio()
isBio
in interface SymmetryInterface
public String addOp(javajs.util.Matrix rs, javajs.util.Matrix vs)
addOp
in interface SymmetryInterface
public String getUnitCellState()
getUnitCellState
in interface SymmetryInterface