# Plane Create

Set here the atomic structure to include, and the range of planes to create, for a given crystallographic family.

### Structure

It is often useful to recreate in a plane the atomic structure existing in the parent object. A list is first created, with all the atoms closer to the plane than the distance defined by Thickness.

When Structure is set to Copy, listed atoms are copied to the atomic or crystallographic planes just created. When Structure is set to Link, listed atoms are linked to the atomic or crystallographic planes just created. When Structure is set to None, only a polygonal representation of the plane is created, without atoms.

### Filter

After collecting a list of atoms close enough to the plane, a filtering condition may be applied. This can be very useful to avoid atom superposition, resulting for example from atoms copied before to different planes.

When Filter is set to Class, atoms belonging to another planes are ignored. When Filter is set to Child, atoms not belonging directly to the plane parent are ignored. When Filter is set to Identical, atoms closer than a given distance (currently 1.0E-2, as defined in GAMGI_MATH_TOLERANCE_STRUCTURE) to a previous atom are ignored. When Filter is set to None, no filtering condition is applied.

### Thickness

The polygonal representation of a plane is expanded as much as possible, limited by the cell volume, in crystallographic planes, and by the atoms within a Thickness range of the plane defined by the three atoms, in atomic planes.

### Range

A crystallographic plane does not exist as a single plane, is always part of a family of infinite planes, passing through all the lattice nodes, with equal distances between them. Each plane of a family (h k l) intersects the lattice in n/h n/k n/l, where n = 0 means the plane passing through the origin and n = 1 is the usual representation of the plane closest to the origin.

The range of planes to create is defined by the values entered near to the buttons Start and End, describing the initial and final values of n. For example, setting Start to -1 and End to 1 creates 3 planes, intersecting the axes in: 1) -1/h -1/k -1/l; 2) 0; 3) 1/h 1/k 1/l. By default, only the nearest plane to the origin is considered: Start = 1 and End = 1.

Pressing the Start button, the entry is disabled and GAMGI creates automatically all the planes from the beginning of the cell volume to the final plane specified. Pressing the End button, the entry is disabled and GAMGI creates automatically all the planes from the end of the cell volume to the first plane specified. When both buttons are pressed, GAMGI creates automatically all the planes from the beginning to the end of the cell volume.

### Node

A plane can also be defined indicating explicitly the coordinates of a node where the plane passes. For each plane family, there is a plane passing through the origin node and as nodes are equivalent, it follows that for any node, there is a plane of any family passing through there. To select the node, press Node, to open a second level dialog.

### o1, o2, o3

These entries provide the coordinates of the node in the lower-left corner of the cell where the plane passes, calculated with conventional or primitive cell vectors. When the lattice is primitive or vectors are primitive, this corner node becomes the place where the plane passes.

### o4

When the lattice is centered and vectors are conventional, a fourth coordinate o4 is needed to point the centered node where the plane passes. By default, o4 is 000, so no change is introduced. When the cell lattice is primitive P or the vectors defining the node are primitive, that is the only possible value for o4. For I, C, F, R centered lattices, o4 can also take the values:
```I: 111
C: 110
F: 110, 101, 011
R: 211, 122
```
corresponding to the numerators of the inner node coordinates, (1/2 1/2 1/2) for I lattices, (1/2 1/2 0) for C lattices, (0 1/2 1/2) (1/2 0 1/2) (1/2 1/2 0) for F lattices and (1/3 2/3 2/3) (2/3 1/3 1/3) for R lattices.

After entering the node coordinates, pressing Ok saves the data, closes the second level dialog, and disables the range information in the first level dialog. Pressing Cancel, the current data in both dialogs is maintained and the second level dialog is closed.

Pressing Range in the first level dialog, removes the second level data, closes the second level dialog, enables and initializes (if empty) the range data.

The vectors used for the node coordinates, Conventional or Primitive, are those used to define the plane indices, in the Type page, of the first dialog.

When adding information in the second level dialog, the cell must have been entered before, so GAMGI can check if the node information is correct or not. For the same reason, when the Cell or Vectors information in the Type page is changed, all the information in the second level dialog is automatically discarded, as it might be wrong.