Skip to content

Commit

Permalink
DimensionOrdinate
Browse files Browse the repository at this point in the history
  • Loading branch information
DomCR committed Mar 5, 2025
1 parent 6471413 commit bc5925e
Show file tree
Hide file tree
Showing 2 changed files with 37 additions and 36 deletions.
1 change: 0 additions & 1 deletion src/ACadSharp/Entities/DimensionLinear.cs
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
using ACadSharp.Attributes;
using CSMath;
using System;
using System.Numerics;

namespace ACadSharp.Entities
{
Expand Down
72 changes: 37 additions & 35 deletions src/ACadSharp/Entities/DimensionOrdinate.cs
Original file line number Diff line number Diff line change
Expand Up @@ -16,21 +16,34 @@ namespace ACadSharp.Entities
[DxfSubClass(DxfSubclassMarker.OrdinateDimension)]
public class DimensionOrdinate : Dimension
{
/// <inheritdoc/>
public override ObjectType ObjectType => ObjectType.DIMENSION_ORDINATE;

/// <inheritdoc/>
public override string ObjectName => DxfFileToken.EntityDimension;

/// <inheritdoc/>
public override string SubclassMarker => DxfSubclassMarker.OrdinateDimension;

/// <summary>
/// Definition point for linear and angular dimensions (in WCS)
/// </summary>
[DxfCodeValue(13, 23, 33)]
public XYZ FeatureLocation { get; set; }

/// <summary>
/// Ordinate type. If true, ordinate is X-type else is ordinate is Y-type
/// </summary>
public bool IsOrdinateTypeX
{
get
{
return this._flags.HasFlag(DimensionType.OrdinateTypeX);
}
set
{
if (value)
{
this._flags = this._flags.AddFlag(DimensionType.OrdinateTypeX);
}
else
{
this._flags = this._flags.RemoveFlag(DimensionType.OrdinateTypeX);
}
}
}

/// <summary>
/// Definition point for linear and angular dimensions (in WCS)
/// </summary>
Expand All @@ -55,43 +68,32 @@ public override double Measurement
}
}

/// <summary>
/// Ordinate type. If true, ordinate is X-type else is ordinate is Y-type
/// </summary>
public bool IsOrdinateTypeX
{
get
{
return this._flags.HasFlag(DimensionType.OrdinateTypeX);
}
set
{
if (value)
{
this._flags = this._flags.AddFlag(DimensionType.OrdinateTypeX);
}
else
{
this._flags = this._flags.RemoveFlag(DimensionType.OrdinateTypeX);
}
}
}
/// <inheritdoc/>
public override string ObjectName => DxfFileToken.EntityDimension;

/// <inheritdoc/>
public override ObjectType ObjectType => ObjectType.DIMENSION_ORDINATE;

/// <inheritdoc/>
public override string SubclassMarker => DxfSubclassMarker.OrdinateDimension;

/// <summary>
/// Default constructor.
/// </summary>
public DimensionOrdinate() : base(DimensionType.Ordinate) { }

/// <inheritdoc/>
public override BoundingBox GetBoundingBox()
public override void ApplyTransform(Transform transform)
{
return new BoundingBox(this.FeatureLocation, this.LeaderEndpoint);
base.ApplyTransform(transform);
this.FeatureLocation = transform.ApplyTransform(this.FeatureLocation);
this.LeaderEndpoint = transform.ApplyTransform(this.LeaderEndpoint);
}

/// <inheritdoc/>
public override void ApplyTransform(Transform transform)
public override BoundingBox GetBoundingBox()
{
throw new NotImplementedException();
return new BoundingBox(this.FeatureLocation, this.LeaderEndpoint);
}
}
}
}

0 comments on commit bc5925e

Please sign in to comment.