// Machine generated IDispatch wrapper class(es) created by Microsoft Visual C++

// NOTE: Do not modify the contents of this file.  If this class is regenerated by
//  Microsoft Visual C++, your modifications will be overwritten.


#include "stdafx.h"
#include "geoprojection.h"

// Dispatch interfaces referenced by this interface
#include "callback.h"


/////////////////////////////////////////////////////////////////////////////
// CGeoProjection properties

/////////////////////////////////////////////////////////////////////////////
// CGeoProjection operations

CString CGeoProjection::ExportToProj4()
{
	CString result;
	InvokeHelper(0x1, DISPATCH_METHOD, VT_BSTR, (void*)&result, NULL);
	return result;
}

BOOL CGeoProjection::ImportFromProj4(LPCTSTR proj)
{
	BOOL result;
	static BYTE parms[] =
		VTS_BSTR;
	InvokeHelper(0x2, DISPATCH_METHOD, VT_BOOL, (void*)&result, parms,
		proj);
	return result;
}

BOOL CGeoProjection::ImportFromESRI(LPCTSTR proj)
{
	BOOL result;
	static BYTE parms[] =
		VTS_BSTR;
	InvokeHelper(0x3, DISPATCH_METHOD, VT_BOOL, (void*)&result, parms,
		proj);
	return result;
}

BOOL CGeoProjection::ImportFromEPSG(long projCode)
{
	BOOL result;
	static BYTE parms[] =
		VTS_I4;
	InvokeHelper(0x4, DISPATCH_METHOD, VT_BOOL, (void*)&result, parms,
		projCode);
	return result;
}

CString CGeoProjection::ExportToWKT()
{
	CString result;
	InvokeHelper(0x5, DISPATCH_METHOD, VT_BSTR, (void*)&result, NULL);
	return result;
}

BOOL CGeoProjection::ImportFromWKT(LPCTSTR proj)
{
	BOOL result;
	static BYTE parms[] =
		VTS_BSTR;
	InvokeHelper(0x6, DISPATCH_METHOD, VT_BOOL, (void*)&result, parms,
		proj);
	return result;
}

CCallback CGeoProjection::GetGlobalCallback()
{
	LPDISPATCH pDispatch;
	InvokeHelper(0x7, DISPATCH_PROPERTYGET, VT_DISPATCH, (void*)&pDispatch, NULL);
	return CCallback(pDispatch);
}

void CGeoProjection::SetGlobalCallback(LPDISPATCH newValue)
{
	static BYTE parms[] =
		VTS_DISPATCH;
	InvokeHelper(0x7, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,
		 newValue);
}

CString CGeoProjection::GetErrorMsg(long ErrorCode)
{
	CString result;
	static BYTE parms[] =
		VTS_I4;
	InvokeHelper(0x8, DISPATCH_PROPERTYGET, VT_BSTR, (void*)&result, parms,
		ErrorCode);
	return result;
}

long CGeoProjection::GetLastErrorCode()
{
	long result;
	InvokeHelper(0x9, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL);
	return result;
}

CString CGeoProjection::GetKey()
{
	CString result;
	InvokeHelper(0xa, DISPATCH_PROPERTYGET, VT_BSTR, (void*)&result, NULL);
	return result;
}

void CGeoProjection::SetKey(LPCTSTR lpszNewValue)
{
	static BYTE parms[] =
		VTS_BSTR;
	InvokeHelper(0xa, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,
		 lpszNewValue);
}

void CGeoProjection::SetWellKnownGeogCS(long newVal)
{
	static BYTE parms[] =
		VTS_I4;
	InvokeHelper(0xb, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
		 newVal);
}

BOOL CGeoProjection::GetIsGeographic()
{
	BOOL result;
	InvokeHelper(0xc, DISPATCH_PROPERTYGET, VT_BOOL, (void*)&result, NULL);
	return result;
}

BOOL CGeoProjection::GetIsProjected()
{
	BOOL result;
	InvokeHelper(0xd, DISPATCH_PROPERTYGET, VT_BOOL, (void*)&result, NULL);
	return result;
}

BOOL CGeoProjection::GetIsLocal()
{
	BOOL result;
	InvokeHelper(0xe, DISPATCH_PROPERTYGET, VT_BOOL, (void*)&result, NULL);
	return result;
}

BOOL CGeoProjection::GetIsSame(LPDISPATCH proj)
{
	BOOL result;
	static BYTE parms[] =
		VTS_DISPATCH;
	InvokeHelper(0xf, DISPATCH_PROPERTYGET, VT_BOOL, (void*)&result, parms,
		proj);
	return result;
}

BOOL CGeoProjection::GetIsSameGeogCS(LPDISPATCH proj)
{
	BOOL result;
	static BYTE parms[] =
		VTS_DISPATCH;
	InvokeHelper(0x10, DISPATCH_PROPERTYGET, VT_BOOL, (void*)&result, parms,
		proj);
	return result;
}

double CGeoProjection::GetInverseFlattening()
{
	double result;
	InvokeHelper(0x11, DISPATCH_PROPERTYGET, VT_R8, (void*)&result, NULL);
	return result;
}

double CGeoProjection::GetSemiMajor()
{
	double result;
	InvokeHelper(0x12, DISPATCH_PROPERTYGET, VT_R8, (void*)&result, NULL);
	return result;
}

double CGeoProjection::GetSemiMinor()
{
	double result;
	InvokeHelper(0x13, DISPATCH_PROPERTYGET, VT_R8, (void*)&result, NULL);
	return result;
}

BOOL CGeoProjection::GetProjectionParam(long Name, double* Value)
{
	BOOL result;
	static BYTE parms[] =
		VTS_I4 VTS_PR8;
	InvokeHelper(0x14, DISPATCH_PROPERTYGET, VT_BOOL, (void*)&result, parms,
		Name, Value);
	return result;
}

BOOL CGeoProjection::GetIsEmpty()
{
	BOOL result;
	InvokeHelper(0x15, DISPATCH_PROPERTYGET, VT_BOOL, (void*)&result, NULL);
	return result;
}

BOOL CGeoProjection::CopyFrom(LPDISPATCH sourceProj)
{
	BOOL result;
	static BYTE parms[] =
		VTS_DISPATCH;
	InvokeHelper(0x16, DISPATCH_METHOD, VT_BOOL, (void*)&result, parms,
		sourceProj);
	return result;
}

CString CGeoProjection::GetName()
{
	CString result;
	InvokeHelper(0x17, DISPATCH_PROPERTYGET, VT_BSTR, (void*)&result, NULL);
	return result;
}

CString CGeoProjection::GetProjectionName()
{
	CString result;
	InvokeHelper(0x18, DISPATCH_PROPERTYGET, VT_BSTR, (void*)&result, NULL);
	return result;
}

CString CGeoProjection::GetGeogCSName()
{
	CString result;
	InvokeHelper(0x19, DISPATCH_PROPERTYGET, VT_BSTR, (void*)&result, NULL);
	return result;
}

BOOL CGeoProjection::GetGeogCSParam(long Name, double* pVal)
{
	BOOL result;
	static BYTE parms[] =
		VTS_I4 VTS_PR8;
	InvokeHelper(0x1a, DISPATCH_PROPERTYGET, VT_BOOL, (void*)&result, parms,
		Name, pVal);
	return result;
}

void CGeoProjection::SetGeographicCS(long coordinateSystem)
{
	static BYTE parms[] =
		VTS_I4;
	InvokeHelper(0x1b, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
		 coordinateSystem);
}

void CGeoProjection::SetWgs84Projection(long Projection)
{
	static BYTE parms[] =
		VTS_I4;
	InvokeHelper(0x1c, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
		 Projection);
}

void CGeoProjection::SetNad83Projection(long Projection)
{
	static BYTE parms[] =
		VTS_I4;
	InvokeHelper(0x1d, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
		 Projection);
}

BOOL CGeoProjection::GetIsSameExt(LPDISPATCH proj, LPDISPATCH bounds, long numSamplingPoints)
{
	BOOL result;
	static BYTE parms[] =
		VTS_DISPATCH VTS_DISPATCH VTS_I4;
	InvokeHelper(0x1e, DISPATCH_PROPERTYGET, VT_BOOL, (void*)&result, parms,
		proj, bounds, numSamplingPoints);
	return result;
}

BOOL CGeoProjection::ReadFromFile(LPCTSTR Filename)
{
	BOOL result;
	static BYTE parms[] =
		VTS_BSTR;
	InvokeHelper(0x1f, DISPATCH_METHOD, VT_BOOL, (void*)&result, parms,
		Filename);
	return result;
}

BOOL CGeoProjection::WriteToFile(LPCTSTR Filename)
{
	BOOL result;
	static BYTE parms[] =
		VTS_BSTR;
	InvokeHelper(0x20, DISPATCH_METHOD, VT_BOOL, (void*)&result, parms,
		Filename);
	return result;
}

BOOL CGeoProjection::ImportFromAutoDetect(LPCTSTR proj)
{
	BOOL result;
	static BYTE parms[] =
		VTS_BSTR;
	InvokeHelper(0x21, DISPATCH_METHOD, VT_BOOL, (void*)&result, parms,
		proj);
	return result;
}