/// <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);
        }
Example #2
0
        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);
        }
Example #3
0
 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);
     }
 }