|
|
|
|
// 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 12/28/23 at 14:09:51 - DO NOT EDIT!
|
|
|
|
|
|
|
|
|
|
//
|
|
|
|
|
// Cross-referenced type libraries:
|
|
|
|
|
//
|
|
|
|
|
//
|
|
|
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
#pragma pack(push, 8)
|
|
|
|
|
|
|
|
|
|
#include <comdef.h>
|
|
|
|
|
|
|
|
|
|
//
|
|
|
|
|
// 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)
|