ENCX SDK  5.5.0.370
Public Member Functions | Properties | List of all members
IGeoPix Interface Reference

A GeoPix represents a portion of chart visible on the screen. More...

import"encxcom.idl";

Inheritance diagram for IGeoPix:
Inheritance graph
[legend]

Public Member Functions

HRESULT GeoPointFromPixelPoint ([in] IPixelPoint *pixelPt, [out, retval] IGeoPoint **geoPt)
 Obtain a geographical position from a pixel point. More...
 
HRESULT ExtentFromRect ([in] IPixelRect *rect, [out, retval] IGeoRect **pVal)
 The geographical bounding rectangle for rectangle defined in pixel coordinates clipped to the viewport. More...
 
HRESULT Point ([in] IGeoPoint *geoPt, [out, retval] IPixelPoint **pixelPt)
 Geographic to Pixel point conversion. More...
 
HRESULT PointEx ([in] IGeoPoint *geoPt, [in] DOUBLE brgGeo, [out] DOUBLE *brgPixel, [out] DOUBLE *distOnePixel, [out, retval] IPixelPoint **pixelPt)
 Geographic to Pixel point conversion. More...
 
HRESULT Line ([in] IGeoLine *geoLine, [out, retval] IPolyLines **lines)
 Geographic to Pixel line conversion. More...
 
HRESULT Area ([in] IGeoArea *geoArea, [out, retval] IPolyAreas **areas)
 Geographic to Pixel area conversion. More...
 
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 this IGeoPix represents. More...
 
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 that this GeoPix represents. More...
 

Properties

IGeoRect Extent [get]
 The geographical bounding rectangle for the viewport of this IGeoPix. More...
 
LONG DisplayScale [get]
 The scale to show to the user. Based on a nominal pixel pitch for the type of view (typically 200 microns). More...
 
DOUBLE DirectionOfUp [get]
 Degrees. Like a compass bearing. Range 0 >= x < 360. More...
 
VARIANT_BOOL UseSmallSymbology [get]
 Draw symbols smaller (for Overviews). More...
 
VARIANT_BOOL PointInView [get]
 Returns true iff the last IGeoPix::Point or IGeoPix::PointEx conversion was inside the view. More...
 

Detailed Description

A GeoPix represents a portion of chart visible on the screen.

Within this viewport the positions of points, lines and areas can be converted into pixel coordinates. Lines and areas are clipped to the viewport.

Vector charts are all referenced to WGS84.

Raster charts may not have accurate WGS84 transformation polynomials in which case IRasPanelInfo::ManualWGS84ShiftCanBeModified will return true.

All lat-lon values are WGS84 except as noted explicitly below.

Definition at line 750 of file encxcom.idl.

Member Function Documentation

◆ Area()

HRESULT IGeoPix::Area ( [in] IGeoArea geoArea,
[out, retval] IPolyAreas **  areas 
)

Geographic to Pixel area conversion.

An area in geographic space may be converted into an IPolyAreas in pixel space (an IPolyAreas is a collection of loops of vertices).

Each loop should be filled; the edges of the fill should be defined by joining its vertices (including joining the last to the first) with straight lines in pixel space.

◆ ClipRegionDevicePoints()

HRESULT IGeoPix::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 this IGeoPix represents.

The input rectangle is in logical coordinates.

The returned region is in the device coordinates of the supplied device context and is therefore suitable for selecting into that device context to clip drawing to the geographical limits of the chart.

Call DeleteObject on the region returned.

◆ ClipRegionLogicalPoints()

HRESULT IGeoPix::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 that this GeoPix represents.

The input rectangle is in logical coordinates.

The returned region is in the logical coordinates of the supplied device context and is therefore suitable for selecting into the corresponding Gdiplus::Graphics to clip drawing to the geographical limits of the chart.

Call DeleteObject on the region returned.

◆ ExtentFromRect()

HRESULT IGeoPix::ExtentFromRect ( [in] IPixelRect rect,
[out, retval] IGeoRect **  pVal 
)
bound

The geographical bounding rectangle for rectangle defined in pixel coordinates clipped to the viewport.

◆ GeoPointFromPixelPoint()

HRESULT IGeoPix::GeoPointFromPixelPoint ( [in] IPixelPoint pixelPt,
[out, retval] IGeoPoint **  geoPt 
)

Obtain a geographical position from a pixel point.

Transforms a pixel coordinate into a WGS84 position. This will work for all pixel coordinates but becomes increasingly inaccurate beyond the boundaries of the viewport.

Returns true iff ptPixel is inside the view.

Note that the conversion is always performed, even if the return value is false.

This is the only IGeoPix method that converts from pixel to geographic coordinates.

◆ Line()

HRESULT IGeoPix::Line ( [in] IGeoLine geoLine,
[out, retval] IPolyLines **  lines 
)

Geographic to Pixel line conversion.

A single line in geographic space may be converted into an IPolyLines in pixel space (an IPolyLines is a collection of chains of vertices).

Each chain should be drawn by joining its vertices with straight lines in pixel space.

◆ Point()

HRESULT IGeoPix::Point ( [in] IGeoPoint geoPt,
[out, retval] IPixelPoint **  pixelPt 
)

Geographic to Pixel point conversion.

Faster than the IGeoPix::PointEx method (that also returns bearing and scale).

Call IGeoPix::PointInView to determine whether the IGeoPoint is in the panel.

Note that the conversion is always performed, even if the return value is false.

◆ PointEx()

HRESULT IGeoPix::PointEx ( [in] IGeoPoint geoPt,
[in] DOUBLE  brgGeo,
[out] DOUBLE *  brgPixel,
[out] DOUBLE *  distOnePixel,
[out, retval] IPixelPoint **  pixelPt 
)

Geographic to Pixel point conversion.

Convert a geographic position and bearing into a floating point pixel position and direction. Also calculates the exact scale at the point and the pixel bearing (as defined for DirectionOfUp()) for the specified geographic bearing.

Call IGeoPix::PointInView to determine whether the IGeoPoint is in the panel.

Note that the conversion is always performed, even if the return value is false.

Property Documentation

◆ DirectionOfUp

DOUBLE IGeoPix::DirectionOfUp
get

Degrees. Like a compass bearing. Range 0 >= x < 360.

This is the geographic direction of a line defined in pixels coordinates where X is constant and Y is decreasing. So a view with North to the right would have a DirectionOfUp == 270.0.

Vector charts can be rotated.

Raster charts can not be rotated but may have been created in an orientation other than North Up

◆ DisplayScale

LONG IGeoPix::DisplayScale
get

The scale to show to the user. Based on a nominal pixel pitch for the type of view (typically 200 microns).

This scale is not very accurate as the actual scale can vary over the surface of the display. Use Point(double & dPtX, double & dPtY, ...) to get an exact scale at a point.

◆ Extent

IGeoRect IGeoPix::Extent
getbound

The geographical bounding rectangle for the viewport of this IGeoPix.

◆ PointInView

VARIANT_BOOL IGeoPix::PointInView
get

Returns true iff the last IGeoPix::Point or IGeoPix::PointEx conversion was inside the view.

Only useful following a IGeoPix::Point or IGeoPix::PointEx.

◆ UseSmallSymbology

VARIANT_BOOL IGeoPix::UseSmallSymbology
get

Draw symbols smaller (for Overviews).

This is a hint to the application that the chart is being drawn significantly smaller than its scale would suggest. It is therefore