ENCX SDK  5.6.0.1
encxcom.idl
Go to the documentation of this file.
1 // EncXCOM.idl : IDL source for EncXCOM
2 //
3 
4 // This file will be processed by the MIDL tool to
5 // produce the type library (EncXCOM.tlb) and marshalling code.
6 
11 #if !defined DOXYGEN_SHOULD_SKIP_THIS
12 
13 midl_pragma warning(disable:2039) /* MIDL2039 - interface is not automation marshaling conformant, requires Windows NT 4.0 SP4 or greater */
14 midl_pragma warning(disable:2111) /* MIDL2111 - identifier length exceeds 31 characters */
15 
16 import "oaidl.idl";
17 import "ocidl.idl";
18 
19 #endif
20 
22 // enums
24 
27 {
28  [helpstring("Dongle not found")] DS_NotFound,
29  [helpstring("Dongle found")] DS_Exists,
30  [helpstring("Dongle active")] DS_Active,
31 };
32 
34 
38 {
39  [helpstring("Daytime palette for bright conditions")] PalDayBright,
40  [helpstring("Normal daytime palette")] PalDay,
41  [helpstring("Daytime palette with a black background")] PalDayBlack,
42  [helpstring("Palette for dawn and dusk")] PalDusk,
43  [helpstring("Palette for night viewing")] PalNight,
44  [helpstring("Palette for night viewing through a neutral filter")] PalNightUnfiltered,
45  [helpstring("Number of palette values")] PalCount,
46  [helpstring("Unknown palette")] PalUnknown,
47 };
48 
50 
55 {
56  [helpstring("Great circle on the WGS84 ellipsoid")] GL_GreatCircle,
57  [helpstring("Rhumb lines on the WGS84 ellipsoid")] GL_Rhumb,
58 };
59 
62 {
63  [helpstring("Unknown product")] PD_Unknown = 0,
64  [helpstring("Electronic Navigational Chart (ENC)")] PD_ENC = 1,
65  [helpstring("Inland Electronic Navigational Chart (ENC)")] PD_IENC = 10,
66  [helpstring("Port ENC")] PD_PENC = 20,
67  [helpstring("CherSoft World Vector Shoreline (WVS)")] PD_WVS = 25,
68  [helpstring("Routes, Areas and Limits (AML v1 or v2)")] PD_MFF = 51,
69  [helpstring("Routes, Areas and Limits (AML v1 or v2)")] PD_RAL = 52,
70  [helpstring("Large Bottom Object (AML v1 or v2)")] PD_LBO = 53,
71  [helpstring("Contour Line Bathymetry (AML v1 or v2)")] PD_CLB = 54,
72  [helpstring("Environment, Seabed and Beach (AML v1 or v2)")] PD_ESB = 55,
73  [helpstring("Small Bottom Objects (AML v1 or v2)")] PD_SBO = 56,
74  [helpstring("AML Version 3 - generic theme")] PD_AMLV3_GEN = 57,
75  [helpstring("AML Version 3 - Land Background Data")] PD_AMLV3_LND = 101,
76  [helpstring("AML Version 3 - Nautical Chart Background Data")] PD_AMLV3_NCD = 102,
77  [helpstring("AML Version 3 - Sediment")] PD_AMLV3_SED = 103,
78  [helpstring("AML Version 3 - Contour Line Bathymetry")] PD_AMLV3_CLB = 104,
79  [helpstring("AML Version 3 - Marine Management Areas")] PD_AMLV3_MMA = 105,
80  [helpstring("AML Version 3 - Mine Tactical Data")] PD_AMLV3_MTD = 106,
81  [helpstring("AML Version 3 - Territorial Sea Boundaries")] PD_AMLV3_TSB = 107,
82  [helpstring("AML Version 3 - Flight Aeronautical Information")] PD_AMLV3_FAI = 108,
83  [helpstring("AML Version 3 - Civil Flight Information")] PD_AMLV3_CFI = 109,
84  [helpstring("AML Version 3 - Military Flight Information")] PD_AMLV3_MFI = 110,
85  [helpstring("AML Version 3 - Practice and Exercise Areas")] PD_AMLV3_PEA = 111,
86  [helpstring("AML Version 3 - Q - Routes")] PD_AMLV3_QRT = 112,
87  [helpstring("AML Version 3 - Small Bottom Objects")] PD_AMLV3_SBO = 113,
88  [helpstring("AML Version 3 - Large Bottom Objects")] PD_AMLV3_LBO = 114,
89  [helpstring("AML Version 3 - Amphibious Warfare Data")] PD_AMLV3_AMP = 115,
90  [helpstring("AML Version 3 - Ice Data")] PD_AMLV3_ICE = 116,
91  [helpstring("AML Version 3 - Military Nautical Information")] PD_AMLV3_MNI = 117,
92  [helpstring("UKHO Admiralty Information Overlay")] PD_AIO = 80,
93  [helpstring("Bathymetric ENC")] PD_BENC = 200,
94 };
95 
98 {
99  [helpstring("Metres and decimetres")] DDU_Metres = 0,
100  [helpstring("Feet")] DDU_Feet = 1,
101  [helpstring("Metres ECDIS")] DDU_MetresECDIS = 2,
102 };
103 
106 {
107  [helpstring("Kilometres")] SBU_Kilometres = 0,
108  [helpstring("Nautical Miles")] SBU_NauticalMiles = 1,
109 };
110 
113 {
114  [helpstring("Off - don't use detailed mode (default)")] SDM_Off = 0,
115  [helpstring("Auto - in detailed mode use same units")] SDM_Auto,
116  [helpstring("UseMetres - always use metres for detailed mode")] SDM_UseMetres,
117 };
118 
120 
122 {
123  [helpstring("Degrees, minutes, seconds to 1 decimal place")] D_MM_SS_S = 0,
124  [helpstring("Degrees, minutes, seconds to 2 decimal places")] D_MM_SS_SS = 1,
125  [helpstring("Degrees, minutes to 3 decimal places")] D_MM_MMM = 2,
126  [helpstring("Degrees, minutes to 4 decimal places")] D_MM_MMMM = 3,
127  [helpstring("Degrees to 5 decimal places")] D_DDDDD = 4,
128  [helpstring("Degrees to 6 decimal places")] D_DDDDDD = 5,
129 };
130 
133 {
134  [helpstring("No geometry, typically a collection of other types of feature")] FG_None,
135  [helpstring("A single geographical position")] FG_Point,
136  [helpstring("A line (of potentially any shape) between two geographical positions")] FG_Line,
137  [helpstring("An enclosed geographical area")] FG_Area,
138  [helpstring("A collection of geographical positions and depths")] FG_Sounding,
139  [helpstring("Unknown geometry")] FG_Unknown,
140 };
141 
143 
145 {
146  [helpstring("Don't draw S-57 layer")] CB_NoS57Layer,
147  [helpstring("Before S-57 layer draw")] CB_BeforeS57Layer,
148  [helpstring("After S-57 layer draw")] CB_AfterS57Layer,
149  [helpstring("Both before and after S-57 layer draw")] CB_BeforeAndAfterS57Layer,
150 };
151 
153 {
154  [helpstring("Do nothing")] SHA_DoNothing,
155  [helpstring("Might be a URL")] SHA_MightBeUrl,
156  [helpstring("Go home")] SHA_GoHome,
157  [helpstring("Go back")] SHA_GoBack,
158  [helpstring("Go forward")] SHA_GoForward,
159  [helpstring("Update pages")] SHA_UpdatePages,
160  [helpstring("Update pages and reload current page")] SHA_UpdatePagesAndReloadCurrentPage,
161  [helpstring("Update pages and go home")] SHA_UpdatePagesAndGoHome,
162 };
163 
165 {
166  [helpstring("No non-standard decluttering")] S57DisplayImprovements_Nothing,
167  [helpstring("Max ENC display improvements")] S57DisplayImprovements_Max,
168  [helpstring("ENC display improvements as of Q1 2012")] S57DisplayImprovements_Level1,
169 };
170 
172 {
173  [helpstring("Original ENCX S-57 projection for fastest drawing")] S57Projection_Cylindrical,
174  [helpstring("Mercator")] S57Projection_Mercator,
175  [helpstring("PolarStereographic")] S57Projection_PolarStereographic,
176 };
177 
180 {
181  [helpstring("Use the current system date")] S57DateMode_UseSystemDate,
182  [helpstring("Use the user set date")] S57DateMode_UseSetDate,
183  [helpstring("Ignore date attributes (PERSTA,PEREND,DATSTA,DATEND) on features")] S57DateMode_IgnoreDates,
184 };
185 
188 {
189  [helpstring("Solid pen")] PS_Solid,
190  [helpstring("Dashed pen")] PS_Dashed,
191 };
192 
195 {
196  [helpstring("Node")] FT_Node = 0,
197  [helpstring("Text")] FT_Text = 1,
198  [helpstring("Edge")] FT_Edge = 2,
199  [helpstring("Face")] FT_Face = 3,
200 };
201 
203 {
204  [helpstring("UTM")] Grid_UTM = 0,
205  [helpstring("MGRS")] Grid_MGRS = 2,
206 };
207 
209 // General interfaces
211 
213 
214 [
215  object,
216  uuid(cb25f611-7cb6-11e1-8889-0024e84637be),
217  dual,
218  helpstring("IDongle Interface"),
219  nonextensible,
220  pointer_default(unique),
221  hidden
222 ]
223 interface IDongle : IDispatch
224 {
226  [propget, id(1), helpstring("Dongle State")] HRESULT State([out, retval] enum DongleState * pVal);
228  [propget, id(2), helpstring("property DeviceName")] HRESULT DeviceName([out, retval] BSTR* pVal);
229  /*
230  // Encrypt a memory block in situ.
231  [id(3), helpstring("Encrypt a block of memory (>7 bytes long)")] HRESULT Encrypt([in] BYTE* pData, [in] LONG nSize);
232  // Decrypt a memory block in situ.
233  [id(4), helpstring("Decrypt a block of memory (>7 bytes long)")] HRESULT Decrypt([in] BYTE* pData, [in] LONG nSize);
234  // Encrypt a safearray in situ.
235  [id(5), helpstring("Encrypt a safearray")] HRESULT EncryptArray([in,out] VARIANT* data);
236  // Decrypt a safearray in situ.
237  [id(6), helpstring("Decrypt a safearray")] HRESULT DecryptArray([in,out] VARIANT* data);
238  */
240  [propget, id(7), helpstring("Serial number of the dongle")] HRESULT SerialNumber([out, retval] LONG* pVal);
241 };
242 
244 [
245  object,
246  uuid(cb25f612-7cb6-11e1-8889-0024e84637be),
247  dual,
248  nonextensible,
249  helpstring("IDongleObserver Interface"),
250  pointer_default(unique),
251  hidden
252 ]
254 {
256  [id(1), helpstring("method Register")] HRESULT Register(IDongle * dongle);
258  [id(2), helpstring("method Unregister")] HRESULT Unregister(void);
259 };
260 
262 
270 [
271  object,
272  uuid(cb25f681-7cb6-11e1-8889-0024e84637be),
273  dual,
274  helpstring("IGeoPointFormatter Interface"),
275  nonextensible,
276  pointer_default(unique),
277  hidden
278 ]
280 {
282  [propget, id(1), helpstring("Use UTM universal grid where available")] HRESULT UseUniversalGrid([out, retval] VARIANT_BOOL* useGrid);
284  [propput, id(1), helpstring("Use UTM universal grid where available")] HRESULT UseUniversalGrid([in] VARIANT_BOOL useGrid);
286  [propget, id(2), helpstring("Use national grid where available (this has priority over UseUniversalGrid)")] HRESULT UseNationalGrid([out, retval] VARIANT_BOOL* useGrid);
288  [propput, id(2), helpstring("Use national grid where available (this has priority over UseUniversalGrid)")] HRESULT UseNationalGrid([in] VARIANT_BOOL useGrid);
290  [propget, id(3), helpstring("Lat-Lon format")] HRESULT Format([out, retval] enum LatLonFormat* fmt);
292  [propput, id(3), helpstring("Lat-Lon format")] HRESULT Format([in] enum LatLonFormat fmt);
294  [propget, id(4), helpstring("UniversalGrid")] HRESULT UniversalGrid([out, retval] enum UniversalGridType * val);
296  [propput, id(4), helpstring("UniversalGrid")] HRESULT UniversalGrid([in] enum UniversalGridType val);
297 };
298 
300 [
301  object,
302  uuid(cb25f613-7cb6-11e1-8889-0024e84637be),
303  dual,
304  nonextensible,
305  helpstring("ILibrary Interface"),
306  pointer_default(unique),
307  hidden
308 ]
309 interface ILibrary : IDispatch
310 {
312 
319  [id(1), helpstring("Initialize the %ENCX library")] HRESULT Construct([in] BSTR OEMKey, [in] BSTR DFSFileName);
320 
322  [propget, id(2), helpstring("Is the OEM key valid?")] HRESULT ValidOEMKey([out, retval] VARIANT_BOOL* pVal);
323 
325  [propget, id(3), helpstring("Get the Dongle")] HRESULT Dongle([out, retval] IDongle** pVal);
326 
328 
329  [id(4), helpstring("Call while the application is idle and while DoIdle() keeps returning true")] HRESULT DoIdle([out,retval] VARIANT_BOOL* bRes);
330 
332  [propget, id(5), helpstring("Get DFS licensing ID string")] HRESULT DFSInstallationId([out, retval] BSTR* pVal);
333 
335 
338  [propget, id(6), helpstring("The full pathname of the DFS filename")] HRESULT DFSFileName([out, retval] BSTR* pVal);
339 
341  [propget, id(7), helpstring("Is the DFS file valid?")] HRESULT ValidDFSFile([out, retval] VARIANT_BOOL* pVal);
342 
344  [propget, id(9), helpstring("The version of the library")] HRESULT Version([out, retval] BSTR* pVal);
345 
346  [propget, id(10), helpstring("Get the GeoPoint formatter")] HRESULT GeoPointFormatter([out, retval] IGeoPointFormatter** pipGPFormatter);
347 
348 #if !defined DOXYGEN_SHOULD_SKIP_THIS
349  [id(11), hidden, restricted] HRESULT Address([out, retval] DWORD_PTR * pVal);
350 #endif
351 };
352 
354 [
355  object,
356  uuid(cb25f614-7cb6-11e1-8889-0024e84637be),
357  dual,
358  helpstring("IDisplayPalette Interface"),
359  nonextensible,
360  pointer_default(unique),
361  hidden
362 ]
364 {
366  [propget, id(1), helpstring("property Type")] HRESULT PalType([out, retval] enum PaletteType* pVal);
368  [propput, id(1), helpstring("property Type")] HRESULT PalType([in] enum PaletteType newVal);
370  [propget, id(2), helpstring("The density of colour")] HRESULT Saturation([out, retval] DOUBLE* pVal);
372  [propput, id(2), helpstring("The density of colour")] HRESULT Saturation([in] DOUBLE newVal);
374  [propget, id(3), helpstring("property Luminance")] HRESULT Luminance([out, retval] DOUBLE* pVal);
376  [propput, id(3), helpstring("property Luminance")] HRESULT Luminance([in] DOUBLE newVal);
377 
378 #if !defined DOXYGEN_SHOULD_SKIP_THIS
379  [id(4), hidden, restricted] HRESULT Address([out, retval] DWORD_PTR * pVal);
380 #endif
381 };
382 
384 
390 [
391  object,
392  uuid(cb25f615-7cb6-11e1-8889-0024e84637be),
393  dual,
394  helpstring("IGeoPoint Interface"),
395  nonextensible,
396  pointer_default(unique),
397  hidden,
398 ]
399 interface IGeoPoint : IDispatch
400 {
402  [propget, id(1), helpstring("Latitude")] HRESULT Lat([out, retval] DOUBLE* pVal);
404  [propput, id(1), helpstring("Latitude")] HRESULT Lat([in] DOUBLE newVal);
406  [propget, id(2), helpstring("Longitude")] HRESULT Lon([out, retval] DOUBLE* pVal);
408  [propput, id(2), helpstring("Longitude")] HRESULT Lon([in] DOUBLE newVal);
410  [propget, id(3), helpstring("Lat-Lon as string")] HRESULT LatLonString([out, retval] BSTR* pVal);
412  [propput, id(3), helpstring("Convert string to Lat-Lon")] HRESULT LatLonString([in] BSTR newVal);
414  [propget, id(4), helpstring("Position as formatted string")] HRESULT FormattedPosition([out, retval] BSTR* pVal);
416  [id(5), helpstring("Parse string containing latitude and longitude")] HRESULT ParseLatLon([in] BSTR newVal);
417 
418 #if !defined DOXYGEN_SHOULD_SKIP_THIS
419  [id(6), hidden, restricted] HRESULT Address([out, retval] DWORD_PTR * pVal);
420 #endif
422  [id(7), helpstring("Get an identical copy of this object")] HRESULT Copy([out,retval] IGeoPoint** pVal);
423 
425  [id(8), helpstring("Parse string containing UTM grid position")] HRESULT ParseUTM([in] BSTR newVal);
426 
428  [id(9), helpstring("Parse string containing MGRS grid position")] HRESULT ParseMGRS([in] BSTR newVal);
429 };
430 
431 
432 
434 [
435  object,
436  uuid(cb25f616-7cb6-11e1-8889-0024e84637be),
437  dual,
438  helpstring("IGeoPoints Interface"),
439  nonextensible,
440  pointer_default(unique),
441  hidden
442 ]
444 {
445  [propget, id(0), helpstring("property Item")] HRESULT Item([in] VARIANT vtIndex, [out,retval] IGeoPoint ** geoPoint);
446  [propget, id(1), helpstring("property Count")] HRESULT Count([out, retval] LONG* pVal);
447  [propget, id(-4), helpstring("property _NewEnum"), restricted] HRESULT _NewEnum([out, retval] IUnknown** pVal);
448  [id(2), helpstring("method Add")] HRESULT Add([in] IGeoPoint * geoPoint);
449  [id(3), helpstring("method Remove")] HRESULT Remove([in] LONG nIndex);
450  [id(4), helpstring("method Clear")] HRESULT Clear();
451  [id(5), helpstring("method AddLatLon")] HRESULT AddLatLon([in] DOUBLE Lat, [in] DOUBLE Lon);
453  [id(6), helpstring("Get an identical copy of this object")] HRESULT Copy([out,retval] IGeoPoints ** pVal);
454 #if !defined DOXYGEN_SHOULD_SKIP_THIS
455  [id(7), hidden, restricted] HRESULT Address([out, retval] DWORD_PTR * pVal);
456 #endif
457 };
458 
460 
461 [
462  object,
463  uuid(cb25f617-7cb6-11e1-8889-0024e84637be),
464  dual,
465  helpstring("IGeoArea Interface"),
466  nonextensible,
467  pointer_default(unique),
468  hidden
469 ]
470 interface IGeoArea : IDispatch
471 {
473  [propget, id(1), helpstring("property Points")] HRESULT Points([out, retval] IGeoPoints ** pVal);
475  [propput, id(1), helpstring("property Points")] HRESULT Points([in] IGeoPoints * geoPoints);
477  [propget, id(2), helpstring("property LineType")] HRESULT LineType([out, retval] enum GeoLineType* pVal);
479  [propput, id(2), helpstring("property LineType")] HRESULT LineType([in] enum GeoLineType val);
481  [propget, id(3), helpstring("property PointsString")] HRESULT PointsString([out, retval] BSTR * pointsString);
483  [propput, id(3), helpstring("property PointsString")] HRESULT PointsString([in] BSTR pointsString);
485  [propget, id(4), helpstring("property RoundedCornersString")] HRESULT RoundedCornersString([out, retval] BSTR * corners);
487  [propput, id(4), helpstring("property RoundedCornersString")] HRESULT RoundedCornersString([in] BSTR corners);
488 
489 #if !defined DOXYGEN_SHOULD_SKIP_THIS
490  [id(6), hidden, restricted] HRESULT Address([out, retval] DWORD_PTR * pVal);
491 #endif
492 };
493 
494 
496 [
497  object,
498  uuid(cb25f618-7cb6-11e1-8889-0024e84637be),
499  dual,
500  helpstring("IGeoHorizontalDatumInfo Interface"),
501  nonextensible,
502  pointer_default(unique),
503  hidden
504 ]
506 {
508  [propget, id(1), helpstring("Three character code, e.g. WGE for WGS84, plus optional one-character sub area")] HRESULT Code([out, retval] BSTR* pVal);
510  [propget, id(2), helpstring("Abbreviated description, e.g. WGS84 or OSGB1936")] HRESULT ShortDescription([out, retval] BSTR* pVal);
512  [propget, id(3), helpstring("Full description, e.g. World Geodetic System 1984")] HRESULT LongDescription([out, retval] BSTR* pVal);
513 };
514 
516 
517 [
518  object,
519  uuid(cb25f619-7cb6-11e1-8889-0024e84637be),
520  dual,
521  helpstring("IGeoRect Interface"),
522  nonextensible,
523  pointer_default(unique),
524  hidden
525 ]
526 interface IGeoRect : IDispatch
527 {
528  [propget, id(1), helpstring("property LatN")] HRESULT LatN([out, retval] DOUBLE* pVal); //<! The northern most edge of the area. Degrees, positive going north, zero on the equator.
529  [propput, id(1), helpstring("property LatN")] HRESULT LatN([in] DOUBLE newVal); //<! The northern most edge of the area. Degrees, positive going north, zero on the equator.
530  [propget, id(2), helpstring("property LatS")] HRESULT LatS([out, retval] DOUBLE* pVal); //<! The southern most edge of the area. Degrees, positive going north, zero on the equator.
531  [propput, id(2), helpstring("property LatS")] HRESULT LatS([in] DOUBLE newVal); //<! The southern most edge of the area. Degrees, positive going north, zero on the equator.
532  [propget, id(3), helpstring("property LonE")] HRESULT LonE([out, retval] DOUBLE* pVal); //<! The eastern most edge of the area. Degrees, positive going east, zero on the Greenwich Meridian.
533  [propput, id(3), helpstring("property LonE")] HRESULT LonE([in] DOUBLE newVal); //<! The eastern most edge of the area. Degrees, positive going east, zero on the Greenwich Meridian.
534  [propget, id(4), helpstring("property LonW")] HRESULT LonW([out, retval] DOUBLE* pVal); //<! The western most edge of the area. Degrees, positive going east, zero on the Greenwich Meridian.
535  [propput, id(4), helpstring("property LonW")] HRESULT LonW([in] DOUBLE newVal); //<! The western most edge of the area. Degrees, positive going east, zero on the Greenwich Meridian.
536 
537 #if !defined DOXYGEN_SHOULD_SKIP_THIS
538  [id(6), hidden, restricted] HRESULT Address([out, retval] DWORD_PTR * pVal);
539 #endif
540 };
541 
543 
544 [
545  object,
546  uuid(cb25f61a-7cb6-11e1-8889-0024e84637be),
547  dual,
548  helpstring("IGeoLine Interface"),
549  nonextensible,
550  pointer_default(unique),
551  hidden
552 ]
553 interface IGeoLine : IDispatch
554 {
556  [propget, id(1), helpstring("One end of the line")] HRESULT Point1([out, retval] IGeoPoint ** pVal);
558  [propput, id(1), helpstring("One end of the line")] HRESULT Point1([in] IGeoPoint * newVal);
560  [propget, id(2), helpstring("The other end of the line")] HRESULT Point2([out, retval] IGeoPoint ** pVal);
562  [propput, id(2), helpstring("The other end of the line")] HRESULT Point2([in] IGeoPoint * newVal);
564  [propget, id(3), helpstring("The shape of the path to be used between the ends")] HRESULT LineType([out, retval] enum GeoLineType* pVal);
566  [propput, id(3), helpstring("The shape of the path to be used between the ends")] HRESULT LineType([in] enum GeoLineType newVal);
568  [id(4), helpstring("Setting the position of one end of the line")] HRESULT SetPoint1([in] DOUBLE LatGeodeticDegrees, [in] DOUBLE LonDegrees);
570  [id(5), helpstring("The other end of the line")] HRESULT SetPoint2([in] DOUBLE LatGeodeticDegrees, [in] DOUBLE LonDegrees);
572  [propget, id(6), helpstring("Length in metres of the line")] HRESULT LengthInMetres([out, retval] DOUBLE* pVal);
573 
574  // Additions after 1.8.0.37...
575 
577  [id(7), helpstring("Create line from start point, bearing and length")] HRESULT CreateFromBearingAndLength([in] enum GeoLineType lineType, [in] IGeoPoint* start, [in] DOUBLE bearing, [in] DOUBLE lengthInMeters);
579  [propget, id(8), helpstring("Bearing in degrees at start of line")] HRESULT BearingStart([out, retval] DOUBLE* startBearing);
581  [propget, id(9), helpstring("Bearing in degrees at end of line")] HRESULT BearingEnd([out, retval] DOUBLE* endBearing);
582 
583 #if !defined DOXYGEN_SHOULD_SKIP_THIS
584  [id(10), hidden, restricted] HRESULT Address([out, retval] DWORD_PTR * pVal);
585 #endif
586 };
587 
589 [
590  object,
591  uuid(cb25f61b-7cb6-11e1-8889-0024e84637be),
592  dual,
593  helpstring("IPixelPoint Interface"),
594  nonextensible,
595  pointer_default(unique),
596  hidden
597 ]
599 {
601  [propget, id(1), helpstring("property X")] HRESULT X([out, retval] FLOAT* pVal);
603  [propput, id(1), helpstring("property X")] HRESULT X([in] FLOAT val);
605  [propget, id(2), helpstring("property Y")] HRESULT Y([out, retval] FLOAT* pVal);
607  [propput, id(2), helpstring("property Y")] HRESULT Y([in] FLOAT val);
608 
609 #if !defined DOXYGEN_SHOULD_SKIP_THIS
610  [id(3), hidden, restricted] HRESULT Address([out, retval] DWORD_PTR * pVal);
611 #endif
612 };
613 
615 [
616  object,
617  uuid(cb25f61c-7cb6-11e1-8889-0024e84637be),
618  dual,
619  helpstring("IPixelSize Interface"),
620  nonextensible,
621  pointer_default(unique),
622  hidden
623 ]
625 {
627  [propget, id(1), helpstring("property Width")] HRESULT Width([out, retval] LONG* pVal);
629  [propput, id(1), helpstring("property Width")] HRESULT Width([in] LONG val);
631  [propget, id(2), helpstring("property Height")] HRESULT Height([out, retval] LONG* pVal);
633  [propput, id(2), helpstring("property Height")] HRESULT Height([in] LONG val);
634 
635 #if !defined DOXYGEN_SHOULD_SKIP_THIS
636  [id(3), hidden, restricted] HRESULT Address([out, retval] DWORD_PTR * pVal);
637 #endif
638 };
639 
641 [
642  object,
643  uuid(cb25f61d-7cb6-11e1-8889-0024e84637be),
644  dual,
645  helpstring("IPixelRect Interface"),
646  nonextensible,
647  pointer_default(unique),
648  hidden
649 ]
651 {
653  [propget, id(1), helpstring("property Left")] HRESULT Left([out, retval] LONG* pVal);
655  [propput, id(1), helpstring("property Left")] HRESULT Left([in] LONG val);
657  [propget, id(2), helpstring("property Top")] HRESULT Top([out, retval] LONG* pVal);
659  [propput, id(2), helpstring("property Top")] HRESULT Top([in] LONG val);
661  [propget, id(3), helpstring("property Width")] HRESULT Width([out, retval] LONG* pVal);
663  [propput, id(3), helpstring("property Width")] HRESULT Width([in] LONG val);
665  [propget, id(4), helpstring("property Height")] HRESULT Height([out, retval] LONG* pVal);
667  [propput, id(4), helpstring("property Height")] HRESULT Height([in] LONG val);
668 
669 #if !defined DOXYGEN_SHOULD_SKIP_THIS
670  [id(5), hidden, restricted] HRESULT Address([out, retval] DWORD_PTR * pVal);
671 #endif
672 };
673 
674 
676 
677 [
678  object,
679  uuid(cb25f61e-7cb6-11e1-8889-0024e84637be),
680  dual,
681  helpstring("IPixelPoints Interface"),
682  nonextensible,
683  pointer_default(unique),
684  hidden
685 ]
687 {
688  [propget, id(0), helpstring("property Item")] HRESULT Item([in] VARIANT vtIndex, [out,retval] IPixelPoint ** pp);
689  [propget, id(1), helpstring("property Count")] HRESULT Count([out, retval] LONG* pVal);
690  [propget, id(-4), helpstring("property _NewEnum"), restricted] HRESULT _NewEnum([out, retval] IUnknown** pVal);
691 };
692 
693 
694 
696 [
697  object,
698  uuid(cb25f61f-7cb6-11e1-8889-0024e84637be),
699  dual,
700  helpstring("IPolyLines Interface"),
701  nonextensible,
702  pointer_default(unique),
703  hidden
704 ]
706 {
707  [propget, id(0), helpstring("property Item")] HRESULT Item([in] VARIANT vtIndex, [out,retval] IPixelPoints ** pixelPts);
708  [propget, id(1), helpstring("property Count")] HRESULT Count([out, retval] LONG* pVal);
709  [propget, id(-4), helpstring("property _NewEnum"), restricted] HRESULT _NewEnum([out, retval] IUnknown** pVal);
710 };
711 
713 [
714  object,
715  uuid(cb25f620-7cb6-11e1-8889-0024e84637be),
716  dual,
717  helpstring("IPolyAreas Interface"),
718  nonextensible,
719  pointer_default(unique),
720  hidden
721 ]
723 {
724  [propget, id(0), helpstring("property Item")] HRESULT Item([in] VARIANT vtIndex, [out,retval] IPixelPoints ** pixelPts);
725  [propget, id(1), helpstring("property Count")] HRESULT Count([out, retval] LONG* pVal);
726  [propget, id(-4), helpstring("property _NewEnum"), restricted] HRESULT _NewEnum([out, retval] IUnknown** pVal);
727 };
728 
729 
730 
732 
741 [
742  object,
743  uuid(cb25f621-7cb6-11e1-8889-0024e84637be),
744  dual,
745  helpstring("IGeoPix Interface"),
746  nonextensible,
747  pointer_default(unique),
748  hidden
749 ]
750 interface IGeoPix : IDispatch
751 {
753 
762  [id(1), helpstring("Obtain a geographical position from a pixel point")] HRESULT GeoPointFromPixelPoint([in] IPixelPoint * pixelPt, [out, retval] IGeoPoint ** geoPt);
764  [propget, id(2), helpstring("The geographical bounding rectangle for the viewport of this IGeoPix")] HRESULT Extent([out, retval] IGeoRect ** pVal);
766  [id(3), helpstring("The geographical bounding rectangle for rectangle defined in pixel coordinates clipped to the viewport")] HRESULT ExtentFromRect([in] IPixelRect * rect, [out, retval] IGeoRect ** pVal);
768 
770  [propget, id(4), helpstring("The scale to show to the user")] HRESULT DisplayScale([out, retval] LONG* pVal);
772 
778  [propget, id(5), helpstring("Degrees. Like a compass bearing")] HRESULT DirectionOfUp([out, retval] DOUBLE* Degrees);
780 
782  [propget, id(6), helpstring("Draw symbols smaller (for Overviews)")] HRESULT UseSmallSymbology([out, retval] VARIANT_BOOL* pVal);
784 
789  [id(7), helpstring("Geographic to Pixel point conversion")] HRESULT Point([in] IGeoPoint * geoPt, [out, retval] IPixelPoint ** pixelPt);
791 
798  [id(8), helpstring("Geographic to Pixel point conversion (extended)")] HRESULT PointEx([in] IGeoPoint * geoPt, [in] DOUBLE brgGeo, [out] DOUBLE* brgPixel, [out] DOUBLE * distOnePixel, [out, retval] IPixelPoint ** pixelPt);
800 
803  [id(9), helpstring("Geographic to Pixel line conversion")] HRESULT Line([in] IGeoLine * geoLine, [out,retval] IPolyLines ** lines);
805 
809  [id(10), helpstring("Geographic to Pixel area conversion")] HRESULT Area([in] IGeoArea * geoArea, [out,retval] IPolyAreas ** areas);
811 
817  [id(11), helpstring("The visible portion of this GeoPix")] HRESULT ClipRegionDevicePoints([in] IPixelRect * rect, [in] OLE_HANDLE lHDC, [out,retval] OLE_HANDLE * lhRgn);
819 
825  [id(12), helpstring("The visible portion of this GeoPix")] HRESULT ClipRegionLogicalPoints([in] IPixelRect * rect, [out,retval] OLE_HANDLE * lhRgn);
827 
828  [propget, id(13), helpstring("Returns true iff the last IGeoPix::Point or IGeoPix::PointEx conversion was inside the view")] HRESULT PointInView([out, retval] VARIANT_BOOL * pVal);
829 
830 #if !defined DOXYGEN_SHOULD_SKIP_THIS
831  [id(14), hidden, restricted] HRESULT Address([out, retval] DWORD_PTR * pVal);
832 #endif
833 };
834 
835 
837 [
838  object,
839  uuid(cb25f622-7cb6-11e1-8889-0024e84637be),
840  dual,
841  helpstring("IGeoPixCollection Interface"),
842  nonextensible,
843  pointer_default(unique),
844  hidden
845 ]
847 {
848  [propget, id(0), helpstring("property Item")] HRESULT Item([in] VARIANT vtIndex, [out,retval] IGeoPix ** gp);
849  [propget, id(1), helpstring("property Count")] HRESULT Count([out, retval] LONG* pVal);
850  [propget, id(-4), helpstring("property _NewEnum"), restricted] HRESULT _NewEnum([out, retval] IUnknown** pVal);
851 };
852 
853 
855 
856 [
857  object,
858  uuid(cb25f623-7cb6-11e1-8889-0024e84637be),
859  dual,
860  helpstring("IHorizontalDatum Interface"),
861  nonextensible,
862  pointer_default(unique),
863  hidden
864 ]
866 {
868  [propget, id(1), helpstring("The accuracy of the transformation. Units are metres")] HRESULT ErrorDistanceMetres([out, retval] DOUBLE* Metres);
870 
879  [propget, id(2), helpstring("property HasLocalDatum")] HRESULT HasLocalDatum([out, retval] VARIANT_BOOL* pVal);
881  [propget, id(3), helpstring("Local datum short name")] HRESULT LocalDatumShortName([out, retval] BSTR* pVal);
883  [propget, id(4), helpstring("Local datum long name")] HRESULT LocalDatumLongName([out, retval] BSTR* pVal);
885 
887  [id(5), helpstring("method LocalToWGS84")] HRESULT LocalToWGS84([out] DOUBLE* LatWGS84, [out] DOUBLE* LonWGS84, [in] DOUBLE LatLocal, [in] DOUBLE LonLocal, [out,retval] VARIANT_BOOL* bRes);
889 
891  [id(6), helpstring("method WGS84ToLocal")] HRESULT WGS84ToLocal([out] DOUBLE* LatLocal, [out] DOUBLE* LonLocal, [in] DOUBLE LatWGS84, [in] DOUBLE LonWGS84, [out,retval] VARIANT_BOOL* bRes);
892 };
893 
894 #if !defined(UDE_ENC_ONLY)
896 // RAS interfaces
898 
900 [
901  object,
902  uuid(cb25f624-7cb6-11e1-8889-0024e84637be),
903  dual,
904  helpstring("IRasCharts Interface"),
905  nonextensible,
906  pointer_default(unique),
907  hidden
908 ]
910 {
911  [propget, id(0), helpstring("property Item")] HRESULT Item([in] VARIANT vtIndex, [out,retval] BSTR * bsChart);
912  [propget, id(1), helpstring("property Count")] HRESULT Count([out, retval] LONG* pVal);
913  [propget, id(-4), helpstring("property _NewEnum"), restricted] HRESULT _NewEnum([out, retval] IUnknown** pVal);
914 };
915 
916 
918 [
919  object,
920  uuid(cb25f625-7cb6-11e1-8889-0024e84637be),
921  dual,
922  helpstring("IRasDiscIdentity Interface"),
923  nonextensible,
924  pointer_default(unique),
925  hidden
926 ]
928 {
930  [propget, id(1), helpstring("property Description")] HRESULT Description([out, retval] BSTR* pVal);
932  [propget, id(2), helpstring("The date the CD was released")] HRESULT IssueDate([out, retval] DATE* pVal);
933 };
934 
936 
937 [
938  object,
939  uuid(cb25f626-7cb6-11e1-8889-0024e84637be),
940  dual,
941  helpstring("IRasNoticeToMarinersNumber Interface"),
942  nonextensible,
943  pointer_default(unique),
944  hidden
945 ]
947 {
949  [propget, id(1), helpstring("property Year")] HRESULT Year([out, retval] LONG* pVal);
951  [propget, id(2), helpstring("property Number")] HRESULT Number([out, retval] LONG* pVal);
953  [id(3), helpstring("method ToString")] HRESULT ToString([retval][out] BSTR* pVal);
954 };
955 
957 [
958  object,
959  uuid(cb25f627-7cb6-11e1-8889-0024e84637be),
960  dual,
961  helpstring("IRasNoticeToMariners Interface"),
962  nonextensible,
963  pointer_default(unique),
964  hidden
965 ]
967 {
969  [propget, id(1), helpstring("property Number")] HRESULT Number([out, retval] IRasNoticeToMarinersNumber ** pVal);
971  [propget, id(2), helpstring("property Text")] HRESULT Text([out, retval] BSTR* pVal);
972 };
973 
974 
976 [
977  object,
978  uuid(cb25f628-7cb6-11e1-8889-0024e84637be),
979  dual,
980  helpstring("IRasNoticesToMariners Interface"),
981  nonextensible,
982  pointer_default(unique),
983  hidden
984 ]
986 {
987  [propget, id(0), helpstring("property Item")] HRESULT Item([in] VARIANT vtIndex, [out,retval] IRasNoticeToMariners ** notice);
988  [propget, id(1), helpstring("property Count")] HRESULT Count([out, retval] LONG* pVal);
989  [propget, id(-4), helpstring("property _NewEnum"), restricted] HRESULT _NewEnum([out, retval] IUnknown** pVal);
990 };
991 
993 [
994  object,
995  uuid(cb25f629-7cb6-11e1-8889-0024e84637be),
996  dual,
997  helpstring("IRasPanelIdentifier Interface"),
998  nonextensible,
999  pointer_default(unique),
1000  hidden
1001 ]
1003 {
1004 #if !defined DOXYGEN_SHOULD_SKIP_THIS
1005  [id(3), hidden, restricted] HRESULT Address([out, retval] DWORD_PTR * pVal);
1006 #endif
1007 };
1008 
1009 
1011 [
1012  object,
1013  uuid(cb25f62a-7cb6-11e1-8889-0024e84637be),
1014  dual,
1015  helpstring("IRasPanelIdentifiers Interface"),
1016  nonextensible,
1017  pointer_default(unique),
1018  hidden
1019 ]
1021 {
1022  [propget, id(0), helpstring("property Item")] HRESULT Item([in] VARIANT vtIndex, [out,retval] IRasPanelIdentifier ** panelid);
1023  [propget, id(1), helpstring("property Count")] HRESULT Count([out, retval] LONG* pVal);
1024  [propget, id(-4), helpstring("property _NewEnum"), restricted] HRESULT _NewEnum([out, retval] IUnknown** pVal);
1025 };
1026 
1027 
1029 [
1030  object,
1031  uuid(cb25f62b-7cb6-11e1-8889-0024e84637be),
1032  dual,
1033  helpstring("IRasChartPanelIdentifier Interface"),
1034  nonextensible,
1035  pointer_default(unique),
1036  hidden
1037 ]
1039 {
1041  [propget, id(1), helpstring("property ChartIdentifier")] HRESULT ChartIdentifier([out, retval] BSTR* pVal);
1043  [propget, id(2), helpstring("property Panel")] HRESULT Panel([out, retval] IRasPanelIdentifier ** pVal);
1045  [id(3), helpstring("method Construct")] HRESULT Construct([in] BSTR chartNumber, [in] IRasPanelIdentifier * panelID);
1046 
1047 #if !defined DOXYGEN_SHOULD_SKIP_THIS
1048  [id(4), hidden, restricted] HRESULT Address([out, retval] DWORD_PTR * pVal);
1049 #endif
1050 };
1051 
1053 [
1054  object,
1055  uuid(cb25f62c-7cb6-11e1-8889-0024e84637be),
1056  dual,
1057  helpstring("IRasChartPanelIdentifiers Interface"),
1058  nonextensible,
1059  pointer_default(unique),
1060  hidden
1061 ]
1063 {
1064  [propget, id(0), helpstring("property Item")] HRESULT Item([in] VARIANT vtIndex, [out,retval] IRasChartPanelIdentifier** ChartPanelId);
1065  [propget, id(1), helpstring("property Count")] HRESULT Count([out, retval] LONG* pVal);
1066  [propget, id(-4), helpstring("property _NewEnum"), restricted] HRESULT _NewEnum([out, retval] IUnknown** pVal);
1067 };
1068 
1069 
1070 
1072 
1075 [
1076  object,
1077  uuid(cb25f62d-7cb6-11e1-8889-0024e84637be),
1078  dual,
1079  helpstring("IRasPanelInfo Interface"),
1080  nonextensible,
1081  pointer_default(unique),
1082  hidden
1083 ]
1085 {
1087  [propget, id(1), helpstring("property Description")] HRESULT Description([out, retval] BSTR* pVal);
1089  [propget, id(2), helpstring("property HeightDatum")] HRESULT HeightDatum([out, retval] BSTR* pVal);
1091  [propget, id(3), helpstring("property HeightUnits")] HRESULT HeightUnits([out, retval] BSTR* pVal);
1093  [propget, id(4), helpstring("property DepthDatum")] HRESULT DepthDatum([out, retval] BSTR* pVal);
1095  [propget, id(5), helpstring("property DepthUnits")] HRESULT DepthUnits([out, retval] BSTR* pVal);
1097  [propget, id(6), helpstring("property ProjectionName")] HRESULT ProjectionName([out, retval] BSTR* pVal);
1099  [propget, id(7), helpstring("property Scale")] HRESULT Scale([out, retval] LONG* pVal);
1101  [propget, id(8), helpstring("property HorizontalDatumInfo")] HRESULT HorizontalDatumInfo([out, retval] IGeoHorizontalDatumInfo ** pVal);
1103  [propget, id(9), helpstring("property GeoArea")] HRESULT GeoArea([out, retval] IGeoArea ** pVal);
1105 
1108  [propget, id(10), helpstring("property PanelNumber")] HRESULT PanelNumber([out, retval] LONG* pVal);
1110 
1113  [propget, id(11), helpstring("property SubPanelNumber")] HRESULT SubPanelNumber([out, retval] LONG* pVal);
1115  [propget, id(12), helpstring("property PixelPoints")] HRESULT PixelPoints([out, retval] IPixelPoints ** pVal);
1117 
1118  [propget, id(13), helpstring("property ManualWGS84ShiftCanBeModified")] HRESULT ManualWGS84ShiftCanBeModified([out, retval] VARIANT_BOOL* pVal);
1120  [propget, id(14), helpstring("property ManualWGS84Shift")] HRESULT ManualWGS84Shift([out, retval] IGeoPoint ** pVal);
1122 
1123  [propget, id(15), helpstring("property ManualWGS84ShiftIsSet")] HRESULT ManualWGS84ShiftIsSet([out, retval] VARIANT_BOOL * pVal);
1125  [id(16), helpstring("method PointInPanel")] HRESULT PointInPanel([in] DOUBLE dLatGeodeticDegrees, [in] DOUBLE dLonDegrees, [out,retval] VARIANT_BOOL* bRes);
1126 };
1127 
1128 
1130 
1131 [
1132  object,
1133  uuid(cb25f62e-7cb6-11e1-8889-0024e84637be),
1134  dual,
1135  helpstring("IRasChartInfo Interface"),
1136  nonextensible,
1137  pointer_default(unique),
1138  hidden
1139 ]
1141 {
1143 
1145  [propget, id(1), helpstring("property IsComplete")] HRESULT IsComplete([out, retval] VARIANT_BOOL* pVal);
1147  [propget, id(2), helpstring("property RequiresLicence")] HRESULT RequiresLicence([out, retval] VARIANT_BOOL* pVal);
1149 
1151  [propget, id(3), helpstring("property IsWithdrawn")] HRESULT IsWithdrawn([out, retval] VARIANT_BOOL* pVal);
1153  [propget, id(4), helpstring("property NativeFormatLongDescription")] HRESULT NativeFormatLongDescription([out, retval] BSTR* pVal);
1155  [propget, id(5), helpstring("property NativeFormatShortDescription")] HRESULT NativeFormatShortDescription([out, retval] BSTR* pVal);
1157  [propget, id(6), helpstring("property Number")] HRESULT Number([out, retval] BSTR* pVal);
1159  [propget, id(7), helpstring("property InternationalNumber")] HRESULT InternationalNumber([out, retval] BSTR* pVal);
1161  [propget, id(8), helpstring("property Description")] HRESULT Description([out, retval] BSTR* pVal);
1163  [propget, id(9), helpstring("property CountryOfOrigin")] HRESULT CountryOfOrigin([out, retval] BSTR* pVal);
1165  [propget, id(10), helpstring("property Producer1")] HRESULT Producer1([out, retval] BSTR* pVal);
1167  [propget, id(11), helpstring("property Producer2")] HRESULT Producer2([out, retval] BSTR* pVal);
1168  [propget, id(12), helpstring("property RasterChartIssueDate")] HRESULT RasterChartIssueDate([out, retval] DATE* pVal);
1170 
1171  [propget, id(13), helpstring("property EditionDate")] HRESULT EditionDate([out, retval] DATE* pVal);
1173  [propget, id(14), helpstring("property LastChanged")] HRESULT LastChanged([out, retval] DATE* pVal);
1175  [propget, id(15), helpstring("property LatestCorrectionDate")] HRESULT LatestCorrectionDate([out, retval] DATE* pVal);
1177  [propget, id(16), helpstring("property InstallationCD")] HRESULT InstallationCD([out, retval] IRasDiscIdentity ** pVal);
1179 
1180  [propget, id(17), helpstring("property MissingReInstallationCD")] HRESULT MissingReInstallationCD([out, retval] IRasDiscIdentity ** pVal);
1182 
1183  [propget, id(18), helpstring("property MissingUpdateCD")] HRESULT MissingUpdateCD([out, retval] IRasDiscIdentity ** pVal);
1185 
1186  [propget, id(19), helpstring("property LatestNoticeToMarinersNumber")] HRESULT LatestNoticeToMarinersNumber([out, retval] IRasNoticeToMarinersNumber ** pVal);
1188  [propget, id(20), helpstring("property NoticesToMariners")] HRESULT NoticesToMariners([out, retval] IRasNoticesToMariners ** pVal);
1190  [propget, id(21), helpstring("property PanelIdentifiers")] HRESULT PanelIdentifiers([out, retval] IRasPanelIdentifiers ** pVal);
1192 
1193  [propget, id(22), helpstring("property PanelInfo")] HRESULT PanelInfo([in] IRasPanelIdentifier * panelId, [out, retval] IRasPanelInfo ** pVal);
1194 
1196 
1197  [propget, id(23), helpstring("property PermitExpiryDate")] HRESULT PermitExpiryDate([out, retval] DATE* pVal);
1198 };
1199 
1200 
1202 [
1203  object,
1204  uuid(cb25f62f-7cb6-11e1-8889-0024e84637be),
1205  dual,
1206  helpstring("IRasManager Interface"),
1207  nonextensible,
1208  pointer_default(unique),
1209  hidden
1210 ]
1212 {
1214  [id(2), helpstring("method OpenRasFolder")] HRESULT OpenRasFolder([in] ILibrary * piLibrary, [in] BSTR sPath);
1216  [propget, id(4), helpstring("property Charts")] HRESULT Charts([out, retval] IRasCharts ** pVal);
1218  [id(5), helpstring("method ChartInfo")] HRESULT ChartInfo([in] BSTR ChartIdentifier, [out, retval] IRasChartInfo ** pVal);
1220  [id(6), helpstring("method PanelInfo")] HRESULT PanelInfo([in] IRasChartPanelIdentifier * PanelID, [out, retval] IRasPanelInfo ** pVal);
1221  [propget, id(7), helpstring("property NoticesToMarinersLatestUpdate")] HRESULT NoticesToMarinersLatestUpdate([out, retval] DATE* pVal);
1222  [propget, id(8), helpstring("property GeneralNoticesToMariners")] HRESULT GeneralNoticesToMariners([out, retval] IRasNoticesToMariners ** pVal);
1223  [id(9), helpstring("method PanelsInGeoRect")] HRESULT PanelsInGeoRect([in] IGeoRect * geoRect, [in] LONG ScaleMin, [in] LONG ScaleMax, [out, retval] IRasChartPanelIdentifiers ** pVal);
1224  [id(10), helpstring("method PanelsAtPoint")] HRESULT PanelsAtPoint([in] DOUBLE dLatGeodeticDegrees, [in] DOUBLE dLonDegrees, [in] LONG ScaleMin, [in] LONG ScaleMax, [out, retval] IRasChartPanelIdentifiers ** pVal);
1226 
1227  [id(11), helpstring("method SetManualWGS84Shift")] HRESULT SetManualWGS84Shift([in] IRasChartPanelIdentifier * PanelId, [in] IGeoPoint * geoPoint, VARIANT_BOOL isSet);
1228 
1230  [id(12), helpstring("method DisplayPinDialog")] HRESULT DisplayPinDialog([in] BSTR chartNumber, [out, retval] VARIANT_BOOL * bRes);
1231 
1233  [id(13), helpstring("Invoke the CherSoft Windows application that installs and updates ARCS charts in the folder")] HRESULT RunInstallApplicationARCS([in] BSTR pathToInstallationApp);
1234 
1236  [id(15), helpstring("method IsValidRasFolder")] HRESULT IsValidRasFolder([in] BSTR sPath, [out, retval] VARIANT_BOOL * bRes);
1238  [id(16), helpstring("method CreateRasFolder")] HRESULT CreateRasFolder([in] BSTR sPath);
1239 
1240 #if !defined DOXYGEN_SHOULD_SKIP_THIS
1241  [id(17), hidden, restricted] HRESULT Address([out, retval] DWORD_PTR * pVal);
1242 #endif
1243 };
1244 
1245 
1247 
1248 [
1249  object,
1250  uuid(cb25f630-7cb6-11e1-8889-0024e84637be),
1251  dual,
1252  helpstring("IRasCatalogueObserver Interface"),
1253  nonextensible,
1254  pointer_default(unique),
1255  hidden
1256 ]
1258 {
1260  [id(1), helpstring("method Register")] HRESULT Register([in] IRasManager * rasManager);
1262  [id(2), helpstring("method Unregister")] HRESULT Unregister(void);
1263 };
1264 
1265 
1267 
1269 [
1270  object,
1271  uuid(cb25f631-7cb6-11e1-8889-0024e84637be),
1272  dual,
1273  helpstring("IRasPanelNote Interface"),
1274  nonextensible,
1275  pointer_default(unique),
1276  hidden
1277 ]
1279 {
1281  [propget, id(1), helpstring("The bounding box of the note on the chart. Pixel position (0,0) is always at the top left corner of the chart")] HRESULT Rect([out, retval] IPixelRect ** rect);
1283 
1285  [propget, id(3), helpstring("Fine catIdentification of the note")] HRESULT Code([out, retval] BSTR* pVal);
1287  [propget, id(4), helpstring("Coarse categorisation of the note")] HRESULT Type([out, retval] BSTR* pVal);
1289  [propget, id(5), helpstring("Returns true if the note overlaps any hydrography")] HRESULT Obscures([out, retval] VARIANT_BOOL* pVal);
1291 
1293  [propget, id(6), helpstring("Returns true if the note should be displayed to the user")] HRESULT Display([out, retval] VARIANT_BOOL* pVal);
1294 };
1295 
1297 [
1298  object,
1299  uuid(cb25f632-7cb6-11e1-8889-0024e84637be),
1300  dual,
1301  helpstring("IRasPanelNotes Interface"),
1302  nonextensible,
1303  pointer_default(unique),
1304  hidden
1305 ]
1307 {
1308  [propget, id(0), helpstring("property Item")] HRESULT Item([in] VARIANT vtIndex, [out,retval] IRasPanelNote ** panelNote);
1309  [propget, id(1), helpstring("property Count")] HRESULT Count([out, retval] LONG* pVal);
1310  [propget, id(-4), helpstring("property _NewEnum"), restricted] HRESULT _NewEnum([out, retval] IUnknown** pVal);
1311 };
1312 
1313 
1315 
1317 [
1318  object,
1319  uuid(cb25f633-7cb6-11e1-8889-0024e84637be),
1320  dual,
1321  helpstring("IRasDraw Interface"),
1322  nonextensible,
1323  pointer_default(unique),
1324  hidden
1325 ]
1326 interface IRasDraw : IDispatch
1327 {
1329  [id(1), helpstring("Use a specific chart")] HRESULT OpenChart([in] IRasManager * rasmanager, [in] BSTR ChartIdentifier);
1331  [propget, id(2), helpstring("The chart's number")] HRESULT ChartIdentifier([out, retval] BSTR* pVal);
1333 
1335  [propget, id(3), helpstring("When true, the chart will be drawn at a much reduced size (typically 1/6th of normal size)")] HRESULT DisplayFullSize([out, retval] VARIANT_BOOL* pVal);
1337 
1339  [propput, id(3), helpstring("When true, the chart will be drawn at a much reduced size (typically 1/6th of normal size)")] HRESULT DisplayFullSize([in] VARIANT_BOOL newVal);
1341 
1344  [propget, id(4), helpstring("True iff there are currently corrections on the chart")] HRESULT HasUpdates([out, retval] VARIANT_BOOL* pVal);
1346 
1347  [propget, id(5), helpstring("Draw the chart using the available updates. On by default")] HRESULT DisplayUpdates([out, retval] VARIANT_BOOL* pVal);
1349 
1350  [propput, id(5), helpstring("Draw the chart using the available updates. On by default")] HRESULT DisplayUpdates([in] VARIANT_BOOL newVal);
1352 
1353  [propget, id(6), helpstring("Highlight the updated areas on the chart. Off by default")] HRESULT IndicateUpdates([out, retval] VARIANT_BOOL* pVal);
1355 
1356  [propput, id(6), helpstring("Highlight the updated areas on the chart. Off by default")] HRESULT IndicateUpdates([in] VARIANT_BOOL newVal);
1358  [propget, id(7), helpstring("The colour scheme for the chart")] HRESULT DisplayPalette([out, retval] IDisplayPalette ** pVal);
1360  [propput, id(7), helpstring("The colour scheme for the chart")] HRESULT DisplayPalette([in] IDisplayPalette * newVal);
1362  [propget, id(8), helpstring("This message should be displayed on top of the chart at all times")] HRESULT PermanentMessage([out, retval] BSTR* pVal);
1364  [propget, id(9), helpstring("This message should be brought to the operator's attention when the chart is opened")] HRESULT WarningMessage([out, retval] BSTR* pVal);
1366  [propget, id(10), helpstring("This message should be brought to the operator's attention when the chart is opened")] HRESULT UpdateMessage([out, retval] BSTR* pVal);
1368  [propget, id(12), helpstring("Snapshot of all the geopixes that are inside Rect()")] HRESULT VisibleGeoPix([out, retval] IGeoPixCollection ** pVal);
1370 
1371  [propget, id(13), helpstring("Returns the nominal size of a pixel")] HRESULT PixelSizeMetres([out, retval] DOUBLE* sz);
1373  [propget, id(14), helpstring("Return the size of the whole chart in pixels, allowing for it being either full-size or overview")] HRESULT ChartSize([out, retval] IPixelSize** sz);
1375 
1376  [id(15), helpstring("Obtain the identity of the panel at a specified pixel position")] HRESULT PanelAtPoint([in] IPixelPoint * ipPixelPt, [out,retval] IRasPanelIdentifier ** rpid);
1378 
1379  [id(16), helpstring("Obtain the GeoPix at a specified pixel position")] HRESULT GeoPix([in] IPixelPoint * ipPixelPt, [out,retval] IGeoPix ** geoPix);
1381 
1382  [id(17), helpstring("Obtain the HorizontalDatum at a specified pixel position")] HRESULT HorizontalDatum([in] IPixelPoint * ipPixelPt, [out,retval] IHorizontalDatum ** hd);
1384 
1385  [id(18), helpstring("Draw the Rect() portion of the chart to the specified device context")] HRESULT Draw([in] OLE_HANDLE hDC);
1387  [id(19), helpstring("Obtain a collection of notes associated with the specified panel")] HRESULT PanelNotes([in] IRasPanelIdentifier * panelId, [out, retval] IRasPanelNotes ** pVal);
1388 
1390 
1391  [id(20), helpstring("Get a copy of the area of the chart to be drawn. Pixel position (0,0) is always at the top left corner of the chart")] HRESULT GetRect([out, retval] IPixelRect** rect);
1393 
1394  [id(21), helpstring("Set the area of the chart to be drawn. Pixel position (0,0) is always at the top left corner of the chart")] HRESULT SetRect([in] IPixelRect * rect);
1396 
1397  [id(22), helpstring("Set the view rectangle to display the geographical position specified on the panel specified.")]
1398  HRESULT OpenAtPositionOnPanel([in] IRasManager * rasManager, [in] IRasChartPanelIdentifier * chartAndPanel, [in] IGeoPoint * geoPt);
1399 
1401  [propget, id(23), helpstring("Magnify raster chart")] HRESULT Magnify([out, retval] ULONG* percent);
1403 
1404  [propput, id(23), helpstring("Magnify raster chart")] HRESULT Magnify([in] ULONG percent);
1405 
1407 
1408  [id(24), helpstring("Obtain the GeoPix for the specified panel")] HRESULT PanelGeoPix([in] IRasPanelIdentifier* panelID, [out, retval] IGeoPix** geoPix);
1409 };
1410 
1411 #endif
1413 // S57 interfaces
1415 
1417 
1694 [
1695  object,
1696  uuid(cb25f634-7cb6-11e1-8889-0024e84637be),
1697  dual,
1698  helpstring("IS57Attribute Interface"),
1699  nonextensible,
1700  pointer_default(unique),
1701  hidden
1702 ]
1704 {
1706  [propget, id(1), hidden, helpstring("property Product")] HRESULT Product([out, retval] enum S57Product* pVal);
1708  [propget, id(2), helpstring("property Acronym")] HRESULT Acronym([out, retval] BSTR* pVal);
1710  [propget, id(3), helpstring("property Name")] HRESULT Name([out, retval] BSTR* pVal);
1712  [id(4), helpstring("Whether this Attribute is used by the specified product")] HRESULT IsInProduct([in] enum S57Product product, [out, retval] VARIANT_BOOL * result);
1713 };
1714 
1715 
1717 
1718 [
1719  object,
1720  uuid(cb25f635-7cb6-11e1-8889-0024e84637be),
1721  dual,
1722  helpstring("IS57AttributeValue Interface"),
1723  nonextensible,
1724  pointer_default(unique),
1725  hidden
1726 ]
1728 {
1730  [propget, id(1), helpstring("property Attribute")] HRESULT Attribute([out, retval] IS57Attribute ** pVal);
1732  [propget, id(2), helpstring("property Value")] HRESULT Value([out, retval] BSTR* pVal);
1733 };
1734 
1735 
1737 [
1738  object,
1739  uuid(cb25f636-7cb6-11e1-8889-0024e84637be),
1740  dual,
1741  helpstring("IS57AttributeValues Interface"),
1742  nonextensible,
1743  pointer_default(unique),
1744  hidden
1745 ]
1747 {
1748  [propget, id(0), helpstring("property Item")] HRESULT Item([in] VARIANT vtIndex, [out,retval] IS57AttributeValue ** attrValue);
1749  [propget, id(1), helpstring("property Count")] HRESULT Count([out, retval] LONG* pVal);
1750  [propget, id(-4), helpstring("property _NewEnum"), restricted] HRESULT _NewEnum([out, retval] IUnknown** pVal);
1751 };
1752 
1753 
1755 [
1756  object,
1757  uuid(cb25f637-7cb6-11e1-8889-0024e84637be),
1758  dual,
1759  helpstring("IS57CellIdentifier Interface"),
1760  nonextensible,
1761  pointer_default(unique),
1762  hidden
1763 ]
1765 {
1767 
1768  [propget, id(1), helpstring("property CellName")] HRESULT CellName([out, retval] BSTR* pVal);
1770  [propget, id(2), helpstring("property Product")] HRESULT Product([out, retval] enum S57Product* pVal);
1772  [id(3), helpstring("method Construct")] HRESULT Construct([in] enum S57Product product, [in] BSTR cellName);
1773 
1774 #if !defined DOXYGEN_SHOULD_SKIP_THIS
1775  [id(4), hidden, restricted] HRESULT Address([out, retval] DWORD_PTR * pVal);
1776 #endif
1777 };
1778 
1780 [
1781  object,
1782  uuid(cb25f638-7cb6-11e1-8889-0024e84637be),
1783  dual,
1784  helpstring("IS57CellIdentifiers Interface"),
1785  nonextensible,
1786  pointer_default(unique),
1787  hidden
1788 ]
1790 {
1791  [propget, id(0), helpstring("property Item")] HRESULT Item([in] VARIANT vtIndex, [out,retval] IS57CellIdentifier** cellId);
1792  [propget, id(1), helpstring("property Count")] HRESULT Count([out, retval] LONG* pVal);
1793  [propget, id(-4), helpstring("property _NewEnum"), restricted] HRESULT _NewEnum([out, retval] IUnknown** pVal);
1794  [id(2), helpstring("method Add")] HRESULT Add([in] IS57CellIdentifier * cellId);
1795  [id(3), helpstring("method Remove")] HRESULT Remove([in] LONG nIndex);
1796  [id(4), helpstring("method Clear")] HRESULT Clear();
1797 
1798 #if !defined DOXYGEN_SHOULD_SKIP_THIS
1799  [id(5), hidden, restricted] HRESULT Address([out, retval] DWORD_PTR * pVal);
1800 #endif
1801 };
1802 
1804 
1880 [
1881  object,
1882  uuid(cb25f639-7cb6-11e1-8889-0024e84637be),
1883  dual,
1884  helpstring("IS57Colour Interface"),
1885  nonextensible,
1886  pointer_default(unique),
1887  hidden
1888 ]
1890 {
1891  [propget, id(1), helpstring("property Name")] HRESULT Name([out, retval] BSTR* pVal);
1892  [propput, id(1), helpstring("property Name")] HRESULT Name([in] BSTR val);
1894  [id(2), helpstring("Construct")] HRESULT Construct([in] BSTR name);
1895 
1896 #if !defined DOXYGEN_SHOULD_SKIP_THIS
1897  [id(3), hidden, restricted] HRESULT Address([out, retval] DWORD_PTR * pVal);
1898 #endif
1899 };
1900 
1901 
1903 [
1904  object,
1905  uuid(cb25f63a-7cb6-11e1-8889-0024e84637be),
1906  dual,
1907  helpstring("IS57ColourValue Interface"),
1908  nonextensible,
1909  pointer_default(unique),
1910  hidden
1911 ]
1913 {
1915  [id(1), helpstring("Construct")] HRESULT Construct([in] IS57Colour * pColour, DWORD rgbDay, DWORD rgbTwilight, DWORD rgbNight);
1917  [propget, id(2), helpstring("property Colour")] HRESULT Colour([out, retval] IS57Colour ** pVal);
1919  [propput, id(2), helpstring("property Colour")] HRESULT Colour([in] IS57Colour * pVal);
1921  [propget, id(3), helpstring("property RGB for daylight viewing")] HRESULT DayRGB([out, retval] COLORREF* rgb);
1923  [propput, id(3), helpstring("property RGB for daylight viewing")] HRESULT DayRGB([in] COLORREF rgb);
1925  [propget, id(4), helpstring("property RGB for twilight viewing")] HRESULT TwilightRGB([out, retval] COLORREF* rgb);
1927  [propput, id(4), helpstring("property RGB for twilight viewing")] HRESULT TwilightRGB([in] COLORREF rgb);
1929  [propget, id(5), helpstring("property RGB for night time viewing")] HRESULT NightRGB([out, retval] COLORREF* rgb);
1931  [propput, id(5), helpstring("property RGB for night time viewing")] HRESULT NightRGB([in] COLORREF rgb);
1932 
1933 #if !defined DOXYGEN_SHOULD_SKIP_THIS
1934  [id(6), hidden, restricted] HRESULT Address([out, retval] DWORD_PTR * pVal);
1935 #endif
1936 };
1937 
1938 
1940 [
1941  object,
1942  uuid(cb25f63b-7cb6-11e1-8889-0024e84637be),
1943  dual,
1944  helpstring("IS57ColourValues Interface"),
1945  nonextensible,
1946  pointer_default(unique),
1947  hidden
1948 ]
1950 {
1951  [propget, id(0), helpstring("property Item")] HRESULT Item([in] VARIANT vtIndex, [out,retval] IS57ColourValue ** colourValue);
1952  [propget, id(1), helpstring("property Count")] HRESULT Count([out, retval] LONG* pVal);
1953  [propget, id(-4), helpstring("property _NewEnum"), restricted] HRESULT _NewEnum([out, retval] IUnknown** pVal);
1954  [id(2), helpstring("method Add")] HRESULT Add([in] IS57ColourValue * colourValue);
1955  [id(3), helpstring("method Remove")] HRESULT Remove([in] LONG nIndex);
1956  [id(4), helpstring("method Clear")] HRESULT Clear();
1957 
1958 #if !defined DOXYGEN_SHOULD_SKIP_THIS
1959  [id(5), hidden, restricted] HRESULT Address([out, retval] DWORD_PTR * pVal);
1960 #endif
1961 };
1962 
1963 
1965 [
1966  object,
1967  uuid(cb25f63c-7cb6-11e1-8889-0024e84637be),
1968  dual,
1969  helpstring("IS57ProductAndUsage Interface"),
1970  nonextensible,
1971  pointer_default(unique),
1972  hidden
1973 ]
1975 {
1977  [propget, id(1), helpstring("S-57 Product")] HRESULT Product([out, retval] enum S57Product* pVal);
1979  [propput, id(1), helpstring("S-57 Product")] HRESULT Product([in] enum S57Product newVal);
1981 
1992  [propget, id(2), helpstring("Intended usage (For ENC, navigational purpose 1 .. 6)")] HRESULT IntendedUsage([out, retval] BYTE* pVal);
1994 
2005  [propput, id(2), helpstring("Intended usage (For ENC, navigational purpose 1 .. 6)")] HRESULT IntendedUsage([in] BYTE newVal);
2006 
2007 #if !defined DOXYGEN_SHOULD_SKIP_THIS
2008  [id(3), hidden, restricted] HRESULT Address([out, retval] DWORD_PTR * pVal);
2009 #endif
2010 };
2011 
2013 [
2014  object,
2015  uuid(cb25f63d-7cb6-11e1-8889-0024e84637be),
2016  dual,
2017  helpstring("IS57ProductAndUsages Interface"),
2018  nonextensible,
2019  pointer_default(unique),
2020  hidden
2021 ]
2023 {
2024  [propget, id(0), helpstring("property Item")] HRESULT Item([in] VARIANT vtIndex, [out,retval] IS57ProductAndUsage** ProductAndUsage);
2025  [propget, id(1), helpstring("property Count")] HRESULT Count([out, retval] LONG* pVal);
2026  [propget, id(-4), helpstring("property _NewEnum"), restricted] HRESULT _NewEnum([out, retval] IUnknown** pVal);
2027  [id(2), helpstring("method Add")] HRESULT Add([in] IS57ProductAndUsage * ProductAndUsage);
2028  [id(3), helpstring("method Remove")] HRESULT Remove([in] LONG nIndex);
2029  [id(4), helpstring("method Clear")] HRESULT Clear();
2030 
2031 #if !defined DOXYGEN_SHOULD_SKIP_THIS
2032  [id(5), hidden, restricted] HRESULT Address([out, retval] DWORD_PTR * pVal);
2033 #endif
2034 
2035  [id(6), helpstring("method RestoreDefault")] HRESULT RestoreDefault();
2036 };
2037 
2039 
2040 [
2041  object,
2042  uuid(cb25f63e-7cb6-11e1-8889-0024e84637be),
2043  dual,
2044  helpstring("IS57CellInfo Interface"),
2045  nonextensible,
2046  pointer_default(unique),
2047  hidden
2048 ]
2050 {
2052  [propget, id(1), helpstring("property CellIdentifier")] HRESULT CellIdentifier([out, retval] IS57CellIdentifier** pVal);
2054  [propget, id(2), helpstring("property IntendedUsage")] HRESULT IntendedUsage([out, retval] LONG* pVal);
2056  [propget, id(3), helpstring("property CompilationScale")] HRESULT CompilationScale([out, retval] LONG* pVal);
2058  [propget, id(4), helpstring("Description of the S-57 data producer")] HRESULT Agency([out, retval] BSTR* pVal);
2060  [propget, id(5), helpstring("property Country")] HRESULT Country([out, retval] BSTR* pVal);
2062  [propget, id(6), helpstring("property VerticalDatum")] HRESULT VerticalDatum([out, retval] BSTR* pVal);
2064  [propget, id(7), helpstring("property SoundingDatum")] HRESULT SoundingDatum([out, retval] BSTR* pVal);
2066  [propget, id(8), helpstring("property Extent")] HRESULT Extent([out, retval] IGeoRect ** pVal);
2068  [propget, id(9), helpstring("property IssueDate")] HRESULT IssueDate([out, retval] DATE* pVal);
2070  [propget, id(11), helpstring("property LastChanged")] HRESULT LastChanged([out, retval] DATE* pVal);
2072 
2073  [propget, id(12), helpstring("property Edition")] HRESULT Edition([out, retval] LONG* pVal);
2075  [propget, id(13), helpstring("property LatestUpdate")] HRESULT LatestUpdate([out, retval] LONG* pVal);
2077  [propget, id(14), helpstring("property PermitExpiryDate")] HRESULT PermitExpiryDate([out, retval] DATE* pVal);
2079  [propget, id(15), helpstring("property PermitIsSubscription")] HRESULT PermitIsSubscription([out, retval] VARIANT_BOOL* pVal);
2081 
2083  [propget, id(16), helpstring("property LeastDetailedDisplayScaleToShow_All")] HRESULT LeastDetailedDisplayScaleToShow_All([out, retval] LONG* pVal);
2085 
2087  [propget, id(17), helpstring("property LeastDetailedDisplayScaleToShow_GroupOne")] HRESULT LeastDetailedDisplayScaleToShow_GroupOne([out, retval] LONG* pVal);
2089 
2092  [propget, id(18), helpstring("property LeastDetailedDisplayScaleToShow_Coverage")] HRESULT LeastDetailedDisplayScaleToShow_Coverage([out, retval] LONG* pVal);
2094  [propget, id(19), helpstring("Empty for most ENC suppliers, useful text from NOAA")] HRESULT LongFileName([out, retval] BSTR* pVal);
2095 };
2096 
2098 [
2099  object,
2100  uuid(cb25f63f-7cb6-11e1-8889-0024e84637be),
2101  dual,
2102  helpstring("IS57DepthPoint Interface"),
2103  nonextensible,
2104  pointer_default(unique),
2105  hidden
2106 ]
2108 {
2110  [propget, id(1), helpstring("Geographical position of sounding")] HRESULT GeoPoint([out, retval] IGeoPoint ** pVal);
2112  [propget, id(2), helpstring("Depth of sounding in metres")] HRESULT Depth([out, retval] DOUBLE* pVal);
2113 };
2114 
2115 
2117 [
2118  object,
2119  uuid(cb25f640-7cb6-11e1-8889-0024e84637be),
2120  dual,
2121  helpstring("IS57DepthPoints Interface"),
2122  nonextensible,
2123  pointer_default(unique),
2124  hidden
2125 ]
2127 {
2128  [propget, id(0), helpstring("property Item")] HRESULT Item([in] VARIANT vtIndex, [out,retval] IS57DepthPoint ** depthPoint);
2129  [propget, id(1), helpstring("property Count")] HRESULT Count([out, retval] LONG* pVal);
2130  [propget, id(-4), helpstring("property _NewEnum"), restricted] HRESULT _NewEnum([out, retval] IUnknown** pVal);
2131 };
2132 
2133 
2135 [
2136  object,
2137  uuid(cb25f641-7cb6-11e1-8889-0024e84637be),
2138  dual,
2139  helpstring("IS57Face Interface"),
2140  nonextensible,
2141  pointer_default(unique),
2142  hidden
2143 ]
2144 interface IS57Face : IDispatch
2145 {
2147  [propget, id(1), helpstring("property Points")] HRESULT Points([out, retval] IGeoPoints ** pVal);
2148 };
2149 
2150 
2152 [
2153  object,
2154  uuid(cb25f642-7cb6-11e1-8889-0024e84637be),
2155  dual,
2156  helpstring("IS57Faces Interface"),
2157  nonextensible,
2158  pointer_default(unique),
2159  hidden
2160 ]
2162 {
2163  [propget, id(0), helpstring("property Item")] HRESULT Item([in] VARIANT vtIndex, [out,retval] IS57Face ** face);
2164  [propget, id(1), helpstring("property Count")] HRESULT Count([out, retval] LONG* pVal);
2165  [propget, id(-4), helpstring("property _NewEnum"), restricted] HRESULT _NewEnum([out, retval] IUnknown** pVal);
2166 };
2167 
2169 
2393 [
2394  object,
2395  uuid(cb25f643-7cb6-11e1-8889-0024e84637be),
2396  dual,
2397  helpstring("IS57ObjectClass Interface"),
2398  nonextensible,
2399  pointer_default(unique),
2400  hidden
2401 ]
2403 {
2405  [propget, id(1), hidden, helpstring("Product")] HRESULT Product([out, retval] enum S57Product* pVal);
2407  [propget, id(2), helpstring("Acronym")] HRESULT Acronym([out, retval] BSTR* pVal);
2409  [propget, id(3), helpstring("Description")] HRESULT Description([out, retval] BSTR* pVal);
2411  [id(4), helpstring("Construct")] HRESULT Construct([in] BSTR acronym);
2413  [id(5), helpstring("Whether this Object Class is used by the specified product")] HRESULT IsInProduct([in] enum S57Product product, [out, retval] VARIANT_BOOL * result);
2414 
2415 #if !defined DOXYGEN_SHOULD_SKIP_THIS
2416  [id(6), hidden, restricted] HRESULT Address([out, retval] DWORD_PTR * pVal);
2417 #endif
2418 };
2419 
2421 [
2422  object,
2423  uuid(cb25f644-7cb6-11e1-8889-0024e84637be),
2424  dual,
2425  helpstring("IS57ObjectClassCollection Interface"),
2426  nonextensible,
2427  pointer_default(unique),
2428  hidden
2429 ]
2431 {
2432  [propget, id(0), helpstring("property Item")] HRESULT Item([in] VARIANT vtIndex, [out,retval] IS57ObjectClass ** objectClass);
2433  [propget, id(1), helpstring("property Count")] HRESULT Count([out, retval] LONG* pVal);
2434  [propget, id(-4), helpstring("property _NewEnum"), restricted] HRESULT _NewEnum([out, retval] IUnknown** pVal);
2435  [id(2), helpstring("method Add")] HRESULT Add([in] IS57ObjectClass * objectClass);
2436  [id(3), helpstring("method Remove")] HRESULT Remove([in] LONG nIndex);
2437  [id(4), helpstring("method Clear")] HRESULT Clear();
2438 
2439 #if !defined DOXYGEN_SHOULD_SKIP_THIS
2440  [id(5), hidden, restricted] HRESULT Address([out, retval] DWORD_PTR * pVal);
2441 #endif
2442 };
2443 
2445 [
2446  object,
2447  uuid(cb25f645-7cb6-11e1-8889-0024e84637be),
2448  dual,
2449  helpstring("IS57FeatureIdentifier Interface"),
2450  nonextensible,
2451  pointer_default(unique),
2452  hidden
2453 ]
2455 {
2457 
2464  [propget, id(1), helpstring("Agency")] HRESULT Agency([out, retval] SHORT* pVal);
2466  [propget, id(2), helpstring("FIDN")] HRESULT FIDN([out, retval] LONG* pVal);
2468  [propget, id(3), helpstring("FIDS")] HRESULT FIDS([out, retval] SHORT* pVal);
2470  [propget, id(4), helpstring("CellIdentifier")] HRESULT CellIdentifier([out, retval] IS57CellIdentifier** pVal);
2472  [id(5), helpstring("Show feature ID and cell ID as string")] HRESULT ToString([out, retval] BSTR* pVal);
2474  [id(6), helpstring("Construction from parts")] HRESULT Construct([in] SHORT Agency, [in] LONG FIDN, [in] SHORT FIDS, [in] IS57CellIdentifier * piCellID);
2476  [id(7), helpstring("Construct from string")] HRESULT FromString([in] BSTR val);
2477 #if !defined DOXYGEN_SHOULD_SKIP_THIS
2478  [id(9), hidden, restricted] HRESULT Address([out, retval] DWORD_PTR * pVal);
2479 #endif
2481  [id(10), helpstring("Construction from parts")] HRESULT ConstructEx([in] SHORT Agency, [in] LONG FIDN, [in] SHORT FIDS, [in] IS57CellIdentifier * piCellID, [in] LONG index);
2483  [propget, id(11), helpstring("Index")] HRESULT Index([out, retval] LONG* pVal);
2485  [id(12), helpstring("Show feature ID, cell ID and index as string")] HRESULT ToStringEx([out, retval] BSTR* pVal);
2486 };
2487 
2489 [
2490  object,
2491  uuid(cb25f646-7cb6-11e1-8889-0024e84637be),
2492  dual,
2493  helpstring("IS57FeatureIdentifiers Interface"),
2494  nonextensible,
2495  pointer_default(unique),
2496  hidden
2497 ]
2499 {
2500  [propget, id(0), helpstring("property Item")] HRESULT Item([in] VARIANT vtIndex, [out,retval] IS57FeatureIdentifier** featureId);
2501  [propget, id(1), helpstring("property Count")] HRESULT Count([out, retval] LONG* pVal);
2502  [propget, id(-4), helpstring("property _NewEnum"), restricted] HRESULT _NewEnum([out, retval] IUnknown** pVal);
2503  [id(2), helpstring("method Add")] HRESULT Add([in] IS57FeatureIdentifier * featureId);
2504  [id(3), helpstring("method Remove")] HRESULT Remove([in] LONG nIndex);
2505  [id(4), helpstring("method Clear")] HRESULT Clear();
2506 
2507 #if !defined DOXYGEN_SHOULD_SKIP_THIS
2508  [id(5), hidden, restricted] HRESULT Address([out, retval] DWORD_PTR * pVal);
2509 #endif
2510 };
2511 
2512 
2514 [
2515  object,
2516  uuid(cb25f647-7cb6-11e1-8889-0024e84637be),
2517  dual,
2518  helpstring("IS57FeatureInfo Interface"),
2519  nonextensible,
2520  pointer_default(unique),
2521  hidden
2522 ]
2524 {
2526  [propget, id(1), helpstring("property ObjectClass")] HRESULT ObjectClass([out, retval] IS57ObjectClass ** pVal);
2528  [propget, id(2), helpstring("property FeatureID")] HRESULT FeatureID([out, retval] IS57FeatureIdentifier ** pVal);
2530  [propget, id(3), helpstring("property Attributes")] HRESULT Attributes([out, retval] IS57AttributeValues ** pVal);
2532  [propget, id(4), helpstring("property Slaves")] HRESULT Slaves([out, retval] IS57FeatureIdentifiers ** pVal);
2533 };
2534 
2536 [
2537  object,
2538  uuid(cb25f648-7cb6-11e1-8889-0024e84637be),
2539  dual,
2540  helpstring("IS57FeatureArea Interface"),
2541  nonextensible,
2542  pointer_default(unique),
2543  hidden
2544 ]
2546 {
2548  [propget, id(1), helpstring("property FeatureInfo")] HRESULT FeatureInfo([out, retval] IS57FeatureInfo ** pVal);
2550  [propget, id(2), helpstring("property Faces")] HRESULT Faces([out, retval] IS57Faces ** pVal);
2551 };
2552 
2554 [
2555  object,
2556  uuid(cb25f649-7cb6-11e1-8889-0024e84637be),
2557  dual,
2558  helpstring("IS57FeatureLine Interface"),
2559  nonextensible,
2560  pointer_default(unique),
2561  hidden
2562 ]
2564 {
2566  [propget, id(1), helpstring("property FeatureInfo")] HRESULT FeatureInfo([out, retval] IS57FeatureInfo ** pVal);
2568 
2570  [propget, id(2), helpstring("property Points")] HRESULT Points([out, retval] IGeoPoints ** pVal);
2571 };
2572 
2573 
2575 [
2576  object,
2577  uuid(cb25f64a-7cb6-11e1-8889-0024e84637be),
2578  dual,
2579  helpstring("IS57FeaturePoint Interface"),
2580  nonextensible,
2581  pointer_default(unique),
2582  hidden
2583 ]
2585 {
2587  [propget, id(1), helpstring("property FeatureInfo")] HRESULT FeatureInfo([out, retval] IS57FeatureInfo ** pVal);
2589  [propget, id(2), helpstring("property Point")] HRESULT Point([out, retval] IGeoPoint ** pVal);
2590 };
2591 
2592 
2594 [
2595  object,
2596  uuid(cb25f64b-7cb6-11e1-8889-0024e84637be),
2597  dual,
2598  helpstring("IS57FeatureSounding Interface"),
2599  nonextensible,
2600  pointer_default(unique),
2601  hidden
2602 ]
2604 {
2606  [propget, id(1), helpstring("property FeatureInfo")] HRESULT FeatureInfo([out, retval] IS57FeatureInfo ** pVal);
2608  [propget, id(2), helpstring("property Depths")] HRESULT Depths([out, retval] IS57DepthPoints ** pVal);
2609 };
2610 
2611 
2612 
2613 
2614 interface IS57DrawnFeatures; // forward declaration
2615 
2617 [
2618  object,
2619  uuid(cb25f64c-7cb6-11e1-8889-0024e84637be),
2620  dual,
2621  helpstring("IS57DrawnFeature Interface"),
2622  nonextensible,
2623  pointer_default(unique),
2624  hidden
2625 ]
2627 {
2629 
2631  [propget, id(1), helpstring("property FeatureID")] HRESULT FeatureID([out, retval] IS57FeatureIdentifier ** pVal);
2633  [propget, id(2), helpstring("property Visible")] HRESULT Visible([out, retval] VARIANT_BOOL* pVal);
2635  [propget, id(3), helpstring("property DisplayPriorityPoint")] HRESULT DisplayPriorityPoint([out, retval] LONG* pVal);
2637  [propget, id(5), helpstring("property DisplayPriorityLine")] HRESULT DisplayPriorityLine([out, retval] LONG* pVal);
2639  [propget, id(6), helpstring("property DisplayPriorityArea")] HRESULT DisplayPriorityArea([out, retval] LONG* pVal);
2641  [propget, id(4), helpstring("property Slaves")] HRESULT Slaves([out, retval] IS57DrawnFeatures ** pVal);
2642 };
2643 
2645 [
2646  object,
2647  uuid(cb25f64d-7cb6-11e1-8889-0024e84637be),
2648  dual,
2649  helpstring("IS57DrawnFeatures Interface"),
2650  nonextensible,
2651  pointer_default(unique),
2652  hidden
2653 ]
2655 {
2656  [propget, id(0), helpstring("property Item")] HRESULT Item([in] VARIANT vtIndex, [out,retval] IS57DrawnFeature ** drawnFeature);
2657  [propget, id(1), helpstring("property Count")] HRESULT Count([out, retval] LONG* pVal);
2658  [propget, id(-4), helpstring("property _NewEnum"), restricted] HRESULT _NewEnum([out, retval] IUnknown** pVal);
2659 };
2660 
2661 
2662 
2664 
2880 [
2881  object,
2882  uuid(cb25f64e-7cb6-11e1-8889-0024e84637be),
2883  dual,
2884  helpstring("IS57DisplaySettings Interface"),
2885  nonextensible,
2886  pointer_default(unique),
2887  hidden
2888 ]
2890 {
2892 
2896  [propget, id(1), helpstring("property TwoColourShadingForDepthZones")] HRESULT TwoColourShadingForDepthZones([out, retval] VARIANT_BOOL* pVal);
2898 
2902  [propput, id(1), helpstring("property TwoColourShadingForDepthZones")] HRESULT TwoColourShadingForDepthZones([in] VARIANT_BOOL newVal);
2904  [propget, id(2), helpstring("property SymbolisedAreaBoundaries")] HRESULT SymbolisedAreaBoundaries([out, retval] VARIANT_BOOL* pVal);
2906  [propput, id(2), helpstring("property SymbolisedAreaBoundaries")] HRESULT SymbolisedAreaBoundaries([in] VARIANT_BOOL newVal);
2908  [propget, id(3), helpstring("property SimplifiedSymbols")] HRESULT SimplifiedSymbols([out, retval] VARIANT_BOOL* pVal);
2910  [propput, id(3), helpstring("property SimplifiedSymbols")] HRESULT SimplifiedSymbols([in] VARIANT_BOOL newVal);
2912  [propget, id(4), helpstring("property FullLengthLightSectorLines")] HRESULT FullLengthLightSectorLines([out, retval] VARIANT_BOOL* pVal);
2914  [propput, id(4), helpstring("property FullLengthLightSectorLines")] HRESULT FullLengthLightSectorLines([in] VARIANT_BOOL newVal);
2916  [propget, id(6), helpstring("property OverscaleIndicator")] HRESULT OverscaleIndicator([out, retval] VARIANT_BOOL* pVal);
2918  [propput, id(6), helpstring("property OverscaleIndicator")] HRESULT OverscaleIndicator([in] VARIANT_BOOL newVal);
2920  [propget, id(7), helpstring("property Date")] HRESULT Date([out, retval] DATE* pVal);
2922  [propput, id(7), helpstring("property Date")] HRESULT Date([in] DATE newVal);
2924  [propget, id(8), helpstring("property SafetyDepthMetres")] HRESULT SafetyDepthMetres([out, retval] DOUBLE* pVal);
2926  [propput, id(8), helpstring("property SafetyDepthMetres")] HRESULT SafetyDepthMetres([in] DOUBLE newVal);
2928  [propget, id(9), helpstring("property SafetyContourMetres")] HRESULT SafetyContourMetres([out, retval] DOUBLE* pVal);
2930  [propput, id(9), helpstring("property SafetyContourMetres")] HRESULT SafetyContourMetres([in] DOUBLE newVal);
2932  [propget, id(10), helpstring("property ShallowContourMetres")] HRESULT ShallowContourMetres([out, retval] DOUBLE* pVal);
2934  [propput, id(10), helpstring("property ShallowContourMetres")] HRESULT ShallowContourMetres([in] DOUBLE newVal);
2936  [propget, id(11), helpstring("property DeepContourMetres")] HRESULT DeepContourMetres([out, retval] DOUBLE* pVal);
2938  [propput, id(11), helpstring("property DeepContourMetres")] HRESULT DeepContourMetres([in] DOUBLE newVal);
2940  [propget, id(12), helpstring("property ViewingGroup")] HRESULT ViewingGroup([in] LONG ID, [out, retval] VARIANT_BOOL* pVal);
2942  [propput, id(12), helpstring("property ViewingGroup")] HRESULT ViewingGroup([in] LONG ID, [in] VARIANT_BOOL newVal);
2944  [propget, id(13), helpstring("property NumViewingGroups")] HRESULT NumViewingGroups([out, retval] LONG* pVal);
2946  [propget, id(14), helpstring("property TextGroup")] HRESULT TextGroup([in] LONG ID, [out, retval] VARIANT_BOOL* pVal);
2948  [propput, id(14), helpstring("property TextGroup")] HRESULT TextGroup([in] LONG ID, [in] VARIANT_BOOL newVal);
2950  [propget, id(15), helpstring("property NumTextGroups")] HRESULT NumTextGroups([out, retval] LONG* pVal);
2952  [id(16), helpstring("method SetViewingGroupRange")] HRESULT SetViewingGroupRange([in] LONG Start, [in] LONG End, [in] VARIANT_BOOL bShow);
2954  [propget, id(17), helpstring("property Usages")] HRESULT Usages([out, retval] IS57ProductAndUsages ** pVal);
2956  [propput, id(17), helpstring("property Usages")] HRESULT Usages([in] IS57ProductAndUsages * ProductAndUsages);
2957 
2959 
2962  [propget, id(18), helpstring("property CellFilter")] HRESULT CellFilter([out, retval] IS57CellIdentifiers ** pVal);
2963 
2965 
2968  [propput, id(18), helpstring("property CellFilter")] HRESULT CellFilter([in] IS57CellIdentifiers * newVal);
2969 
2971 
2973  [propget, id(19), helpstring("property CellFilterInclusive")] HRESULT CellFilterInclusive([out, retval] VARIANT_BOOL* pVal);
2975 
2980  [propput, id(19), helpstring("property CellFilterInclusive")] HRESULT CellFilterInclusive([in] VARIANT_BOOL newVal);
2982 
2987  [propget, id(20), helpstring("property FeatureFilter")] HRESULT FeatureFilter([out, retval] IS57FeatureIdentifiers ** pVal);
2989 
2994  [propput, id(20), helpstring("property FeatureFilter")] HRESULT FeatureFilter([in] IS57FeatureIdentifiers * newVal);
2996 
3001  [propget, id(21), helpstring("property FeatureFilterInclusive")] HRESULT FeatureFilterInclusive([out, retval] VARIANT_BOOL* pVal);
3003 
3008  [propput, id(21), helpstring("property FeatureFilterInclusive")] HRESULT FeatureFilterInclusive([in] VARIANT_BOOL newVal);
3009 
3011 
3012  [propget, id(22), helpstring("property Number of Depth Zones")] HRESULT NumDepthZones([out, retval] LONG* pVal);
3014 
3015  [propput, id(22), helpstring("property Number of Depth Zones")] HRESULT NumDepthZones([in] LONG newVal);
3016 
3018  [propget, id(23), helpstring("property VeryShallowContourMetres")] HRESULT VeryShallowContourMetres([out, retval] DOUBLE* pVal);
3020  [propput, id(23), helpstring("property VeryShallowContourMetres")] HRESULT VeryShallowContourMetres([in] DOUBLE newVal);
3021 
3023  [propget, id(24), helpstring("property SlightlyShallowContourMetres")] HRESULT SlightlyShallowContourMetres([out, retval] DOUBLE* pVal);
3025  [propput, id(24), helpstring("property SlightlyShallowContourMetres")] HRESULT SlightlyShallowContourMetres([in] DOUBLE newVal);
3026 
3028  [propget, id(25), helpstring("property SlightlyDeepContourMetres")] HRESULT SlightlyDeepContourMetres([out, retval] DOUBLE* pVal);
3030  [propput, id(25), helpstring("property SlightlyDeepContourMetres")] HRESULT SlightlyDeepContourMetres([in] DOUBLE newVal);
3031 
3033  [propget, id(26), helpstring("property VeryDeepContourMetres")] HRESULT VeryDeepContourMetres([out, retval] DOUBLE* pVal);
3035  [propput, id(26), helpstring("property VeryDeepContourMetres")] HRESULT VeryDeepContourMetres([in] DOUBLE newVal);
3036 
3037 
3039  [propget, id(27), helpstring("property Depth Display Units")] HRESULT DepthDisplayUnits([out, retval] enum S57DepthDisplayUnits* pVal);
3041  [propput, id(27), helpstring("property Depth Display Units")] HRESULT DepthDisplayUnits([in] enum S57DepthDisplayUnits newVal);
3042 
3044  [id(28), helpstring("Set the SCAMIN value for an object class")] HRESULT SetScaminForObjectClass([in] IS57ObjectClass * cr, [in] LONG scamin);
3046  [id(29), helpstring("Obtain the SCAMIN value for an object class")] HRESULT ScaminForObjectClass([in] IS57ObjectClass * cr, [out, retval] LONG * scamin);
3047 
3049  [propget, id(30), helpstring("property CompilationScaleZoomFactor")] HRESULT CompilationScaleZoomFactor([out, retval] LONG* pVal);
3051  [propput, id(30), helpstring("property CompilationScaleZoomFactor")] HRESULT CompilationScaleZoomFactor([in] LONG nVal);
3052 
3054  [id(31), helpstring("Get an identical copy of this object")] HRESULT Copy([out,retval] IS57DisplaySettings** pVal);
3055 
3057  [propget, id(32), helpstring("Affects size of text. Range 0.4 to 4. Default 1.")] HRESULT FontScaleFactor([out, retval] DOUBLE* pVal);
3059  [propput, id(32), helpstring("Affects size of text. Range 0.4 to 4. Default 1.")] HRESULT FontScaleFactor([in] DOUBLE nVal);
3060 
3062 
3076  [propget, id(33), helpstring("non-standard ENC display improvements level")] HRESULT ImprovementsLevel([out, retval] enum S57DisplayImprovements * level);
3078 
3092  [propput, id(33), helpstring("non-standard ENC display improvements level")] HRESULT ImprovementsLevel([in] enum S57DisplayImprovements level);
3093 
3095  [propget, id(34), helpstring("XML string representing settings")] HRESULT XML([out, retval] BSTR* xml);
3097  [propput, id(34), helpstring("XML string representing settings")] HRESULT XML([in] BSTR xml);
3099  [id(35), helpstring("Merge XML settings into existing settings")] HRESULT MergeXML([in] BSTR xml);
3100 
3102  [propget, id(36), helpstring("property IgnoreScamin")] HRESULT IgnoreScamin([out, retval] VARIANT_BOOL* pVal);
3104  [propput, id(36), helpstring("property IgnoreScamin")] HRESULT IgnoreScamin([in] VARIANT_BOOL newVal);
3105 
3107  [propget, id(37), helpstring("property DeclutterOverlappingCells")] HRESULT DeclutterOverlappingCells([out, retval] VARIANT_BOOL* pVal);
3109  [propput, id(37), helpstring("property DeclutterOverlappingCells")] HRESULT DeclutterOverlappingCells([in] VARIANT_BOOL newVal);
3111  [propget, id(38), helpstring("property ShowOverlappingCellAreas")] HRESULT ShowOverlappingCellAreas([out, retval] VARIANT_BOOL* pVal);
3113  [propput, id(38), helpstring("property ShowOverlappingCellAreas")] HRESULT ShowOverlappingCellAreas([in] VARIANT_BOOL newVal);
3114 
3116  [propget, id(39), helpstring("property HighlightDateDependent")] HRESULT HighlightDateDependent([out, retval] VARIANT_BOOL* pVal);
3118  [propput, id(39), helpstring("property HighlightDateDependent")] HRESULT HighlightDateDependent([in] VARIANT_BOOL newVal);
3119 
3121  [propget, id(40), helpstring("property DateMode")] HRESULT DateMode([out, retval] enum S57DateMode * dateMode);
3123  [propput, id(40), helpstring("property DateMode")] HRESULT DateMode([in] enum S57DateMode dateMode);
3124 
3125 #if !defined DOXYGEN_SHOULD_SKIP_THIS
3126  [id(41), hidden, restricted] HRESULT Address([out, retval] DWORD_PTR * pVal);
3127 #endif
3128 
3130  [propget, id(42), helpstring("property ShowIsolatedDangersInShallowWater")] HRESULT ShowIsolatedDangersInShallowWater([out, retval] VARIANT_BOOL* pVal);
3132  [propput, id(42), helpstring("property ShowIsolatedDangersInShallowWater")] HRESULT ShowIsolatedDangersInShallowWater([in] VARIANT_BOOL newVal);
3133 
3135  [propget, id(43), helpstring("property DeclutterText")] HRESULT DeclutterText([out, retval] VARIANT_BOOL* pVal);
3137  [propput, id(43), helpstring("property DeclutterText")] HRESULT DeclutterText([in] VARIANT_BOOL newVal);
3138 
3140  [propget, id(44), helpstring("property DeclutterSoundings")] HRESULT DeclutterSoundings([out, retval] VARIANT_BOOL* pVal);
3142  [propput, id(44), helpstring("property DeclutterSoundings")] HRESULT DeclutterSoundings([in] VARIANT_BOOL newVal);
3143 };
3144 
3147 [
3148  object,
3149  uuid(cb25f684-7cb6-11e1-8889-0024e84637be),
3150  dual,
3151  helpstring("IWVSDisplaySettings Interface"),
3152  nonextensible,
3153  pointer_default(unique),
3154  hidden
3155 ]
3157 {
3159  [propget, id(1), helpstring("Fill colour of the land")] HRESULT LandColour([out, retval] DWORD * val);
3161  [propput, id(1), helpstring("Fill colour of the land")] HRESULT LandColour([in] DWORD val);
3163  [propget, id(2), helpstring("Outline colour of the land")] HRESULT LandOutlineColour([out, retval] DWORD * val);
3165  [propput, id(2), helpstring("Outline colour of the land")] HRESULT LandOutlineColour([in] DWORD val);
3167  [propget, id(3), helpstring("Colour of the lakes")] HRESULT LakeColour([out, retval] DWORD * val);
3169  [propput, id(3), helpstring("Colour of the lakes")] HRESULT LakeColour([in] DWORD val);
3171  [propget, id(4), helpstring("Colour of the borders")] HRESULT BorderColour([out, retval] DWORD * val);
3173  [propput, id(4), helpstring("Colour of the borders")] HRESULT BorderColour([in] DWORD val);
3175  [propget, id(5), helpstring("Colour of the rivers")] HRESULT RiverColour([out, retval] DWORD * val);
3177  [propput, id(5), helpstring("Colour of the rivers")] HRESULT RiverColour([in] DWORD val);
3179  [propget, id(6), helpstring("Land outline width")] HRESULT LandOutlineWidth([out, retval] FLOAT * val);
3181  [propput, id(6), helpstring("Land outline width")] HRESULT LandOutlineWidth([in] FLOAT val);
3183  [propget, id(7), helpstring("Border width")] HRESULT BorderWidth([out, retval] FLOAT * val);
3185  [propput, id(7), helpstring("Border width")] HRESULT BorderWidth([in] FLOAT val);
3187  [propget, id(8), helpstring("River width")] HRESULT RiverWidth([out, retval] FLOAT * val);
3189  [propput, id(8), helpstring("River width")] HRESULT RiverWidth([in] FLOAT val);
3190 
3192  [propget, id(9), helpstring("Show or hide")] HRESULT Show([out, retval] VARIANT_BOOL * val);
3194  [propput, id(9), helpstring("Show or hide")] HRESULT Show([in] VARIANT_BOOL val);
3195 
3197  [id(10), helpstring("Get an identical copy of this object")] HRESULT Copy([out,retval] IWVSDisplaySettings** pVal);
3198 
3200  [propget, id(11), helpstring("Outline colour of the lake")] HRESULT LakeOutlineColour([out, retval] DWORD * val);
3202  [propput, id(11), helpstring("Outline colour of the lake")] HRESULT LakeOutlineColour([in] DWORD val);
3204  [propget, id(12), helpstring("Lake outline width")] HRESULT LakeOutlineWidth([out, retval] FLOAT * val);
3206  [propput, id(12), helpstring("Lake outline width")] HRESULT LakeOutlineWidth([in] FLOAT val);
3207 
3209  [propget, id(13), helpstring("Fill colour of Antarctica")] HRESULT AntarcticaColour([out, retval] DWORD * val);
3211  [propput, id(13), helpstring("Fill colour of Antarctica")] HRESULT AntarcticaColour([in] DWORD val);
3213  [propget, id(14), helpstring("Outline colour of Antarctica")] HRESULT AntarcticaOutlineColour([out, retval] DWORD * val);
3215  [propput, id(14), helpstring("Outline colour of Antarctica")] HRESULT AntarcticaOutlineColour([in] DWORD val);
3216 
3217 #if !defined DOXYGEN_SHOULD_SKIP_THIS
3218  [id(15), hidden, restricted] HRESULT Address([out, retval] DWORD_PTR * pVal);
3219 #endif
3220 };
3221 
3224 [
3225  object,
3226  uuid(cb25f688-7cb6-11e1-8889-0024e84637be),
3227  dual,
3228  helpstring("IGridPen Interface"),
3229  nonextensible,
3230  pointer_default(unique),
3231  hidden
3232 ]
3233 interface IGridPen : IDispatch
3234 {
3236  [propget, id(1), helpstring("Grid line colour")] HRESULT Colour([out, retval] DWORD * val);
3238  [propput, id(1), helpstring("Grid line colour")] HRESULT Colour([in] DWORD val);
3240  [propget, id(2), helpstring("Grid line width")] HRESULT Width([out, retval] FLOAT * val);
3242  [propput, id(2), helpstring("Grid line width")] HRESULT Width([in] FLOAT val);
3244  [propget, id(3), helpstring("Grid line style")] HRESULT Style([out, retval] enum PenStyle * val);
3246  [propput, id(3), helpstring("Grid line style")] HRESULT Style([in] enum PenStyle val);
3248  [propget, id(4), helpstring("Show or hide")] HRESULT Show([out, retval] VARIANT_BOOL * val);
3250  [propput, id(4), helpstring("Show or hide")] HRESULT Show([in] VARIANT_BOOL val);
3252  [id(5), helpstring("Get an identical copy of this object")] HRESULT Copy([out,retval] IGridPen** pVal);
3253 
3254 #if !defined DOXYGEN_SHOULD_SKIP_THIS
3255  [id(6), hidden, restricted] HRESULT Address([out, retval] DWORD_PTR * pVal);
3256 #endif
3257 };
3258 
3260 
3262 [
3263  object,
3264  uuid(cb25f686-7cb6-11e1-8889-0024e84637be),
3265  dual,
3266  helpstring("IGridDisplaySettings Interface"),
3267  nonextensible,
3268  pointer_default(unique),
3269  hidden
3270 ]
3272 {
3274  [propget, id(1), helpstring("Get primary grid pen")] HRESULT GridPen1([out, retval] IGridPen ** val);
3276  [propput, id(1), helpstring("Set primary grid pen")] HRESULT GridPen1([in] IGridPen * val);
3278  [propget, id(2), helpstring("Get secondary grid pen")] HRESULT GridPen2([out, retval] IGridPen ** val);
3280  [propput, id(2), helpstring("Set secondary grid pen")] HRESULT GridPen2([in] IGridPen * val);
3282  [propget, id(3), helpstring("Get tertiary grid pen")] HRESULT GridPen3([out, retval] IGridPen ** val);
3284  [propput, id(3), helpstring("Set tertiary grid pen")] HRESULT GridPen3([in] IGridPen * val);
3286  [propget, id(4), helpstring("Show or hide the grid")] HRESULT Show([out, retval] VARIANT_BOOL * val);
3288  [propput, id(4), helpstring("Show or hide the grid")] HRESULT Show([in] VARIANT_BOOL val);
3290  [propget, id(5), helpstring("Label colour")] HRESULT LabelColour([out, retval] DWORD * val);
3292  [propput, id(5), helpstring("Label colour")] HRESULT LabelColour([in] DWORD val);
3294  [propget, id(6), helpstring("Show or hide labels")] HRESULT ShowLabels([out, retval] VARIANT_BOOL * val);
3296  [propput, id(6), helpstring("Show or hide labels")] HRESULT ShowLabels([in] VARIANT_BOOL val);
3298  [id(7), helpstring("Get an identical copy of this object")] HRESULT Copy([out,retval] IGridDisplaySettings** pVal);
3299 
3300 #if !defined DOXYGEN_SHOULD_SKIP_THIS
3301  [id(8), hidden, restricted] HRESULT Address([out, retval] DWORD_PTR * pVal);
3302 #endif
3303 };
3304 
3306 
3307 
3309 
3310 [
3311  object,
3312  uuid(cb25f64f-7cb6-11e1-8889-0024e84637be),
3313  dual,
3314  helpstring("IS57ManagerInitialisationData Interface"),
3315  nonextensible,
3316  pointer_default(unique),
3317  hidden
3318 ]
3320 {
3322  [propget, id(1), helpstring("Senc path")] HRESULT SencPath([out, retval] BSTR * val);
3324  [propput, id(1), helpstring("Senc path")] HRESULT SencPath([in] BSTR val);
3326 
3327  [propget, id(2), helpstring("Presentation Library file name and extension")] HRESULT PresentationLibraryFileName([out, retval] BSTR * val);
3329 
3330  [propput, id(2), helpstring("Presentation Library file name and extension")] HRESULT PresentationLibraryFileName([in] BSTR val);
3332 
3333  [propget, id(3), helpstring("Colours and RGB values of those colours")] HRESULT ColourValues([out, retval] IS57ColourValues ** pVal);
3335 
3336  [propput, id(3), helpstring("Colours and RGB values of those colours")] HRESULT ColourValues([in] IS57ColourValues * pVal);
3338  [propget, id(4), helpstring("Read only SENCs will not be watched for changes and will be fully initialized to draw charts as soon as OpenSenc2 returns.")] HRESULT ReadOnly([out, retval] VARIANT_BOOL* pVal);
3340  [propput, id(4), helpstring("Read only SENCs will not be watched for changes and will be fully initialized to draw charts as soon as OpenSenc2 returns.")] HRESULT ReadOnly([in] VARIANT_BOOL pVal);
3342  [propget, id(5), helpstring("WVS path")] HRESULT WVSPath([out, retval] BSTR * val);
3344  [propput, id(5), helpstring("WVS path")] HRESULT WVSPath([in] BSTR val);
3345 
3346 #if !defined DOXYGEN_SHOULD_SKIP_THIS
3347  [id(6), hidden, restricted] HRESULT Address([out, retval] DWORD_PTR * pVal);
3348 #endif
3349 };
3350 
3351 
3353 [
3354  object,
3355  uuid(cb25f650-7cb6-11e1-8889-0024e84637be),
3356  dual,
3357  helpstring("IS57Manager Interface"),
3358  nonextensible,
3359  pointer_default(unique),
3360  hidden
3361 ]
3363 {
3365  [id(1), helpstring("Associate this manager with a specified folder")] HRESULT OpenSenc([in] ILibrary * EncXLibrary, [in] BSTR sSencFolder);
3367  [id(3), helpstring("Dissociate from the current folder")] HRESULT CloseSenc(void);
3369 
3371  [propget, id(4), helpstring("Obtain a collection of the cells in the Senc that cannot be used")] HRESULT UnusedCells([out, retval] IS57CellIdentifiers ** pVal);
3372 
3373  // removed id(5) Providers property
3374 
3376 
3378  [propget, id(6), helpstring("Obtain the collection of S-57 products currently present in this SENC")] HRESULT InstalledProducts([out, retval] IS57ProductAndUsages ** pVal);
3379 
3381 
3384  [id(7), helpstring("Obtain the collection of all the cells in this SENC")] HRESULT Cells([in] IS57ProductAndUsages * ProductAndUsages, [in] IGeoRect * cr, [out, retval] IS57CellIdentifiers ** pVal);
3386  [id(8), helpstring("Details of a cell.")] HRESULT CellInfo([in] IS57CellIdentifier * piCellID, [out, retval] IS57CellInfo ** pVal);
3388  [id(9), helpstring("ObjectClass (a.k.a. Type) of a feature")] HRESULT ObjectClass([in] IS57FeatureIdentifier * fid, [out, retval] IS57ObjectClass ** pVal);
3390  [id(10), helpstring("Geometry of a feature")] HRESULT Geometry([in] IS57FeatureIdentifier * pifid, [out, retval] enum S57FeatureGeometry* pVal);
3392 
3393  [id(11), helpstring("Details of any Feature")] HRESULT FeatureInfo([in] IS57FeatureIdentifier * pifid, [out,retval] IS57FeatureInfo ** pVal);
3395 
3396  [id(12), helpstring("Details of a point feature")] HRESULT FeatureInfoPoint([in] IS57FeatureIdentifier * pifid, [out,retval] IS57FeaturePoint ** pVal);
3398 
3399  [id(13), helpstring("Details of a line feature")] HRESULT FeatureInfoLine([in] IS57FeatureIdentifier * pifid, [out,retval] IS57FeatureLine ** pVal);
3401 
3402  [id(14), helpstring("Details of an area feature")] HRESULT FeatureInfoArea([in] IS57FeatureIdentifier * pifid, [out,retval] IS57FeatureArea ** pVal);
3404 
3408  [id(15), helpstring("method FeatureInfoSounding")] HRESULT FeatureInfoSounding([in] IS57FeatureIdentifier * pifid, [out,retval] IS57FeatureSounding ** pVal);
3410  [id(16), helpstring("Invoke the CherSoft Windows application that installs and updates ENC cells in the SENC")] HRESULT RunInstallApplication([in] BSTR pathToApplication);
3411 
3413  [id(17), helpstring("Associate this manager with a specified folder")] HRESULT OpenSenc2([in] ILibrary * EncXLibrary, [in] IS57ManagerInitialisationData * p);
3414 
3416  [id(18), helpstring("Associate this manager with a specified SENC folder and WVS")] HRESULT OpenSencAndWVS([in] ILibrary * EncXLibrary, [in] BSTR sSencFolder, [in] BSTR sWVSFileOrFolder);
3417 
3419  [id(23), helpstring("The ENC user permit needed to buy commercial ENC chart data"), restricted] HRESULT UserPermit([out, retval] BSTR* pUserPermit);
3420 
3422  [id(24), helpstring("method IsValidSencFolder")] HRESULT IsValidSencFolder([in] BSTR sPath, [out, retval] VARIANT_BOOL * bRes);
3424  [id(25), helpstring("method CreateSencFolder")] HRESULT CreateSencFolder([in] BSTR sPath);
3425 
3426 #if !defined DOXYGEN_SHOULD_SKIP_THIS
3427  [id(28), hidden, restricted] HRESULT Address([out, retval] DWORD_PTR * pVal);
3428 #endif
3429 };
3430 
3432 [
3433  object,
3434  uuid(cb25f651-7cb6-11e1-8889-0024e84637be),
3435  dual,
3436  helpstring("IS57FeatureQuery Interface"),
3437  nonextensible,
3438  pointer_default(unique),
3439  hidden
3440 ]
3442 {
3444  [id(1), helpstring("method Construct")] HRESULT Construct([in] IS57Manager * manager, [in] IS57CellIdentifier * cellid);
3446  [id(2), helpstring("method SetAreaFilter")] HRESULT SetAreaFilter([in] IGeoRect * rect);
3448 
3452  [id(3), helpstring("method SetFeatureFilter")] HRESULT SetFeatureFilter([in] IS57FeatureIdentifiers * featureIds, [in] VARIANT_BOOL bInclude);
3454 
3458  [id(4), helpstring("method SetObjectFilter")] HRESULT SetObjectFilter([in] IS57ObjectClassCollection * ObjectClassCollection, [in] VARIANT_BOOL bInclude);
3460  [propget, id(5), helpstring("property Results")] HRESULT Results([out, retval] IS57FeatureIdentifiers ** pVal);
3461 };
3462 
3464 [
3465  object,
3466  uuid(cb25f652-7cb6-11e1-8889-0024e84637be),
3467  dual,
3468  helpstring("IS57CatalogueObserver Interface"),
3469  nonextensible,
3470  pointer_default(unique),
3471  hidden
3472 ]
3474 {
3476  [id(1), helpstring("method Register")] HRESULT Register([in] IS57Manager * s57Mgr);
3478  [id(2), helpstring("method Unregister")] HRESULT Unregister(void);
3479 
3480 };
3481 
3483 
3485 
3486 [
3487  object,
3488  uuid(cb25f69a-7cb6-11e1-8889-0024e84637be),
3489  dual,
3490  nonextensible,
3491  pointer_default(unique)
3492 ]
3494 {
3495  [id(1)] HRESULT Add([in] enum VPFFeatureType t);
3496  [id(2)] HRESULT Remove([in] enum VPFFeatureType t);
3497  [id(3)] HRESULT Contains([in] enum VPFFeatureType t, [out, retval] VARIANT_BOOL * pVal);
3498 #if !defined DOXYGEN_SHOULD_SKIP_THIS
3499  [id(4), hidden, restricted] HRESULT Address([out, retval] DWORD_PTR * pVal);
3500 #endif
3501 };
3502 
3504 
3505 [
3506  object,
3507  uuid(cb25f6a0-7cb6-11e1-8889-0024e84637be),
3508  dual,
3509  nonextensible,
3510  pointer_default(unique)
3511 ]
3513 {
3514  [propget, id(1), helpstring("property Name")] HRESULT Name([out, retval] BSTR* pVal);
3515  [propget, id(2), helpstring("property Description")] HRESULT Description([out, retval] BSTR* pVal);
3516  [propget, id(3), helpstring("property Use")] HRESULT Use([out, retval] VARIANT_BOOL* pVal);
3517  [propput, id(3), helpstring("property Use")] HRESULT Use([in] VARIANT_BOOL val);
3518  [propget, id(4), helpstring("property TopologicalLevel")] HRESULT TopologicalLevel([out, retval] LONG* pVal);
3519 };
3520 
3522 
3523 [
3524  object,
3525  uuid(cb25f69e-7cb6-11e1-8889-0024e84637be),
3526  dual,
3527  nonextensible,
3528  pointer_default(unique)
3529 ]
3531 {
3532  [propget, id(0), helpstring("property Item")] HRESULT Item([in] VARIANT vtIndex, [out, retval] IVPFIteratorGuide_CoverageUse ** pp);
3533  [propget, id(1), helpstring("property Count")] HRESULT Count([out, retval] LONG* pVal);
3534  [propget, id(2), helpstring("property Name")] HRESULT Name([out, retval] BSTR* pVal);
3535  [propget, id(-4), helpstring("property _NewEnum"), restricted] HRESULT _NewEnum([out, retval] IUnknown** pVal);
3536  [propget, id(3), helpstring("property Use")] HRESULT Use([out, retval] VARIANT_BOOL* pVal);
3537  [propput, id(3), helpstring("property Use")] HRESULT Use([in] VARIANT_BOOL val);
3539  [propget, id(4), helpstring("property Extent")] HRESULT Extent([out, retval] IGeoRect ** pVal);
3540 };
3541 
3543 
3544 [
3545  object,
3546  uuid(cb25f69c-7cb6-11e1-8889-0024e84637be),
3547  dual,
3548  nonextensible,
3549  pointer_default(unique)
3550 ]
3552 {
3553  [propget, id(0), helpstring("property Item")] HRESULT Item([in] VARIANT vtIndex, [out, retval] IVPFIteratorGuide_LibraryUse ** pp);
3554  [propget, id(1), helpstring("property Count")] HRESULT Count([out, retval] LONG* pVal);
3555  [propget, id(2), helpstring("property Name")] HRESULT Name([out, retval] BSTR* pVal);
3556  [propget, id(-4), helpstring("property _NewEnum"), restricted] HRESULT _NewEnum([out, retval] IUnknown** pVal);
3557  [propget, id(3), helpstring("property Use")] HRESULT Use([out, retval] VARIANT_BOOL* pVal);
3558  [propput, id(3), helpstring("property Use")] HRESULT Use([in] VARIANT_BOOL val);
3559 };
3560 
3562 
3563 [
3564  object,
3565  uuid(cb25f696-7cb6-11e1-8889-0024e84637be),
3566  dual,
3567  nonextensible,
3568  pointer_default(unique)
3569 ]
3571 {
3572  [propget, id(0), helpstring("property Item")] HRESULT Item([in] VARIANT vtIndex, [out, retval] IVPFIteratorGuide_DatabaseUse ** pp);
3573  [propget, id(1), helpstring("property Count")] HRESULT Count([out, retval] LONG* pVal);
3574  [propget, id(-4), helpstring("property _NewEnum"), restricted] HRESULT _NewEnum([out, retval] IUnknown** pVal);
3575 #if !defined DOXYGEN_SHOULD_SKIP_THIS
3576  [id(2), hidden, restricted] HRESULT Address([out, retval] DWORD_PTR * pVal);
3577 #endif
3578 };
3579 
3581 
3582 [
3583  object,
3584  uuid(cb25f694-7cb6-11e1-8889-0024e84637be),
3585  dual,
3586  nonextensible,
3587  pointer_default(unique)
3588 ]
3590 {
3592 
3595  [propget, id(1), helpstring("property TwoColourShadingForDepthZones")] HRESULT TwoColourShadingForDepthZones([out, retval] VARIANT_BOOL* pVal);
3597 
3600  [propput, id(1), helpstring("property TwoColourShadingForDepthZones")] HRESULT TwoColourShadingForDepthZones([in] VARIANT_BOOL newVal);
3601 
3603  [propget, id(2), helpstring("property ShallowPattern")] HRESULT ShallowPattern([out, retval] VARIANT_BOOL* pVal);
3605  [propput, id(2), helpstring("property ShallowPattern")] HRESULT ShallowPattern([in] VARIANT_BOOL newVal);
3606 
3608  [propget, id(3), helpstring("property SimplifiedSymbols")] HRESULT SimplifiedSymbols([out, retval] VARIANT_BOOL* pVal);
3610  [propput, id(3), helpstring("property SimplifiedSymbols")] HRESULT SimplifiedSymbols([in] VARIANT_BOOL newVal);
3611 
3612 
3614  [propget, id(9), helpstring("property SafetyContourMetres")] HRESULT SafetyContourMetres([out, retval] DOUBLE* pVal);
3616  [propput, id(9), helpstring("property SafetyContourMetres")] HRESULT SafetyContourMetres([in] DOUBLE newVal);
3618  [propget, id(10), helpstring("property ShallowContourMetres")] HRESULT ShallowContourMetres([out, retval] DOUBLE* pVal);
3620  [propput, id(10), helpstring("property ShallowContourMetres")] HRESULT ShallowContourMetres([in] DOUBLE newVal);
3622  [propget, id(11), helpstring("property DeepContourMetres")] HRESULT DeepContourMetres([out, retval] DOUBLE* pVal);
3624  [propput, id(11), helpstring("property DeepContourMetres")] HRESULT DeepContourMetres([in] DOUBLE newVal);
3625 
3627  [propget, id(30), helpstring("property CompilationScaleZoomFactor")] HRESULT CompilationScaleZoomFactor([out, retval] DOUBLE* pVal);
3629  [propput, id(30), helpstring("property CompilationScaleZoomFactor")] HRESULT CompilationScaleZoomFactor([in] DOUBLE nVal);
3630 
3632  [id(31), helpstring("Get an identical copy of this object")] HRESULT Copy([out, retval] IVPFDisplaySettings** pVal);
3633 
3635  [propget, id(32), helpstring("The types of features to draw")] HRESULT FeatureSet([out, retval] IVPFFeatureSet ** pVal);
3637  [propput, id(32), helpstring("The types of features to draw")] HRESULT FeatureSet([in] IVPFFeatureSet * newVal);
3638 
3639 #if !defined DOXYGEN_SHOULD_SKIP_THIS
3640  [id(41), hidden, restricted] HRESULT Address([out, retval] DWORD_PTR * pVal);
3641 #endif
3642 };
3643 
3645 
3646 [
3647  object,
3648  uuid(cb25f692-7cb6-11e1-8889-0024e84637be),
3649  dual,
3650  nonextensible,
3651  pointer_default(unique)
3652 ]
3654 {
3656  [id(1), helpstring("Associate this manager with a specified folder")] HRESULT OpenVenc([in] ILibrary * EncXLibrary, [in] BSTR chartFolder);
3658  [id(2), helpstring("Dissociate from the current folder")] HRESULT CloseVenc(void);
3660  [id(3), helpstring("Invoke the CherSoft Windows application that installs and updates VPF files")] HRESULT RunInstallApplication([in] BSTR pathToApplication);
3661 
3663  [propget, id(4), helpstring("The iterator guide")] HRESULT IteratorGuide([out, retval] IVPFIteratorGuide ** pVal);
3664 
3665 #if !defined DOXYGEN_SHOULD_SKIP_THIS
3666  [id(141), hidden, restricted] HRESULT Address([out, retval] DWORD_PTR * pVal);
3667 #endif
3668 };
3669 
3671 [
3672  object,
3673  uuid(cb25f6a2-7cb6-11e1-8889-0024e84637be),
3674  dual,
3675  helpstring("IVPFCatalogueObserver Interface"),
3676  nonextensible,
3677  pointer_default(unique),
3678  hidden
3679 ]
3681 {
3683  [id(1), helpstring("method Register")] HRESULT Register([in] IVPFManager * vpfMgr);
3685  [id(2), helpstring("method Unregister")] HRESULT Unregister(void);
3686 
3687 };
3688 
3690 
3691 [
3692  object,
3693  uuid(cb25f653-7cb6-11e1-8889-0024e84637be),
3694  dual,
3695  helpstring("IS57Draw Interface"),
3696  nonextensible,
3697  pointer_default(unique),
3698  hidden
3699 ]
3700 interface IS57Draw : IDispatch
3701 {
3703  [id(1), helpstring("method SetManager")] HRESULT SetManager([in] IS57Manager * pMgr);
3705  [id(2), helpstring("Draw the chart to the specified device context")] HRESULT Draw([in] OLE_HANDLE lHDC);
3707  [propget, id(3), helpstring("The nominal scale of the chart")] HRESULT DisplayScale([out, retval] LONG* pVal);
3709 
3714  [id(4), helpstring("The nominal scale of the chart")] HRESULT SetDisplayScale([in] LONG nDisplayScale, [in] IPixelPoint * ipPixelPt);
3715 
3717 
3729  [id(7), helpstring("Obtain the sensible next scale in the specified direction")] HRESULT CalculateNewDisplayScale(
3730  [out] VARIANT_BOOL* pbAllowed, //<! Whether the output scale is within the range allowed by %ENCX
3731  [out] LONG* pnScaleOut, //<! The new suggested scale
3732  [in] LONG nScaleOld, //<! The old scale. Typically IS57Draw::DisplayScale()
3733  [in] LONG nChange, //<! The number of steps and direction to go from the old scale. Negative for more detailed scale.
3734  [in] LONG nSmallestChangeAllowed //<! The minimum number of steps to go from the old scale.
3735  );
3737 
3739  [propget, id(8), helpstring("Obtain the geopix")] HRESULT GeoPix([out, retval] IGeoPix ** pVal);
3741 
3742  [id(9), helpstring("method SetDrawLayerCallback")] HRESULT SetDrawLayerCallback(
3743  [in] enum S57CallBackDrawAction callBackDrawAction,
3744  [in] IS57ProductAndUsage * iproductAndUsage,
3745  [in] BYTE Layer
3746  );
3748 
3751  [propget, id(10), helpstring("Obtain the geographical position of the centre of the drawing surface")] HRESULT PositionOfCentre([out, retval] IGeoPoint ** geoPoint);
3753  [id(11), helpstring("Set the geographical position at the specified pixel position on the drawing surface")] HRESULT SetPosition([in] IGeoPoint * geoPt, [in] IPixelPoint * pixelPt, [out, retval] VARIANT_BOOL* bRes);
3755  [id(12), helpstring("Set the geographical position and scale so that the specified rectangle just fits on the drawing surface")] HRESULT SetPositionAndScale([in] IGeoRect * geoRect, [out,retval] VARIANT_BOOL* bRes);
3757  [propget, id(13), helpstring("The display settings control the symbolisation (drawing style) and what types of object are drawn")] HRESULT DisplaySettings([out, retval] IS57DisplaySettings ** pVal);
3759  [propput, id(13), helpstring("The display settings control the symbolisation (drawing style) and what types of object are drawn")] HRESULT DisplaySettings([in] IS57DisplaySettings * newVal);
3761 
3762  [propget, id(14), helpstring("The nominal size of a pixel")] HRESULT PixelSizeMetres([out, retval] DOUBLE* sz);
3764 
3765  [propput, id(14), helpstring("The nominal size of a pixel")] HRESULT PixelSizeMetres([in] DOUBLE sz);
3767  [propget, id(15), helpstring("The geographical orientation of the drawing surface")] HRESULT DirectionOfUp([out, retval] DOUBLE* pVal);
3769  [id(16), helpstring("The geographical orientation of the drawing surface")] HRESULT SetDirectionOfUp([in] DOUBLE degrees, [in] IPixelPoint * ipPixelPt, [out, retval] VARIANT_BOOL* pVal);
3770 
3772 
3775  [propget, id(17), helpstring("property GeoExtent")] HRESULT GeoExtent([out, retval] IGeoRect ** pVal);
3776 
3777  [id(18), helpstring("method FeaturesAtPoint")] HRESULT FeaturesAtPoint([in] IPixelPoint * pixelPt, [out, retval] IS57DrawnFeatures ** pVal);
3779  [propget, id(19), helpstring("The colour scheme for the chart")] HRESULT DisplayPalette([out, retval] IDisplayPalette ** pVal);
3781  [propput, id(19), helpstring("The colour scheme for the chart")] HRESULT DisplayPalette([in] IDisplayPalette * newVal);
3783 
3784  [propget, id(20), helpstring("property ShowPreviousCells")] HRESULT ShowPreviousCells([out, retval] VARIANT_BOOL* pVal);
3786 
3787  [propput, id(20), helpstring("property ShowPreviousCells")] HRESULT ShowPreviousCells([in] VARIANT_BOOL newVal);
3789 
3796  [id(22), helpstring("Adjusts the origin used when filling an area with symbols")] HRESULT AdjustAreaSymbolOffsets([in] LONG cx, [in] LONG cy);
3797 
3799  [id(23), helpstring("Set the geographical position and scale so that the specified rectangle exactly. The corners of the drawing surface will correspond to the corners of the GeoRect"), restricted] HRESULT SetPositionAndScaleExact([in] IGeoRect * geoRect, [out,retval] VARIANT_BOOL* bRes);
3800 
3802  [id(24), helpstring("Get a copy of the size of the area inside the rectangle (0,0) to (Size.Width,Size.Height) that will be drawn")] HRESULT GetSize([out, retval] IPixelSize** sz);
3804  [id(25), helpstring("Set the size of the image that will be drawn")] HRESULT SetSize([in] IPixelSize* sz);
3805 
3807  [id(26), helpstring("Try to get the depth at a pixel position")] HRESULT DepthAtPoint([in] IPixelPoint * pixelPt, [out] DOUBLE* depthInMetres, [out, retval] VARIANT_BOOL* succeeded);
3808 
3809 
3810  // RESERVE ID 27 FOR DEPTH AT GEOPOINT PROPERTY OR METHOD
3811 
3812 
3814  [propget, id(28), helpstring("Projection")] HRESULT ProjectionType([out, retval] enum S57Projection * projection);
3816  [propput, id(28), helpstring("Projection")] HRESULT ProjectionType([in] enum S57Projection projection);
3817 
3819  [propget, id(29), helpstring("Scalebar")] HRESULT Scalebar([out, retval] enum ScaleBarUnits * pVal);
3821  [propput, id(29), helpstring("Scalebar")] HRESULT Scalebar([in] enum ScaleBarUnits newVal);
3822 
3824  [propget, id(30), helpstring("Draw grid (deprecated)")] HRESULT DrawGrid([out, retval] VARIANT_BOOL * pVal);
3826  [propput, id(30), helpstring("Draw grid (deprecated)")] HRESULT DrawGrid([in] VARIANT_BOOL pVal);
3827 
3829  [propget, id(31), helpstring("The display settings control the symbolisation for single file World Vector Shoreline")] HRESULT WVSDisplaySettings([out, retval] IWVSDisplaySettings ** pVal);
3831  [propput, id(31), helpstring("The display settings control the symbolisation for single file World Vector Shoreline")] HRESULT WVSDisplaySettings([in] IWVSDisplaySettings * newVal);
3832 
3834  [propget, id(32), helpstring("The display settings control the drawing of the grid")] HRESULT GridDisplaySettings([out, retval] IGridDisplaySettings ** pVal);
3836  [propput, id(32), helpstring("The display settings control the drawing of the grid")] HRESULT GridDisplaySettings([in] IGridDisplaySettings * newVal);
3837 
3839  [id(33), helpstring("Highlight Feature")] HRESULT HighlightFeature([in] IS57FeatureIdentifier * featureId, [in] VARIANT_BOOL bClear);
3841  [id(34), helpstring("Highlight Sounding")] HRESULT HighlightSounding([in] IS57FeatureIdentifier * featureId, [in] double depthMetres, [in] VARIANT_BOOL bClear);
3842 
3843 #if !defined DOXYGEN_SHOULD_SKIP_THIS
3844  [id(35), hidden, restricted] HRESULT Address([out, retval] DWORD_PTR * pVal);
3845 #endif
3846 
3848  [propget, id(36), helpstring("property BackgroundColour")] HRESULT BackgroundColour([out, retval] DWORD * colour);
3850  [propput, id(36), helpstring("property BackgroundColour")] HRESULT BackgroundColour([in] DWORD colour);
3851 
3853  [id(37), helpstring("method SetVPFManager")] HRESULT SetVPFManager([in] IVPFManager * pMgr);
3854 
3856  [id(38), helpstring("method VPFFeaturesAtPoint")] HRESULT VPFFeaturesAtPoint([in] IPixelPoint * pixelPt, [out, retval] BSTR * pXML);
3858  [id(39), helpstring("method VPFCoverageAtPoint")] HRESULT VPFCoveragesAtPoint([in] IPixelPoint * pixelPt, [out, retval] BSTR * pXML);
3859 
3861  [propget, id(40), helpstring("The VPF display settings")] HRESULT VPFDisplaySettings([out, retval] IVPFDisplaySettings ** pVal);
3863  [propput, id(40), helpstring("The VPF display settings")] HRESULT VPFDisplaySettings([in] IVPFDisplaySettings * newVal);
3864 
3866  [propget, id(41), helpstring("ScalebarDetailedMode")] HRESULT ScalebarDetailedMode([out, retval] enum SBDetailedMode * scale);
3868  [propput, id(41), helpstring("ScalebarDetailedMode")] HRESULT ScalebarDetailedMode([in] enum SBDetailedMode scale);
3869 };
3870 
3872 
3873 [
3874  object,
3875  uuid(cb25f67f-7cb6-11e1-8889-0024e84637be),
3876  dual,
3877  helpstring("IHTMLGenerator Interface"),
3878  nonextensible,
3879  pointer_default(unique),
3880  hidden
3881 ]
3883 {
3885  [id(1), helpstring("Set-up the generator for S-57 properties at point")] HRESULT S57PropertiesAtPoint([in] IS57Draw* s57draw, [in] IPixelPoint * pixelPt);
3886 
3888  [id(2), helpstring("Set the event for HTML")] HRESULT ProcessEvent([in] BSTR sEvent, [out, retval] enum HTMLAction * action);
3889 
3891  [id(3), helpstring("Get the HTML")] HRESULT HTML([in] BSTR sUrl, [out, retval] BSTR * pHtml);
3892 };
3893 
3895 
3896 [
3897  object,
3898  uuid(cb25f690-7cb6-11e1-8889-0024e84637be),
3899  dual,
3900  helpstring("IRouteCheck Interface"),
3901  nonextensible,
3902  pointer_default(unique),
3903  hidden
3904 ]
3906 {
3908  [id(1), helpstring("Check the route")] HRESULT Check([in] IGeoPoints * geoPoints, [in] enum GeoLineType lineType, [in] double safetyContourMetres, [in] double safetyDistanceMetres, [in] IS57Manager * manager, [out, retval] BSTR * xml);
3909 #if !defined DOXYGEN_SHOULD_SKIP_THIS
3910  [id(2), hidden, restricted] HRESULT Address([out, retval] DWORD_PTR * pVal);
3911 #endif
3913 
3914  [propget, id(3), helpstring("Report line features within the safety distance")] HRESULT CheckLinesWithinSafetyDistance([out, retval] VARIANT_BOOL * pVal);
3916  [propput, id(3), helpstring("Report line features within the safety distance")] HRESULT CheckLinesWithinSafetyDistance([in] VARIANT_BOOL pVal);
3918 
3919  [propget, id(4), helpstring("Report area features within the safety distance")] HRESULT CheckAreasWithinSafetyDistance([out, retval] VARIANT_BOOL * pVal);
3921  [propput, id(4), helpstring("Report area features within the safety distance")] HRESULT CheckAreasWithinSafetyDistance([in] VARIANT_BOOL pVal);
3923 
3927  [id(5), helpstring("Start checking the route on a background thread")] HRESULT BeginCheck([in] IGeoPoints * geoPoints, [in] enum GeoLineType lineType, [in] double safetyContourMetres, [in] double safetyDistanceMetres, [in] IS57Manager * manager);
3929  [id(6), helpstring("Cancel the check started by BeginCheck")] HRESULT CancelCheck();
3931  [propget, id(7), helpstring("Whether a check started by BeginCheck is still running")] HRESULT Checking([out, retval] VARIANT_BOOL * pVal);
3932 };
3933 
3935 
3937 
3941 [
3942  uuid(cb25f5f4-7cb6-11e1-8889-0024e84637be),
3943  version(3.0),
3944  helpstring("CherSoft ENCX 3.0 Type Library")
3945 ]
3946 library ENCX
3947 {
3948 #if !defined DOXYGEN_SHOULD_SKIP_THIS
3949  importlib("stdole2.tlb");
3950  importlib("mscorlib.tlb");
3951 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
3952 
3953 
3955 
3967  [
3968  uuid(cb25f5f5-7cb6-11e1-8889-0024e84637be),
3969  helpstring("Library Class")
3970  ]
3971  coclass Library
3972  {
3973  [default] interface ILibrary;
3974  };
3975 
3977 
3981  [
3982  uuid(cb25f5f6-7cb6-11e1-8889-0024e84637be),
3983  helpstring("DisplayPalette Class")
3984  ]
3986  {
3987  [default] interface IDisplayPalette;
3988  };
3989 
3991  [
3992  uuid(cb25f654-7cb6-11e1-8889-0024e84637be),
3993  helpstring("Events from DongleObserver"),
3994  hidden
3995  ]
3997  {
3998  properties:
3999  methods:
4001  [id(1), helpstring("method OnDongleChangeEvt")] HRESULT OnDongleChangeEvt(void);
4002  };
4003 
4005 
4008  [
4009  uuid(cb25f656-7cb6-11e1-8889-0024e84637be),
4010  helpstring("A security device")
4011  ]
4013  {
4014  [default] interface IDongleObserver;
4015  [default, source] dispinterface _IDongleObserverEvents;
4016  };
4017 
4019 
4020  [
4021  uuid(cb25f5f7-7cb6-11e1-8889-0024e84637be),
4022  helpstring("GeoPoint Class")
4023  ]
4024  coclass GeoPoint
4025  {
4026  [default] interface IGeoPoint;
4027  interface ICloneable;
4028  };
4029 
4031 
4032  [
4033  uuid(cb25f5f8-7cb6-11e1-8889-0024e84637be),
4034  helpstring("Collection of GeoPoint")
4035  ]
4036  coclass GeoPoints
4037  {
4038  [default] interface IGeoPoints;
4039  interface ICloneable;
4040  };
4041 
4043 
4044  [
4045  uuid(cb25f5f9-7cb6-11e1-8889-0024e84637be),
4046  helpstring("GeoArea Class")
4047  ]
4048  coclass GeoArea
4049  {
4050  [default] interface IGeoArea;
4051  };
4052 
4054 
4055  [
4056  uuid(cb25f5fa-7cb6-11e1-8889-0024e84637be),
4057  helpstring("GeoRect Class")
4058  ]
4059  coclass GeoRect
4060  {
4061  [default] interface IGeoRect;
4062  };
4063 
4065 
4066  [
4067  uuid(cb25f5fb-7cb6-11e1-8889-0024e84637be),
4068  helpstring("GeoLine Class")
4069  ]
4070  coclass GeoLine
4071  {
4072  [default] interface IGeoLine;
4073  };
4074 
4076 
4082 #if !defined(UDE_ENC_ONLY)
4083  [
4084  uuid(cb25f657-7cb6-11e1-8889-0024e84637be),
4085  helpstring("RasManager Class")
4086  ]
4087  coclass RasManager
4088  {
4089  [default] interface IRasManager;
4090  };
4091 
4093  [
4094  uuid(cb25f658-7cb6-11e1-8889-0024e84637be),
4095  helpstring("Events from RasCatalogueObserver"),
4096  hidden
4097  ]
4099  {
4100  properties:
4101  methods:
4103  [id(1), helpstring("Occurs when the contents of the raster chart folder has changed. Redraw everything.")] HRESULT OnChanged();
4104  };
4105 
4107 
4109  [
4110  uuid(cb25f659-7cb6-11e1-8889-0024e84637be),
4111  helpstring("RasCatalogueObserver Class")
4112  ]
4114  {
4115  [default] interface IRasCatalogueObserver;
4116  [default, source] dispinterface _IRasCatalogueObserverEvents;
4117  };
4118 
4120 
4122  [
4123  uuid(cb25f67a-7cb6-11e1-8889-0024e84637be),
4124  helpstring("RasChartPanelIdentifier Class")
4125  ]
4127  {
4128  [default] interface IRasChartPanelIdentifier;
4129  };
4130 
4132 
4143  [
4144  uuid(cb25f67b-7cb6-11e1-8889-0024e84637be),
4145  helpstring("RasDraw Class")
4146  ]
4147  coclass RasDraw
4148  {
4149  [default] interface IRasDraw;
4150  };
4151 #endif
4152 
4154  // S57 classes
4156 
4158  [
4159  uuid(cb25f5fc-7cb6-11e1-8889-0024e84637be),
4160  helpstring("Events from S57CatalogueObserver"),
4161  hidden
4162  ]
4164  {
4165  properties:
4166  methods:
4167  // Occurs when the contents of the S-57 SENC has changed. Redraw everything.
4168  [id(1), helpstring("Occurs when the contents of the S-57 SENC has changed. Redraw everything.")] HRESULT OnChanged();
4169  };
4170 
4172 
4175  [
4176  uuid(cb25f5fd-7cb6-11e1-8889-0024e84637be),
4177  helpstring("S57CatalogueObserver Class")
4178  ]
4180  {
4181  [default] interface IS57CatalogueObserver;
4182  [default, source] dispinterface _IS57CatalogueObserverEvents;
4183  };
4184 
4186 
4189  [
4190  uuid(cb25f5fe-7cb6-11e1-8889-0024e84637be),
4191  helpstring("S57CellIdentifier Class")
4192  ]
4194  {
4195  [default] interface IS57CellIdentifier;
4196  };
4197 
4199 
4200  [
4201  uuid(cb25f5ff-7cb6-11e1-8889-0024e84637be),
4202  helpstring("S57CellIdentifiers Class")
4203  ]
4205  {
4206  [default] interface IS57CellIdentifiers;
4207  };
4208 
4210 
4211  [
4212  uuid(cb25f60d-7cb6-11e1-8889-0024e84637be),
4213  helpstring("S57Colour Class"),
4214  ]
4215  coclass S57Colour
4216  {
4217  [default] interface IS57Colour;
4218  };
4219 
4221 
4222  [
4223  uuid(cb25f610-7cb6-11e1-8889-0024e84637be),
4224  helpstring("S57ColourValue Class"),
4225  ]
4227  {
4228  [default] interface IS57ColourValue;
4229  };
4230 
4232 
4233  [
4234  uuid(cb25f60e-7cb6-11e1-8889-0024e84637be),
4235  helpstring("S57ColourValues Class"),
4236  ]
4238  {
4239  [default] interface IS57ColourValues;
4240  };
4241 
4243 
4247  [
4248  uuid(cb25f600-7cb6-11e1-8889-0024e84637be),
4249  helpstring("S57ProductAndUsage Class")
4250  ]
4252  {
4253  [default] interface IS57ProductAndUsage;
4254  };
4255 
4257 
4258  [
4259  uuid(cb25f601-7cb6-11e1-8889-0024e84637be),
4260  helpstring("S57ProductAndUsages Class")
4261  ]
4263  {
4264  [default] interface IS57ProductAndUsages;
4265  };
4266 
4268 
4269  [
4270  uuid(cb25f602-7cb6-11e1-8889-0024e84637be),
4271  helpstring("S57ObjectClass Class")
4272  ]
4274  {
4275  [default] interface IS57ObjectClass;
4276  };
4277 
4279 
4280  [
4281  uuid(cb25f603-7cb6-11e1-8889-0024e84637be),
4282  helpstring("Collection of S57ObjectClass")
4283  ]
4285  {
4286  [default] interface IS57ObjectClassCollection;
4287  };
4288 
4290 
4291  [
4292  uuid(cb25f604-7cb6-11e1-8889-0024e84637be),
4293  helpstring("S57FeatureIdentifier Class")
4294  ]
4296  {
4297  [default] interface IS57FeatureIdentifier;
4298  };
4299 
4301 
4302  [
4303  uuid(cb25f605-7cb6-11e1-8889-0024e84637be),
4304  helpstring("S57FeatureIdentifiers Class")
4305  ]
4307  {
4308  [default] interface IS57FeatureIdentifiers;
4309  };
4310 
4312 
4318  [
4319  uuid(cb25f606-7cb6-11e1-8889-0024e84637be),
4320  helpstring("S57FeatureQuery Class")
4321  ]
4323  {
4324  [default] interface IS57FeatureQuery;
4325  };
4326 
4328  [
4329  uuid(cb25f60f-7cb6-11e1-8889-0024e84637be),
4330  helpstring("S57ManagerInitialisationData Class")
4331  ]
4333  {
4334  [default] interface IS57ManagerInitialisationData;
4335  };
4336 
4337 
4339 
4351  [
4352  uuid(cb25f607-7cb6-11e1-8889-0024e84637be),
4353  helpstring("S57Manager Class")
4354  ]
4355  coclass S57Manager
4356  {
4357  [default] interface IS57Manager;
4358  };
4359 
4361  [
4362  uuid(cb25f655-7cb6-11e1-8889-0024e84637be),
4363  helpstring("Events from S57Draw"),
4364  hidden
4365  ]
4366  dispinterface _IS57DrawEvents
4367  {
4368  properties:
4369  methods:
4371  [id(1), helpstring("Occurs before or after an S-57 layer is drawn")] HRESULT OnDrawLayer(OLE_HANDLE hdc, enum S57CallBackDrawAction action, IS57ProductAndUsage * ProductAndUsage, BYTE Layer);
4372  };
4373 
4374 
4376 
4389  [
4390  uuid(cb25f608-7cb6-11e1-8889-0024e84637be),
4391  helpstring("S57Draw Class")
4392  ]
4393  coclass S57Draw
4394  {
4395  [default] interface IS57Draw;
4396  [default, source] dispinterface _IS57DrawEvents;
4397  };
4398 
4400 
4403  [
4404  uuid(cb25f680-7cb6-11e1-8889-0024e84637be),
4405  helpstring("HTMLGenerator Class")
4406  ]
4408  {
4409  [default] interface IHTMLGenerator;
4410  };
4411 
4413 
4414  [
4415  uuid(cb25f60a-7cb6-11e1-8889-0024e84637be),
4416  helpstring("PixelPoint Class")
4417  ]
4418  coclass PixelPoint
4419  {
4420  [default] interface IPixelPoint;
4421  };
4422 
4424 
4425  [
4426  uuid(cb25f60b-7cb6-11e1-8889-0024e84637be),
4427  helpstring("PixelSize Class")
4428  ]
4429  coclass PixelSize
4430  {
4431  [default] interface IPixelSize;
4432  };
4433 
4434 
4436 
4437  [
4438  uuid(cb25f60c-7cb6-11e1-8889-0024e84637be),
4439  helpstring("PixelRect Class")
4440  ]
4441  coclass PixelRect
4442  {
4443  [default] interface IPixelRect;
4444  };
4445 
4446 
4448  // Non-creatable co-classes
4449  // These are here to tidy-up the interface so that the client programmer is not faced with IFoo.
4450  // The mere existence of these co-classes means that functions returning IFoo return Foo instead.
4451  // Note that there are no RGS files for these classes and the C++ code does not use them or their GUIDs at all.
4453 #if !defined DOXYGEN_SHOULD_SKIP_THIS
4454  // Dongle
4455  [
4456  uuid(cb25f67c-7cb6-11e1-8889-0024e84637be),
4457  helpstring("Dongle Class"),
4458  noncreatable
4459  ]
4460  coclass Dongle
4461  {
4462  [default] interface IDongle;
4463  };
4464 
4466 
4467  [
4468  uuid(cb25f609-7cb6-11e1-8889-0024e84637be),
4469  helpstring("S57DisplaySettings Class"),
4470  noncreatable
4471  ]
4472  coclass S57DisplaySettings
4473  {
4474  [default] interface IS57DisplaySettings;
4475  interface ICloneable;
4476  };
4477 
4478  // GeoHorizontalDatumInfo
4479  [
4480  uuid(cb25f67d-7cb6-11e1-8889-0024e84637be),
4481  helpstring("GeoHorizontalDatumInfo Class"),
4482  noncreatable
4483  ]
4484  coclass GeoHorizontalDatumInfo
4485  {
4486  [default] interface IGeoHorizontalDatumInfo;
4487  };
4488 
4489  // PixelPoints
4490  [
4491  uuid(cb25f65a-7cb6-11e1-8889-0024e84637be),
4492  helpstring("PixelPoints Class"),
4493  noncreatable
4494  ]
4495  coclass PixelPoints
4496  {
4497  [default] interface IPixelPoints;
4498  };
4499 
4500  // PolyLines
4501  [
4502  uuid(cb25f65b-7cb6-11e1-8889-0024e84637be),
4503  helpstring("PolyLines Class"),
4504  noncreatable
4505  ]
4506  coclass PolyLines
4507  {
4508  [default] interface IPolyLines;
4509  };
4510 
4511  // GeoPix
4512  [
4513  uuid(cb25f65c-7cb6-11e1-8889-0024e84637be),
4514  helpstring("GeoPix Class"),
4515  noncreatable
4516  ]
4517  coclass GeoPix
4518  {
4519  [default] interface IGeoPix;
4520  };
4521 
4522  // GeoPixCollection
4523  [
4524  uuid(cb25f65d-7cb6-11e1-8889-0024e84637be),
4525  helpstring("GeoPixCollection Class"),
4526  noncreatable
4527  ]
4528  coclass GeoPixCollection
4529  {
4530  [default] interface IGeoPixCollection;
4531  };
4532 
4533  // HorizontalDatum
4534  [
4535  uuid(cb25f65e-7cb6-11e1-8889-0024e84637be),
4536  helpstring("HorizontalDatum Class"),
4537  noncreatable
4538  ]
4539  coclass HorizontalDatum
4540  {
4541  [default] interface IHorizontalDatum;
4542  };
4543 
4544 #if !defined(UDE_ENC_ONLY)
4545  // RasCharts
4546  [
4547  uuid(cb25f65f-7cb6-11e1-8889-0024e84637be),
4548  helpstring("RasCharts Class"),
4549  noncreatable
4550  ]
4551  coclass RasCharts
4552  {
4553  [default] interface IRasCharts;
4554  };
4555 
4556  // RasDiscIdentity
4557  [
4558  uuid(cb25f660-7cb6-11e1-8889-0024e84637be),
4559  helpstring("RasDiscIdentity Class"),
4560  noncreatable
4561  ]
4562  coclass RasDiscIdentity
4563  {
4564  [default] interface IRasDiscIdentity;
4565  };
4566 
4567  // RasNoticeToMarinersNumber
4568  [
4569  uuid(cb25f661-7cb6-11e1-8889-0024e84637be),
4570  helpstring("RasNoticeToMarinersNumber Class"),
4571  noncreatable
4572  ]
4573  coclass RasNoticeToMarinersNumber
4574  {
4575  [default] interface IRasNoticeToMarinersNumber;
4576  };
4577 
4578  // RasNoticeToMariners
4579  [
4580  uuid(cb25f662-7cb6-11e1-8889-0024e84637be),
4581  helpstring("RasNoticeToMariners Class"),
4582  noncreatable
4583  ]
4584  coclass RasNoticeToMariners
4585  {
4586  [default] interface IRasNoticeToMariners;
4587  };
4588 
4589  // RasNoticesToMariners
4590  [
4591  uuid(cb25f663-7cb6-11e1-8889-0024e84637be),
4592  helpstring("RasNoticesToMariners Class"),
4593  noncreatable
4594  ]
4595  coclass RasNoticesToMariners
4596  {
4597  [default] interface IRasNoticesToMariners;
4598  };
4599 
4600  // RasPanelIdentifier
4601  [
4602  uuid(cb25f664-7cb6-11e1-8889-0024e84637be),
4603  helpstring("RasPanelIdentifier Class"),
4604  noncreatable
4605  ]
4606  coclass RasPanelIdentifier
4607  {
4608  [default] interface IRasPanelIdentifier;
4609  };
4610 
4611  // RasPanelIdentifiers
4612  [
4613  uuid(cb25f665-7cb6-11e1-8889-0024e84637be),
4614  helpstring("RasPanelIdentifiers Class"),
4615  noncreatable
4616  ]
4617  coclass RasPanelIdentifiers
4618  {
4619  [default] interface IRasPanelIdentifiers;
4620  };
4621 
4622  // RasChartPanelIdentifiers
4623  [
4624  uuid(cb25f666-7cb6-11e1-8889-0024e84637be),
4625  helpstring("RasChartPanelIdentifiers Class"),
4626  noncreatable
4627  ]
4628  coclass RasChartPanelIdentifiers
4629  {
4630  [default] interface IRasChartPanelIdentifiers;
4631  };
4632 
4633  // RasPanelInfo
4634  [
4635  uuid(cb25f667-7cb6-11e1-8889-0024e84637be),
4636  helpstring("RasPanelInfo Class"),
4637  noncreatable
4638  ]
4639  coclass RasPanelInfo
4640  {
4641  [default] interface IRasPanelInfo;
4642  };
4643 
4644  // RasChartInfo
4645  [
4646  uuid(cb25f668-7cb6-11e1-8889-0024e84637be),
4647  helpstring("RasChartInfo Class"),
4648  noncreatable
4649  ]
4650  coclass RasChartInfo
4651  {
4652  [default] interface IRasChartInfo;
4653  };
4654 
4655  // RasPanelNote
4656  [
4657  uuid(cb25f669-7cb6-11e1-8889-0024e84637be),
4658  helpstring("RasPanelNote Class"),
4659  noncreatable
4660  ]
4661  coclass RasPanelNote
4662  {
4663  [default] interface IRasPanelNote;
4664  };
4665 
4666  // RasPanelNotes
4667  [
4668  uuid(cb25f66a-7cb6-11e1-8889-0024e84637be),
4669  helpstring("RasPanelNotes Class"),
4670  noncreatable
4671  ]
4672  coclass RasPanelNotes
4673  {
4674  [default] interface IRasPanelNotes;
4675  };
4676 #endif
4677 
4678  // S57Attribute
4679  [
4680  uuid(cb25f66b-7cb6-11e1-8889-0024e84637be),
4681  helpstring("S57Attribute Class"),
4682  noncreatable
4683  ]
4684  coclass S57Attribute
4685  {
4686  [default] interface IS57Attribute;
4687  };
4688 
4689  // S57AttributeValue
4690  [
4691  uuid(cb25f66c-7cb6-11e1-8889-0024e84637be),
4692  helpstring("S57AttributeValue Class"),
4693  noncreatable
4694  ]
4695  coclass S57AttributeValue
4696  {
4697  [default] interface IS57AttributeValue;
4698  };
4699 
4700  // S57AttributeValues
4701  [
4702  uuid(cb25f66d-7cb6-11e1-8889-0024e84637be),
4703  helpstring("S57AttributeValues Class"),
4704  noncreatable
4705  ]
4706  coclass S57AttributeValues
4707  {
4708  [default] interface IS57AttributeValues;
4709  };
4710 
4711  // S57CellInfo
4712  [
4713  uuid(cb25f66e-7cb6-11e1-8889-0024e84637be),
4714  helpstring("S57CellInfo Class"),
4715  noncreatable
4716  ]
4717  coclass S57CellInfo
4718  {
4719  [default] interface IS57CellInfo;
4720  };
4721 
4722  // S57DepthPoint
4723  [
4724  uuid(cb25f66f-7cb6-11e1-8889-0024e84637be),
4725  helpstring("S57DepthPoint Class"),
4726  noncreatable
4727  ]
4728  coclass S57DepthPoint
4729  {
4730  [default] interface IS57DepthPoint;
4731  };
4732 
4733  // S57DepthPoints
4734  [
4735  uuid(cb25f670-7cb6-11e1-8889-0024e84637be),
4736  helpstring("S57DepthPoints Class"),
4737  noncreatable
4738  ]
4739  coclass S57DepthPoints
4740  {
4741  [default] interface IS57DepthPoints;
4742  };
4743 
4744  // S57Face
4745  [
4746  uuid(cb25f671-7cb6-11e1-8889-0024e84637be),
4747  helpstring("S57Face Class"),
4748  noncreatable
4749  ]
4750  coclass S57Face
4751  {
4752  [default] interface IS57Face;
4753  };
4754 
4755  // S57Faces
4756  [
4757  uuid(cb25f672-7cb6-11e1-8889-0024e84637be),
4758  helpstring("S57Faces Class"),
4759  noncreatable
4760  ]
4761  coclass S57Faces
4762  {
4763  [default] interface IS57Faces;
4764  };
4765 
4766  // S57FeatureInfo
4767  [
4768  uuid(cb25f673-7cb6-11e1-8889-0024e84637be),
4769  helpstring("S57FeatureInfo Class"),
4770  noncreatable
4771  ]
4772  coclass S57FeatureInfo
4773  {
4774  [default] interface IS57FeatureInfo;
4775  };
4776 
4777  // S57FeatureArea
4778  [
4779  uuid(cb25f674-7cb6-11e1-8889-0024e84637be),
4780  helpstring("S57FeatureArea Class"),
4781  noncreatable
4782  ]
4783  coclass S57FeatureArea
4784  {
4785  [default] interface IS57FeatureArea;
4786  };
4787 
4788  // S57FeatureLine
4789  [
4790  uuid(cb25f675-7cb6-11e1-8889-0024e84637be),
4791  helpstring("S57FeatureLine Class"),
4792  noncreatable
4793  ]
4794  coclass S57FeatureLine
4795  {
4796  [default] interface IS57FeatureLine;
4797  };
4798 
4799  // S57FeaturePoint
4800  [
4801  uuid(cb25f676-7cb6-11e1-8889-0024e84637be),
4802  helpstring("S57FeaturePoint Class"),
4803  noncreatable
4804  ]
4805  coclass S57FeaturePoint
4806  {
4807  [default] interface IS57FeaturePoint;
4808  };
4809 
4810  // S57FeatureSounding
4811  [
4812  uuid(cb25f677-7cb6-11e1-8889-0024e84637be),
4813  helpstring("S57FeatureSounding Class"),
4814  noncreatable
4815  ]
4816  coclass S57FeatureSounding
4817  {
4818  [default] interface IS57FeatureSounding;
4819  };
4820 
4821  // S57DrawnFeature
4822  [
4823  uuid(cb25f678-7cb6-11e1-8889-0024e84637be),
4824  helpstring("S57DrawnFeature Class"),
4825  noncreatable
4826  ]
4827  coclass S57DrawnFeature
4828  {
4829  [default] interface IS57DrawnFeature;
4830  };
4831 
4832  // S57DrawnFeatures
4833  [
4834  uuid(cb25f679-7cb6-11e1-8889-0024e84637be),
4835  helpstring("S57DrawnFeatures Class"),
4836  noncreatable
4837  ]
4838  coclass S57DrawnFeatures
4839  {
4840  [default] interface IS57DrawnFeatures;
4841  };
4842 
4843 
4844  // GeoPointFormatter
4845  [
4846  uuid(cb25f682-7cb6-11e1-8889-0024e84637be),
4847  helpstring("GeoPointFormatter Class"),
4848  noncreatable
4849  ]
4850  coclass GeoPointFormatter
4851  {
4852  [default] interface IGeoPointFormatter;
4853  };
4854 
4855  // PolyAreas
4856  [
4857  uuid(cb25f683-7cb6-11e1-8889-0024e84637be),
4858  helpstring("PolyAreas Class"),
4859  noncreatable
4860  ]
4861  coclass PolyAreas
4862  {
4863  [default] interface IPolyAreas;
4864  };
4865 
4867 
4868  [
4869  uuid(cb25f685-7cb6-11e1-8889-0024e84637be),
4870  helpstring("WVSDisplaySettings Class"),
4871  noncreatable
4872  ]
4873  coclass WVSDisplaySettings
4874  {
4875  [default] interface IWVSDisplaySettings;
4876  interface ICloneable;
4877  };
4878 
4880 
4881  [
4882  uuid(cb25f687-7cb6-11e1-8889-0024e84637be),
4883  helpstring("GridDisplaySettings Class"),
4884  noncreatable
4885  ]
4886  coclass GridDisplaySettings
4887  {
4888  [default] interface IGridDisplaySettings;
4889  interface ICloneable;
4890  };
4891 
4893 
4894  [
4895  uuid(cb25f689-7cb6-11e1-8889-0024e84637be),
4896  helpstring("GridPen Class"),
4897  noncreatable
4898  ]
4899  coclass GridPen
4900  {
4901  [default] interface IGridPen;
4902  interface ICloneable;
4903  };
4904 
4906  [
4907  uuid(cb25f6a5-7cb6-11e1-8889-0024e84637be),
4908  helpstring("Events from RouteCheck"),
4909  hidden
4910  ]
4911  dispinterface _IRouteCheckEvents
4912  {
4913  properties:
4914  methods:
4916  [id(1), helpstring("The route check has finished")] HRESULT OnCheckComplete([in] BSTR xml);
4918  [id(2), helpstring("The route check failed")] HRESULT OnCheckFailed([in] BSTR error);
4919  };
4920 
4922 
4925  [
4926  uuid(cb25f691-7cb6-11e1-8889-0024e84637be),
4927  helpstring("RouteCheck Class")
4928  ]
4929  coclass RouteCheck
4930  {
4931  [default] interface IRouteCheck;
4932  [default, source] dispinterface _IRouteCheckEvents;
4933  };
4934 
4935 
4936  // VPFIteratorGuide_CoverageUse
4937  [
4938  uuid(cb25f6a1-7cb6-11e1-8889-0024e84637be),
4939  noncreatable
4940  ]
4941  coclass VPFIteratorGuide_CoverageUse
4942  {
4943  [default] interface IVPFIteratorGuide_CoverageUse;
4944  };
4945 
4946  // VPFIteratorGuide_LibraryUse
4947  [
4948  uuid(cb25f69f-7cb6-11e1-8889-0024e84637be),
4949  noncreatable
4950  ]
4951  coclass VPFIteratorGuide_LibraryUse
4952  {
4953  [default] interface IVPFIteratorGuide_LibraryUse;
4954  };
4955 
4956  // VPFIteratorGuide_DatabaseUse
4957  [
4958  uuid(cb25f69d-7cb6-11e1-8889-0024e84637be),
4959  noncreatable
4960  ]
4961  coclass VPFIteratorGuide_DatabaseUse
4962  {
4963  [default] interface IVPFIteratorGuide_DatabaseUse;
4964  };
4965 
4966  // VPFIteratorGuide
4967  [
4968  uuid(cb25f697-7cb6-11e1-8889-0024e84637be),
4969  noncreatable
4970  ]
4971  coclass VPFIteratorGuide
4972  {
4973  [default] interface IVPFIteratorGuide;
4974  };
4975 
4976  // VPFDisplaySettings
4977  [
4978  uuid(cb25f695-7cb6-11e1-8889-0024e84637be),
4979  helpstring("VPFDisplaySettings Class"),
4980  noncreatable
4981  ]
4982  coclass VPFDisplaySettings
4983  {
4984  [default] interface IVPFDisplaySettings;
4985  interface ICloneable;
4986  };
4987 
4988  // VPFFeatureSet
4989  [
4990  uuid(cb25f69b-7cb6-11e1-8889-0024e84637be)
4991  ]
4992  coclass VPFFeatureSet
4993  {
4994  [default] interface IVPFFeatureSet;
4995  };
4996 
4997  // VPFManager
4998  [
4999  uuid(cb25f693-7cb6-11e1-8889-0024e84637be)
5000  ]
5001  coclass VPFManager
5002  {
5003  [default] interface IVPFManager;
5004  };
5005 
5006 
5008  [
5009  uuid(cb25f6a4-7cb6-11e1-8889-0024e84637be),
5010  helpstring("Events from VPFCatalogueObserver"),
5011  hidden
5012  ]
5013  dispinterface _IVPFCatalogueObserverEvents
5014  {
5015  properties:
5016  methods:
5017  // Occurs when the contents of the VENC has changed. Redraw everything.
5018  [id(1), helpstring("Occurs when the contents of the VENC has changed. Redraw everything.")] HRESULT OnChanged();
5019  };
5020 
5022 
5025  [
5026  uuid(cb25f6a3-7cb6-11e1-8889-0024e84637be),
5027  helpstring("VPFCatalogueObserver Class")
5028  ]
5029  coclass VPFCatalogueObserver
5030  {
5031  [default] interface IVPFCatalogueObserver;
5032  [default, source] dispinterface _IVPFCatalogueObserverEvents;
5033  };
5034 
5035 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
5036 }
Specifies the type of palette and any fading of the chart.
Definition: encxcom.idl:3986
Observe the state of the security device.
Definition: encxcom.idl:4013
An area formed by joining points in a closed loop with lines of the specified shape.
Definition: encxcom.idl:4049
A line of a specified shape between two points on the Earth's surface.
Definition: encxcom.idl:4071
A position on the Earth's surface defined by geodetic latitude and longitude.
Definition: encxcom.idl:4025
Collection of GeoPoint objects.
Definition: encxcom.idl:4037
An area on the Earth's surface defined by two meridians (east and west) and two parallels (north and ...
Definition: encxcom.idl:4060
Create HTML for display in a browser control (etc.)
Definition: encxcom.idl:4408
The top level object in the ENCX library. Required to create many other ENCX objects.
Definition: encxcom.idl:3972
A value class representing a floating point Cartesian pixel point.
Definition: encxcom.idl:4419
A value class representing a floating point Cartesian pixel rectangle aligned with the Cartesian axes...
Definition: encxcom.idl:4442
A value class representing a floating point Cartesian pixel size.
Definition: encxcom.idl:4430
Observe changes to the charts in a RasManager.
Definition: encxcom.idl:4114
The identity of a single panel (either the main chart or an inset panel) on a known raster chart.
Definition: encxcom.idl:4127
Display a bounded raster chart via a Win32 Device Context.
Definition: encxcom.idl:4148
Manage a folder of raster charts.
Definition: encxcom.idl:4088
Observe changes to the cells in an S57Manager.
Definition: encxcom.idl:4180
Identification of an S-57 cell.
Definition: encxcom.idl:4194
Collection of S57CellIdentifier.
Definition: encxcom.idl:4205
An S-57 Colour Identifier.
Definition: encxcom.idl:4216
An S-57 Colour Identifier combined with the values of the colour (RGB) for each colour scheme (Day,...
Definition: encxcom.idl:4227
A collection of S-57 colours and associated RGB values.
Definition: encxcom.idl:4238
Display a continuous S-57 vector chart via a Win32 Device Context.
Definition: encxcom.idl:4394
A globally unique value that identifies a particular feature as represented by a particular S-57 cell...
Definition: encxcom.idl:4296
Collection of S57FeatureIdentifier.
Definition: encxcom.idl:4307
A means of querying an S-57 cell within a SENC to obtain a collection of the cell's features.
Definition: encxcom.idl:4323
An S-57 SENC.
Definition: encxcom.idl:4356
Parameters required to initialize S57Manager using OpenSenc2()
Definition: encxcom.idl:4333
Collection of S57ObjectClass.
Definition: encxcom.idl:4285
Type of S-57 Object.
Definition: encxcom.idl:4274
The combination of an S-57 Product and an Intended Usage.
Definition: encxcom.idl:4252
Collection of S57ProductAndUsage.
Definition: encxcom.idl:4263
ScaleBarUnits
Used to set the units to use for the scale bar on S57 charts.
Definition: encxcom.idl:106
@ SBU_Kilometres
kilometres
Definition: encxcom.idl:107
@ SBU_NauticalMiles
nautical miles
Definition: encxcom.idl:108
S57DateMode
Determines the date to use when deciding whether to draw features with date dependencies or just allo...
Definition: encxcom.idl:180
@ S57DateMode_IgnoreDates
Draw all features regardless of date.
Definition: encxcom.idl:183
@ S57DateMode_UseSetDate
Use the user set date.
Definition: encxcom.idl:182
@ S57DateMode_UseSystemDate
Use the current system date.
Definition: encxcom.idl:181
VPFFeatureType
VPF feature types to draw.
Definition: encxcom.idl:195
@ FT_Edge
Line features.
Definition: encxcom.idl:198
@ FT_Node
Point features.
Definition: encxcom.idl:196
@ FT_Text
Text features.
Definition: encxcom.idl:197
@ FT_Face
Polygon features.
Definition: encxcom.idl:199
PaletteType
Used to specify which palette the charts will be rendered in.
Definition: encxcom.idl:38
@ PalDay
Normal daytime palette.
Definition: encxcom.idl:40
@ PalDusk
Palette for dawn and dusk.
Definition: encxcom.idl:42
@ PalNight
Palette for night viewing.
Definition: encxcom.idl:43
@ PalCount
Number of palette values.
Definition: encxcom.idl:45
@ PalDayBright
Daytime palette for bright conditions.
Definition: encxcom.idl:39
@ PalUnknown
Unknown palette.
Definition: encxcom.idl:46
@ PalDayBlack
Daytime palette with a black background.
Definition: encxcom.idl:41
@ PalNightUnfiltered
Palette for night viewing through a neutral filter.
Definition: encxcom.idl:44
UniversalGridType
Definition: encxcom.idl:203
@ Grid_UTM
Universal Transverse Mercator.
Definition: encxcom.idl:204
@ Grid_MGRS
Military Grid Reference System.
Definition: encxcom.idl:205
LatLonFormat
Use this enum in GeoPointFormatter to change the lat-lon format returned by GeoPoint....
Definition: encxcom.idl:122
@ D_MM_MMMM
Degrees, minutes to 4 decimal places.
Definition: encxcom.idl:126
@ D_MM_MMM
Degrees, minutes to 3 decimal places.
Definition: encxcom.idl:125
@ D_MM_SS_SS
Degrees, minutes, seconds to 2 decimal places.
Definition: encxcom.idl:124
@ D_MM_SS_S
Degrees, minutes, seconds to 1 decimal place.
Definition: encxcom.idl:123
@ D_DDDDDD
Degrees to 6 decimal places.
Definition: encxcom.idl:128
@ D_DDDDD
Degrees to 5 decimal places.
Definition: encxcom.idl:127
S57DisplayImprovements
Definition: encxcom.idl:165
@ S57DisplayImprovements_Max
CherSoft's best ENC chart display improvements (non-standard)
Definition: encxcom.idl:167
@ S57DisplayImprovements_Level1
ENC display improvements Q1 2012.
Definition: encxcom.idl:168
@ S57DisplayImprovements_Nothing
No non-standard decluttering.
Definition: encxcom.idl:166
S57Product
A number of 'products' use the S-57 vector chart standard. The most well known one is ENC (Electronic...
Definition: encxcom.idl:62
@ PD_Unknown
Unknown product.
Definition: encxcom.idl:63
@ PD_AMLV3_MMA
AML Version 3 - Marine Management Areas.
Definition: encxcom.idl:79
@ PD_AMLV3_PEA
AML Version 3 - Practice and Exercise Areas.
Definition: encxcom.idl:85
@ PD_PENC
Port ENC (PENC) vector data.
Definition: encxcom.idl:66
@ PD_IENC
Inland ENC (IENC) vector data.
Definition: encxcom.idl:65
@ PD_RAL
Routes, Areas and Limits (AML)
Definition: encxcom.idl:69
@ PD_AMLV3_SBO
AML Version 3 - Small Bottom Objects.
Definition: encxcom.idl:87
@ PD_AMLV3_QRT
AML Version 3 - Q - Routes.
Definition: encxcom.idl:86
@ PD_LBO
Large Bottom Object (AML)
Definition: encxcom.idl:70
@ PD_AMLV3_MFI
AML Version 3 - Military Flight Information.
Definition: encxcom.idl:84
@ PD_ENC
ENC vector data.
Definition: encxcom.idl:64
@ PD_AMLV3_FAI
AML Version 3 - Flight Aeronautical Information.
Definition: encxcom.idl:82
@ PD_SBO
Small Bottom Objects (AML)
Definition: encxcom.idl:73
@ PD_MFF
Marine Foundation and Facilities (AML)
Definition: encxcom.idl:68
@ PD_AMLV3_NCD
AML Version 3 - Nautical Chart Background Data.
Definition: encxcom.idl:76
@ PD_ESB
Environment, Seabed and Beach (AML)
Definition: encxcom.idl:72
@ PD_AMLV3_GEN
AML Version 3 - generic.
Definition: encxcom.idl:74
@ PD_AIO
UKHO Admiralty Information Overlay (AIO)
Definition: encxcom.idl:92
@ PD_AMLV3_SED
AML Version 3 - Sediment.
Definition: encxcom.idl:77
@ PD_AMLV3_LBO
AML Version 3 - Large Bottom Objects.
Definition: encxcom.idl:88
@ PD_AMLV3_TSB
AML Version 3 - Territorial Sea Boundaries.
Definition: encxcom.idl:81
@ PD_AMLV3_MNI
AML Version 3 - Military Nautical Information.
Definition: encxcom.idl:91
@ PD_AMLV3_CFI
AML Version 3 - Civil Flight Information.
Definition: encxcom.idl:83
@ PD_AMLV3_CLB
AML Version 3 - Contour Line Bathymetry.
Definition: encxcom.idl:78
@ PD_AMLV3_LND
AML Version 3 - Land Background Data.
Definition: encxcom.idl:75
@ PD_AMLV3_AMP
AML Version 3 - Amphibious Warfare Data.
Definition: encxcom.idl:89
@ PD_WVS
The World Shoreline supplied with ENCX is another product of the S-57 standard.
Definition: encxcom.idl:67
@ PD_AMLV3_MTD
AML Version 3 - Mine Tactical Data.
Definition: encxcom.idl:80
@ PD_BENC
Bathymetric ENC.
Definition: encxcom.idl:93
@ PD_CLB
Contour Line Bathymetry (AML)
Definition: encxcom.idl:71
@ PD_AMLV3_ICE
AML Version 3 - Ice Data.
Definition: encxcom.idl:90
GeoLineType
The shape of the path between two points on the Earth's surface.
Definition: encxcom.idl:55
@ GL_GreatCircle
The shortest route between two points on the WGS-84 spheroid.
Definition: encxcom.idl:56
@ GL_Rhumb
The line of constant bearing between two points on the WGS-84 spheroid.
Definition: encxcom.idl:57
S57CallBackDrawAction
Identifies the relationship between a drawing callback and the drawing of a particular layer.
Definition: encxcom.idl:145
@ CB_NoS57Layer
Don't draw S-57 layer
Definition: encxcom.idl:146
@ CB_BeforeAndAfterS57Layer
Both before and after S-57 layer draw.
Definition: encxcom.idl:149
@ CB_BeforeS57Layer
Before S-57 layer draw
Definition: encxcom.idl:147
@ CB_AfterS57Layer
After S-57 layer draw
Definition: encxcom.idl:148
S57FeatureGeometry
S-57 supports a number of 'geometries', there are basically Points, Lines and Areas.
Definition: encxcom.idl:133
@ FG_Line
An object that is mapped as a line (possibly containing many segments), such as a contour.
Definition: encxcom.idl:136
@ FG_Unknown
Should not normally occur.
Definition: encxcom.idl:139
@ FG_Sounding
A collection of depth soundings.
Definition: encxcom.idl:138
@ FG_None
E.g. a collection of other features, such as the anchors and buoys for a tanker mooring system.
Definition: encxcom.idl:134
@ FG_Point
An object that is mapped as a single point, such as a light (LIGHTS) or a buoy (BOYSPP).
Definition: encxcom.idl:135
@ FG_Area
An object that is mapped as an area, such as some land (LNDARE) or an area of constant sea depth (DEP...
Definition: encxcom.idl:137
PenStyle
Determines the style of pen to use for drawing grid lines.
Definition: encxcom.idl:188
@ PS_Solid
Draw a solid line.
Definition: encxcom.idl:189
@ PS_Dashed
Draw a dashed line.
Definition: encxcom.idl:190
HTMLAction
Definition: encxcom.idl:153
@ SHA_UpdatePagesAndGoHome
Update pages and go home.
Definition: encxcom.idl:161
@ SHA_GoForward
Go forward.
Definition: encxcom.idl:158
@ SHA_DoNothing
Do nothing.
Definition: encxcom.idl:154
@ SHA_GoBack
Go back.
Definition: encxcom.idl:157
@ SHA_MightBeUrl
Might be a URL.
Definition: encxcom.idl:155
@ SHA_GoHome
Go home.
Definition: encxcom.idl:156
@ SHA_UpdatePages
Update pages.
Definition: encxcom.idl:159
@ SHA_UpdatePagesAndReloadCurrentPage
Update pages and reload the current page.
Definition: encxcom.idl:160
S57Projection
Definition: encxcom.idl:172
@ S57Projection_Mercator
Mercator.
Definition: encxcom.idl:174
@ S57Projection_Cylindrical
Original ENCX S-57 projection for fastest drawing.
Definition: encxcom.idl:173
@ S57Projection_PolarStereographic
Polar Stereographic.
Definition: encxcom.idl:175
SBDetailedMode
Used to set the scale bar behaviour when the display scale is more detailed than 1:8,...
Definition: encxcom.idl:113
@ SDM_Off
Don't use detailed mode (default)
Definition: encxcom.idl:114
@ SDM_UseMetres
In detailed mode, set the scale bar length to 100 m (regardless of scale bar units).
Definition: encxcom.idl:116
@ SDM_Auto
In detailed mode, set the scale bar length to 0.1 M when scale bar units are nautical miles or 0....
Definition: encxcom.idl:115
DongleState
The state of dongle. The dongle may either be DFS file (a 'virtual dongle') or a hardware dongle.
Definition: encxcom.idl:27
@ DS_Exists
A dongle exists but is not licensing the product. This may be affected by the OEM key (or default) us...
Definition: encxcom.idl:29
@ DS_Active
Dongle found and working.
Definition: encxcom.idl:30
@ DS_NotFound
No dongle could be found (hardware dongles require drivers, software dongles require the DFS file to ...
Definition: encxcom.idl:28
S57DepthDisplayUnits
Used for the display of soundings and contour depths on S57 charts.
Definition: encxcom.idl:98
@ DDU_MetresECDIS
Display in ECDIS font and style.
Definition: encxcom.idl:101
@ DDU_Feet
Feet.
Definition: encxcom.idl:100
@ DDU_Metres
Metres and decimetres.
Definition: encxcom.idl:99
Events from DongleObserver.
Definition: encxcom.idl:3997
HRESULT OnDongleChangeEvt(void)
Occurs when the state of the dongle has changed.
Events from RasCatalogueObserver.
Definition: encxcom.idl:4099
HRESULT OnChanged()
Occurs when the contents of the raster chart folder has changed. Redraw everything.
Events from S57CatalogueObserver.
Definition: encxcom.idl:4164
Events from S57Draw.
Definition: encxcom.idl:4367
HRESULT OnDrawLayer(OLE_HANDLE hdc, enum S57CallBackDrawAction action, IS57ProductAndUsage *ProductAndUsage, BYTE Layer)
Occurs before or after an S-57 layer is drawn.
Properties and methods for ENCX::DisplayPalette.
Definition: encxcom.idl:364
DOUBLE Luminance
The brightness of drawing. Default 1.0. Anything less than about 0.01 is completely black....
PaletteType PalType
E.g. PalDay, PalDusk, PalNight.
DOUBLE Saturation
The density of colour. Default 1.0. Anything less than about 0.01 is greyscale. Anything more than ab...
A security device.
Definition: encxcom.idl:224
BSTR DeviceName
Obtain a name identifying the security device. Suitable for display to end-users.
DongleState State
Obtain the current status of the security device.
LONG SerialNumber
Serial number of the dongle.
Properties and methods for ENCX::DongleObserver.
Definition: encxcom.idl:254
HRESULT Unregister(void)
Ask to not be notified of dongle state changes.
HRESULT Register(IDongle *dongle)
Register to be notified of dongle state changes.
Properties and methods for ENCX::GeoArea.
Definition: encxcom.idl:471
GeoLineType LineType
The shape of the lines between positions in ::Points.
IGeoPoints Points
A line is assumed between consecutive positions and between the last and first positions.
BSTR RoundedCornersString
Space delimited string containing indexes of the corners that are rounded.
BSTR PointsString
A line is assumed between consecutive positions and between the last and first positions.
Abbreviated and full descriptions of a horizontal datum.
Definition: encxcom.idl:506
BSTR Code
Three character code, e.g. WGE for WGS84, plus optional one-character sub area.
BSTR ShortDescription
Abbreviated description, e.g. WGS84 or OSGB1936.
BSTR LongDescription
Full description, e.g. World Geodetic System 1984.
Properties and methods for ENCX::GeoLine.
Definition: encxcom.idl:554
GeoLineType LineType
The shape of the path to be used between the ends.
HRESULT SetPoint1([in] DOUBLE LatGeodeticDegrees, [in] DOUBLE LonDegrees)
Setting the position of one end of the line.
IGeoPoint Point1
One end of the line.
IGeoPoint Point2
The other end of the line.
HRESULT SetPoint2([in] DOUBLE LatGeodeticDegrees, [in] DOUBLE LonDegrees)
Setting the position of the other end of the line.
HRESULT CreateFromBearingAndLength([in] enum GeoLineType lineType, [in] IGeoPoint *start, [in] DOUBLE bearing, [in] DOUBLE lengthInMeters)
Construct line from length and bearing.
DOUBLE BearingEnd
Bearing at end of line.
DOUBLE LengthInMetres
Length in metres.
DOUBLE BearingStart
Bearing at start.
A collection of geopixes.
Definition: encxcom.idl:847
IGeoPix Item([in] VARIANT vtIndex)
A GeoPix represents a portion of chart visible on the screen.
Definition: encxcom.idl:751
VARIANT_BOOL UseSmallSymbology
Draw symbols smaller (for Overviews).
VARIANT_BOOL PointInView
Returns true iff the last IGeoPix::Point or IGeoPix::PointEx conversion was inside the view.
IGeoRect Extent
The geographical bounding rectangle for the viewport of this IGeoPix.
HRESULT ClipRegionDevicePoints([in] IPixelRect *rect, [in] OLE_HANDLE lHDC, [out, retval] OLE_HANDLE *lhRgn)
Obtains the area of intersection between input rectangle and the visible portion of the chart that th...
HRESULT Area([in] IGeoArea *geoArea, [out, retval] IPolyAreas **areas)
Geographic to Pixel area conversion.
HRESULT GeoPointFromPixelPoint([in] IPixelPoint *pixelPt, [out, retval] IGeoPoint **geoPt)
Obtain a geographical position from a pixel point.
LONG DisplayScale
The scale to show to the user. Based on a nominal pixel pitch for the type of view (typically 200 mic...
HRESULT PointEx([in] IGeoPoint *geoPt, [in] DOUBLE brgGeo, [out] DOUBLE *brgPixel, [out] DOUBLE *distOnePixel, [out, retval] IPixelPoint **pixelPt)
Geographic to Pixel point conversion.
HRESULT Point([in] IGeoPoint *geoPt, [out, retval] IPixelPoint **pixelPt)
Geographic to Pixel point conversion.
HRESULT ClipRegionLogicalPoints([in] IPixelRect *rect, [out, retval] OLE_HANDLE *lhRgn)
Obtains the area of intersection between the input rectangle and the visible portion of the chart tha...
HRESULT Line([in] IGeoLine *geoLine, [out, retval] IPolyLines **lines)
Geographic to Pixel line conversion.
DOUBLE DirectionOfUp
Degrees. Like a compass bearing. Range 0 >= x < 360.
HRESULT ExtentFromRect([in] IPixelRect *rect, [out, retval] IGeoRect **pVal)
The geographical bounding rectangle for rectangle defined in pixel coordinates clipped to the viewpor...
GeoPointFormatter.
Definition: encxcom.idl:280
VARIANT_BOOL UseUniversalGrid
Show the position using the UTM or MGRS universal grid, where available.
UniversalGridType UniversalGrid
The universal grid format to use.
VARIANT_BOOL UseNationalGrid
Show the position using a national grid, where available. When set, this has priority over UseUnivers...
LatLonFormat Format
The format to use for latitude and longitude values. This does not affect grid formats.
Properties and methods for ENCX::GeoPoint.
Definition: encxcom.idl:400
HRESULT ParseMGRS([in] BSTR newVal)
Attempt to parse MGRS string in format {zone band grid easting northing} e.g. "30 U XE 01468 26018".
DOUBLE Lat
Degrees, positive going north, zero on the equator.
BSTR LatLonString
Comma separated lat and lon.
HRESULT ParseLatLon([in] BSTR newVal)
Attempt to parse lat-long string, N|S , E|W, degrees, minutes, seconds.
DOUBLE Lon
Degrees, positive going east, zero on the Greenwich Meridian.
HRESULT ParseUTM([in] BSTR newVal)
Attempt to parse UTM string in format {central_meridian N|S easting northing} e.g....
HRESULT Copy([out, retval] IGeoPoint **pVal)
Get an identical copy of this object. Like the Clone() method but type safe.
BSTR FormattedPosition
Get the position as a string using GeoPointFormatter settings.
Properties and methods for ENCX::GeoPoints.
Definition: encxcom.idl:444
HRESULT Remove([in] LONG nIndex)
IGeoPoint Item([in] VARIANT vtIndex)
HRESULT AddLatLon([in] DOUBLE Lat, [in] DOUBLE Lon)
HRESULT Clear()
HRESULT Add([in] IGeoPoint *geoPoint)
IUnknown _NewEnum
HRESULT Copy([out, retval] IGeoPoints **pVal)
Get an identical copy of this object. Like the Clone() method but type safe.
Properties and methods for ENCX::GeoRect.
Definition: encxcom.idl:527
DOUBLE LonE
DOUBLE LatN
DOUBLE LatS
DOUBLE LonW
Properties and methods for ENCX::GridDisplaySettings.
Definition: encxcom.idl:3272
IGridPen GridPen1
Primary grid pen.
DWORD LabelColour
Label colour.
IGridPen GridPen3
Tertiary grid pen.
HRESULT Copy([out, retval] IGridDisplaySettings **pVal)
Get an identical copy of this object. Like the Clone() method but type safe.
IGridPen GridPen2
Secondary grid pen.
VARIANT_BOOL ShowLabels
Show or hide labels.
VARIANT_BOOL Show
Show or hide the grid.
Properties and methods for ENCX::GridPen.
Definition: encxcom.idl:3234
PenStyle Style
Pen style of grid line.
FLOAT Width
Width of grid line.
HRESULT Copy([out, retval] IGridPen **pVal)
Get an identical copy of this object. Like the Clone() method but type safe.
VARIANT_BOOL Show
Show or hide the grid line.
DWORD Colour
Grid line colour.
Properties and methods for ENCX::HTMLGenerator.
Definition: encxcom.idl:3883
HRESULT ProcessEvent([in] BSTR sEvent, [out, retval] enum HTMLAction *action)
Handle an event from a web browser that is displaying the HTML.
HRESULT S57PropertiesAtPoint([in] IS57Draw *s57draw, [in] IPixelPoint *pixelPt)
Set the point on the chart and the draw object that HTML generated by will refer to.
HRESULT HTML([in] BSTR sUrl, [out, retval] BSTR *pHtml)
Get the HTML.
A way to convert a geographical position between a local horizontal datum and WGS84.
Definition: encxcom.idl:866
VARIANT_BOOL HasLocalDatum
Returns true if the chart has a local datum which is not WGS84.
BSTR LocalDatumLongName
The local datum name in either long or short form. See HCRF 2.0 A.4 HORIZONTAL DATUM CODES.
HRESULT WGS84ToLocal([out] DOUBLE *LatLocal, [out] DOUBLE *LonLocal, [in] DOUBLE LatWGS84, [in] DOUBLE LonWGS84, [out, retval] VARIANT_BOOL *bRes)
Convert a geographical position on WGS84 to the local datum.
BSTR LocalDatumShortName
The local datum name in either long or short form. See HCRF 2.0 A.4 HORIZONTAL DATUM CODES.
DOUBLE ErrorDistanceMetres
The accuracy of the transformation. Units are metres.
HRESULT LocalToWGS84([out] DOUBLE *LatWGS84, [out] DOUBLE *LonWGS84, [in] DOUBLE LatLocal, [in] DOUBLE LonLocal, [out, retval] VARIANT_BOOL *bRes)
Convert a geographical position on the local datum to WGS84.
Properties and methods for ENCX::Library.
Definition: encxcom.idl:310
HRESULT DoIdle([out, retval] VARIANT_BOOL *bRes)
Call while the application is idle and while DoIdle() keeps returning true.
HRESULT Construct([in] BSTR OEMKey, [in] BSTR DFSFileName)
Initialise the ENCX library.
BSTR DFSInstallationId
Get the Installation ID string which is used to obtain a Dongle Free Security (DFS) file from CherSof...
IDongle Dongle
Get the Dongle object. This object can be queried about the state of the dongle.
BSTR DFSFileName
The full pathname of the DFS filename.
BSTR Version
Get the version of the library.
VARIANT_BOOL ValidOEMKey
True if the OEM key supplied when the object was initialized is a valid key.
IGeoPointFormatter GeoPointFormatter
VARIANT_BOOL ValidDFSFile
Is the DFS file valid (an absence of file is considered invalid)
Properties and methods for ENCX::PixelPoint.
Definition: encxcom.idl:599
FLOAT X
Horizontal, increasing from left to right.
FLOAT Y
Vertical, increasing from top to bottom.
A collection of pixel points.
Definition: encxcom.idl:687
IPixelPoint Item([in] VARIANT vtIndex)
IUnknown _NewEnum
Properties and methods for ENCX::PixelRect.
Definition: encxcom.idl:651
LONG Height
Height. Vertical.
LONG Top
Top edge. Vertical, increasing from top to bottom.
LONG Width
Width. Horizontal.
LONG Left
Left edge. Horizontal, increasing from left to right.
Properties and methods for ENCX::PixelSize.
Definition: encxcom.idl:625
LONG Height
Height. Vertical.
LONG Width
Width. Horizontal.
A collection of rings of pixel points. Returned by IGeoPix::Area.
Definition: encxcom.idl:723
IUnknown _NewEnum
IPixelPoints Item([in] VARIANT vtIndex)
A collection of chains of pixel points. Returned by IGeoPix::Line.
Definition: encxcom.idl:706
IPixelPoints Item([in] VARIANT vtIndex)
IUnknown _NewEnum
Properties and methods for ENCX::RasCatalogueObserver.
Definition: encxcom.idl:1258
HRESULT Unregister(void)
Always unregister before the derived class is destroyed.
HRESULT Register([in] IRasManager *rasManager)
Call this when ready to receive change notifications.
Details of a raster chart.
Definition: encxcom.idl:1141
DATE LastChanged
When the last update was applied to this chart.
DATE EditionDate
When this edition of the chart was created.
IRasPanelIdentifiers PanelIdentifiers
Obtain a list of all the panels in the chart.
BSTR Producer1
Description of the country that produced the original chart. E.g. United Kingdom.
IRasDiscIdentity InstallationCD
The CD from which the chart was / can be installed.
IRasNoticeToMarinersNumber LatestNoticeToMarinersNumber
The Notices to Mariners number of the latest update installed.
BSTR NativeFormatShortDescription
The short description of the original format of the chart. E.g ARCS.
IRasNoticesToMariners NoticesToMariners
Obtain the Temporary and Preliminary Notices to Mariners corresponding to the latest update installed...
DATE RasterChartIssueDate
DATE PermitExpiryDate
When the licence expires for this chart.
BSTR Number
The identity of the chart. Never blank. E.g. 2182C.
BSTR Producer2
Description of the second country that produced the original chart. Often blank.
VARIANT_BOOL IsComplete
Returns true iff the chart is fully installed.
BSTR Description
A meaningful name for the whole chart.
IRasPanelInfo PanelInfo([in] IRasPanelIdentifier panelId)
Obtain the details of a specified panel.
BSTR CountryOfOrigin
Description of the country that produced the original chart.
VARIANT_BOOL IsWithdrawn
Returns true if the chart's supplier has withdrawn the chart.
IRasDiscIdentity MissingUpdateCD
The CD from which the chart needs to be updated.
VARIANT_BOOL RequiresLicence
All ARCS charts require a license.
BSTR InternationalNumber
The internationally agreed identity of the chart. Often blank.
IRasDiscIdentity MissingReInstallationCD
The CD from which the chart needs to be re-installed.
DATE LatestCorrectionDate
When the last update that has been applied was issued by the data producer.
BSTR NativeFormatLongDescription
The description of the original format of the chart. E.g Admiralty Raster Chart Service.
The identity of a specific panel of a specific chart.
Definition: encxcom.idl:1039
HRESULT Construct([in] BSTR chartNumber, [in] IRasPanelIdentifier *panelID)
Initialize from a specific chart and panel.
BSTR ChartIdentifier
The chart.
IRasPanelIdentifier Panel
The panel within the chart.
A collection of raster chart panel identifiers.
Definition: encxcom.idl:1063
IRasChartPanelIdentifier Item([in] VARIANT vtIndex)
A collection of raster charts.
Definition: encxcom.idl:910
BSTR Item([in] VARIANT vtIndex)
IUnknown _NewEnum
A means of identifying a chart CD.
Definition: encxcom.idl:928
DATE IssueDate
The date the CD was released.
BSTR Description
The name of the CD. E.g. WK23_04.
Properties and methods for ENCX::RasDraw.
Definition: encxcom.idl:1327
BSTR WarningMessage
This message should be brought to the operator's attention when the chart is opened.
HRESULT PanelAtPoint([in] IPixelPoint *ipPixelPt, [out, retval] IRasPanelIdentifier **rpid)
Obtain the identity of the panel at a specified pixel position.
HRESULT HorizontalDatum([in] IPixelPoint *ipPixelPt, [out, retval] IHorizontalDatum **hd)
Obtain the HorizontalDatum at a specified pixel position.
VARIANT_BOOL IndicateUpdates
Highlight the updated areas on the chart. Off by default.
VARIANT_BOOL HasUpdates
True iff there are currently corrections on the chart.
HRESULT SetRect([in] IPixelRect *rect)
The area of the chart to be drawn. Pixel position (0,0) is always at the top left corner of the chart...
BSTR ChartIdentifier
The chart's number. Not necessarily numeric. E.g. "109", "2182C", "AUS1234".
VARIANT_BOOL DisplayUpdates
Draw the chart using the available updates. On by default.
HRESULT PanelNotes([in] IRasPanelIdentifier *panelId, [out, retval] IRasPanelNotes **pVal)
Obtain a collection of notes associated with the specified panel.
DOUBLE PixelSizeMetres
Returns the nominal size of a pixel.
ULONG Magnify
Magnification of raster image - 100% is normal. Range is from 25% to 4000% in 25% intervals.
BSTR UpdateMessage
This message should be brought to the operator's attention when the chart is opened.
IGeoPixCollection VisibleGeoPix
Obtain a snapshot of all the geopixes that are inside Rect(). If you call this property twice you wil...
IPixelSize ChartSize
Return the size of the whole chart in pixels, allowing for it being either full-size or overview.
HRESULT GetRect([out, retval] IPixelRect **rect)
The area of the chart to be drawn. Pixel position (0,0) is always at the top left corner of the chart...
IDisplayPalette DisplayPalette
The colour scheme for the chart. Use to draw the chart with lower luminance for twilight and night vi...
HRESULT PanelGeoPix([in] IRasPanelIdentifier *panelID, [out, retval] IGeoPix **geoPix)
Obtain the GeoPix for the specified panel.
HRESULT GeoPix([in] IPixelPoint *ipPixelPt, [out, retval] IGeoPix **geoPix)
Obtain the GeoPix at a specified pixel position.
HRESULT OpenAtPositionOnPanel([in] IRasManager *rasManager, [in] IRasChartPanelIdentifier *chartAndPanel, [in] IGeoPoint *geoPt)
Set the view rectangle to display the geographical position specified on the panel specified....
VARIANT_BOOL DisplayFullSize
When true, the chart will be drawn at a much reduced size (typically 1/6th of normal size).
HRESULT Draw([in] OLE_HANDLE hDC)
Draw the Rect() portion of the chart to the specified device context.
BSTR PermanentMessage
This message should be displayed on top of the chart at all times.
HRESULT OpenChart([in] IRasManager *rasmanager, [in] BSTR ChartIdentifier)
Use a specific chart.
Properties and methods for ENCX::RasManager.
Definition: encxcom.idl:1212
HRESULT ChartInfo([in] BSTR ChartIdentifier, [out, retval] IRasChartInfo **pVal)
Obtain the details of a specified chart.
HRESULT PanelInfo([in] IRasChartPanelIdentifier *PanelID, [out, retval] IRasPanelInfo **pVal)
Obtain the details of a specified panel on a specified chart.
HRESULT IsValidRasFolder([in] BSTR sPath, [out, retval] VARIANT_BOOL *bRes)
Is the path pointing to a valid RENC. A RENC is the folder structure in which raster charts are insta...
DATE NoticesToMarinersLatestUpdate
HRESULT SetManualWGS84Shift([in] IRasChartPanelIdentifier *PanelId, [in] IGeoPoint *geoPoint, VARIANT_BOOL isSet)
Set the horizontal datum shift for WGS84 manually.
HRESULT PanelsAtPoint([in] DOUBLE dLatGeodeticDegrees, [in] DOUBLE dLonDegrees, [in] LONG ScaleMin, [in] LONG ScaleMax, [out, retval] IRasChartPanelIdentifiers **pVal)
HRESULT PanelsInGeoRect([in] IGeoRect *geoRect, [in] LONG ScaleMin, [in] LONG ScaleMax, [out, retval] IRasChartPanelIdentifiers **pVal)
HRESULT RunInstallApplicationARCS([in] BSTR pathToInstallationApp)
Invoke the CherSoft Windows application that installs and updates ARCS charts in the folder.
IRasCharts Charts
Obtain a collection of all the charts in the folder.
HRESULT CreateRasFolder([in] BSTR sPath)
Create a RENC. A RENC is the folder structure in which raster charts are installed.
HRESULT OpenRasFolder([in] ILibrary *piLibrary, [in] BSTR sPath)
Associate this manager with a specified folder.
HRESULT DisplayPinDialog([in] BSTR chartNumber, [out, retval] VARIANT_BOOL *bRes)
Deprecated - calling this method is no longer required.
IRasNoticesToMariners GeneralNoticesToMariners
A Notice to Mariners.
Definition: encxcom.idl:967
BSTR Text
The content of the notice.
IRasNoticeToMarinersNumber Number
The identity of the notice.
Identification for a notice to mariners.
Definition: encxcom.idl:947
LONG Number
The number of the notice within its Year. Sequential from 1.
LONG Year
The year in which the notice was issued. E.g. 2005.
HRESULT ToString([retval][out] BSTR *pVal)
Obtain a representation of the value as a string.
A collection of Notices to Mariners.
Definition: encxcom.idl:986
IRasNoticeToMariners Item([in] VARIANT vtIndex)
Properties and methods for ENCX::RasPanelIdentifier.
Definition: encxcom.idl:1003
A collection of raster panel identifiers.
Definition: encxcom.idl:1021
IRasPanelIdentifier Item([in] VARIANT vtIndex)
Details of a raster panel.
Definition: encxcom.idl:1085
BSTR ProjectionName
The description of the projection used by the chart. E.g. Mercator.
IGeoPoint ManualWGS84Shift
Returns the manual horizontal datum shift.
IGeoArea GeoArea
Obtain the geographical extent of the panel.
VARIANT_BOOL ManualWGS84ShiftCanBeModified
Returns true iff the horizontal datum shift can be modified using IRasManager.SetManualWGS84Shift().
BSTR HeightDatum
The description of the vertical datum for heights. E.g. Mean High Water Springs.
IGeoHorizontalDatumInfo HorizontalDatumInfo
Obtain details of the horizontal datum for this panel.
LONG Scale
The nominal scale of the chart. Suitable for display to the user, but not for precise calculations.
BSTR DepthUnits
The description of the units used for depths.
LONG SubPanelNumber
Obtain the subsidiary number identifying this panel in the original source data.
LONG PanelNumber
Obtain the number identifying this panel in the original source data.
BSTR DepthDatum
The description of the vertical datum for depths. E.g. Lowest Astronomical Tide.
BSTR HeightUnits
The description of the units used for heights.
HRESULT PointInPanel([in] DOUBLE dLatGeodeticDegrees, [in] DOUBLE dLonDegrees, [out, retval] VARIANT_BOOL *bRes)
Returns true iff the specified geographical position is inside the panel.
IPixelPoints PixelPoints
Obtain the pixel extent of the panel.
VARIANT_BOOL ManualWGS84ShiftIsSet
Returns true iff the horizontal datum shift has been modified programmatically.
BSTR Description
A meaningful name for the panel.
Details of an explanatory note on a raster panel.
Definition: encxcom.idl:1279
BSTR Type
Coarse categorisation of the note. E.g. Routeing or Sources.
BSTR Code
Fine catIdentification of the note. This is a subsidiary classification within Type().
IPixelRect Rect
The bounding box of the note on the chart. Pixel position (0,0) is always at the top left corner of t...
VARIANT_BOOL Display
Returns true if the note should be displayed to the user.
VARIANT_BOOL Obscures
Returns true if the note overlaps any hydrography.
A collection of notes for a raster panel.
Definition: encxcom.idl:1307
IRasPanelNote Item([in] VARIANT vtIndex)
IUnknown _NewEnum
Properties and methods for ENCX::RouteCheck.
Definition: encxcom.idl:3906
VARIANT_BOOL CheckLinesWithinSafetyDistance
Report line features that the route passes within the safety distance of, without crossing them....
VARIANT_BOOL CheckAreasWithinSafetyDistance
Report area features that the route passes within the safety distance of, without entering them....
HRESULT CancelCheck()
Cancels the check started by BeginCheck. Nothing is reported for it.
VARIANT_BOOL Checking
Whether a check started by BeginCheck has yet to be reported or cancelled.
HRESULT Check([in] IGeoPoints *geoPoints, [in] enum GeoLineType lineType, [in] double safetyContourMetres, [in] double safetyDistanceMetres, [in] IS57Manager *manager, [out, retval] BSTR *xml)
Check route safety.
HRESULT BeginCheck([in] IGeoPoints *geoPoints, [in] enum GeoLineType lineType, [in] double safetyContourMetres, [in] double safetyDistanceMetres, [in] IS57Manager *manager)
Starts checking the route on a background thread and returns at once.
Classification of the properties associated with an S-57 feature.
Definition: encxcom.idl:1704
HRESULT IsInProduct([in] enum S57Product product, [out, retval] VARIANT_BOOL *result)
Whether this Attribute is used by the specified product.
S57Product Product
Deprecated. Use IsInProduct instead.
BSTR Acronym
The six letter alphanumeric abbreviation for this Attribute.
BSTR Name
The name of the Attribute.
An S-57 feature can contain many attributes. Each attribute has a type (IS57Attribute) and a value.
Definition: encxcom.idl:1728
IS57Attribute Attribute
The type of attribute.
BSTR Value
The value of the Attribute.
A collection of S-57 attribute values.
Definition: encxcom.idl:1747
IS57AttributeValue Item([in] VARIANT vtIndex)
Properties and methods for ENCX::S57CatalogueObserver.
Definition: encxcom.idl:3474
HRESULT Unregister(void)
Ask to not be notified of IS57Manager changes.
HRESULT Register([in] IS57Manager *s57Mgr)
Register to be notified of IS57Manager changes.
Properties and methods for ENCX::S57CellIdentifier.
Definition: encxcom.idl:1765
HRESULT Construct([in] enum S57Product product, [in] BSTR cellName)
Compose from parts.
S57Product Product
ENC or WVS.
BSTR CellName
An eight character alphanumeric string.
Properties and methods for ENCX::S57CellIdentifiers; a collection of S57CellIdentifier.
Definition: encxcom.idl:1790
HRESULT Remove([in] LONG nIndex)
HRESULT Add([in] IS57CellIdentifier *cellId)
IS57CellIdentifier Item([in] VARIANT vtIndex)
Details of a single S-57 cell.
Definition: encxcom.idl:2050
LONG LeastDetailedDisplayScaleToShow_Coverage
Whether the contents of a cell is displayed depends on the relationship between the IS57Draw::Display...
LONG IntendedUsage
Can be combined with CellIdentifier::Product to form a ProductIntendedUsage.
DATE PermitExpiryDate
When the licence expires for this cell.
LONG LeastDetailedDisplayScaleToShow_GroupOne
Whether the contents of a cell is displayed depends on the relationship between the IS57Draw::Display...
DATE LastChanged
When the cell was last modified in the SENC.
VARIANT_BOOL PermitIsSubscription
Returns true iff a permit is required for this cell.
BSTR SoundingDatum
Description of the vertical datum used for sea depths and drying heights.
LONG Edition
S-57 allows a cell to be completely replaces instead of being updated.
DATE IssueDate
When the cell was released.
BSTR Agency
Description of the S-57 data producer. 1:1 correspondence with the Agency code in IS57FeatureIdentifi...
BSTR LongFileName
Empty for most ENC suppliers, useful text from NOAA.
BSTR Country
Name of the country providing the cell.
LONG CompilationScale
The nominal scale. The cell should contain a reasonable amount of detail when drawn at this scale.
LONG LeastDetailedDisplayScaleToShow_All
Whether the contents of a cell is displayed depends on the relationship between the IS57Draw::Display...
LONG LatestUpdate
Cell updates are numbered sequentially. 000 indicates a base cell. 001 is the first update.
BSTR VerticalDatum
Description of the vertical datum used for land heights. See SoundingDatum for the vertical datum use...
IS57CellIdentifier CellIdentifier
Unique label for an S-57 cell.
IGeoRect Extent
The geographical bounding rectangle defined by two parallels and two meridians that encloses the feat...
Classification of the properties associated with an S-57 colour.
Definition: encxcom.idl:1890
HRESULT Construct([in] BSTR name)
Initialisation.
An S-57 Colour Identifier combined with the RGB values of the colour for each colour scheme (Day,...
Definition: encxcom.idl:1913
COLORREF DayRGB
The RGB value of the Colour for daylight viewing.
IS57Colour Colour
The type of colour.
COLORREF NightRGB
The RGB value of the Colour for night time viewing.
COLORREF TwilightRGB
The RGB value of the Colour for twilight viewing.
HRESULT Construct([in] IS57Colour *pColour, DWORD rgbDay, DWORD rgbTwilight, DWORD rgbNight)
Initialisation.
A collection of S-57 colours and associated RGB values.
Definition: encxcom.idl:1950
HRESULT Add([in] IS57ColourValue *colourValue)
HRESULT Remove([in] LONG nIndex)
IS57ColourValue Item([in] VARIANT vtIndex)
The combination of a geographical position and the depth at that position.
Definition: encxcom.idl:2108
DOUBLE Depth
The depth at that geographical position. Units are metres. Referenced to the sounding datum (IS57Cell...
IGeoPoint GeoPoint
The geographical position.
A collection of S-57 soundings (position and depth pairs).
Definition: encxcom.idl:2127
IS57DepthPoint Item([in] VARIANT vtIndex)
IUnknown _NewEnum
Properties and methods for ENCX::S57DisplaySettings.
Definition: encxcom.idl:2890
VARIANT_BOOL IgnoreScamin
When set to true ignore the SCAMIN property on any features so they are drawn.
VARIANT_BOOL SymbolisedAreaBoundaries
When true, the edges of some areas (e.g. anchorages) will be drawn with appropriate symbols (e....
DOUBLE SlightlyShallowContourMetres
Separates depth colours when NumberOfDepthZones is 8.
HRESULT MergeXML([in] BSTR xml)
Merge XML string into existing settings.
VARIANT_BOOL TwoColourShadingForDepthZones
When true, two colours are used for non-drying depths; otherwise 4 colours are used.
VARIANT_BOOL ShowOverlappingCellAreas
When set to true where cells with the same navigational purpose overlap, and DeclutterOverlapping is ...
LONG NumTextGroups
Object classes are organised into text groups. The drawing of each text group can be switched on and ...
S57DateMode DateMode
Change between system date, user date or ignore date when handling drawing of features with date depe...
LONG NumDepthZones
Controls the number of colours used for depths. Supersedes the TwoColourShadingForDepthZones property...
DOUBLE DeepContourMetres
Separates depth colours when TwoColourShadingForDepthZones is false.
S57DisplayImprovements ImprovementsLevel
Controls non-standard ENC display improvements. Associated with decluttering ENC displays.
VARIANT_BOOL ViewingGroup([in] LONG ID)
Object classes are organised into viewing groups. The drawing of each viewing group can be switched o...
VARIANT_BOOL OverscaleIndicator
Draw the overscale indicator.
DOUBLE SlightlyDeepContourMetres
Separates depth colours when NumberOfDepthZones is 8.
HRESULT SetScaminForObjectClass([in] IS57ObjectClass *cr, [in] LONG scamin)
Setting the SCAMIN value overrides any SCAMIN in individual features of that object class....
VARIANT_BOOL SimplifiedSymbols
When true, alternative symbols designed to be distinguishable at low resolutions will be used; otherw...
IS57CellIdentifiers CellFilter
Specific cells that can be drawn (excluding all others) or must not be drawn.
VARIANT_BOOL DeclutterText
When set to true, text that would overlap text of a higher display priority is not drawn.
IS57ProductAndUsages Usages
The types of S-57 data that should be drawn.
DOUBLE VeryDeepContourMetres
Separates depth colours when NumberOfDepthZones is 8.
LONG NumViewingGroups
Object classes are organised into viewing groups. The drawing of each viewing group can be switched o...
LONG CompilationScaleZoomFactor
The factor which determines when a cell of a particular compilation scale is drawn.
VARIANT_BOOL DeclutterSoundings
When set to true, where soundings would overlap only the shoalest is drawn.
DOUBLE ShallowContourMetres
Separates depth colours when TwoColourShadingForDepthZones is false.
S57DepthDisplayUnits DepthDisplayUnits
The display units for depths (contours and soundings).
DOUBLE SafetyContourMetres
The contour at this depth, or the next shallower depth, is emboldened.
VARIANT_BOOL CellFilterInclusive
Controls the interpretation of CellFilter().
HRESULT SetViewingGroupRange([in] LONG Start, [in] LONG End, [in] VARIANT_BOOL bShow)
Show or hide multiple viewing groups at once.
HRESULT ScaminForObjectClass([in] IS57ObjectClass *cr, [out, retval] LONG *scamin)
Obtaining the SCAMIN value for an object class. Returns 0 if there is no override value.
DOUBLE FontScaleFactor
Affects size of text. Range 0.4 to 4. Default 1.
VARIANT_BOOL TextGroup([in] LONG ID)
Object classes are organised into text groups. The drawing of each text group can be switched on and ...
VARIANT_BOOL FullLengthLightSectorLines
When true, the rays indicating the limits of a light sector will be extended to their true range (or ...
VARIANT_BOOL FeatureFilterInclusive
Controls the interpretation of FeatureFilter().
VARIANT_BOOL ShowIsolatedDangersInShallowWater
When set to true underwater or above water dangers are highlighted with the isolated danger symbol.
DATE Date
Date for chart display which affects seasonal S-57 features (which used PERSTA,PEREND,...
VARIANT_BOOL DeclutterOverlappingCells
When set to true where cells with the same navigational purpose overlap, only draw one of them.
IS57FeatureIdentifiers FeatureFilter
Specific features that can be drawn (excluding all others) or must not be drawn.
DOUBLE SafetyDepthMetres
Soundings deeper than this are displayed in a lighter colour. Units are metres.
DOUBLE VeryShallowContourMetres
Separates depth colours when NumberOfDepthZones is 8.
HRESULT Copy([out, retval] IS57DisplaySettings **pVal)
Get an identical copy of this object. Like the Clone() method but type safe.
BSTR XML
XML string representing settings.
VARIANT_BOOL HighlightDateDependent
When set to true, draw symbol CHDATD01 with date dependent objects.
Properties and methods for ENCX::S57Draw.
Definition: encxcom.idl:3701
S57Projection ProjectionType
Projection (Cylindrical, Mercator or PolarStereographic)
HRESULT AdjustAreaSymbolOffsets([in] LONG cx, [in] LONG cy)
Call with the offset of each scrolling action.
HRESULT CalculateNewDisplayScale([out] VARIANT_BOOL *pbAllowed, [out] LONG *pnScaleOut, [in] LONG nScaleOld, [in] LONG nChange, [in] LONG nSmallestChangeAllowed)
Obtain the sensible next scale in the specified direction.
HRESULT SetDirectionOfUp([in] DOUBLE degrees, [in] IPixelPoint *ipPixelPt, [out, retval] VARIANT_BOOL *pVal)
The geographical orientation of the drawing surface.
HRESULT HighlightSounding([in] IS57FeatureIdentifier *featureId, [in] double depthMetres, [in] VARIANT_BOOL bClear)
Highlight the sounding (true to clear existing highlights, false to add the sounding to the ones alre...
HRESULT VPFCoveragesAtPoint([in] IPixelPoint *pixelPt, [out, retval] BSTR *pXML)
Return XML describing the VPF coverages at a specified point.
DOUBLE DirectionOfUp
The geographical orientation of the drawing surface.
DOUBLE PixelSizeMetres
The nominal size of a pixel.
SBDetailedMode ScalebarDetailedMode
Get scroll bar behaviour mode when display scale is less than 1:8,000.
HRESULT SetPositionAndScaleExact([in] IGeoRect *geoRect, [out, retval] VARIANT_BOOL *bRes)
Set the geographical position and scale so that the specified rectangle exactly. The corners of the d...
IS57DisplaySettings DisplaySettings
The display settings control the symbolisation (drawing style) and what types of object are drawn or ...
HRESULT SetSize([in] IPixelSize *sz)
The area inside the rectangle (0,0) to (Size.Width,Size.Height) will be drawn.
VARIANT_BOOL DrawGrid
Set to true to draw a simple geodetic grid on top of S-57 data (deprecated - use GridDisplaySettings ...
LONG DisplayScale
The nominal scale of the chart. Suitable for display to the user, but not for precise calculations.
IGeoPix GeoPix
Obtain the geopix.
IGeoPoint PositionOfCentre
Obtain the geographical position of the centre of the drawing surface.
IGridDisplaySettings GridDisplaySettings
The display settings for the grid.
HRESULT SetVPFManager([in] IVPFManager *pMgr)
Connect to a VPF chart folder. All the VPF data to be drawn on the device context will be obtained fr...
HRESULT Draw([in] OLE_HANDLE lHDC)
Draw the chart to the specified device context.
ScaleBarUnits Scalebar
The units for the scalebar.
IGeoRect GeoExtent
The geographical rectangle of the drawing surface.
HRESULT VPFFeaturesAtPoint([in] IPixelPoint *pixelPt, [out, retval] BSTR *pXML)
Return XML describing the VPF features at a specified point.
HRESULT SetPosition([in] IGeoPoint *geoPt, [in] IPixelPoint *pixelPt, [out, retval] VARIANT_BOOL *bRes)
Set the geographical position at the specified pixel position on the drawing surface.
HRESULT DepthAtPoint([in] IPixelPoint *pixelPt, [out] DOUBLE *depthInMetres, [out, retval] VARIANT_BOOL *succeeded)
Get the depth at a pixel position within the view.
DWORD BackgroundColour
Get background colour.
IDisplayPalette DisplayPalette
The colour scheme for the chart. Use to draw the chart with lower luminance for twilight and night vi...
HRESULT SetPositionAndScale([in] IGeoRect *geoRect, [out, retval] VARIANT_BOOL *bRes)
Set the geographical position and scale so that the specified rectangle just fits on the drawing surf...
HRESULT GetSize([out, retval] IPixelSize **sz)
The area inside the rectangle (0,0) to (Size.Width,Size.Height) will be drawn.
IWVSDisplaySettings WVSDisplaySettings
The display settings for single file WVS.
VARIANT_BOOL ShowPreviousCells
Draw the S-57 cells using the previous updates. Off by default.
HRESULT SetManager([in] IS57Manager *pMgr)
Connect to a SENC. All the S-57 data to be drawn on the device context will be obtained from pMgr.
HRESULT SetDisplayScale([in] LONG nDisplayScale, [in] IPixelPoint *ipPixelPt)
Set the nominal scale of the chart. Suitable for display to the user, but not for precise calculation...
HRESULT SetDrawLayerCallback([in] enum S57CallBackDrawAction callBackDrawAction, [in] IS57ProductAndUsage *iproductAndUsage, [in] BYTE Layer)
Insert a callback into the drawing sequence.
HRESULT HighlightFeature([in] IS57FeatureIdentifier *featureId, [in] VARIANT_BOOL bClear)
Highlight the feature (true to clear existing highlights, false to add the feature to the ones alread...
IVPFDisplaySettings VPFDisplaySettings
The VPF display settings to control drawing.
HRESULT FeaturesAtPoint([in] IPixelPoint *pixelPt, [out, retval] IS57DrawnFeatures **pVal)
How a feature is (or would be) drawn. Obtained when hit-testing a S57Draw object.
Definition: encxcom.idl:2627
IS57FeatureIdentifier FeatureID
The identity of the feature.
LONG DisplayPriorityPoint
The Z order of the object for points. 0 (lowest) to 9 (highest) within the feature's ProductIntendedU...
IS57DrawnFeatures Slaves
Child objects (if any) and how they are drawn.
VARIANT_BOOL Visible
Whether the object is actually drawn. Some objects exist but are not symbolised (e....
LONG DisplayPriorityArea
The Z order of the object for areas. 0 (lowest) to 9 (highest) within the feature's ProductIntendedUs...
LONG DisplayPriorityLine
The Z order of the object for lines. 0 (lowest) to 9 (highest) within the feature's ProductIntendedUs...
A collection of features returned by hit-testing an S57Draw object.
Definition: encxcom.idl:2655
IS57DrawnFeature Item([in] VARIANT vtIndex)
A geographical area - a closed region on the surface of the earth.
Definition: encxcom.idl:2145
IGeoPoints Points
A snapshot of the Geographic Points that make up the face.
A collection of S-57 faces.
Definition: encxcom.idl:2162
IS57Face Item([in] VARIANT vtIndex)
IUnknown _NewEnum
Information about a feature of 'Area' geometry.
Definition: encxcom.idl:2546
IS57Faces Faces
The geometry of the feature.
IS57FeatureInfo FeatureInfo
The basic information as for any type of feature.
Properties and methods for ENCX::S57FeatureIdentifier.
Definition: encxcom.idl:2455
SHORT FIDS
The combination of FIDN and FIDS (usually) uniquely identifies an S-57 feature within a particular S-...
IS57CellIdentifier CellIdentifier
The same feature can occur in multiple cells (e.g. if a line or area straddles a cell boundary).
LONG Index
In some cells, the same identifier is used for multiple features. Index can be used to differentiate ...
HRESULT ConstructEx([in] SHORT Agency, [in] LONG FIDN, [in] SHORT FIDS, [in] IS57CellIdentifier *piCellID, [in] LONG index)
Compose from parts including index.
LONG FIDN
The combination of FIDN and FIDS (usually) uniquely identifies an S-57 feature within a particular S-...
HRESULT ToString([out, retval] BSTR *pVal)
Obtain a string representation of the identifier.
SHORT Agency
Per provider identifier of a particular feature in a particular cell. 1:1 correspondence with the Age...
HRESULT ToStringEx([out, retval] BSTR *pVal)
Obtain a string representation of the identifier.
HRESULT FromString([in] BSTR val)
Construct from string.
HRESULT Construct([in] SHORT Agency, [in] LONG FIDN, [in] SHORT FIDS, [in] IS57CellIdentifier *piCellID)
Compose from parts.
A collection of S-57 feature identifiers.
Definition: encxcom.idl:2499
HRESULT Remove([in] LONG nIndex)
HRESULT Add([in] IS57FeatureIdentifier *featureId)
IS57FeatureIdentifier Item([in] VARIANT vtIndex)
Generic information. Can be used with any feature.
Definition: encxcom.idl:2524
IS57AttributeValues Attributes
Obtain the collection of attributes (and their values) for this feature.
IS57FeatureIdentifier FeatureID
Globally unique identification of the feature.
IS57ObjectClass ObjectClass
Classification of features. E.g. DEPARE.
IS57FeatureIdentifiers Slaves
Obtain the collection of subsidiary features for this feature.
Information about a feature of 'Line' geometry.
Definition: encxcom.idl:2564
IS57FeatureInfo FeatureInfo
The basic information as for any type of feature.
IGeoPoints Points
The geometry of the feature.
Information about a feature of 'Point' geometry.
Definition: encxcom.idl:2585
IS57FeatureInfo FeatureInfo
The basic information as for any type of feature.
IGeoPoint Point
The geometry of the feature.
Properties and methods for ENCX::S57FeatureQuery.
Definition: encxcom.idl:3442
HRESULT SetAreaFilter([in] IGeoRect *rect)
Constrain to a geographical area. Default is the whole world.
IS57FeatureIdentifiers Results
Obtain the collection of features that satisfy the constraints.
HRESULT SetObjectFilter([in] IS57ObjectClassCollection *ObjectClassCollection, [in] VARIANT_BOOL bInclude)
Constrain to specific types of object.
HRESULT Construct([in] IS57Manager *manager, [in] IS57CellIdentifier *cellid)
Specify the SENC the S-57 cell to be queried.
HRESULT SetFeatureFilter([in] IS57FeatureIdentifiers *featureIds, [in] VARIANT_BOOL bInclude)
Constrain to specific features.
Information about a collection of soundings.
Definition: encxcom.idl:2604
IS57DepthPoints Depths
The geometry of the feature.
IS57FeatureInfo FeatureInfo
The basic information as for any type of feature.
Properties and methods for ENCX::S57Manager.
Definition: encxcom.idl:3363
HRESULT FeatureInfo([in] IS57FeatureIdentifier *pifid, [out, retval] IS57FeatureInfo **pVal)
Obtain the general details for a specified S-57 feature.
HRESULT RunInstallApplication([in] BSTR pathToApplication)
Invoke the CherSoft Windows application that installs and updates ENC cells in the SENC.
HRESULT IsValidSencFolder([in] BSTR sPath, [out, retval] VARIANT_BOOL *bRes)
Is the path pointing to a valid SENC. A SENC is the folder structure in which ENC chart data is insta...
HRESULT Cells([in] IS57ProductAndUsages *ProductAndUsages, [in] IGeoRect *cr, [out, retval] IS57CellIdentifiers **pVal)
Obtain the collection of all the cells in this SENC.
IS57ProductAndUsages InstalledProducts
Obtain the collection of S-57 products currently present in this SENC.
HRESULT FeatureInfoSounding([in] IS57FeatureIdentifier *pifid, [out, retval] IS57FeatureSounding **pVal)
Obtain the general details and spatial details (one or more point geographical positions) for a speci...
HRESULT OpenSenc([in] ILibrary *EncXLibrary, [in] BSTR sSencFolder)
Associate this manager with a specified folder.
HRESULT UserPermit([out, retval] BSTR *pUserPermit)
The ENC user permit needed to buy commercial ENC chart data.
HRESULT Geometry([in] IS57FeatureIdentifier *pifid, [out, retval] enum S57FeatureGeometry *pVal)
Obtain the geometry of a specified S-57 feature.
HRESULT CellInfo([in] IS57CellIdentifier *piCellID, [out, retval] IS57CellInfo **pVal)
Obtain the details for a specified S-57 cell.
IS57CellIdentifiers UnusedCells
Obtain a collection of the cells in the Senc that cannot be used. These cells need to be re-installed...
HRESULT FeatureInfoLine([in] IS57FeatureIdentifier *pifid, [out, retval] IS57FeatureLine **pVal)
Obtain the general details and spatial details (a chain of geographical positions) for a specified S-...
HRESULT FeatureInfoArea([in] IS57FeatureIdentifier *pifid, [out, retval] IS57FeatureArea **pVal)
Obtain the general details and spatial details (one or more rings of geographical positions) for a sp...
HRESULT CreateSencFolder([in] BSTR sPath)
Create a SENC. A SENC is the folder structure in which ENC chart data is installed.
HRESULT OpenSencAndWVS([in] ILibrary *EncXLibrary, [in] BSTR sSencFolder, [in] BSTR sWVSFileOrFolder)
Open ENC SENC and World Vector Shoreline .cvcf file or WVS SENC folder.
HRESULT ObjectClass([in] IS57FeatureIdentifier *fid, [out, retval] IS57ObjectClass **pVal)
Obtain the type (ObjectClass in S-57 language) of a specified S-57 feature.
HRESULT FeatureInfoPoint([in] IS57FeatureIdentifier *pifid, [out, retval] IS57FeaturePoint **pVal)
Obtain the general details and spatial details (a single geographical position) for a specified S-57 ...
HRESULT CloseSenc(void)
Dissociate from the current folder.
HRESULT OpenSenc2([in] ILibrary *EncXLibrary, [in] IS57ManagerInitialisationData *p)
Associate this manager with a specified folder.
Properties and methods for ENCX::S57ManagerInitialisationData.
Definition: encxcom.idl:3320
BSTR SencPath
Associate the manager with a specified folder.
BSTR PresentationLibraryFileName
The file name and extension for the presentation library file.
VARIANT_BOOL ReadOnly
Read only SENCs will not be watched for changes and will be fully initialized to draw charts as soon ...
BSTR WVSPath
Associate the manager with a World Vector Shoreline .cvcf file or SENC folder.
IS57ColourValues ColourValues
Colour values that will override the default values.
A collection of S-57 Object Classes.
Definition: encxcom.idl:2431
IS57ObjectClass Item([in] VARIANT vtIndex)
HRESULT Add([in] IS57ObjectClass *objectClass)
HRESULT Remove([in] LONG nIndex)
Properties and methods for ENCX::S57ObjectClass.
Definition: encxcom.idl:2403
HRESULT IsInProduct([in] enum S57Product product, [out, retval] VARIANT_BOOL *result)
Whether this ObjectClass is used by the specified product.
S57Product Product
Deprecated. Use IsInProduct instead.
BSTR Acronym
The six letter alphanumeric abbreviation for this ObjectClass.
HRESULT Construct([in] BSTR acronym)
Initialisation.
BSTR Description
The name of the ObjectClass.
Properties and methods for ENCX::S57ProductAndUsage.
Definition: encxcom.idl:1975
S57Product Product
ENC, IENC or WVS.
BYTE IntendedUsage
For ENC and IENC, a navigational purpose. For WVS, 1.
A collection of S-57 product / intended usage pairs.
Definition: encxcom.idl:2023
HRESULT Remove([in] LONG nIndex)
HRESULT RestoreDefault()
HRESULT Add([in] IS57ProductAndUsage *ProductAndUsage)
IS57ProductAndUsage Item([in] VARIANT vtIndex)
Properties and methods for ENCX::VPFCatalogueObserver.
Definition: encxcom.idl:3681
HRESULT Register([in] IVPFManager *vpfMgr)
Register to be notified of chart folder changes. Call OpenVenc first.
HRESULT Unregister(void)
Ask to not be notified of chart folder changes.
Properties and methods for ENCX::VPFDisplaySettings.
Definition: encxcom.idl:3590
DOUBLE CompilationScaleZoomFactor
The factor which determines when a cell of a particular compilation scale is drawn.
DOUBLE ShallowContourMetres
Separates depth colours when TwoColourShadingForDepthZones is false.
IVPFFeatureSet FeatureSet
The types of features to draw.
VARIANT_BOOL ShallowPattern
ShallowPattern draw diamond shallow patterns in areas where the depth is less than or equal to Shallo...
DOUBLE SafetyContourMetres
The contour at this depth, or the next shallower depth, is emboldened.
DOUBLE DeepContourMetres
Separates depth colours when TwoColourShadingForDepthZones is false.
VARIANT_BOOL TwoColourShadingForDepthZones
When true, two colours are used for non-drying depths; otherwise 4 colours are used.
HRESULT Copy([out, retval] IVPFDisplaySettings **pVal)
Get an identical copy of this object. Like the Clone() method but type safe.
VARIANT_BOOL SimplifiedSymbols
When true, alternative symbols designed to be distinguishable at low resolutions will be used; otherw...
Properties and methods for ENCX::VPFFeatureSet.
Definition: encxcom.idl:3494
HRESULT Add([in] enum VPFFeatureType t)
HRESULT Remove([in] enum VPFFeatureType t)
HRESULT Contains([in] enum VPFFeatureType t, [out, retval] VARIANT_BOOL *pVal)
Properties and methods for ENCX::IVPFIteratorGuide_CoverageUse.
Definition: encxcom.idl:3513
Properties and methods for ENCX::VPFIteratorGuide_DatabaseUse.
Definition: encxcom.idl:3552
IVPFIteratorGuide_LibraryUse Item([in] VARIANT vtIndex)
Properties and methods for ENCX::IVPFIteratorGuide_LibraryUse.
Definition: encxcom.idl:3531
IVPFIteratorGuide_CoverageUse Item([in] VARIANT vtIndex)
IGeoRect Extent
The geographical bounding rectangle defined by two parallels and two meridians that encloses the libr...
Properties and methods for ENCX::VPFIteratorGuide.
Definition: encxcom.idl:3571
IVPFIteratorGuide_DatabaseUse Item([in] VARIANT vtIndex)
Properties and methods for ENCX::VPFManager.
Definition: encxcom.idl:3654
HRESULT OpenVenc([in] ILibrary *EncXLibrary, [in] BSTR chartFolder)
Associate this manager with a specified chart folder.
IVPFIteratorGuide IteratorGuide
The collection of Library/Database/Coverage in the chart folder.
HRESULT CloseVenc(void)
Dissociate from the current folder.
HRESULT RunInstallApplication([in] BSTR pathToApplication)
Invoke the CherSoft Windows application to install/update files in the VPF chart folder.
Properties and methods for ENCX::WVSDisplaySettings. These settings only affect single-file WVS drawi...
Definition: encxcom.idl:3157
FLOAT LandOutlineWidth
Width of the land outline.
DWORD LandOutlineColour
Colour of the land outline.
DWORD AntarcticaOutlineColour
Colour of Antarctica outline.
HRESULT Copy([out, retval] IWVSDisplaySettings **pVal)
Get an identical copy of this object. Like the Clone() method but type safe.
DWORD BorderColour
Colour of the political borders.
DWORD LandColour
Fill colour of the land.
FLOAT BorderWidth
Width of the political borders.
DWORD AntarcticaColour
Fill colour of Antarctica.
DWORD LakeColour
Colour of the lakes.
FLOAT RiverWidth
Width of the rivers.
VARIANT_BOOL Show
Show or hide WVS.
DWORD RiverColour
Colour of the rivers.
FLOAT LakeOutlineWidth
Width of the lake outline.
DWORD LakeOutlineColour
Colour of the lake outline.
An SDK for the display and use of marine navigational information supporting S-57/ENC and ARCS.
Definition: encxcom.idl:3947