public class SimpleUnitCell
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
protected float |
a |
protected double |
a_ |
protected float |
alpha |
protected float |
b |
protected double |
b_ |
protected float |
beta |
protected float |
c |
protected double |
c_ |
protected double |
cA_ |
protected double |
cB_ |
protected double |
cosAlpha |
protected double |
cosBeta |
protected double |
cosGamma |
protected int |
dimension |
private javajs.util.P3 |
fractionalOrigin |
protected float |
gamma |
static int |
INFO_A |
static int |
INFO_ALPHA |
static int |
INFO_B |
static int |
INFO_BETA |
static int |
INFO_C |
static int |
INFO_DIMENSIONS |
static int |
INFO_GAMMA |
javajs.util.M4 |
matrixCartesianToFractional |
protected javajs.util.M4 |
matrixCtoFANoOffset |
javajs.util.M4 |
matrixFractionalToCartesian |
protected javajs.util.M4 |
matrixFtoCNoOffset |
private int |
na |
private int |
nb |
private int |
nc |
protected float[] |
notionalUnitcell |
protected double |
sinAlpha |
protected double |
sinBeta |
protected double |
sinGamma |
protected static float |
toRadians |
double |
volume |
Modifier | Constructor and Description |
---|---|
protected |
SimpleUnitCell() |
Modifier and Type | Method and Description |
---|---|
static float |
getCellWeight(javajs.util.P3 pt)
calculate weighting of 1 (interior), 0.5 (face), 0.25 (edge), or 0.125 (vertex)
|
javajs.util.T3 |
getFractionalOrigin() |
float |
getInfo(int infoType) |
float[] |
getNotionalUnitCell() |
float[] |
getUnitCellAsArray(boolean vectorsOnly) |
static void |
ijkToPoint3f(int nnn,
javajs.util.P3 cell,
int offset)
Expanded cell notation:
111 - 1000 --> center 5,5,5; range 0 to 9 or -5 to +4
1000000 - 1999999 --> center 50,50,50; range 0 to 99 or -50 to +49
1000000000 - 1999999999 --> center 500, 500, 500; range 0 to 999 or -500 to +499
|
protected void |
init(float[] parameters) |
boolean |
isPolymer() |
boolean |
isSlab() |
boolean |
isSupercell() |
static boolean |
isValid(float[] parameters) |
static SimpleUnitCell |
newA(float[] parameters) |
private void |
setABC(javajs.util.V3 va,
javajs.util.V3 vb,
javajs.util.V3 vc) |
private void |
setCellParams() |
private void |
setParamsFromMatrix() |
void |
toCartesian(javajs.util.T3 pt,
boolean ignoreOffset) |
void |
toFractional(javajs.util.T3 pt,
boolean isAbsolute) |
javajs.util.P3 |
toSupercell(javajs.util.P3 fpt)
convenience return only after changing fpt
|
protected float[] notionalUnitcell
public javajs.util.M4 matrixCartesianToFractional
public javajs.util.M4 matrixFractionalToCartesian
public double volume
protected static final float toRadians
private int na
private int nb
private int nc
protected float a
protected float b
protected float c
protected float alpha
protected float beta
protected float gamma
protected double cosAlpha
protected double sinAlpha
protected double cosBeta
protected double sinBeta
protected double cosGamma
protected double sinGamma
protected double cA_
protected double cB_
protected double a_
protected double b_
protected double c_
protected int dimension
private javajs.util.P3 fractionalOrigin
protected javajs.util.M4 matrixCtoFANoOffset
protected javajs.util.M4 matrixFtoCNoOffset
public static final int INFO_DIMENSIONS
public static final int INFO_GAMMA
public static final int INFO_BETA
public static final int INFO_ALPHA
public static final int INFO_C
public static final int INFO_B
public static final int INFO_A
public boolean isSupercell()
public static boolean isValid(float[] parameters)
public static SimpleUnitCell newA(float[] parameters)
protected void init(float[] parameters)
private void setParamsFromMatrix()
private void setABC(javajs.util.V3 va, javajs.util.V3 vb, javajs.util.V3 vc)
private void setCellParams()
public javajs.util.T3 getFractionalOrigin()
public javajs.util.P3 toSupercell(javajs.util.P3 fpt)
fpt
- public final void toCartesian(javajs.util.T3 pt, boolean ignoreOffset)
public final void toFractional(javajs.util.T3 pt, boolean isAbsolute)
public boolean isPolymer()
public boolean isSlab()
public final float[] getNotionalUnitCell()
public final float[] getUnitCellAsArray(boolean vectorsOnly)
public final float getInfo(int infoType)
public static void ijkToPoint3f(int nnn, javajs.util.P3 cell, int offset)
nnn
- cell
- offset
- 0 or 1 typically; < 0 means "apply no offset"public static float getCellWeight(javajs.util.P3 pt)
pt
-