Leadtools.Annotations.Core Namespace : AnnPolyRulerObject Class |
public class AnnPolyRulerObject : AnnPolylineObject, IAnnObjectCloneable
Public Class AnnPolyRulerObject Inherits AnnPolylineObject Implements IAnnObjectCloneable
public sealed class AnnPolyRulerObject : IAnnObjectCloneable
@interface LTAnnPolyRulerObject : LTAnnPolylineObject<NSCoding,NSCopying>
public class AnnPolyRulerObject extends AnnPolylineObject
function Leadtools.Annotations.Core.AnnPolyRulerObject()
An AnnPolyrulerObject annotation object is an array of points that creates a sequence of joined rulers. 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 distance is displayed.
With the automated functions, on systems with mouse support, each line segment is formed with a mouse click, and the object is completed on a double-click.
With the automated functions, on systems with touch support, the first line segment starts with the first tap and hold. Each successive tap and hold for 1.5 seconds results in a new line segment. The object is completed by the user removing the finger from the device.
Programmatically, the boundaries and location of the polyruler object can be controlled using the following properties:
Each object can be transformed with the following methods:
The AnnPolyRulerObject class inherits a number of properties from the AnnObject class, providing support for font, stroke and fill characteristics. These properties are listed below:
The name of the polyruler object can be controlled using Labels property, inherited from the AnnObject class.
An object can be part of a group annotation object or part of a container object. It cannot be part of both a group and a container at the same time.
Since the polyruler object consists of a sequence of rulers, it has certain ruler characteristics pertaining to the length, tick marks and gauge. The following properties may be used to customize these ruler characteristics and determine what exactly is displayed when the cross-product object is drawn:
The following properties can also be used to programmatically set characteristics of an AnnPolyRulerObject:
using Leadtools.Annotations.Automation; using Leadtools.Annotations.Core; using Leadtools.Codecs; using Leadtools.WinForms; public void AnnCore_AnnPolyRulerObject() { // assumes _automation is valid double inch = 720.0; // Add a freehand hotspot object AnnPolyRulerObject polyRulerObj = new AnnPolyRulerObject(); // Set the points for the freehand hotspot polyRulerObj.Points.Add(LeadPointD.Create(1 * inch, 1 * inch)); polyRulerObj.Points.Add(LeadPointD.Create(2 * inch, 2 * inch)); polyRulerObj.Points.Add(LeadPointD.Create(1 * inch, 5 * inch)); // Set the stroke polyRulerObj.Stroke = AnnStroke.Create(AnnSolidColorBrush.Create("Red"), LeadLengthD.Create(2)); // Add the object to the automation container _automation.Container.Children.Add(polyRulerObj); // Select the object _automation.SelectObject(polyRulerObj); }
using Leadtools.Converters; using Leadtools.Annotations.Automation; using Leadtools.Controls; using Leadtools.Annotations.Core; using Leadtools.Codecs; [TestMethod] public void AnnCore_AnnPolyRulerObject() { // assumes _automation is valid double inch = 720.0; // Add a freehand hotspot object AnnPolyRulerObject polyRulerObj = new AnnPolyRulerObject(); // Set the points for the freehand hotspot polyRulerObj.Points.Add(LeadPointDHelper.Create(1 * inch, 1 * inch)); polyRulerObj.Points.Add(LeadPointDHelper.Create(2 * inch, 2 * inch)); polyRulerObj.Points.Add(LeadPointDHelper.Create(1 * inch, 5 * inch)); // Set the stroke polyRulerObj.Stroke = AnnStroke.Create(AnnSolidColorBrush.Create("Red"), LeadLengthDHelper.Create(2)); // Add the object to the automation container _automation.Container.Children.Add(polyRulerObj); // Select the object _automation.SelectObject(polyRulerObj); }