Annotation

DESCRIPTION

This module allows interactive creation and placement of text and line geometry suitable for annotating objects in the Render module window. Annotation geometry can be added, edited, moved and deleted. The module accepts input geometry, which enables the manipulation of previously created annotation elements.

INPUTS

Port: Selection
Type: Pick
Optional: This port is optional.
Pick data from Render. Used to identify a 3D location at which annotation is to be added, or an existing annotation element which is to be modified.

Port: Annotated Scene
Type: Geometry
Optional: This port is optional.
A set of annotation elements, previously created by the Annotation module. In fact, the module accepts any geometry on this port, but will ignore scenes that do not come from Annotation.

Each element (i.e. each piece of text or line, along with attributes such as color and location) in the scene that the module creates is given a label as it is created. When the module receives an annotated scene on this input port, it searches the scene it is currently building for each element in the input scene. If the element is already in the current scene, it replaces it with the new element from the input scene. Otherwise, it just adds the element to the current scene.

WIDGETS

Port: Command
Type: Option Menu
Menu Item: Add
Menu Item: Edit
Menu Item: Move
Menu Item: Delete
This controls the mode of the module for manipulating annotation elements in the scene.

In adding mode, a new element is created with the currently set attributes (see below) at the point where the mouse button is pressed in the Render window. When adding text (see Type widget below), the left mouse button is used; when adding a line, the left mouse button is used for one endpoint and the middle mouse button is used for the other.

In editing mode, the element is first selected by pressing the left mouse button in the Render window. The values of the element attributes such as color and font are updated to reflect the currently selected element. The attributes can then be edited via the module control panel.

In moving mode, the element is selected by pressing the mouse button in the Render window. Once again, the values of the element attributes are updated to reflect the currently selected element. The element can then be moved to a new location, determined as the point where the mouse button is released (a click, drag and release mechanism). When moving text, the left mouse button is used; when moving a line, the left mouse button is used for one endpoint and the middle mouse button is used for the other.

In deleting mode, the element is selected using the left mouse button and deleted from the scene.

Port: Type
Type: Radio Box
Menu Item: text
Menu Item: line
This controls the type of element (text or line) that is added to the scene. This widget is only visible when the module is in adding mode.

Port: Text
Type: Text
The string of characters which are to be displayed in the text element.

This widget is only visible when adding text, or when a text element has been selected.

Port: Font Name
Type: Text
Name of the font to be used for the display of the text. Fonts are specified with PostScript names. If the specified font cannot be found (more accurately, if the geometry cannot be rendered) a warning message will appear and a suitable default font will be used in its place. Examples of fonts are given in the Fonts pull-down menu.

This widget is only visible when adding text, or when a text element has been selected.

Port: Font Size
Type: Dial
Font size, in points.

This widget is only visible when adding text, or when a text element has been selected.

Port: Line Endpoints
Type: Option Menu
Menu Item: None
Menu Item: --->
Menu Item: <---
Menu Item: ---o
Menu Item: o---
Menu Item: ---[]
Menu Item: []---
This controls the way in which the endpoints of the line are displayed. Unless the value of this is None, a cone, ball or box will be added to one of the endpoints. In the sketches of lines on the menu, the end of the line on the left is the endpoint that has been created using the left mouse button, while the other end was created with the middle mouse button. The size of the endpoint object is calculated as a fraction of the length of the line.

This widget is only visible when adding a line, or when a line element has been selected.

Port: Color
Type: Text
Color string used to color the element. If this has no value, or if the value is unrecognised by cxParamColorFloatGet, the color is set to white. This widget is always present on the control panel.

OUTPUTS

Port: Annotation
Type: Geometry
Annotation elements. The scene, and the elements within it, are labelled by the module. These labels are used internally by the module (for example, when a previously saved scene is passed to Annotation for editing), and they do not affect the display of the elements.

KNOWN PROBLEMS

Picking on the background of the scene in the Render module can generate some locations that are slightly displaced from the pick position.

If the output geometry is passed into Render via the Annotation port, it should be recalled that this geometry is rendered without z-buffering. This can give strange-looking results for solid objects such as those that are added to the line endpoints.

SEE ALSO

DrawText, Render, cxParamColorFloatGet.
[Documentation Home]
© The Numerical Algorithms Group Ltd, Oxford UK. 2000