#pragma once

#include "IPolyDef.h"
#include "IPolyDefArray.h"

namespace VectorWorks
{
	namespace Math
	{
		// ---------------------------------------------------------------------------------------------------
		// {05F22431-C1BB-47a5-8E74-EBD025C3194F}
		static const VWIID IID_Poly2DMath	= { 0x5f22431, 0xc1bb, 0x47a5, { 0x8e, 0x74, 0xeb, 0xd0, 0x25, 0xc3, 0x19, 0x4f } };

		class DYNAMIC_ATTRIBUTE IPoly2DMath : public IVWSingletonUnknown
		{
		public:
			virtual VCOMError VCOM_CALLTYPE CreateHandle(IPolyDef* pPoly, MCObjectHandle& outHandle) = 0;
			virtual VCOMError VCOM_CALLTYPE CreatePoly(MCObjectHandle hObject, IPolyDef** ppOutPolygon) = 0;

		};

		// ---------------------------------------------------------------------------------------------------
		typedef VCOMPtr<IPoly2DMath>	IPoly2DMathPtr;
	}
}
