# Class XtalSymmetry

java.lang.Object
org.jmol.adapter.smarter.XtalSymmetry

public class XtalSymmetry extends Object
A class used by AtomSetCollection for building the symmetry of a model and generating new atoms based on that symmetry.

## Nested Class Summary

Nested Classes
Modifier and Type
Class
Description
`static class`
`XtalSymmetry.FileSymmetry`
A class only used by adapter.smarter.XtalSymmetry while building the file-based model.

## Constructor Summary

Constructors
Constructor
Description
`XtalSymmetry()`

## Method Summary

Modifier and Type
Method
Description
`Tensor`
`addRotatedTensor(Atom a, Tensor t, int iSym, boolean reset, XtalSymmetry.FileSymmetry symmetry)`
`void`
`applySymmetryBio(Map<String,Object> thisBiomolecule, boolean applySymmetryToBonds, String filter)`
`void`
`finalizeMoments(String spinFrame, String spinFrameExt)`
from XtalSymmetry.applySymmetryFromReader via CifReader and JanaReader doPreSymmetry
`XtalSymmetry.FileSymmetry`
`getBaseSymmetry()`
Get the symmetry that was in place prior to any supercell business.
`T3`
`getOverallSpan()`
`XtalSymmetry.FileSymmetry`
`getSymmetry()`
`static boolean`
`isWithinSupercell(int ndims, P3 pt, float minX, float maxX, float minY, float maxY, float minZ, float maxZ, float slop)`
`XtalSymmetry.FileSymmetry`
`newFileSymmetry()`
`XtalSymmetry`
`set(AtomSetCollectionReader reader)`
`void`
`setLatticeParameter(int latt)`
Shelx and Wien2k readers
`int`
`setMagneticMoments(boolean isCartesian)`
One of the last things to do for a spin space group: Set the spin vectors, possibly based on spinFrameCartXYZ.
`void`
`setPartProperty()`
create property_part for SHELX and CIF loaders

### Methods inherited from class Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### XtalSymmetry

public XtalSymmetry()

## Method Details

### addRotatedTensor

public Tensor addRotatedTensor(Atom a, Tensor t, int iSym, boolean reset, XtalSymmetry.FileSymmetry symmetry)

### applySymmetryBio

public void applySymmetryBio(Map<String,Object> thisBiomolecule, boolean applySymmetryToBonds, String filter)

### getBaseSymmetry

public XtalSymmetry.FileSymmetry getBaseSymmetry()
Get the symmetry that was in place prior to any supercell business.

Returns:
  base symmetry

### getOverallSpan

public T3 getOverallSpan()

### getSymmetry

public XtalSymmetry.FileSymmetry getSymmetry()

### isWithinSupercell

public static boolean isWithinSupercell(int ndims, P3 pt, float minX, float maxX, float minY, float maxY, float minZ, float maxZ, float slop)

### set

public XtalSymmetry set(AtomSetCollectionReader reader)

### setLatticeParameter

public void setLatticeParameter(int latt)
Shelx and Wien2k readers

Parameters:
  `latt` -

### finalizeMoments

public void finalizeMoments(String spinFrame, String spinFrameExt)
from XtalSymmetry.applySymmetryFromReader via CifReader and JanaReader doPreSymmetry

Parameters:
  `spinFrame` -
  `spinFrameExt` -

### setMagneticMoments

public int setMagneticMoments(boolean isCartesian)
One of the last things to do for a spin space group: Set the spin vectors, possibly based on spinFrameCartXYZ. From CifReader.finalizeSubclassSymmetry after supercell business.

Parameters:
  `isCartesian` - TODO
Returns:
  number of atoms with nonzero spin (atom.vib)

### setPartProperty

public void setPartProperty()
create property_part for SHELX and CIF loaders

### newFileSymmetry

public XtalSymmetry.FileSymmetry newFileSymmetry()