// Created by Microsoft (R) C/C++ Compiler Version 14.16.27051.0 (8aeba44d). // // d:\code\logistics\smokeboxidentification\tpvs17\smokeboxidentification\x64\release\lpvGeom.tlh // // C++ source equivalent of Win32 type library 8955aafb-4602-4d6a-a888-69d1437c4d2b // compiler-generated file created 01/03/24 at 16:59:27 - DO NOT EDIT! // // Cross-referenced type libraries: // // #pragma once #pragma pack(push, 8) #include // // Forward references and typedefs // struct __declspec(uuid("8955aafb-4602-4d6a-a888-69d1437c4d2b")) /* LIBID */ __LPVGeomLib; enum LPVIntersectType; enum LPVPointTestResult; struct __declspec(uuid("4ecee3ee-e71c-4dba-b08f-c00c69eebc93")) /* dual interface */ ILLine; struct __declspec(uuid("f23b68da-45ed-4203-ac61-731ea2fcae84")) /* dual interface */ ILPoint; struct __declspec(uuid("e1d93b22-94d6-497f-bc6d-d852436bd283")) /* dual interface */ ILTransform; struct __declspec(uuid("e8d18797-3725-4811-84c7-03536ce85e83")) /* dual interface */ ILPoints; struct __declspec(uuid("cfbd782d-5cc7-48ac-b7bb-e07d3d983523")) /* dual interface */ ILRect; struct __declspec(uuid("956b9ed4-57fa-4065-b8f0-fa22b5f45204")) /* dual interface */ ILPolygon; struct __declspec(uuid("6638b456-970d-476c-9c74-f214d5197f0c")) /* dual interface */ ILCircle; struct __declspec(uuid("bd8e9711-2a32-4593-820e-aeaf53286136")) /* dual interface */ ILArc; struct __declspec(uuid("12315b29-3f8d-4f4f-bdd3-c45acf4d832b")) /* dual interface */ ILEllipse; struct /* coclass */ LPoint; struct /* coclass */ LPoints; struct /* coclass */ LCircle; struct /* coclass */ LLine; struct /* coclass */ LPolygon; struct /* coclass */ LRect; struct /* coclass */ LEllipse; struct /* coclass */ LArc; struct /* coclass */ LTransform; // // Smart pointer typedef declarations // _COM_SMARTPTR_TYPEDEF(ILLine, __uuidof(ILLine)); _COM_SMARTPTR_TYPEDEF(ILPoint, __uuidof(ILPoint)); _COM_SMARTPTR_TYPEDEF(ILTransform, __uuidof(ILTransform)); _COM_SMARTPTR_TYPEDEF(ILPoints, __uuidof(ILPoints)); _COM_SMARTPTR_TYPEDEF(ILRect, __uuidof(ILRect)); _COM_SMARTPTR_TYPEDEF(ILPolygon, __uuidof(ILPolygon)); _COM_SMARTPTR_TYPEDEF(ILEllipse, __uuidof(ILEllipse)); _COM_SMARTPTR_TYPEDEF(ILCircle, __uuidof(ILCircle)); _COM_SMARTPTR_TYPEDEF(ILArc, __uuidof(ILArc)); // // Type library items // enum LPVIntersectType { LPVIntersectUnbounded = 0, LPVIntersectBoundedLeft = 1, LPVIntersectBounded = 2, LPVIntersectBoundedRight = 3, LPVIntersectNone = 4, LPVIntersectBoundedPartial = 1 }; enum LPVPointTestResult { LPVPointTestInside = 0, LPVPointTestOutside = 1, LPVPointTestOnEdge = 2 }; struct __declspec(uuid("95da080e-bfb1-4d94-80c1-2f12b8265232")) LPoint; // [ default ] interface ILPoint // interface ILDrawable // interface ILSortable struct __declspec(uuid("72aca2d2-8ed3-4bb0-bfdc-75a584d06fb0")) LPoints; // [ default ] interface ILPoints // interface ILDrawable // interface ILSortables // interface ILSortable struct __declspec(uuid("62f03494-7d5c-4887-a3c8-d4f10855db7c")) LCircle; // [ default ] interface ILCircle // interface ILDrawable // interface ILSortable struct __declspec(uuid("45954f31-ed28-4608-859f-5554a86a16e2")) LLine; // [ default ] interface ILLine // interface ILDrawable // interface ILSortable struct __declspec(uuid("d4b46ac0-95ca-4e21-99ad-1fb67b78bd8c")) LPolygon; // [ default ] interface ILPolygon // interface ILDrawable // interface ILSortable struct __declspec(uuid("d489e3a7-0717-4e49-b2b8-fd390d9e99ee")) LRect; // [ default ] interface ILRect // interface ILDrawable // interface ILSortable struct __declspec(uuid("292ddf7a-a20f-409e-8546-ad2a6670e269")) LEllipse; // [ default ] interface ILEllipse // interface ILDrawable // interface ILSortable struct __declspec(uuid("f4d662ee-3dfd-492e-87bb-1696c3accd56")) LArc; // [ default ] interface ILArc // interface ILDrawable // interface ILSortable struct __declspec(uuid("118c59d5-fc88-42a1-980c-b090b7423b8a")) LTransform; // [ default ] interface ILTransform struct __declspec(uuid("4ecee3ee-e71c-4dba-b08f-c00c69eebc93")) ILLine : IDispatch { // // Property data // __declspec(property(get=GetX1,put=PutX1)) double X1; __declspec(property(get=GetY1,put=PutY1)) double Y1; __declspec(property(get=GetX2,put=PutX2)) double X2; __declspec(property(get=GetY2,put=PutY2)) double Y2; // // Wrapper methods for error-handling // double GetX1 ( ); void PutX1 ( double val ); double GetY1 ( ); void PutY1 ( double val ); double GetX2 ( ); void PutX2 ( double val ); double GetY2 ( ); void PutY2 ( double val ); VARIANT_BOOL Valid ( ); HRESULT Set ( double X1, double Y1, double X2, double Y2 ); HRESULT Set2 ( double midx, double midy, double lineAngle, double length ); HRESULT Draw ( void * hdc, double zoomX, double zoomY, double panX, double panY ); ILPointPtr GetMidPoint ( ); double GetAngle ( ); double GetLength ( ); enum LPVIntersectType IntersectLine ( struct ILLine * line, struct ILPoint * * intersectPoint ); enum LPVIntersectType IntersectCircle ( struct ILCircle * circle, struct ILPoints * * intersectPoints ); enum LPVIntersectType IntersectPoly ( struct ILPolygon * polygon, struct ILPoints * * intersectPoints ); double Perpendicular ( struct ILPoint * point, struct ILPoint * * rootPoint ); ILLinePtr BisectLine ( struct ILLine * line ); double Distance ( struct ILLine * line ); double AcuteAngle ( struct ILLine * line ); double Parallel ( struct ILLine * line ); double AngleTo ( struct ILLine * line ); ILLinePtr Translate ( double offsetX, double offsetY ); ILLinePtr Transform ( struct ILTransform * tf ); ILRotRectRegionPtr ToRotRectRegion ( int exp ); HRESULT FromRotRectRegion ( struct ILRotRectRegion * val ); ILPolygonPtr Resample ( int num ); ILPolygonPtr ResampleByStep ( double step, double stepThreshold ); double GetX ( double Y ); double GetY ( double X ); // // Raw methods provided by interface // virtual HRESULT __stdcall get_X1 ( /*[out,retval]*/ double * val ) = 0; virtual HRESULT __stdcall put_X1 ( /*[in]*/ double val ) = 0; virtual HRESULT __stdcall get_Y1 ( /*[out,retval]*/ double * val ) = 0; virtual HRESULT __stdcall put_Y1 ( /*[in]*/ double val ) = 0; virtual HRESULT __stdcall get_X2 ( /*[out,retval]*/ double * val ) = 0; virtual HRESULT __stdcall put_X2 ( /*[in]*/ double val ) = 0; virtual HRESULT __stdcall get_Y2 ( /*[out,retval]*/ double * val ) = 0; virtual HRESULT __stdcall put_Y2 ( /*[in]*/ double val ) = 0; virtual HRESULT __stdcall raw_Valid ( /*[out,retval]*/ VARIANT_BOOL * val ) = 0; virtual HRESULT __stdcall raw_Set ( /*[in]*/ double X1, /*[in]*/ double Y1, /*[in]*/ double X2, /*[in]*/ double Y2 ) = 0; virtual HRESULT __stdcall raw_Set2 ( /*[in]*/ double midx, /*[in]*/ double midy, /*[in]*/ double lineAngle, /*[in]*/ double length ) = 0; virtual HRESULT __stdcall raw_Draw ( /*[in]*/ void * hdc, /*[in]*/ double zoomX, /*[in]*/ double zoomY, /*[in]*/ double panX, /*[in]*/ double panY ) = 0; virtual HRESULT __stdcall raw_GetMidPoint ( /*[out,retval]*/ struct ILPoint * * result ) = 0; virtual HRESULT __stdcall raw_GetAngle ( /*[out,retval]*/ double * result ) = 0; virtual HRESULT __stdcall raw_GetLength ( /*[out,retval]*/ double * result ) = 0; virtual HRESULT __stdcall raw_IntersectLine ( /*[in]*/ struct ILLine * line, /*[out]*/ struct ILPoint * * intersectPoint, /*[out,retval]*/ enum LPVIntersectType * type ) = 0; virtual HRESULT __stdcall raw_IntersectCircle ( /*[in]*/ struct ILCircle * circle, /*[out]*/ struct ILPoints * * intersectPoints, /*[out,retval]*/ enum LPVIntersectType * type ) = 0; virtual HRESULT __stdcall raw_IntersectPoly ( /*[in]*/ struct ILPolygon * polygon, /*[out]*/ struct ILPoints * * intersectPoints, /*[out,retval]*/ enum LPVIntersectType * type ) = 0; virtual HRESULT __stdcall raw_Perpendicular ( /*[in]*/ struct ILPoint * point, /*[out]*/ struct ILPoint * * rootPoint, /*[out,retval]*/ double * Distance ) = 0; virtual HRESULT __stdcall raw_BisectLine ( /*[in]*/ struct ILLine * line, /*[out,retval]*/ struct ILLine * * result ) = 0; virtual HRESULT __stdcall raw_Distance ( /*[in]*/ struct ILLine * line, /*[out,retval]*/ double * result ) = 0; virtual HRESULT __stdcall raw_AcuteAngle ( /*[in]*/ struct ILLine * line, /*[out,retval]*/ double * result ) = 0; virtual HRESULT __stdcall raw_Parallel ( /*[in]*/ struct ILLine * line, /*[out,retval]*/ double * result ) = 0; virtual HRESULT __stdcall raw_AngleTo ( /*[in]*/ struct ILLine * line, /*[out,retval]*/ double * result ) = 0; virtual HRESULT __stdcall raw_Translate ( /*[in]*/ double offsetX, /*[in]*/ double offsetY, /*[out,retval]*/ struct ILLine * * result ) = 0; virtual HRESULT __stdcall raw_Transform ( /*[in]*/ struct ILTransform * tf, /*[out,retval]*/ struct ILLine * * result ) = 0; virtual HRESULT __stdcall raw_ToRotRectRegion ( /*[in]*/ int exp, /*[out,retval]*/ struct ILRotRectRegion * * val ) = 0; virtual HRESULT __stdcall raw_FromRotRectRegion ( /*[in]*/ struct ILRotRectRegion * val ) = 0; virtual HRESULT __stdcall raw_Resample ( /*[in]*/ int num, /*[out,retval]*/ struct ILPolygon * * result ) = 0; virtual HRESULT __stdcall raw_ResampleByStep ( /*[in]*/ double step, /*[in]*/ double stepThreshold, /*[out,retval]*/ struct ILPolygon * * result ) = 0; virtual HRESULT __stdcall raw_GetX ( /*[in]*/ double Y, /*[out,retval]*/ double * X ) = 0; virtual HRESULT __stdcall raw_GetY ( /*[in]*/ double X, /*[out,retval]*/ double * Y ) = 0; }; struct __declspec(uuid("f23b68da-45ed-4203-ac61-731ea2fcae84")) ILPoint : IDispatch { // // Property data // __declspec(property(get=GetX,put=PutX)) double X; __declspec(property(get=GetY,put=PutY)) double Y; // // Wrapper methods for error-handling // double GetX ( ); void PutX ( double val ); double GetY ( ); void PutY ( double val ); VARIANT_BOOL Valid ( ); HRESULT Set ( double X, double Y ); HRESULT Draw ( enum LPVPointShape shape, void * hdc, double zoomX, double zoomY, double panX, double panY ); ILPointPtr MidPoint ( struct ILPoint * point ); double DotProduct ( struct ILPoint * point ); double Distance ( struct ILPoint * point ); double DistanceWithRefLine ( struct ILPoint * point, struct ILLine * refLine ); double Collinear ( struct ILPoint * point1, struct ILPoint * point2 ); ILPointPtr Translate ( double offsetX, double offsetY ); ILPointPtr Scale ( double factorX, double factorY ); ILPointPtr Transform ( struct ILTransform * tf ); HRESULT FromSortable ( struct ILSortable * obj, enum LPVPositionMode posMode ); // // Raw methods provided by interface // virtual HRESULT __stdcall get_X ( /*[out,retval]*/ double * val ) = 0; virtual HRESULT __stdcall put_X ( /*[in]*/ double val ) = 0; virtual HRESULT __stdcall get_Y ( /*[out,retval]*/ double * val ) = 0; virtual HRESULT __stdcall put_Y ( /*[in]*/ double val ) = 0; virtual HRESULT __stdcall raw_Valid ( /*[out,retval]*/ VARIANT_BOOL * val ) = 0; virtual HRESULT __stdcall raw_Set ( /*[in]*/ double X, /*[in]*/ double Y ) = 0; virtual HRESULT __stdcall raw_Draw ( /*[in]*/ enum LPVPointShape shape, /*[in]*/ void * hdc, /*[in]*/ double zoomX, /*[in]*/ double zoomY, /*[in]*/ double panX, /*[in]*/ double panY ) = 0; virtual HRESULT __stdcall raw_MidPoint ( /*[in]*/ struct ILPoint * point, /*[out,retval]*/ struct ILPoint * * result ) = 0; virtual HRESULT __stdcall raw_DotProduct ( /*[in]*/ struct ILPoint * point, /*[out,retval]*/ double * result ) = 0; virtual HRESULT __stdcall raw_Distance ( /*[in]*/ struct ILPoint * point, /*[out,retval]*/ double * result ) = 0; virtual HRESULT __stdcall raw_DistanceWithRefLine ( /*[in]*/ struct ILPoint * point, /*[in]*/ struct ILLine * refLine, /*[out,retval]*/ double * result ) = 0; virtual HRESULT __stdcall raw_Collinear ( /*[in]*/ struct ILPoint * point1, /*[in]*/ struct ILPoint * point2, /*[out,retval]*/ double * result ) = 0; virtual HRESULT __stdcall raw_Translate ( /*[in]*/ double offsetX, /*[in]*/ double offsetY, /*[out,retval]*/ struct ILPoint * * result ) = 0; virtual HRESULT __stdcall raw_Scale ( /*[in]*/ double factorX, /*[in]*/ double factorY, /*[out,retval]*/ struct ILPoint * * result ) = 0; virtual HRESULT __stdcall raw_Transform ( /*[in]*/ struct ILTransform * tf, /*[out,retval]*/ struct ILPoint * * result ) = 0; virtual HRESULT __stdcall raw_FromSortable ( /*[in]*/ struct ILSortable * obj, /*[in]*/ enum LPVPositionMode posMode ) = 0; }; struct __declspec(uuid("e1d93b22-94d6-497f-bc6d-d852436bd283")) ILTransform : IDispatch { // // Property data // __declspec(property(get=GetMatrix,put=PutMatrix)) struct LMatrix33 Matrix; // // Wrapper methods for error-handling // struct LMatrix33 GetMatrix ( ); void PutMatrix ( struct LMatrix33 val ); ILTransformPtr Translate ( double offsetX, double offsetY ); ILTransformPtr Scale ( double factorX, double factorY ); ILTransformPtr Rotate ( double da, enum LPVAxis axis ); ILTransformPtr Transform ( struct ILTransform * tf ); double Build ( struct ILPoints * srcPoints, struct ILPoints * dstPoints, enum LPVTransformType type ); // // Raw methods provided by interface // virtual HRESULT __stdcall get_Matrix ( /*[out,retval]*/ struct LMatrix33 * val ) = 0; virtual HRESULT __stdcall put_Matrix ( /*[in]*/ struct LMatrix33 val ) = 0; virtual HRESULT __stdcall raw_Translate ( /*[in]*/ double offsetX, /*[in]*/ double offsetY, /*[out,retval]*/ struct ILTransform * * result ) = 0; virtual HRESULT __stdcall raw_Scale ( /*[in]*/ double factorX, /*[in]*/ double factorY, /*[out,retval]*/ struct ILTransform * * result ) = 0; virtual HRESULT __stdcall raw_Rotate ( /*[in]*/ double da, /*[in]*/ enum LPVAxis axis, /*[out,retval]*/ struct ILTransform * * result ) = 0; virtual HRESULT __stdcall raw_Transform ( /*[in]*/ struct ILTransform * tf, /*[out,retval]*/ struct ILTransform * * result ) = 0; virtual HRESULT __stdcall raw_Build ( /*[in]*/ struct ILPoints * srcPoints, /*[in]*/ struct ILPoints * dstPoints, /*[in]*/ enum LPVTransformType type, /*[out,retval]*/ double * mapError ) = 0; }; struct __declspec(uuid("e8d18797-3725-4811-84c7-03536ce85e83")) ILPoints : IDispatch { // // Wrapper methods for error-handling // VARIANT_BOOL Valid ( ); HRESULT Reset ( ); int Count ( ); ILPointPtr Item ( int index ); HRESULT Add ( double X, double Y ); HRESULT Draw ( enum LPVPointShape shape, void * hdc, double zoomX, double zoomY, double panX, double panY ); HRESULT SetPoints ( SAFEARRAY * xs, SAFEARRAY * ys ); HRESULT AddPoints ( struct ILPoints * points ); HRESULT RemovePoints ( double lbX, double ubX, double lbY, double ubY ); HRESULT GetPoints ( SAFEARRAY * xs, SAFEARRAY * ys ); ILRectPtr GetBoundingRect ( ); ILRectPtr GetBoundingRotRect ( ); ILCirclePtr GetBoundingCircle ( ); ILPolygonPtr GetConvexHull ( ); ILLinePtr FitLine ( double fitDistThreshold, int fitCountThreshold ); ILCirclePtr FitCircle ( double fitDistThreshold, int fitCountThreshold ); ILEllipsePtr FitEllipse ( ); ILPointPtr GetCenter ( ); SAFEARRAY * DistancesToPoint ( struct ILPoint * point ); SAFEARRAY * DistancesToLine ( struct ILLine * line ); SAFEARRAY * DistancesToPolygon ( struct ILPolygon * polygon, SAFEARRAY * * rootPoints ); SAFEARRAY * DistancesToPoints ( struct ILPoints * points, SAFEARRAY * * indexes ); double DistanceToPoint ( struct ILPoint * point, enum LPVAggregation aggType ); double DistanceToLine ( struct ILLine * line, enum LPVAggregation aggType ); double DistanceToPolygon ( struct ILPolygon * polygon, enum LPVAggregation aggType ); double DistanceToPoints ( struct ILPoints * points, enum LPVAggregation aggType ); ILPointsPtr Translate ( double offsetX, double offsetY ); ILPointsPtr Scale ( double factorX, double factorY ); ILPointsPtr Transform ( struct ILTransform * tf ); HRESULT AddPointsInRegion ( struct ILRegion * region ); HRESULT FromSortables ( struct ILSortables * obj, enum LPVPositionMode posMode ); // // Raw methods provided by interface // virtual HRESULT __stdcall raw_Valid ( /*[out,retval]*/ VARIANT_BOOL * val ) = 0; virtual HRESULT __stdcall raw_Reset ( ) = 0; virtual HRESULT __stdcall raw_Count ( /*[out,retval]*/ int * val ) = 0; virtual HRESULT __stdcall raw_Item ( /*[in]*/ int index, /*[out,retval]*/ struct ILPoint * * point ) = 0; virtual HRESULT __stdcall raw_Add ( /*[in]*/ double X, /*[in]*/ double Y ) = 0; virtual HRESULT __stdcall raw_Draw ( /*[in]*/ enum LPVPointShape shape, /*[in]*/ void * hdc, /*[in]*/ double zoomX, /*[in]*/ double zoomY, /*[in]*/ double panX, /*[in]*/ double panY ) = 0; virtual HRESULT __stdcall raw_SetPoints ( /*[in]*/ SAFEARRAY * xs, /*[in]*/ SAFEARRAY * ys ) = 0; virtual HRESULT __stdcall raw_AddPoints ( /*[in]*/ struct ILPoints * points ) = 0; virtual HRESULT __stdcall raw_RemovePoints ( /*[in]*/ double lbX, /*[in]*/ double ubX, /*[in]*/ double lbY, /*[in]*/ double ubY ) = 0; virtual HRESULT __stdcall raw_GetPoints ( /*[out]*/ SAFEARRAY * xs, /*[out]*/ SAFEARRAY * ys ) = 0; virtual HRESULT __stdcall raw_GetBoundingRect ( /*[out,retval]*/ struct ILRect * * val ) = 0; virtual HRESULT __stdcall raw_GetBoundingRotRect ( /*[out,retval]*/ struct ILRect * * val ) = 0; virtual HRESULT __stdcall raw_GetBoundingCircle ( /*[out,retval]*/ struct ILCircle * * val ) = 0; virtual HRESULT __stdcall raw_GetConvexHull ( /*[out,retval]*/ struct ILPolygon * * val ) = 0; virtual HRESULT __stdcall raw_FitLine ( /*[in]*/ double fitDistThreshold, /*[in]*/ int fitCountThreshold, /*[out,retval]*/ struct ILLine * * val ) = 0; virtual HRESULT __stdcall raw_FitCircle ( /*[in]*/ double fitDistThreshold, /*[in]*/ int fitCountThreshold, /*[out,retval]*/ struct ILCircle * * val ) = 0; virtual HRESULT __stdcall raw_FitEllipse ( /*[out,retval]*/ struct ILEllipse * * val ) = 0; virtual HRESULT __stdcall raw_GetCenter ( /*[out,retval]*/ struct ILPoint * * val ) = 0; virtual HRESULT __stdcall raw_DistancesToPoint ( /*[in]*/ struct ILPoint * point, /*[out,retval]*/ SAFEARRAY * * vals ) = 0; virtual HRESULT __stdcall raw_DistancesToLine ( /*[in]*/ struct ILLine * line, /*[out,retval]*/ SAFEARRAY * * vals ) = 0; virtual HRESULT __stdcall raw_DistancesToPolygon ( /*[in]*/ struct ILPolygon * polygon, /*[out]*/ SAFEARRAY * * rootPoints, /*[out,retval]*/ SAFEARRAY * * vals ) = 0; virtual HRESULT __stdcall raw_DistancesToPoints ( /*[in]*/ struct ILPoints * points, /*[out]*/ SAFEARRAY * * indexes, /*[out,retval]*/ SAFEARRAY * * vals ) = 0; virtual HRESULT __stdcall raw_DistanceToPoint ( /*[in]*/ struct ILPoint * point, /*[in]*/ enum LPVAggregation aggType, /*[out,retval]*/ double * val ) = 0; virtual HRESULT __stdcall raw_DistanceToLine ( /*[in]*/ struct ILLine * line, /*[in]*/ enum LPVAggregation aggType, /*[out,retval]*/ double * val ) = 0; virtual HRESULT __stdcall raw_DistanceToPolygon ( /*[in]*/ struct ILPolygon * polygon, /*[in]*/ enum LPVAggregation aggType, /*[out,retval]*/ double * val ) = 0; virtual HRESULT __stdcall raw_DistanceToPoints ( /*[in]*/ struct ILPoints * points, /*[in]*/ enum LPVAggregation aggType, /*[out,retval]*/ double * val ) = 0; virtual HRESULT __stdcall raw_Translate ( /*[in]*/ double offsetX, /*[in]*/ double offsetY, /*[out,retval]*/ struct ILPoints * * results ) = 0; virtual HRESULT __stdcall raw_Scale ( /*[in]*/ double factorX, /*[in]*/ double factorY, /*[out,retval]*/ struct ILPoints * * results ) = 0; virtual HRESULT __stdcall raw_Transform ( /*[in]*/ struct ILTransform * tf, /*[out,retval]*/ struct ILPoints * * result ) = 0; virtual HRESULT __stdcall raw_AddPointsInRegion ( /*[in]*/ struct ILRegion * region ) = 0; virtual HRESULT __stdcall raw_FromSortables ( /*[in]*/ struct ILSortables * obj, /*[in]*/ enum LPVPositionMode posMode ) = 0; }; struct __declspec(uuid("cfbd782d-5cc7-48ac-b7bb-e07d3d983523")) ILRect : IDispatch { // // Property data // __declspec(property(get=GetX,put=PutX)) double X; __declspec(property(get=GetY,put=PutY)) double Y; __declspec(property(get=GetWidth,put=PutWidth)) double Width; __declspec(property(get=GetHeight,put=PutHeight)) double Height; __declspec(property(get=GetAngle,put=PutAngle)) double Angle; // // Wrapper methods for error-handling // double GetX ( ); void PutX ( double val ); double GetY ( ); void PutY ( double val ); double GetWidth ( ); void PutWidth ( double val ); double GetHeight ( ); void PutHeight ( double val ); double GetAngle ( ); void PutAngle ( double val ); VARIANT_BOOL Valid ( ); HRESULT Set ( double X, double Y, double w, double h, double a ); HRESULT Draw ( VARIANT_BOOL bFill, void * hdc, double zoomX, double zoomY, double panX, double panY ); ILRectPtr Adjust ( double dtop, double dbottom, double dleft, double dright ); ILPointPtr GetCenter ( ); ILPointPtr GetTopLeft ( ); ILPointPtr GetTopRight ( ); ILPointPtr GetBottomLeft ( ); ILPointPtr GetBottomRight ( ); ILPointsPtr GetPoints ( ); enum LPVPointTestResult PointTest ( struct ILPoint * point ); ILRectPtr Translate ( double offsetX, double offsetY ); ILRectPtr Transform ( struct ILTransform * tf ); ILRotRectRegionPtr ToRotRectRegion ( ); HRESULT FromRotRectRegion ( struct ILRotRectRegion * val ); ILRectRegionPtr ToRectRegion ( ); HRESULT FromRectRegion ( struct ILRectRegion * val ); double GetPerimeter ( ); double GetArea ( ); ILRectPtr GetBoundingRect ( ); ILLinePtr GetTop ( ); ILLinePtr GetBottom ( ); ILLinePtr GetLeft ( ); ILLinePtr GetRight ( ); ILPolygonPtr Resample ( int num ); ILPolygonPtr ResampleByStep ( double step, double stepThreshold ); // // Raw methods provided by interface // virtual HRESULT __stdcall get_X ( /*[out,retval]*/ double * val ) = 0; virtual HRESULT __stdcall put_X ( /*[in]*/ double val ) = 0; virtual HRESULT __stdcall get_Y ( /*[out,retval]*/ double * val ) = 0; virtual HRESULT __stdcall put_Y ( /*[in]*/ double val ) = 0; virtual HRESULT __stdcall get_Width ( /*[out,retval]*/ double * val ) = 0; virtual HRESULT __stdcall put_Width ( /*[in]*/ double val ) = 0; virtual HRESULT __stdcall get_Height ( /*[out,retval]*/ double * val ) = 0; virtual HRESULT __stdcall put_Height ( /*[in]*/ double val ) = 0; virtual HRESULT __stdcall get_Angle ( /*[out,retval]*/ double * val ) = 0; virtual HRESULT __stdcall put_Angle ( /*[in]*/ double val ) = 0; virtual HRESULT __stdcall raw_Valid ( /*[out,retval]*/ VARIANT_BOOL * val ) = 0; virtual HRESULT __stdcall raw_Set ( /*[in]*/ double X, /*[in]*/ double Y, /*[in]*/ double w, /*[in]*/ double h, /*[in]*/ double a ) = 0; virtual HRESULT __stdcall raw_Draw ( /*[in]*/ VARIANT_BOOL bFill, /*[in]*/ void * hdc, /*[in]*/ double zoomX, /*[in]*/ double zoomY, /*[in]*/ double panX, /*[in]*/ double panY ) = 0; virtual HRESULT __stdcall raw_Adjust ( /*[in]*/ double dtop, /*[in]*/ double dbottom, /*[in]*/ double dleft, /*[in]*/ double dright, /*[out,retval]*/ struct ILRect * * result ) = 0; virtual HRESULT __stdcall raw_GetCenter ( /*[out,retval]*/ struct ILPoint * * val ) = 0; virtual HRESULT __stdcall raw_GetTopLeft ( /*[out,retval]*/ struct ILPoint * * val ) = 0; virtual HRESULT __stdcall raw_GetTopRight ( /*[out,retval]*/ struct ILPoint * * val ) = 0; virtual HRESULT __stdcall raw_GetBottomLeft ( /*[out,retval]*/ struct ILPoint * * val ) = 0; virtual HRESULT __stdcall raw_GetBottomRight ( /*[out,retval]*/ struct ILPoint * * val ) = 0; virtual HRESULT __stdcall raw_GetPoints ( /*[out,retval]*/ struct ILPoints * * val ) = 0; virtual HRESULT __stdcall raw_PointTest ( /*[in]*/ struct ILPoint * point, /*[out,retval]*/ enum LPVPointTestResult * val ) = 0; virtual HRESULT __stdcall raw_Translate ( /*[in]*/ double offsetX, /*[in]*/ double offsetY, /*[out,retval]*/ struct ILRect * * result ) = 0; virtual HRESULT __stdcall raw_Transform ( /*[in]*/ struct ILTransform * tf, /*[out,retval]*/ struct ILRect * * result ) = 0; virtual HRESULT __stdcall raw_ToRotRectRegion ( /*[out,retval]*/ struct ILRotRectRegion * * val ) = 0; virtual HRESULT __stdcall raw_FromRotRectRegion ( /*[in]*/ struct ILRotRectRegion * val ) = 0; virtual HRESULT __stdcall raw_ToRectRegion ( /*[out,retval]*/ struct ILRectRegion * * val ) = 0; virtual HRESULT __stdcall raw_FromRectRegion ( /*[in]*/ struct ILRectRegion * val ) = 0; virtual HRESULT __stdcall raw_GetPerimeter ( /*[out,retval]*/ double * val ) = 0; virtual HRESULT __stdcall raw_GetArea ( /*[out,retval]*/ double * val ) = 0; virtual HRESULT __stdcall raw_GetBoundingRect ( /*[out,retval]*/ struct ILRect * * val ) = 0; virtual HRESULT __stdcall raw_GetTop ( /*[out,retval]*/ struct ILLine * * val ) = 0; virtual HRESULT __stdcall raw_GetBottom ( /*[out,retval]*/ struct ILLine * * val ) = 0; virtual HRESULT __stdcall raw_GetLeft ( /*[out,retval]*/ struct ILLine * * val ) = 0; virtual HRESULT __stdcall raw_GetRight ( /*[out,retval]*/ struct ILLine * * val ) = 0; virtual HRESULT __stdcall raw_Resample ( /*[in]*/ int num, /*[out,retval]*/ struct ILPolygon * * result ) = 0; virtual HRESULT __stdcall raw_ResampleByStep ( /*[in]*/ double step, /*[in]*/ double stepThreshold, /*[out,retval]*/ struct ILPolygon * * result ) = 0; }; struct __declspec(uuid("956b9ed4-57fa-4065-b8f0-fa22b5f45204")) ILPolygon : IDispatch { // // Property data // __declspec(property(get=GetClosed,put=PutClosed)) VARIANT_BOOL Closed; // // Wrapper methods for error-handling // VARIANT_BOOL Valid ( ); HRESULT Reset ( ); int Count ( ); ILPointPtr Item ( int index ); HRESULT Set ( int index, double X, double Y ); HRESULT Draw ( VARIANT_BOOL bFill, void * hdc, double zoomX, double zoomY, double panX, double panY ); HRESULT SetPolygon ( SAFEARRAY * xs, SAFEARRAY * ys, VARIANT_BOOL isClosed ); HRESULT AddPoints ( struct ILPoints * points ); HRESULT RemovePoints ( double lbX, double ubX, double lbY, double ubY ); ILPointsPtr GetPoints ( ); VARIANT_BOOL GetClosed ( ); void PutClosed ( VARIANT_BOOL val ); enum LPVPointTestResult PointTest ( struct ILPoint * point ); enum LPVIntersectType IntersectLine ( struct ILLine * line, struct ILPoints * * intersectPoints ); ILCirclePtr GetInscribedCircle ( ); ILPointPtr GetGravityCenter ( ); double DistanceToPoint ( struct ILPoint * point, enum LPVAggregation aggType, struct ILPoint * * rootPoint ); double DistanceToPolygon ( struct ILPolygon * polygon, enum LPVAggregation aggType, struct ILPoint * * rootPoint1, struct ILPoint * * rootPoint2 ); ILPolygonPtr Translate ( double offsetX, double offsetY ); ILPolygonPtr Transform ( struct ILTransform * tf ); ILPolyRegionPtr ToPolyRegion ( ); HRESULT FromPolyRegion ( struct ILPolyRegion * val ); double GetPerimeter ( ); double GetArea ( ); ILPolygonPtr Resample ( int num ); ILPolygonPtr ResampleByStep ( double step, double stepThreshold ); VARIANT_BOOL IntersectPolygon ( struct ILPolygon * polygon, struct ILPoints * * intersectPoints ); // // Raw methods provided by interface // virtual HRESULT __stdcall raw_Valid ( /*[out,retval]*/ VARIANT_BOOL * val ) = 0; virtual HRESULT __stdcall raw_Reset ( ) = 0; virtual HRESULT __stdcall raw_Count ( /*[out,retval]*/ int * val ) = 0; virtual HRESULT __stdcall raw_Item ( /*[in]*/ int index, /*[out,retval]*/ struct ILPoint * * point ) = 0; virtual HRESULT __stdcall raw_Set ( /*[in]*/ int index, /*[in]*/ double X, /*[in]*/ double Y ) = 0; virtual HRESULT __stdcall raw_Draw ( /*[in]*/ VARIANT_BOOL bFill, /*[in]*/ void * hdc, /*[in]*/ double zoomX, /*[in]*/ double zoomY, /*[in]*/ double panX, /*[in]*/ double panY ) = 0; virtual HRESULT __stdcall raw_SetPolygon ( /*[in]*/ SAFEARRAY * xs, /*[in]*/ SAFEARRAY * ys, /*[in]*/ VARIANT_BOOL isClosed ) = 0; virtual HRESULT __stdcall raw_AddPoints ( /*[in]*/ struct ILPoints * points ) = 0; virtual HRESULT __stdcall raw_RemovePoints ( /*[in]*/ double lbX, /*[in]*/ double ubX, /*[in]*/ double lbY, /*[in]*/ double ubY ) = 0; virtual HRESULT __stdcall raw_GetPoints ( /*[out,retval]*/ struct ILPoints * * val ) = 0; virtual HRESULT __stdcall get_Closed ( /*[out,retval]*/ VARIANT_BOOL * val ) = 0; virtual HRESULT __stdcall put_Closed ( /*[in]*/ VARIANT_BOOL val ) = 0; virtual HRESULT __stdcall raw_PointTest ( /*[in]*/ struct ILPoint * point, /*[out,retval]*/ enum LPVPointTestResult * val ) = 0; virtual HRESULT __stdcall raw_IntersectLine ( /*[in]*/ struct ILLine * line, /*[out]*/ struct ILPoints * * intersectPoints, /*[out,retval]*/ enum LPVIntersectType * type ) = 0; virtual HRESULT __stdcall raw_GetInscribedCircle ( /*[out,retval]*/ struct ILCircle * * val ) = 0; virtual HRESULT __stdcall raw_GetGravityCenter ( /*[out,retval]*/ struct ILPoint * * val ) = 0; virtual HRESULT __stdcall raw_DistanceToPoint ( /*[in]*/ struct ILPoint * point, /*[in]*/ enum LPVAggregation aggType, /*[out]*/ struct ILPoint * * rootPoint, /*[out,retval]*/ double * val ) = 0; virtual HRESULT __stdcall raw_DistanceToPolygon ( /*[in]*/ struct ILPolygon * polygon, /*[in]*/ enum LPVAggregation aggType, /*[out]*/ struct ILPoint * * rootPoint1, /*[out]*/ struct ILPoint * * rootPoint2, /*[out,retval]*/ double * val ) = 0; virtual HRESULT __stdcall raw_Translate ( /*[in]*/ double offsetX, /*[in]*/ double offsetY, /*[out,retval]*/ struct ILPolygon * * results ) = 0; virtual HRESULT __stdcall raw_Transform ( /*[in]*/ struct ILTransform * tf, /*[out,retval]*/ struct ILPolygon * * result ) = 0; virtual HRESULT __stdcall raw_ToPolyRegion ( /*[out,retval]*/ struct ILPolyRegion * * val ) = 0; virtual HRESULT __stdcall raw_FromPolyRegion ( /*[in]*/ struct ILPolyRegion * val ) = 0; virtual HRESULT __stdcall raw_GetPerimeter ( /*[out,retval]*/ double * val ) = 0; virtual HRESULT __stdcall raw_GetArea ( /*[out,retval]*/ double * val ) = 0; virtual HRESULT __stdcall raw_Resample ( /*[in]*/ int num, /*[out,retval]*/ struct ILPolygon * * result ) = 0; virtual HRESULT __stdcall raw_ResampleByStep ( /*[in]*/ double step, /*[in]*/ double stepThreshold, /*[out,retval]*/ struct ILPolygon * * result ) = 0; virtual HRESULT __stdcall raw_IntersectPolygon ( /*[in]*/ struct ILPolygon * polygon, /*[out]*/ struct ILPoints * * intersectPoints, /*[out,retval]*/ VARIANT_BOOL * result ) = 0; }; struct __declspec(uuid("12315b29-3f8d-4f4f-bdd3-c45acf4d832b")) ILEllipse : IDispatch { // // Property data // __declspec(property(get=GetX,put=PutX)) double X; __declspec(property(get=GetY,put=PutY)) double Y; __declspec(property(get=GetWidth,put=PutWidth)) double Width; __declspec(property(get=GetHeight,put=PutHeight)) double Height; __declspec(property(get=GetAngle,put=PutAngle)) double Angle; // // Wrapper methods for error-handling // double GetX ( ); void PutX ( double val ); double GetY ( ); void PutY ( double val ); double GetWidth ( ); void PutWidth ( double val ); double GetHeight ( ); void PutHeight ( double val ); double GetAngle ( ); void PutAngle ( double val ); VARIANT_BOOL Valid ( ); HRESULT Set ( double X, double Y, double w, double h, double a ); HRESULT Draw ( VARIANT_BOOL bFill, void * hdc, double zoomX, double zoomY, double panX, double panY ); ILPointPtr GetCenter ( ); ILPointPtr GetTop ( ); ILPointPtr GetBottom ( ); ILPointPtr GetLeft ( ); ILPointPtr GetRight ( ); ILRectPtr GetBoundingRect ( ); ILRectPtr GetBoundingRotRect ( ); ILPolygonPtr SamplingByAngle ( double startArcAngle, double endArcAngle, double stepAngle ); ILEllipsePtr Translate ( double offsetX, double offsetY ); ILEllipsePtr Transform ( struct ILTransform * tf ); ILEllipseRegionPtr ToEllipseRegion ( ); HRESULT FromEllipseRegion ( struct ILEllipseRegion * val ); double GetPerimeter ( ); double GetArea ( ); ILPolygonPtr Resample ( int num ); // // Raw methods provided by interface // virtual HRESULT __stdcall get_X ( /*[out,retval]*/ double * val ) = 0; virtual HRESULT __stdcall put_X ( /*[in]*/ double val ) = 0; virtual HRESULT __stdcall get_Y ( /*[out,retval]*/ double * val ) = 0; virtual HRESULT __stdcall put_Y ( /*[in]*/ double val ) = 0; virtual HRESULT __stdcall get_Width ( /*[out,retval]*/ double * val ) = 0; virtual HRESULT __stdcall put_Width ( /*[in]*/ double val ) = 0; virtual HRESULT __stdcall get_Height ( /*[out,retval]*/ double * val ) = 0; virtual HRESULT __stdcall put_Height ( /*[in]*/ double val ) = 0; virtual HRESULT __stdcall get_Angle ( /*[out,retval]*/ double * val ) = 0; virtual HRESULT __stdcall put_Angle ( /*[in]*/ double val ) = 0; virtual HRESULT __stdcall raw_Valid ( /*[out,retval]*/ VARIANT_BOOL * val ) = 0; virtual HRESULT __stdcall raw_Set ( /*[in]*/ double X, /*[in]*/ double Y, /*[in]*/ double w, /*[in]*/ double h, /*[in]*/ double a ) = 0; virtual HRESULT __stdcall raw_Draw ( /*[in]*/ VARIANT_BOOL bFill, /*[in]*/ void * hdc, /*[in]*/ double zoomX, /*[in]*/ double zoomY, /*[in]*/ double panX, /*[in]*/ double panY ) = 0; virtual HRESULT __stdcall raw_GetCenter ( /*[out,retval]*/ struct ILPoint * * val ) = 0; virtual HRESULT __stdcall raw_GetTop ( /*[out,retval]*/ struct ILPoint * * val ) = 0; virtual HRESULT __stdcall raw_GetBottom ( /*[out,retval]*/ struct ILPoint * * val ) = 0; virtual HRESULT __stdcall raw_GetLeft ( /*[out,retval]*/ struct ILPoint * * val ) = 0; virtual HRESULT __stdcall raw_GetRight ( /*[out,retval]*/ struct ILPoint * * val ) = 0; virtual HRESULT __stdcall raw_GetBoundingRect ( /*[out,retval]*/ struct ILRect * * val ) = 0; virtual HRESULT __stdcall raw_GetBoundingRotRect ( /*[out,retval]*/ struct ILRect * * val ) = 0; virtual HRESULT __stdcall raw_SamplingByAngle ( /*[in]*/ double startArcAngle, /*[in]*/ double endArcAngle, /*[in]*/ double stepAngle, /*[out,retval]*/ struct ILPolygon * * result ) = 0; virtual HRESULT __stdcall raw_Translate ( /*[in]*/ double offsetX, /*[in]*/ double offsetY, /*[out,retval]*/ struct ILEllipse * * result ) = 0; virtual HRESULT __stdcall raw_Transform ( /*[in]*/ struct ILTransform * tf, /*[out,retval]*/ struct ILEllipse * * result ) = 0; virtual HRESULT __stdcall raw_ToEllipseRegion ( /*[out,retval]*/ struct ILEllipseRegion * * val ) = 0; virtual HRESULT __stdcall raw_FromEllipseRegion ( /*[in]*/ struct ILEllipseRegion * val ) = 0; virtual HRESULT __stdcall raw_GetPerimeter ( /*[out,retval]*/ double * val ) = 0; virtual HRESULT __stdcall raw_GetArea ( /*[out,retval]*/ double * val ) = 0; virtual HRESULT __stdcall raw_Resample ( /*[in]*/ int num, /*[out,retval]*/ struct ILPolygon * * result ) = 0; }; struct __declspec(uuid("6638b456-970d-476c-9c74-f214d5197f0c")) ILCircle : IDispatch { // // Property data // __declspec(property(get=GetX,put=PutX)) double X; __declspec(property(get=GetY,put=PutY)) double Y; __declspec(property(get=GetRadius,put=PutRadius)) double Radius; // // Wrapper methods for error-handling // double GetX ( ); void PutX ( double val ); double GetY ( ); void PutY ( double val ); double GetRadius ( ); void PutRadius ( double val ); VARIANT_BOOL Valid ( ); HRESULT Set ( double X, double Y, double r ); HRESULT Draw ( VARIANT_BOOL bFill, void * hdc, double zoomX, double zoomY, double panX, double panY ); ILPointPtr GetCenter ( ); ILArcPtr GetArc ( double aStart, double aEnd ); enum LPVPointTestResult PointTest ( struct ILPoint * point ); double Concentric ( struct ILCircle * circle ); enum LPVIntersectType IntersectLine ( struct ILLine * line, struct ILPoints * * intersectPoints ); ILCirclePtr Translate ( double offsetX, double offsetY ); ILCirclePtr Transform ( struct ILTransform * tf ); ILCircleRegionPtr ToCircleRegion ( ); ILAnnulusRegionPtr ToAnnulusRegion ( int inExp, int outExp ); HRESULT FromCircleRegion ( struct ILCircleRegion * val ); HRESULT FromAnnulusRegion ( struct ILAnnulusRegion * val ); double GetPerimeter ( ); double GetArea ( ); ILPolygonPtr Resample ( int num ); // // Raw methods provided by interface // virtual HRESULT __stdcall get_X ( /*[out,retval]*/ double * val ) = 0; virtual HRESULT __stdcall put_X ( /*[in]*/ double val ) = 0; virtual HRESULT __stdcall get_Y ( /*[out,retval]*/ double * val ) = 0; virtual HRESULT __stdcall put_Y ( /*[in]*/ double val ) = 0; virtual HRESULT __stdcall get_Radius ( /*[out,retval]*/ double * val ) = 0; virtual HRESULT __stdcall put_Radius ( /*[in]*/ double val ) = 0; virtual HRESULT __stdcall raw_Valid ( /*[out,retval]*/ VARIANT_BOOL * val ) = 0; virtual HRESULT __stdcall raw_Set ( /*[in]*/ double X, /*[in]*/ double Y, /*[in]*/ double r ) = 0; virtual HRESULT __stdcall raw_Draw ( /*[in]*/ VARIANT_BOOL bFill, /*[in]*/ void * hdc, /*[in]*/ double zoomX, /*[in]*/ double zoomY, /*[in]*/ double panX, /*[in]*/ double panY ) = 0; virtual HRESULT __stdcall raw_GetCenter ( /*[out,retval]*/ struct ILPoint * * val ) = 0; virtual HRESULT __stdcall raw_GetArc ( /*[in]*/ double aStart, /*[in]*/ double aEnd, /*[out,retval]*/ struct ILArc * * val ) = 0; virtual HRESULT __stdcall raw_PointTest ( /*[in]*/ struct ILPoint * point, /*[out,retval]*/ enum LPVPointTestResult * val ) = 0; virtual HRESULT __stdcall raw_Concentric ( /*[in]*/ struct ILCircle * circle, /*[out,retval]*/ double * result ) = 0; virtual HRESULT __stdcall raw_IntersectLine ( /*[in]*/ struct ILLine * line, /*[out]*/ struct ILPoints * * intersectPoints, /*[out,retval]*/ enum LPVIntersectType * type ) = 0; virtual HRESULT __stdcall raw_Translate ( /*[in]*/ double offsetX, /*[in]*/ double offsetY, /*[out,retval]*/ struct ILCircle * * result ) = 0; virtual HRESULT __stdcall raw_Transform ( /*[in]*/ struct ILTransform * tf, /*[out,retval]*/ struct ILCircle * * result ) = 0; virtual HRESULT __stdcall raw_ToCircleRegion ( /*[out,retval]*/ struct ILCircleRegion * * val ) = 0; virtual HRESULT __stdcall raw_ToAnnulusRegion ( /*[in]*/ int inExp, /*[in]*/ int outExp, /*[out,retval]*/ struct ILAnnulusRegion * * val ) = 0; virtual HRESULT __stdcall raw_FromCircleRegion ( /*[in]*/ struct ILCircleRegion * val ) = 0; virtual HRESULT __stdcall raw_FromAnnulusRegion ( /*[in]*/ struct ILAnnulusRegion * val ) = 0; virtual HRESULT __stdcall raw_GetPerimeter ( /*[out,retval]*/ double * val ) = 0; virtual HRESULT __stdcall raw_GetArea ( /*[out,retval]*/ double * val ) = 0; virtual HRESULT __stdcall raw_Resample ( /*[in]*/ int num, /*[out,retval]*/ struct ILPolygon * * result ) = 0; }; struct __declspec(uuid("bd8e9711-2a32-4593-820e-aeaf53286136")) ILArc : IDispatch { // // Property data // __declspec(property(get=GetX,put=PutX)) double X; __declspec(property(get=GetY,put=PutY)) double Y; __declspec(property(get=GetRadius,put=PutRadius)) double Radius; __declspec(property(get=GetStartAngle,put=PutStartAngle)) double StartAngle; __declspec(property(get=GetEndAngle,put=PutEndAngle)) double EndAngle; // // Wrapper methods for error-handling // double GetX ( ); void PutX ( double val ); double GetY ( ); void PutY ( double val ); double GetRadius ( ); void PutRadius ( double val ); double GetStartAngle ( ); void PutStartAngle ( double val ); double GetEndAngle ( ); void PutEndAngle ( double val ); VARIANT_BOOL Valid ( ); HRESULT Set ( double X, double Y, double r, double aStart, double aEnd ); HRESULT Draw ( VARIANT_BOOL bFill, void * hdc, double zoomX, double zoomY, double panX, double panY ); ILPointPtr GetCenter ( ); ILCirclePtr GetCircle ( ); ILPointPtr GetStartPoint ( ); ILPointPtr GetEndPoint ( ); ILRectPtr GetBoundingRect ( ); ILArcPtr Translate ( double offsetX, double offsetY ); ILArcPtr Transform ( struct ILTransform * tf ); ILAnnulusSectorRegionPtr ToAnnulusSectorRegion ( int inExp, int outExp ); HRESULT FromAnnulusSectorRegion ( struct ILAnnulusSectorRegion * val ); double GetLength ( ); double GetAngle ( ); ILPolygonPtr Resample ( int num ); // // Raw methods provided by interface // virtual HRESULT __stdcall get_X ( /*[out,retval]*/ double * val ) = 0; virtual HRESULT __stdcall put_X ( /*[in]*/ double val ) = 0; virtual HRESULT __stdcall get_Y ( /*[out,retval]*/ double * val ) = 0; virtual HRESULT __stdcall put_Y ( /*[in]*/ double val ) = 0; virtual HRESULT __stdcall get_Radius ( /*[out,retval]*/ double * val ) = 0; virtual HRESULT __stdcall put_Radius ( /*[in]*/ double val ) = 0; virtual HRESULT __stdcall get_StartAngle ( /*[out,retval]*/ double * val ) = 0; virtual HRESULT __stdcall put_StartAngle ( /*[in]*/ double val ) = 0; virtual HRESULT __stdcall get_EndAngle ( /*[out,retval]*/ double * val ) = 0; virtual HRESULT __stdcall put_EndAngle ( /*[in]*/ double val ) = 0; virtual HRESULT __stdcall raw_Valid ( /*[out,retval]*/ VARIANT_BOOL * val ) = 0; virtual HRESULT __stdcall raw_Set ( /*[in]*/ double X, /*[in]*/ double Y, /*[in]*/ double r, /*[in]*/ double aStart, /*[in]*/ double aEnd ) = 0; virtual HRESULT __stdcall raw_Draw ( /*[in]*/ VARIANT_BOOL bFill, /*[in]*/ void * hdc, /*[in]*/ double zoomX, /*[in]*/ double zoomY, /*[in]*/ double panX, /*[in]*/ double panY ) = 0; virtual HRESULT __stdcall raw_GetCenter ( /*[out,retval]*/ struct ILPoint * * val ) = 0; virtual HRESULT __stdcall raw_GetCircle ( /*[out,retval]*/ struct ILCircle * * val ) = 0; virtual HRESULT __stdcall raw_GetStartPoint ( /*[out,retval]*/ struct ILPoint * * val ) = 0; virtual HRESULT __stdcall raw_GetEndPoint ( /*[out,retval]*/ struct ILPoint * * val ) = 0; virtual HRESULT __stdcall raw_GetBoundingRect ( /*[out,retval]*/ struct ILRect * * val ) = 0; virtual HRESULT __stdcall raw_Translate ( /*[in]*/ double offsetX, /*[in]*/ double offsetY, /*[out,retval]*/ struct ILArc * * result ) = 0; virtual HRESULT __stdcall raw_Transform ( /*[in]*/ struct ILTransform * tf, /*[out,retval]*/ struct ILArc * * result ) = 0; virtual HRESULT __stdcall raw_ToAnnulusSectorRegion ( /*[in]*/ int inExp, /*[in]*/ int outExp, /*[out,retval]*/ struct ILAnnulusSectorRegion * * val ) = 0; virtual HRESULT __stdcall raw_FromAnnulusSectorRegion ( /*[in]*/ struct ILAnnulusSectorRegion * val ) = 0; virtual HRESULT __stdcall raw_GetLength ( /*[out,retval]*/ double * result ) = 0; virtual HRESULT __stdcall raw_GetAngle ( /*[out,retval]*/ double * result ) = 0; virtual HRESULT __stdcall raw_Resample ( /*[in]*/ int num, /*[out,retval]*/ struct ILPolygon * * result ) = 0; }; // // Wrapper method implementations // #include "d:\code\logistics\smokeboxidentification\tpvs17\smokeboxidentification\x64\release\lpvGeom.tli" #pragma pack(pop)