/// <summary> /// Converts a placement to a Matrix3D /// </summary> /// <param name="placement"></param> /// <returns></returns> public static XbimMatrix3D ToMatrix3D(this IIfcAxis2Placement placement) { var ax3 = placement as IIfcAxis2Placement3D; var ax2 = placement as IIfcAxis2Placement2D; return(ax3?.ToMatrix3D() ?? ax2?.ToMatrix3D() ?? XbimMatrix3D.Identity); }
public static XbimMatrix3D ToMatrix3D(this IIfcAxis2Placement placement) { var ax3 = placement as IIfcAxis2Placement3D; var ax2 = placement as IIfcAxis2Placement2D; if (ax3 != null) { return(ax3.ToMatrix3D()); } return(ax2 != null?ax2.ToMatrix3D() : XbimMatrix3D.Identity); }
private static void SetUcs(TextHighliter sb, IIfcAxis2Placement pos = null) { if (pos == null) { sb.Append("UCS w", Brushes.Black); } else if (pos is IIfcAxis2Placement3D) { var as1 = pos as IIfcAxis2Placement3D; sb.Append("UCS", Brushes.Black); WritePointCoord(sb, as1.Location); WritePointCoord(sb, as1.Axis); WritePointCoord(sb, as1.RefDirection); sb.Append("UCS X 90", Brushes.Black); sb.Append("UCS Y 90", Brushes.Black); } else { sb.Append($"{pos.GetType().Name} not implemented in IIfcCurve.", Brushes.Red); } }