Leadtools.Annotations.Core Namespace : AnnCrossProductObject Class |
public class AnnCrossProductObject : AnnPolyRulerObject, IAnnObjectCloneable
Public Class AnnCrossProductObject Inherits AnnPolyRulerObject Implements IAnnObjectCloneable
public sealed class AnnCrossProductObject : IAnnObjectCloneable
@interface LTAnnCrossProductObject : LTAnnPolyRulerObject<NSCoding,NSCopying>
public class AnnCrossProductObject extends AnnPolyRulerObject
function Leadtools.Annotations.Core.AnnCrossProductObject()
The cross-product annotation object consists of two rulers intersecting at right angles. The intersection point of a cross-product object updates dynamically and can be obtained through the IntersectionPoint property.
With the automated functions, the cross-product is started on a drag started event and completed on a drag completed event.
Programmatically, the points that define this cross-product are contained in the FirstStartPoint, FirstEndPoint, SecondStartPoint, SecondEndPoint and IntersectionPoint properties.
Programmatically, the boundaries and location of the cross-product object can be controlled using the following properties:
Each object can be transformed with the following methods:
The AnnCrossProductObject 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 cross-product object can be controlled using AnnObject.Labels property, inherited from the AnnObject class.
Since the cross-product object consists of two 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:
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.
The following properties can also be used to programmatically set characteristics of an AnnCrossProductObject:
using Leadtools.Annotations.Automation; using Leadtools.Annotations.Core; using Leadtools.Codecs; using Leadtools.WinForms; public void AnnCore_AnnCrossProductObject() { // assumes _automation is valid double inch = 720.0; // Add a red crossproduct object, from 1in 1in to 2in 2in AnnCrossProductObject crossProductObj = new AnnCrossProductObject(); // Set the points for the first ruler crossProductObj.FirstStartPoint = LeadPointD.Create(1 * inch, 1 * inch); crossProductObj.FirstEndPoint = LeadPointD.Create(2 * inch, 2 * inch); // Set the points for the second ruler crossProductObj.SecondStartPoint = LeadPointD.Create(2 * inch, 1 * inch); crossProductObj.SecondEndPoint = LeadPointD.Create(1 * inch, 2 * inch); // Calculate the intersection point crossProductObj.UpdateIntersectionPoint(); // Set the stroke crossProductObj.Stroke = AnnStroke.Create(AnnSolidColorBrush.Create("Red"), LeadLengthD.Create(1)); // Add the object to the automation container _automation.Container.Children.Add(crossProductObj); // Select the object _automation.SelectObject(crossProductObj); }
using Leadtools.Converters; using Leadtools.Annotations.Automation; using Leadtools.Controls; using Leadtools.Annotations.Core; using Leadtools.Codecs; [TestMethod] public void AnnCore_AnnCrossProductObject() { // assumes _automation is valid double inch = 720.0; // Add a red crossproduct object, from 1in 1in to 2in 2in AnnCrossProductObject crossProductObj = new AnnCrossProductObject(); // Set the points for the first ruler crossProductObj.FirstStartPoint = LeadPointDHelper.Create(1 * inch, 1 * inch); crossProductObj.FirstEndPoint = LeadPointDHelper.Create(2 * inch, 2 * inch); // Set the points for the second ruler crossProductObj.SecondStartPoint = LeadPointDHelper.Create(2 * inch, 1 * inch); crossProductObj.SecondEndPoint = LeadPointDHelper.Create(1 * inch, 2 * inch); // Calculate the intersection point crossProductObj.UpdateIntersectionPoint(); // Set the stroke crossProductObj.Stroke = AnnStroke.Create(AnnSolidColorBrush.Create("Red"), LeadLengthDHelper.Create(1)); // Add the object to the automation container _automation.Container.Children.Add(crossProductObj); // Select the object _automation.SelectObject(crossProductObj); }