ANGLETOOL__DEFINE Name
ANGLETOOL Purpose
The purpose of this routine is to create a selectable object for measuring angles
in a graphics window. This tool is used in an interaction. See the medical
image tab in the Catalyst example application for an example of its use.
Authors
FANNING SOFTWARE CONSULTING BURRIDGE COMPUTING
1645 Sheely Drive 18 The Green South
Fort Collins Warborough, Oxon
CO 80526 USA OX10 7DN, ENGLAND
Phone: 970-221-0438 Phone: +44 (0)1865 858279
E-mail: davidf@dfanning.com E-mail: davidb@burridgecomputing.co.uk
Category
Objects. Syntax
newObject = Obj_New("ANGLETOOL", ...)
drawObject -> Add, newObject
Superclasses
SELECTABLEOBJECT
CATDATAATOM
CATATOM
CATCONTAINER IDLITCOMPONENT
IDL_CONTAINER Class Structure
class = { ANGLETOOL, $
angle: 0.0, $ ; The current angle of the tool.
arrowhead_size: 0L, $ ; The size of the arrowheads used with the tool.
clockwise: 0L, $ ; If set, positive angle is in clockwise direction.
insertedObject: Obj_New(), $ ; A reference to the new object created in the CreateNewObject method. (Ignored in CLEANUP.)
layerObject: Obj_New(), $ ; An optional CATLAYER object for holding the inserted selectable object.
linestyle: 0L, $ ; The linestyle of the selectable object.
modemap: Obj_New(), $ ; A pixmap for calculating "mode", or which vertex to move.
moveVertex: 0L, $ ; The vertex index of the vertex we are moving.
npoints: 0L, $ ; The number of points currently in the triangle.
pointsPixID: Obj_New(), $ ; A pixmap for storing polygon points.
radians: 0L, $ ; If set, angle is in radians, not degrees.
statusbar: Obj_New(), $ ; If valid, motion events are reported to this object.
textcolor: "", $ ; The name of the color for the textual annotation.
text:Obj_New(), $ ; A TEXTLINE object for displaying AngleTool annotation.
thickness: 0.0, $ ; The thickness of the line drawing the selectable object.
sx: 0L, $ ; The static X location.
sy: 0L, $ ; The static Y location.
xpts: Ptr_New(), $ ; The three X points of the triangle.
ypts: Ptr_New(), $ ; The three Y points of the triangle.
INHERITS SELECTABLEOBJECT $
}
Messages
ANGLETOOL_CHANGED: This message is sent whenever SetProperty method is called and the NOMESSAGE keyword
is NOT set.
Event Structure
This object will add the following fields to the event structure created by an interaction.
The fields are defined as:
ANGLE: The current angle of the Angle Tool.
CLOCKWISE: A flag that if positive indicates the positive angle direction is in the clockwise direction.
RADIANS: A flag that if positive indicates the angle is specified in radians rather than degress.
Modification History
Written by: David W. Fanning, July 13, 2005.