# How to get gp_Dir orthogonal to two gp_Dirs in OpenCASCADE

*OCCUtils* provides convenience functions for computing the orthogonal direction to two directions:

```
#include <occutils/Direction.hxx>
using namespace OCCUtils;
gp_Dir dir1 = /* ... */;
gp_Dir dir2 = /* ... */;
gp_Dir orthogonalDirection = Direction::Orthogonal(dir1, dir2);
```

In case you can’t use *OCCUtils,*here’s the code to do it manually:

```
gp_Dir orthogonalDirection = dir1.Crossed(dir2);
```

The function used is called `Crossed()`

since the mathematical operation being used is the cross product between the two direction vectors.