### o1, o2, o3

A direction can be defined indicating explicitly the coordinates of a node
where the direction passes. For each direction family, there is a direction
passing through the origin node and as nodes are equivalent, it follows
that for any node, there is a direction of any family passing through there.

When the lattice is primitive or vectors are primitive, coordinates
**o1**, **o2**, **o3** are enough to identify any cell node.
By default, a crystallographic direction passes through the origin,
with node coordinates equal to **0**, **0**, **0**, respectively.

Example: **<direction ... o1="0" o2="0" o3="0"/>** (default)
Allowed values: integer (optional, coupled)

### o4

When the lattice is centered and vectors are conventional, the coordinates

**o1**,

**o2**,

**o3** indicate the node in the lower-left
corner of the cell where the direction passes. A fourth coordinate

**o4**
is needed to point the centered node where the direction 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.

Example: **<direction ... o4="000"/>** (default)
Allowed values: **000**, **111**, **110** **101**, **011**, **211**, **122** (optional)

### data

The geometric data defining a line direction must be entered in order to make
the direction completely independent from its reference objects. This is
accomplished with attributes

**begin_x**,

**begin_y**,

**begin_z**,
and

**end_x**,

**end_y**,

**end_z**, defining the coordinates
of the two end points.

Example: **<direction ... begin_x="0.0" begin_y="0.0" begin_z="0.0"
end_x="1.0" end_y="1.0" end_z="1.0"/>**
Allowed values: real (optional, coupled)