Package org.jmol.symmetry
Class PointGroup
- java.lang.Object
-
- org.jmol.symmetry.PointGroup
-
class PointGroup extends java.lang.Object
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private class
PointGroup.Operation
-
Field Summary
Fields Modifier and Type Field Description private static int
ATOM_COUNT_MAX
private int[]
atomMap
private PointGroup.Operation[][]
axes
private static int[]
axesMaxN
private javajs.util.BS
bsAtoms
private static int
c2
private static int
c3
private static int
c4
private static int
c5
private static int
c6
private static int
c8
private javajs.util.T3
center
private int
centerAtomIndex
private float
cosTolerance
private float
distanceTolerance
private float
distanceTolerance2
private int
drawIndex
(package private) java.lang.String
drawInfo
private java.lang.String
drawType
(package private) int[]
eCounts
private int[]
elements
private static int
firstProper
private boolean
haveInversionCenter
private boolean
haveVibration
(package private) java.util.Map<java.lang.String,java.lang.Object>
info
private boolean
isAtoms
private CubeIterator
iter
private float
linearTolerance
private boolean
localEnvOnly
private static int
maxAxis
(package private) int
maxElement
(package private) static javajs.util.M3
mInv
private java.lang.String
name
private int
nAtoms
private int[]
nAxes
(package private) int
nOps
private static int[]
nUnique
(package private) static int
OPERATION_IMPROPER_AXIS
(package private) static int
OPERATION_INVERSION_CENTER
(package private) static int
OPERATION_PLANE
(package private) static int
OPERATION_PROPER_AXIS
private javajs.util.T3[]
points
private PointGroup.Operation
principalAxis
private PointGroup.Operation
principalPlane
private float
radius
private static int
s10
private static int
s12
private static int
s3
private static int
s4
private static int
s5
private static int
s6
private static int
s8
private float
scale
(package private) java.lang.String
textInfo
(package private) static java.lang.String[]
typeNames
private javajs.util.V3
vTemp
-
Constructor Summary
Constructors Modifier Constructor Description private
PointGroup()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private void
addAxis(int iOrder, javajs.util.V3 v)
private boolean
checkAxisOrder(int iOrder, javajs.util.V3 v, javajs.util.T3 center)
private boolean
checkOperation(javajs.util.Quat q, javajs.util.T3 center, int iOrder)
private void
findAdditionalAxes(int nPlanes)
private int
findCAxes()
private void
findInversionCenter()
private int
findPlanes()
private void
getAllAxes(javajs.util.V3 v3)
private void
getElementCounts()
private int
getHighestOrder()
(package private) java.lang.Object
getInfo(int modelIndex, java.lang.String drawID, boolean asInfo, java.lang.String type, int index, float scaleFactor)
(package private) java.lang.String
getName()
private int
getPlane(javajs.util.V3 v3)
(package private) static PointGroup
getPointGroup(PointGroup pgLast, javajs.util.T3 center, javajs.util.T3[] atomset, javajs.util.BS bsAtoms, boolean haveVibration, float distanceTolerance, float linearTolerance, boolean localEnvOnly)
private int
getPointIndex(int j)
private boolean
getPointsAndElements(javajs.util.T3[] atomset)
(package private) static javajs.util.Quat
getQuaternion(javajs.util.V3 v, int iOrder)
private boolean
haveAxis(int iOrder, javajs.util.V3 v)
(package private) boolean
isDrawType(java.lang.String type, int index, float scale)
private boolean
isEqual(PointGroup pg)
private boolean
isLinear(javajs.util.T3[] atoms)
private boolean
isParallel(javajs.util.V3 v1, javajs.util.V3 v2)
private boolean
isPerpendicular(javajs.util.V3 v1, javajs.util.V3 v2)
private boolean
set(PointGroup pgLast, javajs.util.T3[] atomset)
private PointGroup.Operation
setPrincipalAxis(int n, int nPlanes)
private PointGroup.Operation
setPrincipalPlane(int n, int nPlanes)
-
-
-
Field Detail
-
axesMaxN
private static final int[] axesMaxN
-
nUnique
private static final int[] nUnique
-
s3
private static final int s3
- See Also:
- Constant Field Values
-
s4
private static final int s4
- See Also:
- Constant Field Values
-
s5
private static final int s5
- See Also:
- Constant Field Values
-
s6
private static final int s6
- See Also:
- Constant Field Values
-
s8
private static final int s8
- See Also:
- Constant Field Values
-
s10
private static final int s10
- See Also:
- Constant Field Values
-
s12
private static final int s12
- See Also:
- Constant Field Values
-
firstProper
private static final int firstProper
- See Also:
- Constant Field Values
-
c2
private static final int c2
- See Also:
- Constant Field Values
-
c3
private static final int c3
- See Also:
- Constant Field Values
-
c4
private static final int c4
- See Also:
- Constant Field Values
-
c5
private static final int c5
- See Also:
- Constant Field Values
-
c6
private static final int c6
- See Also:
- Constant Field Values
-
c8
private static final int c8
- See Also:
- Constant Field Values
-
maxAxis
private static final int maxAxis
-
isAtoms
private boolean isAtoms
-
drawInfo
java.lang.String drawInfo
-
info
java.util.Map<java.lang.String,java.lang.Object> info
-
textInfo
java.lang.String textInfo
-
iter
private CubeIterator iter
-
drawType
private java.lang.String drawType
-
drawIndex
private int drawIndex
-
scale
private float scale
-
nAxes
private int[] nAxes
-
axes
private PointGroup.Operation[][] axes
-
nAtoms
private int nAtoms
-
radius
private float radius
-
distanceTolerance
private float distanceTolerance
-
distanceTolerance2
private float distanceTolerance2
-
linearTolerance
private float linearTolerance
-
cosTolerance
private float cosTolerance
-
name
private java.lang.String name
-
principalAxis
private PointGroup.Operation principalAxis
-
principalPlane
private PointGroup.Operation principalPlane
-
vTemp
private final javajs.util.V3 vTemp
-
centerAtomIndex
private int centerAtomIndex
-
haveInversionCenter
private boolean haveInversionCenter
-
center
private javajs.util.T3 center
-
points
private javajs.util.T3[] points
-
elements
private int[] elements
-
atomMap
private int[] atomMap
-
bsAtoms
private javajs.util.BS bsAtoms
-
haveVibration
private boolean haveVibration
-
localEnvOnly
private boolean localEnvOnly
-
ATOM_COUNT_MAX
private static final int ATOM_COUNT_MAX
- See Also:
- Constant Field Values
-
maxElement
int maxElement
-
eCounts
int[] eCounts
-
OPERATION_PLANE
static final int OPERATION_PLANE
- See Also:
- Constant Field Values
-
OPERATION_PROPER_AXIS
static final int OPERATION_PROPER_AXIS
- See Also:
- Constant Field Values
-
OPERATION_IMPROPER_AXIS
static final int OPERATION_IMPROPER_AXIS
- See Also:
- Constant Field Values
-
OPERATION_INVERSION_CENTER
static final int OPERATION_INVERSION_CENTER
- See Also:
- Constant Field Values
-
typeNames
static final java.lang.String[] typeNames
-
mInv
static final javajs.util.M3 mInv
-
nOps
int nOps
-
-
Method Detail
-
getName
java.lang.String getName()
-
getPointGroup
static PointGroup getPointGroup(PointGroup pgLast, javajs.util.T3 center, javajs.util.T3[] atomset, javajs.util.BS bsAtoms, boolean haveVibration, float distanceTolerance, float linearTolerance, boolean localEnvOnly)
- Parameters:
pgLast
-center
-atomset
- a list of Atom or other Point3fi that implements NodebsAtoms
-haveVibration
- if true, then all items in atomset must be Atom classdistanceTolerance
-linearTolerance
-localEnvOnly
-- Returns:
- a PointGroup object, possibly the last calculated for efficiency
-
isEqual
private boolean isEqual(PointGroup pg)
-
set
private boolean set(PointGroup pgLast, javajs.util.T3[] atomset)
-
setPrincipalAxis
private PointGroup.Operation setPrincipalAxis(int n, int nPlanes)
-
setPrincipalPlane
private PointGroup.Operation setPrincipalPlane(int n, int nPlanes)
-
getPointsAndElements
private boolean getPointsAndElements(javajs.util.T3[] atomset)
-
findInversionCenter
private void findInversionCenter()
-
checkOperation
private boolean checkOperation(javajs.util.Quat q, javajs.util.T3 center, int iOrder)
-
getPointIndex
private int getPointIndex(int j)
-
isLinear
private boolean isLinear(javajs.util.T3[] atoms)
-
isParallel
private boolean isParallel(javajs.util.V3 v1, javajs.util.V3 v2)
-
isPerpendicular
private boolean isPerpendicular(javajs.util.V3 v1, javajs.util.V3 v2)
-
getElementCounts
private void getElementCounts()
-
findCAxes
private int findCAxes()
-
getAllAxes
private void getAllAxes(javajs.util.V3 v3)
-
getHighestOrder
private int getHighestOrder()
-
checkAxisOrder
private boolean checkAxisOrder(int iOrder, javajs.util.V3 v, javajs.util.T3 center)
-
addAxis
private void addAxis(int iOrder, javajs.util.V3 v)
-
haveAxis
private boolean haveAxis(int iOrder, javajs.util.V3 v)
-
findPlanes
private int findPlanes()
-
getPlane
private int getPlane(javajs.util.V3 v3)
-
findAdditionalAxes
private void findAdditionalAxes(int nPlanes)
-
getQuaternion
static javajs.util.Quat getQuaternion(javajs.util.V3 v, int iOrder)
-
getInfo
java.lang.Object getInfo(int modelIndex, java.lang.String drawID, boolean asInfo, java.lang.String type, int index, float scaleFactor)
-
isDrawType
boolean isDrawType(java.lang.String type, int index, float scale)
-
-