public override void Parse(int propIndex, IPropertyValue value, int[] nestedIndex) { switch (propIndex) { case 0: case 1: case 2: case 3: case 4: case 5: case 6: base.Parse(propIndex, value, nestedIndex); return; case 7: _predefinedType = (IfcStructuralCurveMemberTypeEnum)System.Enum.Parse(typeof(IfcStructuralCurveMemberTypeEnum), value.EnumVal, true); return; case 8: _axis = (IfcDirection)(value.EntityVal); return; default: throw new XbimParserException(string.Format("Attribute index {0} is out of range for {1}", propIndex + 1, GetType().Name.ToUpper())); } }
public static iso_10303 buildFailingMinimumExampleObject() { iso_10303 iso10303 = new iso_10303(); iso10303.uos = new uos1(); iso10303.uos.configuration = new string[] { "i-ifc2x3" }; iso10303.version = "2.0"; iso10303.iso_10303_28_header = new iso_10303_28_header(); iso10303.iso_10303_28_header.author = "John Hancock"; iso10303.iso_10303_28_header.organization = "MegaCorp"; iso10303.iso_10303_28_header.time_stamp = new DateTime(2010, 11, 12, 13, 04, 00); iso10303.iso_10303_28_header.name = "An Example"; iso10303.iso_10303_28_header.preprocessor_version = "a preprocessor"; iso10303.iso_10303_28_header.originating_system = "IfcDotNet Library"; iso10303.iso_10303_28_header.authorization = "none"; iso10303.iso_10303_28_header.documentation = "documentation"; IfcOrganization organization = new IfcOrganization(); organization.entityid = "i1101"; organization.Name = "MegaCorp"; IfcCartesianPoint point = new IfcCartesianPoint("i101", 2500, 0, 0); IfcDirection dir = new IfcDirection("i102", 0, 1, 0); ((uos1)iso10303.uos).Items = new Entity[] { organization, point, dir }; return(iso10303); }
/// <summary> /// Compares two objects for geometric equality /// </summary> /// <param name="a"></param> /// <param name="b">object to compare with</param> /// <returns></returns> public static bool GeometricEquals(this IfcDirection a, IfcDirection b) { if (a.Equals(b)) return true; XbimVector3D va = a.XbimVector3D(); XbimVector3D vb = b.XbimVector3D(); return va.IsEqual(vb,b.ModelOf.ModelFactors.Precision); }
internal static double IfcDotProduct(Direction dir1, IfcDirection dir2) { return (dir1.X * dir2.X + dir1.Y * dir2.Y + dir1.Z * dir2.Z); }
public override void Parse(int propIndex, IPropertyValue value, int[] nestedIndex) { switch (propIndex) { case 0: case 1: base.Parse(propIndex, value, nestedIndex); return; case 2: _coordinateSpaceDimension = value.IntegerVal; return; case 3: _precision = value.RealVal; return; case 4: _worldCoordinateSystem = (IfcAxis2Placement)(value.EntityVal); return; case 5: _trueNorth = (IfcDirection)(value.EntityVal); return; default: throw new XbimParserException(string.Format("Attribute index {0} is out of range for {1}", propIndex + 1, GetType().Name.ToUpper())); } }
public BbDirectionGeometry( BbDirection3D bbDirection ) { _ifcDirection = bbDirection.IfcDirection; _ifcShapeRepresentation = new IfcShapeRepresentation { ContextOfItems = BbHeaderSetting.Setting3D.GeometricRepresentationContext, RepresentationIdentifier = "Body", RepresentationType = "GeometricCurveSet", Items = new List <IfcRepresentationItem>(), }; _ifcShapeRepresentation.Items.Add(_ifcDirection); _ifcProductDefinitionShape = new IfcProductDefinitionShape { // Name= // Description = Representations = new List <IfcRepresentation>(), }; _ifcProductDefinitionShape.Representations.Add(_ifcShapeRepresentation); }
public override void Parse(int propIndex, IPropertyValue value, int[] nestedIndex) { switch (propIndex) { case 0: case 1: base.Parse(propIndex, value, nestedIndex); return; case 2: _directrix = (IfcCurve)(value.EntityVal); return; case 3: _startParam = value.RealVal; return; case 4: _endParam = value.RealVal; return; case 5: _fixedReference = (IfcDirection)(value.EntityVal); return; default: throw new XbimParserException(string.Format("Attribute index {0} is out of range for {1}", propIndex + 1, GetType().Name.ToUpper())); } }
private void Init(IfcStore m) { using (var txn = m.BeginTransaction("Initialise WCS")) { var context3D = m.Instances.OfType <IfcGeometricRepresentationContext>() .Where(c => c.CoordinateSpaceDimension == 3) .FirstOrDefault(); if (context3D.WorldCoordinateSystem is IfcAxis2Placement3D wcs) { WCS = wcs; Origin3D = wcs.Location; AxisZ3D = toolkit_factory.MakeDirection(m, 0, 0, 1); wcs.Axis = AxisZ3D; AxisX3D = toolkit_factory.MakeDirection(m, 1, 0, 0); wcs.RefDirection = AxisX3D; AxisY3D = toolkit_factory.MakeDirection(m, 0, 1, 0); } var context2D = m.Instances.OfType <IfcGeometricRepresentationContext>() .Where(c => c.CoordinateSpaceDimension == 2) .FirstOrDefault(); if (context2D.WorldCoordinateSystem is IfcAxis2Placement2D wcs2d) { WCS2D = wcs2d; Origin2D = wcs2d.Location; AxisX2D = toolkit_factory.MakeDirection(m, 1, 0); wcs2d.RefDirection = AxisX2D; AxisY2D = toolkit_factory.MakeDirection(m, 0, 1, 0); } txn.Commit(); } }
/// <summary> /// returns a Hash for the geometric behaviour of this object /// </summary> /// <param name="solid"></param> /// <returns></returns> public static int GetGeometryHashCode(this IfcDirection dir) { if (dir == null) { return(0); } var model = dir.ModelOf; Func <double, int> f = model.ModelFactors.GetGeometryDoubleHash; switch (dir.Dim) { case 1: return(f(dir.X)); case 2: return(f(dir.X) ^ f(dir.Y)); case 3: return(f(dir.X) ^ f(dir.Y) ^ f(dir.Z)); default: throw new NotImplementedException(); } }
public override void IfcParse(int propIndex, IPropertyValue value) { switch (propIndex) { case 0: case 1: base.IfcParse(propIndex, value); break; case 2: _coordinateSpaceDimension = (sbyte)value.IntegerVal; break; case 3: _precision = value.RealVal; break; case 4: _worldCoordinateSystem = (IfcAxis2Placement)value.EntityVal; break; case 5: _trueNorth = (IfcDirection)value.EntityVal; break; default: this.HandleUnexpectedAttribute(propIndex, value); break; } }
/// <summary> /// Initializes a new instance of the <see cref="BlackBox.Aisc.EM11.DerivedProfile"/> class. /// </summary> /// <param name='parentProfile'> /// Parent profile. /// </param> /// <param name='mirrorXAxis'> /// If set to <c>true</c> mirror X axis. /// </param> /// <param name='mirrorYAxis'> /// If set to <c>true</c> mirror Y axis. /// </param> public BbDerivedProfile(BbProfile parentProfile, bool mirrorXAxis, bool mirrorYAxis) : this(parentProfile) { IfcDirection axis1 = null; IfcDirection axis2 = null; if (mirrorXAxis && mirrorYAxis) { axis1 = BbHeaderSetting.Setting3D.XAxisMinus2D.IfcDirection; axis2 = BbHeaderSetting.Setting3D.YAxisMinus2D.IfcDirection; } else if (mirrorXAxis && !mirrorYAxis) { axis1 = BbHeaderSetting.Setting3D.XAxis2D.IfcDirection; axis2 = BbHeaderSetting.Setting3D.YAxisMinus2D.IfcDirection; } else if (!mirrorXAxis && mirrorYAxis) { axis1 = BbHeaderSetting.Setting3D.XAxisMinus2D.IfcDirection; axis2 = BbHeaderSetting.Setting3D.YAxis2D.IfcDirection; } var ifcCartesianTransformationOperator2D = new IfcCartesianTransformationOperator2D { Axis1 = axis1, Axis2 = axis2, LocalOrigin = BbHeaderSetting.Setting3D.Origin2D.IfcCartesianPoint, Scale = 1, }; _ifcDerivedProfileDef.Operator = ifcCartesianTransformationOperator2D; }
private static XbimMatrix3D ConvertCartesianTransform3D(IfcCartesianTransformationOperator3D ct3D) { XbimVector3D u3; //Z Axis Direction XbimVector3D u2; //X Axis Direction XbimVector3D u1; //Y axis direction if (ct3D.Axis3 != null) { IfcDirection dir = ct3D.Axis3; u3 = new XbimVector3D(dir.DirectionRatios[0], dir.DirectionRatios[1], dir.DirectionRatios[2]); u3.Normalize(); } else { u3 = new XbimVector3D(0, 0, 1); } if (ct3D.Axis1 != null) { IfcDirection dir = ct3D.Axis1; u1 = new XbimVector3D(dir.DirectionRatios[0], dir.DirectionRatios[1], dir.DirectionRatios[2]); u1.Normalize(); } else { XbimVector3D defXDir = new XbimVector3D(1, 0, 0); u1 = u3 != defXDir ? defXDir : new XbimVector3D(0, 1, 0); } XbimVector3D xVec = XbimVector3D.Multiply(XbimVector3D.DotProduct(u1, u3), u3); XbimVector3D xAxis = XbimVector3D.Subtract(u1, xVec); xAxis.Normalize(); if (ct3D.Axis2 != null) { IfcDirection dir = ct3D.Axis2; u2 = new XbimVector3D(dir.DirectionRatios[0], dir.DirectionRatios[1], dir.DirectionRatios[2]); u2.Normalize(); } else { u2 = new XbimVector3D(0, 1, 0); } XbimVector3D tmp = XbimVector3D.Multiply(XbimVector3D.DotProduct(u2, u3), u3); XbimVector3D yAxis = XbimVector3D.Subtract(u2, tmp); tmp = XbimVector3D.Multiply(XbimVector3D.DotProduct(u2, xAxis), xAxis); yAxis = XbimVector3D.Subtract(yAxis, tmp); yAxis.Normalize(); u2 = yAxis; u1 = xAxis; XbimPoint3D lo = ct3D.LocalOrigin.XbimPoint3D(); //local origin return(new XbimMatrix3D(u1.X, u1.Y, u1.Z, 0, u2.X, u2.Y, u2.Z, 0, u3.X, u3.Y, u3.Z, 0, lo.X, lo.Y, lo.Z, 1)); }
public IfcGeometricRepresentationContext(IfcLabel?__ContextIdentifier, IfcLabel?__ContextType, IfcDimensionCount __CoordinateSpaceDimension, IfcReal?__Precision, IfcAxis2Placement __WorldCoordinateSystem, IfcDirection __TrueNorth) : base(__ContextIdentifier, __ContextType) { this._CoordinateSpaceDimension = __CoordinateSpaceDimension; this._Precision = __Precision; this._WorldCoordinateSystem = __WorldCoordinateSystem; this._TrueNorth = __TrueNorth; }
public override void IfcParse(int propIndex, IPropertyValue value) { if (propIndex == 0) base.IfcParse(propIndex, value); else if (propIndex == 1) _axis = (IfcDirection) value.EntityVal; else this.HandleUnexpectedAttribute(propIndex, value); }
public IfcLightSourceSpot(IfcLabel?__Name, IfcColourRgb __LightColour, IfcNormalisedRatioMeasure?__AmbientIntensity, IfcNormalisedRatioMeasure?__Intensity, IfcCartesianPoint __Position, IfcPositiveLengthMeasure __Radius, IfcReal __ConstantAttenuation, IfcReal __DistanceAttenuation, IfcReal __QuadricAttenuation, IfcDirection __Orientation, IfcReal?__ConcentrationExponent, IfcPositivePlaneAngleMeasure __SpreadAngle, IfcPositivePlaneAngleMeasure __BeamWidthAngle) : base(__Name, __LightColour, __AmbientIntensity, __Intensity, __Position, __Radius, __ConstantAttenuation, __DistanceAttenuation, __QuadricAttenuation) { this._Orientation = __Orientation; this._ConcentrationExponent = __ConcentrationExponent; this._SpreadAngle = __SpreadAngle; this._BeamWidthAngle = __BeamWidthAngle; }
public IfcFixedReferenceSweptAreaSolid(IfcProfileDef __SweptArea, IfcAxis2Placement3D __Position, IfcCurve __Directrix, IfcParameterValue?__StartParam, IfcParameterValue?__EndParam, IfcDirection __FixedReference) : base(__SweptArea, __Position) { this.Directrix = __Directrix; this.StartParam = __StartParam; this.EndParam = __EndParam; this.FixedReference = __FixedReference; }
public Direction(IfcDirection from) { DirectionRatios = new[] { 0.0, 0.0, 0.0 }; DirectionRatios[0] = from.X; DirectionRatios[1] = from.Y; DirectionRatios[2] = from.Z; Dim = (int)@from.Dim; }
static public IfcAxis2Placement2D Create(this IfcAxis2Placement2D ax, IfcCartesianPoint centre, IfcDirection xAxisDirection) { IfcAxis2Placement2D ax2 = new IfcAxis2Placement2D() { RefDirection = xAxisDirection, Location = centre }; return ax2; }
public static void AssertIsMinimumExample(iso_10303 iso10303) { Assert.IsNotNull(iso10303); Assert.IsNotNull(iso10303.iso_10303_28_header); Assert.AreEqual("An Example", iso10303.iso_10303_28_header.name); Assert.AreEqual(new DateTime(2010, 11, 12, 13, 04, 00), iso10303.iso_10303_28_header.time_stamp); Assert.AreEqual("John Hancock", iso10303.iso_10303_28_header.author); Assert.AreEqual("MegaCorp", iso10303.iso_10303_28_header.organization); Assert.AreEqual("IfcDotNet Library", iso10303.iso_10303_28_header.originating_system); Assert.AreEqual("a preprocessor", iso10303.iso_10303_28_header.preprocessor_version); Assert.AreEqual("documentation", iso10303.iso_10303_28_header.documentation); Assert.AreEqual("none", iso10303.iso_10303_28_header.authorization); Assert.IsNotNull(iso10303.uos, "iso10303.uos is null"); uos uos = iso10303.uos; Assert.AreEqual("uos_1", uos.id); Assert.IsNotNull(uos.configuration, "iso10303.uos.configuration is null"); Assert.AreEqual(1, uos.configuration.Length, "uos.configuration does not have 1 item in it"); Assert.AreEqual("i-ifc2x3", uos.configuration[0]); Assert.IsNotNull(uos as uos1, "uos cannot be converted to uos1"); uos1 uos1 = uos as uos1; Assert.IsNotNull(uos1, "uos1 is null"); Assert.IsNotNull(uos1.Items, "uos1.items is null"); Assert.AreEqual(3, uos1.Items.Length, "uos1.Items does not have 3 items in it"); IfcOrganization org = uos1.Items[0] as IfcOrganization; Assert.IsNotNull(org, "org is null"); Assert.AreEqual("i1101", org.entityid, "entityid is not i1101"); Assert.AreEqual("MegaCorp", org.Name); IfcCartesianPoint pnt = uos1.Items[1] as IfcCartesianPoint; Assert.IsNotNull(pnt, "pnt is null"); Assert.AreEqual("i101", pnt.entityid); Assert.IsNotNull(pnt.Coordinates); Assert.IsNotNull(pnt.Coordinates.Items); Assert.AreEqual(3, pnt.Coordinates.Items.Length); Assert.AreEqual(2500, pnt.Coordinates[0].Value); //TODO shorten the number of properties needed to be called to get the value. pnt.Coordinates[0] would be perfect! Assert.AreEqual(0, pnt.Coordinates[1].Value); Assert.AreEqual(0, pnt.Coordinates[2].Value); IfcDirection dir = uos1.Items[2] as IfcDirection; Assert.IsNotNull(dir, "dir is null"); Assert.AreEqual("i102", dir.entityid); Assert.IsNotNull(dir.DirectionRatios); Assert.IsNotNull(dir.DirectionRatios.Items); Assert.AreEqual(3, dir.DirectionRatios.Items.Length); Assert.AreEqual(0, dir.DirectionRatios[0].Value); Assert.AreEqual(1, dir.DirectionRatios[1].Value); Assert.AreEqual(0, dir.DirectionRatios[0].Value); }
public static IfcAxis2Placement3D MakeAxis2Placement3D(IfcStore m, IfcCartesianPoint origin = null, IfcDirection localZ = null, IfcDirection localX = null) { return(m.Instances.New <IfcAxis2Placement3D>(a => { a.Location = origin ?? MakeCartesianPoint(m, 0, 0, 0); a.Axis = localZ; a.RefDirection = localX; })); }
public static IfcAreaMeasure Area(this IfcPolyLoop loop, IfcDirection normal) { IfcCartesianPoint sum = new IfcCartesianPoint(0, 0, 0); IList<IfcCartesianPoint> pts = loop.Polygon; for (int i = 0; i < pts.Count - 1; i++) { sum.Add(pts[i].CrossProduct(pts[i + 1])); } IfcDirection n = normal.Normalise(); return n.DotProduct(sum)/2; }
private static IfcDirection ApplyQuaternion(this IfcDirection direction, Quaternion q) { var directionQ = new Quaternion(0, direction.DirectionRatios[0].Value, direction.DirectionRatios[1].Value, direction.DirectionRatios[2].Value); Quaternion result = q.Multiply(directionQ.Multiply(q.Conjugate())); return(new IfcDirection(result.x, result.y, result.z)); }
public static IfcAxis2Placement3D ApplyQuaternion(this IfcAxis2Placement3D placement3D, Quaternion q) { IfcDirection refDirection = placement3D.RefDirection ?? new IfcDirection(1, 0, 0); IfcDirection axis = placement3D.Axis ?? new IfcDirection(0, 0, 1); placement3D.RefDirection = refDirection.ApplyQuaternion(q); placement3D.Axis = axis.ApplyQuaternion(q); placement3D.Location = placement3D.Location.ApplyQuaternion(q); return(placement3D); }
public static IfcExtrudedAreaSolid MakeExtrudedAreaSolid(IfcStore m, IfcProfileDef area, IfcAxis2Placement3D pos, IfcDirection dir, double depth) { return(m.Instances.New <IfcExtrudedAreaSolid>(exSolid => { exSolid.SweptArea = area; exSolid.Position = pos; exSolid.ExtrudedDirection = dir; exSolid.Depth = depth; })); }
public static IfcExtrudedAreaSolid MakeExtrudeAreaSolid(IfcStore m, IfcProfileDef profile, IfcAxis2Placement3D position, IfcDirection direction, IfcPositiveLengthMeasure depth) { return(m.Instances.New <IfcExtrudedAreaSolid>(s => { s.SweptArea = profile; s.Position = position; s.ExtrudedDirection = direction; s.Depth = depth; })); }
/// <summary> /// Compares two objects for geometric equality /// </summary> /// <param name="a"></param> /// <param name="b">object to compare with</param> /// <returns></returns> public static bool GeometricEquals(this IfcDirection a, IfcDirection b) { if (a.Equals(b)) { return(true); } XbimVector3D va = a.XbimVector3D(); XbimVector3D vb = b.XbimVector3D(); return(va.IsEqual(vb, b.ModelOf.ModelFactors.Precision)); }
public static IfcAxis2Placement3D Rotate(this IfcAxis2Placement3D placement3D, double[] rotation) { double[][] rotationMatrix = RotationMatrix3D(rotation); IfcDirection refDirection = placement3D.RefDirection ?? new IfcDirection(1, 0, 0); IfcDirection axis = placement3D.Axis ?? new IfcDirection(0, 0, 1); placement3D.RefDirection = refDirection.ApplyMatrix3(rotationMatrix); placement3D.Axis = axis.ApplyMatrix3(rotationMatrix); placement3D.Location = placement3D.Location.ApplyMatrix3(rotationMatrix); return(placement3D); }
private static IfcDirection ApplyMatrix3(this IfcDirection direction, double[][] matrix) { double[] newDirection = { 0, 0, 0 }; for (int i = 0; i < 3; ++i) { for (int j = 0; j < 3; ++j) { newDirection[i] += matrix[i][j] * direction.DirectionRatios[j].Value; } } return(new IfcDirection(newDirection[0], newDirection[1], newDirection[2])); }
public static IfcAreaMeasure Area(this IfcPolyLoop loop, IfcDirection normal) { var sum = new XbimPoint3D(0, 0, 0); var pts = loop.Polygon; for (var i = 0; i < pts.Count - 1; i++) { sum = XbimPoint3D.Add(sum, pts[i].CrossProduct(pts[i + 1])); } var n = normal.Normalise(); return(n.DotProduct(new XbimVector3D(sum.X, sum.Y, sum.Z)) / 2); }
public static IfcAreaMeasure Area(this IfcPolyLoop loop, IfcDirection normal) { IfcCartesianPoint sum = new IfcCartesianPoint(0, 0, 0); IList <IfcCartesianPoint> pts = loop.Polygon; for (int i = 0; i < pts.Count - 1; i++) { sum.Add(pts[i].CrossProduct(pts[i + 1])); } IfcDirection n = normal.Normalise(); return(n.DotProduct(sum) / 2); }
private IfcSlab CreateIfcLanding(IfcStore model, LinearPath landingPline, double landingThickness) { //begin a transaction using (var trans = model.BeginTransaction("Create Wall")) { IfcSlab landing = model.Instances.New <IfcSlab>(); IfcDirection extrusionDir = model.Instances.New <IfcDirection>(); extrusionDir.SetXYZ(0, 0, -1); //Create a Definition shape to hold the geometry of the Stair 3D body IfcShapeRepresentation shape = IFCHelper.ShapeRepresentationCreate(model, "SweptSolid", "Body"); IfcArbitraryClosedProfileDef stepProfile = IFCHelper.ArbitraryClosedProfileCreate(model, (landingPline.Vertices /*.Select(v => v * 1000)*/).ToList()); IfcExtrudedAreaSolid body = IFCHelper.ProfileSweptSolidCreate(model, landingThickness, stepProfile, extrusionDir); body.BodyPlacementSet(model, 0, 0, 0); shape.Items.Add(body); //Create a Product Definition and add the model geometry to the wall IfcProductDefinitionShape prDefShape = model.Instances.New <IfcProductDefinitionShape>(); prDefShape.Representations.Add(shape); landing.Representation = prDefShape; //Create Local axes system and assign it to the column IfcCartesianPoint location3D = model.Instances.New <IfcCartesianPoint>(); location3D.SetXYZ(0, 0, 0); //var uvColLongDir = MathHelper.UnitVectorPtFromPt1ToPt2(cadSlab.CenterPt, cadSlab.PtLengthDir); IfcDirection localXDir = model.Instances.New <IfcDirection>(); localXDir.SetXYZ(1, 0, 0); IfcDirection localZDir = model.Instances.New <IfcDirection>(); localZDir.SetXYZ(0, 0, 1); IfcAxis2Placement3D ax3D = IFCHelper.LocalAxesSystemCreate(model, location3D, localXDir, localZDir); //now place the slab into the model IfcLocalPlacement lp = IFCHelper.LocalPlacemetCreate(model, ax3D); landing.ObjectPlacement = lp; trans.Commit(); return(landing); } }
public override void IfcParse(int propIndex, IPropertyValue value) { switch (propIndex) { case 0: base.IfcParse(propIndex, value); break; case 1: _refDirection = (IfcDirection) value.EntityVal; break; default: this.HandleUnexpectedAttribute(propIndex, value); break; } }
public override void IfcParse(int propIndex, IPropertyValue value) { switch (propIndex) { case 0: case 1: base.IfcParse(propIndex, value); break; case 2: _extrudedDirection = (IfcDirection) value.EntityVal; break; case 3: _depth = value.RealVal; break; default: this.HandleUnexpectedAttribute(propIndex, value); break; } }
public override void IfcParse(int propIndex, IPropertyValue value) { switch (propIndex) { case 0: case 1: case 2: case 3: base.IfcParse(propIndex, value); break; case 4: _Orientation = (IfcDirection)value.EntityVal; break; default: this.HandleUnexpectedAttribute(propIndex, value); break; } }
private void InitialiseGeometry() { var modelInstances = TargetRepository.Instances; _origin3D = modelInstances.New <IfcCartesianPoint>(c => c.SetXYZ(0, 0, 0)); _origin2D = modelInstances.New <IfcCartesianPoint>(c => c.SetXY(0, 0)); _downDirection = modelInstances.New <IfcDirection>(d => d.SetXYZ(0, 0, -1)); var mainContext = TargetRepository.IfcProject.ModelContext(); mainContext.ContextIdentifier = null; //balnk of the main context _model3DContext = modelInstances.New <IfcGeometricRepresentationSubContext>(c => { c.ContextType = "Model"; c.ContextIdentifier = "Body"; c.ParentContext = TargetRepository.IfcProject.ModelContext(); c.TargetView = IfcGeometricProjectionEnum.MODEL_VIEW; } ); }
public override void Parse(int propIndex, IPropertyValue value, int[] nestedIndex) { switch (propIndex) { case 0: case 1: case 2: case 3: base.Parse(propIndex, value, nestedIndex); return; case 4: _orientation = (IfcDirection)(value.EntityVal); return; default: throw new XbimParserException(string.Format("Attribute index {0} is out of range for {1}", propIndex + 1, GetType().Name.ToUpper())); } }
public IfcVector(double x, double y, IfcLengthMeasure magnitude) { _orientation = new IfcDirection(x, y); _magnitude = magnitude; }
public IfcVector(IfcDirection dir, IfcLengthMeasure magnitude) { _orientation = dir; _magnitude = magnitude; }
public override void IfcParse(int propIndex, IPropertyValue value) { switch (propIndex) { case 0: _orientation = (IfcDirection) value.EntityVal; break; case 1: _magnitude = value.RealVal; break; default: this.HandleUnexpectedAttribute(propIndex, value); break; } }
public override void IfcParse(int propIndex, IPropertyValue value) { switch (propIndex) { case 0: case 1: case 2: case 3: case 4: case 5: case 6: case 7: case 8: base.IfcParse(propIndex, value); break; case 9: _Orientation = (IfcDirection)value.EntityVal; break; case 10: _ConcentrationExponent = value.RealVal; break; case 11: _SpreadAngle = value.RealVal; break; case 12: _BeamWidthAngle = value.RealVal; break; default: this.HandleUnexpectedAttribute(propIndex, value); break; } }
public override void IfcParse(int propIndex, IPropertyValue value) { switch (propIndex) { case 0: _basisCurve = (IfcCurve) value.EntityVal; break; case 1: _distance = value.RealVal; break; case 2: _selfIntersect = value.BooleanVal; break; case 3: _refDirection = (IfcDirection) value.EntityVal; break; default: this.HandleUnexpectedAttribute(propIndex, value); break; } }
public override void IfcParse(int propIndex, IPropertyValue value) { switch (propIndex) { case 0: _axis1 = (IfcDirection) value.EntityVal; break; case 1: _axis2 = (IfcDirection) value.EntityVal; break; case 2: _localOrigin = (IfcCartesianPoint) value.EntityVal; break; case 3: _scale = value.RealVal; break; default: this.HandleUnexpectedAttribute(propIndex, value); break; } }
public override void IfcParse(int propIndex, IPropertyValue value) { switch (propIndex) { case 0: case 1: base.IfcParse(propIndex, value); break; case 2: _coordinateSpaceDimension = (sbyte) value.IntegerVal; break; case 3: _precision = value.RealVal; break; case 4: _worldCoordinateSystem = (IfcAxis2Placement) value.EntityVal; break; case 5: _trueNorth = (IfcDirection) value.EntityVal; break; default: this.HandleUnexpectedAttribute(propIndex, value); break; } }
public static iso_10303 buildFailingMinimumExampleObject(){ iso_10303 iso10303 = new iso_10303(); iso10303.uos = new uos1(); iso10303.uos.configuration = new string[]{"i-ifc2x3"}; iso10303.version = "2.0"; iso10303.iso_10303_28_header = new iso_10303_28_header(); iso10303.iso_10303_28_header.author = "John Hancock"; iso10303.iso_10303_28_header.organization = "MegaCorp"; iso10303.iso_10303_28_header.time_stamp = new DateTime(2010,11,12,13,04,00); iso10303.iso_10303_28_header.name = "An Example"; iso10303.iso_10303_28_header.preprocessor_version = "a preprocessor"; iso10303.iso_10303_28_header.originating_system = "IfcDotNet Library"; iso10303.iso_10303_28_header.authorization = "none"; iso10303.iso_10303_28_header.documentation = "documentation"; IfcOrganization organization = new IfcOrganization(); organization.entityid = "i1101"; organization.Name = "MegaCorp"; IfcCartesianPoint point = new IfcCartesianPoint("i101", 2500, 0, 0); IfcDirection dir = new IfcDirection("i102",0,1,0); ((uos1)iso10303.uos).Items = new Entity[]{organization, point, dir}; return iso10303; }