Overlay Plug Ins

<< Click to Display Table of Contents >>

Navigation:  Image Manager > CVB Technology > Non-destructive Overlays >

Overlay Plug Ins

 

Overlay Plug-In Objects

Properties, Events and Methods of the Display control regarding Overlay Objects (OPIs)

Available Overlay Plug-Ins

 

Overlay Plug-In Objects

 

Overlay plug-ins are ready-made overlays, internally the plug-ins themselves constitute user objects which draw a certain overlay object (e.g. a line or a circle).

An overlay object can possess more vertices externally than it has internally as a user object, an example of this is a crosshair which has two vertices externally (origin and width/height of the haircross) but internally passes just the origin as a vertex.

The Common Vision Blox Display control is independent of these plug-ins which have been implemented as COM libraries (DLLs), this allows new overlay plug-ins to be generated without the Display control needing to be recompiled, and therefore applications also do not need to be recompiled.

At runtime the Display control checks which plug-ins have been installed on the system and makes them available to users.

 

The overlay plug-ins are available in Visual Basic unlike user overlays because the plug-ins provide the callback function of the user object.

 

A plug-in is defined by a list of points (vertices) in the same way as User Objects, a line has 2 vertices and a point has 1.

There is however one major difference between a User Object and an Overlay Object as far as vertices are concerned, if the appropriate flag is set, each point of a User Object can be dragged interactively.

However there are some graphical objects consisting of multiple vertices in which the vertices are not allowed to be dragged independently, one example is the crosshair.

The crosshair is defined by 2 vertices, center and width/height, but only the center may be dragged.

Only the interactive points are specified in terms of image coordinates, for example with the crosshair the center is specified in image coordinates and the width/height in window coordinates.

If the image is zoomed, the size of the crosshair does not change because the width and height are in window coordinates.

For this reason overlay objects with some vertices specified as window coordinates (Vertices - VerticesUsed >= 0) are also referred to as "fixed overlay objects".

 

The Display Control provides functions to generate and delete the various overlays, it also incorporates functions to detect which plug-ins are available.

 

The figure below shows the relationship between the application program, the Display Control and the overlay plug-ins:

 

DisplayOCX5

 

The Display Control has properties enabling the user to get information about the plug-ins available (Available Overlay Objects, AOO).

An overlay object can be created by using the AddOverlayObject method, the first parameter passed to this method is the name (not the file name) of the desired plug-in.

The plug-in handles all the drawing of the overlay and therefore not only are they available in Visual Basic but they behavior in the same way as UserObjects and Labels.

 

Please see Object ID's below for further information on assigning overlay plug-in ID's.

 

Properties, Events and Methods of the Display control regarding Overlay Objects (OPIs)

 

The example VC Overlay PlugIn Example shows the use of most available plug-ins.

The VC Bitmap Overlay Example shows a special use of the Bitmap OPI.

 

Properties

AOOCount

AOONumVertices

AOOIndex

AOONumVerticesUsed

AOOName

AOOType

 

Methods

AddOverlayObject or AddOverlayObjectNET

GetOverlayObjectPosition

HasOverlayObject

HighLightOverlayObject

IsOverlayObjectAvailable

MoveOverlayObject

RemoveAllOverlayObjects

RemoveOverlayObject

RemoveAllOverlays

 

Events

OverlayObjectClick

OverlayObjectDraged

OverlayObjectDrag

 

 

 

Available Overlay Plug-Ins

 

Area

 

Arc

 

Bitmap and FixedBitmap

 

Circle and FixedCircle

 

Crosshair

 

CVCImg

 

Line and Polyline

 

MultipleRotatedRect

 

NamedCompass

 

PixelList

 

Rectangle

 

RotatedCrosshair

 

RotatedRect

 

SmartRectangle

 

StaticTextOut

 

Target

 

TextOut