예제 #1
0
 public static IfcAxis1Placement Rotate(this IfcAxis1Placement axis,
                                        double rotation)
 {
     double[][] rotationMatrix = RotationMatrix2D(rotation);
     axis.Axis = axis.Axis.ApplyMatrix2(rotationMatrix);
     return(axis);
 }
 /// <summary>
 /// Compares two objects for geomtric equality
 /// </summary>
 /// <param name="a"></param>
 /// <param name="b">object to compare with</param>
 /// <returns></returns>
 public static bool GeometricEquals(this IfcAxis1Placement a, IfcAxis1Placement b)
 {
     if (a.Equals(b))
     {
         return(true);
     }
     return
         (a.Location.GeometricEquals(b.Location));
 }
예제 #3
0
        public override void Parse(int propIndex, IPropertyValue value, int[] nestedIndex)
        {
            switch (propIndex)
            {
            case 0:
            case 1:
                base.Parse(propIndex, value, nestedIndex);
                return;

            case 2:
                _axis = (IfcAxis1Placement)(value.EntityVal);
                return;

            case 3:
                _angle = value.RealVal;
                return;

            default:
                throw new XbimParserException(string.Format("Attribute index {0} is out of range for {1}", propIndex + 1, GetType().Name.ToUpper()));
            }
        }
        public override void IfcParse(int propIndex, IPropertyValue value)
        {
            switch (propIndex)
            {
            case 0:
            case 1:
                base.IfcParse(propIndex, value);
                break;

            case 2:
                _Axis = (IfcAxis1Placement)value.EntityVal;
                break;

            case 3:
                _Angle = value.RealVal;
                break;

            default:
                this.HandleUnexpectedAttribute(propIndex, value); break;
            }
        }
예제 #5
0
 public IfcRevolvedAreaSolid(IfcProfileDef __SweptArea, IfcAxis2Placement3D __Position, IfcAxis1Placement __Axis, IfcPlaneAngleMeasure __Angle)
     : base(__SweptArea, __Position)
 {
     this.Axis  = __Axis;
     this.Angle = __Angle;
 }
예제 #6
0
 public IfcRevolvedAreaSolidTapered(IfcProfileDef __SweptArea, IfcAxis2Placement3D __Position, IfcAxis1Placement __Axis, IfcPlaneAngleMeasure __Angle, IfcProfileDef __EndSweptArea)
     : base(__SweptArea, __Position, __Axis, __Angle)
 {
     this._EndSweptArea = __EndSweptArea;
 }
 /// <summary>
 /// returns a Hash for the geometric behaviour of this object
 /// </summary>
 /// <param name="solid"></param>
 /// <returns></returns>
 public static int GetGeometryHashCode(this IfcAxis1Placement ax1)
 {
     return(ax1.Location.GetGeometryHashCode());
 }