The Polyruler annotation object (ANNOBJECT_POLYRULER) is an array of points that create a sequence of joined rulers. In design mode, each line segment is formed with a mouse click, and the object is completed on a double click.
The class for Polyruler Annotation objects is LAnnPolyRuler.
The Polyruler can be used to measure the distance of an irregularly shaped object. As ruler segments are added, removed, or changed in length, a running total of the total distance is displayed.
You can change the points using the LAnnPolyRuler::GetPointCount and the LAnnPolyRuler::SetPoints functions.
For information on flipping, reversing or rotating annotation objects, refer to Flipping, Reversing and Rotating Annotation Objects.
With low-level functions, you must provide the points that define the shape of the object. Other applicable properties have the following defaults, which you can change:
Visible |
Defaults to FALSE. It can be changed using the LAnnotation::SetVisible function. |
Selected |
Defaults to FALSE. It can be changed using the LAnnotation::SetSelected function. |
Name |
Defaults to an empty string. It can be changed using the LAnnotation::SetNameOptions function. |
Line width |
Defaults to 0.75 points. It can be changed using the LAnnXXX::SetLineWidth function. (Note that when displayed, the line must have a minimum width of 1 pixel.) |
Line style |
Defaults to solid. It can be changed using the LAnnXXX::SetLineStyle function. |
ROP2 code |
Defaults to ANNROP2_COPY. It can be changed using the LAnnotation::SetROP2 function. |
Fill mode |
Defaults to transparent. It can be changed using the LAnnotation::SetFillMode function. |
Foreground color |
Defaults to red. It can be changed using the LAnnotation::SetForeColor function. |
Background color |
Defaults to white. It can be changed using the LAnnotation::SetBackColor function. The default does not affect highlight, redaction, or note objects. |
Font size |
Defaults to 10 point, translated with a scaling factor of 1. It can be changed using the LAnnotation::SetFontSize function. |
Font underline |
Defaults to FALSE. It can be changed using the LAnnotation::SetFontUnderline function. |
Font strikethrough |
Defaults to FALSE. It can be changed using the LAnnotation::SetFontStrikethrough function. |
Font italic |
Defaults to FALSE. It can be changed using the LAnnotation::SetFontItalic function. |
Font bold |
Defaults to FALSE. It can be changed using the LAnnotation::SetFontBold function. |
Font name |
Defaults to "Arial". It can be changed using the LAnnotation::SetFontName function. |
Ruler show flags |
Defaults to Show Length and Show Tic Marks. These options can be changed using the LAnnRuler::SetShowFlags function and the LAnnPolyRuler::SetTicMarkLength function. |
Gauge length |
Defaults to 30. It can be changed using the LAnnRuler::SetGaugeLength function. |
Unit |
Defaults to ANNUNIT_SMART_ENGLISH. It can be changed using the LAnnRuler::SetUnit function. |
Unit abbreviation |
Varies depending on the length shown. It can be changed using the LAnnRuler::SetUnit function. |
Precision |
Defaults to 2. It can be changed using the LAnnRuler::SetUnit function. |
Tic Marks |
Defaults to Show Tic Marks. It can be changed using the LAnnRuler::SetShowFlags function. |
Tic Mark Length |
Defaults to 30. Can be changed using the LAnnPolyRuler::SetTicMarkLength function. |
Fixed State |
Defaults to not fixed. It can be changed using the LAnnXXX::SetFixed function. |
Hyperlink |
Defaults to ANNLINK_NONE. It can be changed using the LAnnotation::SetHyperlink function. |
Tag (identifier) |
Defaults to 0. It can be changed using the LAnnotation::SetTag function. |
Window handle |
Defaults to NULL or the handle inherited from the container. It can be changed for all objects using LAnnContainer::SetWnd. |
User mode |
Defaults to design mode or the mode inherited from the container. It can be changed for all objects using LAnnContainer::SetUserMode. |
Related topics:
Low-Level Coordinate System for Annotations.
Annotation Objects - Automated Features
Using Rulers in Annotation Objects
Raster .NET | C API | C++ Class Library | JavaScript HTML5
Document .NET | C API | C++ Class Library | JavaScript HTML5
Medical .NET | C API | C++ Class Library | JavaScript HTML5
Medical Web Viewer .NET