# PRo3D Annotations and Measurements
## Annotations Types
| Measurement | Completes | Projections | Purpose |
| -------------- | --------------------- | ---------------------------- | ------------------------------------------------------------------------------------------ |
| Point | after 1 point | `n/a` | Determining coordinates of a single point on the surface. Annotating locations. |
| Line | after 2 points | `linear`, `viewpoint`, `sky` | Determining and Annotating the size and scale of features. |
| Polyline | pressing Enter | `linear`, `viewpoint`, `sky` | Digitizing geological features such as contacts. Measuring distances along the surface. |
| Polygon | closes pressing Enter | `linear`, `viewpoint`, `sky` | Annotating regions. |
| DnS (polyline) | pressing Enter | `linear`, `viewpoint`, `sky` | Determining the orientation of strata via regression plane fitting. |
| TT (line) | after 2 points | `linear` | Determining the true thickness of a stratum with respect to it's orientation (`Dip Angle`) |
### Projections
| Projection | Behavior |
| ---------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- |
| linear | Linear connection between picked points, effectively no projection applied. |
| viewpoint | Connections between picked points are subsampled and points are projected (raycasted) onto the surface with the camera center being the projection origin. |
| sky | Connections between picked points are subsampled and points are projected (raycasted) onto the surface along the up-vector of the coordinate system |
## Measurements
| Measurement | Unit | What? | Applies to |
| ------------------- | ------- | ---------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------- |
| Height | meters | Difference between max and min altitude of all points. Essentially max vertical thickness. | `line`, `polyline`, `polygon`, `dns`, `tt` |
| Height Delta | meters | Difference in altitude between first and last point. | `line`, `polyline`, `polygon`, `dns`, `tt` |
| Avg Altitude | meters | Average altitude of all points. | `point`,`line`, `polyline`, `polygon`, `dns`, `tt` |
| Length | meters | Distance between first and last point. | `line`, `polyline`, `polygon`, `dns`, `tt` |
| WayLength | meters | Accumulated distance of all line segments. | `line`, `polyline`, `polygon`, `dns`, `tt` |
| Bearing | degrees | Orientation of line between first and last point with respect to North (= 0°/360°). | `line`, `polyline`, `polygon`, `dns`, `tt` |
| Slope | degrees | Vertical orientation of line between first and last point with respect to horizontal plane (= 0°). | `line`, `polyline`, `polygon`, `dns`, `tt` |
| Vertical Distance | meters | Signed vertical distance between first and last point. | `line`, `polyline`, `polygon`, `dns`, `tt` |
| Horizontal Distance | meters | Horizontal distance between first and last point. | `line`, `polyline`, `polygon`, `dns`, `tt` |
| True Thickness | meters | True thickness being the vertical thickness corrected by a (manually specified) `Dip Angle`. | `tt` |
| Dipping Angle | degrees | Angle between the horizontal plane and the dip, with dip being the direction of maximum inclination on a plane (0°-90°). | `dns` |
| Dipping Orientation | degrees | Orientation of dip vector in the horizontal plane with respect to North (= 0°/360°). | `dns` |
| Strike Orientation | degrees | Orientation of strike vector in the horizontal plane with respect to North (= 0°/360°), with strike being orthogonal to dip. | `dns` |
## Viewer GUI
|  |
|:--:|
| *Exemplary length and orientation measurements for a dip-and-strike annotation* |