// CodeGear C++Builder
// Copyright (c) 1995, 2025 by Embarcadero Technologies, Inc.
// All rights reserved

// (DO NOT EDIT: machine generated header) 'FlexiblePolyline.pas' rev: 37.00 (Windows)

#ifndef FlexiblePolylineHPP
#define FlexiblePolylineHPP

#pragma delphiheader begin
#pragma option push
#if defined(__BORLANDC__) && !defined(__clang__)
#pragma option -w-      // All warnings off
#pragma option -Vx      // Zero-length empty class member 
#endif
#pragma pack(push,8)
#include <System.hpp>
#include <SysInit.hpp>
#include <System.SysUtils.hpp>
#include <System.Math.hpp>

//-- user supplied -----------------------------------------------------------

namespace Flexiblepolyline
{
//-- forward type declarations -----------------------------------------------
struct TFlexiblePolylinePoint;
struct THeader;
//-- type declarations -------------------------------------------------------
struct DECLSPEC_DRECORD TFlexiblePolylinePoint
{
public:
	double Latitude;
	double Longitude;
	double Z;
};


typedef System::DynamicArray<TFlexiblePolylinePoint> TAFlexiblePolylinePoint;

typedef System::DynamicArray<__int64> TAInteger;

struct DECLSPEC_DRECORD THeader
{
public:
	__int64 Precision;
	__int64 ThirdDim;
	__int64 ThirdDimPrecision;
};


//-- var, const, procedure ---------------------------------------------------
extern DELPHI_PACKAGE System::StaticArray<int, 78> DECODING_TABLE;
static _DELPHI_CONST System::Int8 FORMAT_VERSION = System::Int8(0x1);
static _DELPHI_CONST System::Int8 ABSENT = System::Int8(0x0);
static _DELPHI_CONST System::Int8 LEVEL = System::Int8(0x1);
static _DELPHI_CONST System::Int8 ALTITUDE = System::Int8(0x2);
static _DELPHI_CONST System::Int8 ELEVATION = System::Int8(0x3);
static _DELPHI_CONST System::Int8 CUSTOM1 = System::Int8(0x6);
static _DELPHI_CONST System::Int8 CUSTOM2 = System::Int8(0x7);
extern DELPHI_PACKAGE TAFlexiblePolylinePoint __fastcall DecodeFlexiblePolyline(const System::UnicodeString Encoded);
}	/* namespace Flexiblepolyline */
#if !defined(DELPHIHEADER_NO_IMPLICIT_NAMESPACE_USE) && !defined(NO_USING_NAMESPACE_FLEXIBLEPOLYLINE)
using namespace Flexiblepolyline;
#endif
#pragma pack(pop)
#pragma option pop

#pragma delphiheader end.
//-- end unit ----------------------------------------------------------------
#endif	// FlexiblePolylineHPP
