module CPathGenerationVariables
    implicit none
    public
    
    ! types
    type, bind(c), public :: CPathGenerationItem
        integer :: HoleType
        real(8) :: Angle
        real(8) :: Length
        real(8) :: FinalAngle
        real(8) :: TotalLength
        real(8) :: MeasuredDepth
        real(8) :: TotalVerticalDepth
    end type CPathGenerationItem
    
    type, bind(c), public :: CDataPointItem
        real(8) :: X
        real(8) :: Y
    end type CDataPointItem

    Type :: PathGenerationType
        integer :: ItemCount = 0
        type(CPathGenerationItem), allocatable :: Items(:)    
        integer :: DataPointsCount = 0
        type(CDataPointItem), allocatable :: DataPoints(:)
    End type PathGenerationType

    ! Type(PathGenerationType)::PathGeneration

end module CPathGenerationVariables