Returns the current physical transformation
Matrix of this
AnnObject.
Syntax
Visual Basic (Declaration) | |
---|
Public Overridable ReadOnly Property PhysicalTransform As Matrix |
Visual Basic (Usage) | Copy Code |
---|
Dim instance As AnnObject
Dim value As Matrix
value = instance.PhysicalTransform
|
C# | |
---|
public virtual Matrix PhysicalTransform {get;} |
C++/CLI | |
---|
public:
virtual property Matrix PhysicalTransform {
Matrix get();
} |
Return Value
The current physical transformation matrix of this
AnnObject.
Example
This example will perform various transformation on an annotation object then shows its transformation matrix.
Visual Basic | Copy Code |
---|
Private Sub AnnObject_PhysicalTransform(ByVal obj As AnnObject)
If TypeOf obj Is AnnLineObject Then
Dim line As AnnLineObject = CType(IIf(TypeOf obj Is AnnLineObject, obj, Nothing), AnnLineObject)
Dim pts As PointF() = {line.StartPoint.ConvertTo(line.Container.UnitConverter, AnnUnit.Pixel).ToPointF(), line.EndPoint.ConvertTo(line.Container.UnitConverter, AnnUnit.Pixel).ToPointF()}
Console.WriteLine("Logical coordinates: {0}, {1}", pts(0), pts(1))
Dim mat As Matrix = line.PhysicalTransform
Try
Dim transformer As AnnTransformer = New AnnTransformer(line.Container.UnitConverter, mat)
pts = transformer.PointToPhysical(pts)
Console.WriteLine("Physical coordinates: {0}, {1}", pts(0), pts(1))
Finally
CType(mat, IDisposable).Dispose()
End Try
Else
Console.WriteLine("Not an annotation line object!")
End If
End Sub |
C# | Copy Code |
---|
private void AnnObject_PhysicalTransform(AnnObject obj) { // this example only works with line objects if(obj is AnnLineObject) { AnnLineObject line = obj as AnnLineObject; // show the logical coordinates of this line PointF[] pts = { line.StartPoint.ConvertTo(line.Container.UnitConverter, AnnUnit.Pixel).ToPointF(), line.EndPoint.ConvertTo(line.Container.UnitConverter, AnnUnit.Pixel).ToPointF() }; Console.WriteLine("Logical coordinates: {0}, {1}", pts[0], pts[1]); // show the physical coordinates of this line using(Matrix mat = line.PhysicalTransform) { AnnTransformer transformer = new AnnTransformer(line.Container.UnitConverter, mat); pts = transformer.PointToPhysical(pts); Console.WriteLine("Physical coordinates: {0}, {1}", pts[0], pts[1]); } } else Console.WriteLine("Not an annotation line object!"); } |
Remarks
Requirements
Target Platforms: Microsoft .NET Framework 3.0, Windows XP, Windows Server 2003 family, Windows Server 2008 family
See Also