Two different approaches are used to determine the intersection of two geometrical entities in the GPM module for volume geometry. The first uses analytical methods and subdivides into special cases. Computations are carried out using the simplest algorithm for each separate problem. The second approach is applied to the more complicated surfaces and is based on a purely numerical method. Both methods are described with some details of the implementation and with examples. Tolerances for rounding errors and user-defined tolerances are integrated into all levels of the programs. They support numerical stability by broadening the range of definition of special cases.