org.jmol.symmetry
Class PointGroup

java.lang.Object
  extended by org.jmol.symmetry.PointGroup

 class PointGroup
extends Object


Nested Class Summary
private  class PointGroup.Operation
           
 
Field Summary
private static int ATOM_COUNT_MAX
           
private  Point3f[] atoms
           
private  PointGroup.Operation[][] axes
           
private static int[] axesMaxN
           
private  BitSet 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  Point3f center
           
private  int centerAtomIndex
           
private  float cosTolerance
           
private  float distanceTolerance
           
(package private)  int drawIndex
           
(package private)  String drawInfo
           
(package private)  String drawType
           
(package private)  int[] eCounts
           
private  int[] elements
           
private static int firstProper
           
private  boolean haveInversionCenter
           
(package private)  Map info
           
private  float linearTolerance
           
private static int maxAxis
           
(package private)  int maxElement
           
private  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  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
           
(package private)  String textInfo
           
(package private) static String[] typeNames
           
private  Vector3f vTemp
           
 
Constructor Summary
private PointGroup()
           
 
Method Summary
private  void addAxis(int iOrder, Vector3f v)
           
private  boolean checkAxisOrder(int iOrder, Vector3f v, Point3f center)
           
private  boolean checkOperation(Quaternion q, Point3f center, int iOrder)
           
private  void findAdditionalAxes(int nPlanes)
           
private  int findCAxes()
           
private  void findInversionCenter()
           
private  int findPlanes()
           
private  void getAllAxes(Vector3f v3)
           
private  boolean getAtomsAndElements(Atom[] atomset, BitSet bsAtoms)
           
private  void getElementCounts()
           
private  int getHighestOrder()
           
(package private)  Object getInfo(int modelIndex, boolean asDraw, boolean asInfo, String type, int index, float scaleFactor)
           
(package private)  String getName()
           
private  int getPlane(Vector3f v3)
           
(package private) static PointGroup getPointGroup(PointGroup pgLast, Atom[] atomset, BitSet bsAtoms, boolean haveVibration, float distanceTolerance, float linearTolerance)
           
private  boolean haveAxis(int iOrder, Vector3f v)
           
(package private)  boolean isDrawType(String type, int index)
           
private  boolean isEqual(PointGroup pg)
           
private  boolean isLinear(Point3f[] atoms)
           
private  boolean isParallel(Vector3f v1, Vector3f v2)
           
private  boolean isPerpendicular(Vector3f v1, Vector3f v2)
           
private  boolean set(PointGroup pgLast, Atom[] atomset, BitSet bsAtoms, boolean haveVibration, float distanceTolerance, float linearTolerance)
           
private  PointGroup.Operation setPrincipalAxis(int n, int nPlanes)
           
private  PointGroup.Operation setPrincipalPlane(int n, int nPlanes)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

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

nAxes

private int[] nAxes

axes

private PointGroup.Operation[][] axes

nAtoms

private int nAtoms

radius

private float radius

distanceTolerance

private float distanceTolerance

linearTolerance

private float linearTolerance

cosTolerance

private float cosTolerance

name

private String name

principalAxis

private PointGroup.Operation principalAxis

principalPlane

private PointGroup.Operation principalPlane

vTemp

private final Vector3f vTemp

centerAtomIndex

private int centerAtomIndex

haveInversionCenter

private boolean haveInversionCenter

center

private final Point3f center

atoms

private Point3f[] atoms

elements

private int[] elements

bsAtoms

private BitSet bsAtoms

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 String[] typeNames

nOps

int nOps

drawInfo

String drawInfo

drawType

String drawType

drawIndex

int drawIndex

info

Map info

textInfo

String textInfo
Constructor Detail

PointGroup

private PointGroup()
Method Detail

getName

String getName()

getPointGroup

static PointGroup getPointGroup(PointGroup pgLast,
                                Atom[] atomset,
                                BitSet bsAtoms,
                                boolean haveVibration,
                                float distanceTolerance,
                                float linearTolerance)

isEqual

private boolean isEqual(PointGroup pg)

set

private boolean set(PointGroup pgLast,
                    Atom[] atomset,
                    BitSet bsAtoms,
                    boolean haveVibration,
                    float distanceTolerance,
                    float linearTolerance)

setPrincipalAxis

private PointGroup.Operation setPrincipalAxis(int n,
                                              int nPlanes)

setPrincipalPlane

private PointGroup.Operation setPrincipalPlane(int n,
                                               int nPlanes)

getAtomsAndElements

private boolean getAtomsAndElements(Atom[] atomset,
                                    BitSet bsAtoms)

findInversionCenter

private void findInversionCenter()

checkOperation

private boolean checkOperation(Quaternion q,
                               Point3f center,
                               int iOrder)

isLinear

private boolean isLinear(Point3f[] atoms)

isParallel

private boolean isParallel(Vector3f v1,
                           Vector3f v2)

isPerpendicular

private boolean isPerpendicular(Vector3f v1,
                                Vector3f v2)

getElementCounts

private void getElementCounts()

findCAxes

private int findCAxes()

getAllAxes

private void getAllAxes(Vector3f v3)

getHighestOrder

private int getHighestOrder()

checkAxisOrder

private boolean checkAxisOrder(int iOrder,
                               Vector3f v,
                               Point3f center)

addAxis

private void addAxis(int iOrder,
                     Vector3f v)

haveAxis

private boolean haveAxis(int iOrder,
                         Vector3f v)

findPlanes

private int findPlanes()

getPlane

private int getPlane(Vector3f v3)

findAdditionalAxes

private void findAdditionalAxes(int nPlanes)

getInfo

Object getInfo(int modelIndex,
               boolean asDraw,
               boolean asInfo,
               String type,
               int index,
               float scaleFactor)

isDrawType

boolean isDrawType(String type,
                   int index)