예제 #1
0
 public IfcGrid(IfcSpatialElement host, IfcAxis2Placement3D placement, List <IfcGridAxis> uAxes, List <IfcGridAxis> vAxes)
     : base(new IfcLocalPlacement(host.ObjectPlacement, placement), getRepresentation(uAxes, vAxes, null))
 {
     host.addGrid(this);
     UAxes.AddRange(uAxes);
     VAxes.AddRange(vAxes);
 }
예제 #2
0
 internal IfcGrid(DatabaseIfc db, IfcGrid g, DuplicateOptions options) : base(db, g, options)
 {
     UAxes.AddRange(g.UAxes.ConvertAll(x => db.Factory.Duplicate(x) as IfcGridAxis));
     VAxes.AddRange(g.VAxes.ConvertAll(x => db.Factory.Duplicate(x) as IfcGridAxis));
     WAxes.AddRange(g.WAxes.ConvertAll(x => db.Factory.Duplicate(x) as IfcGridAxis));
     mPredefinedType = g.mPredefinedType;
 }
예제 #3
0
 internal IfcGrid(DatabaseIfc db, IfcGrid g, IfcOwnerHistory ownerHistory, bool downStream) : base(db, g, ownerHistory, downStream)
 {
     UAxes.AddRange(g.UAxes.ConvertAll(x => db.Factory.Duplicate(x) as IfcGridAxis));
     VAxes.AddRange(g.VAxes.ConvertAll(x => db.Factory.Duplicate(x) as IfcGridAxis));
     WAxes.AddRange(g.WAxes.ConvertAll(x => db.Factory.Duplicate(x) as IfcGridAxis));
     mPredefinedType = g.mPredefinedType;
 }
예제 #4
0
 internal override void parseJObject(JObject obj)
 {
     base.parseJObject(obj);
     UAxes.AddRange(mDatabase.extractJArray <IfcGridAxis>(obj.GetValue("UAxes", StringComparison.InvariantCultureIgnoreCase) as JArray));
     VAxes.AddRange(mDatabase.extractJArray <IfcGridAxis>(obj.GetValue("VAxes", StringComparison.InvariantCultureIgnoreCase) as JArray));
     WAxes.AddRange(mDatabase.extractJArray <IfcGridAxis>(obj.GetValue("WAxes", StringComparison.InvariantCultureIgnoreCase) as JArray));
 }
예제 #5
0
 internal override void parse(string str, ref int pos, ReleaseVersion release, int len, ConcurrentDictionary <int, BaseClassIfc> dictionary)
 {
     base.parse(str, ref pos, release, len, dictionary);
     UAxes.AddRange(ParserSTEP.StripListLink(str, ref pos, len).ConvertAll(x => dictionary[x] as IfcGridAxis));
     VAxes.AddRange(ParserSTEP.StripListLink(str, ref pos, len).ConvertAll(x => dictionary[x] as IfcGridAxis));
     WAxes.AddRange(ParserSTEP.StripListLink(str, ref pos, len).ConvertAll(x => dictionary[x] as IfcGridAxis));
     if (release != ReleaseVersion.IFC2x3)
     {
         string s = ParserSTEP.StripField(str, ref pos, len);
         if (s[0] == '.')
         {
             Enum.TryParse <IfcGridTypeEnum>(s.Replace(".", ""), true, out mPredefinedType);
         }
     }
 }