v0.2.09
This commit is contained in:
Родитель
d864c40974
Коммит
2a3082e760
|
@ -836,20 +836,23 @@ namespace GeometryGym.Ifc
|
|||
private BaseClassIfc duplicateWorker(BaseClassIfc entity, DuplicateOptions options)
|
||||
{
|
||||
BaseClassIfc result = null;
|
||||
if (mDatabase.Release < ReleaseVersion.IFC4X3_RC1)
|
||||
if (mDatabase.Release != entity.mDatabase.Release)
|
||||
{
|
||||
if (mDatabase.Release < ReleaseVersion.IFC4X2)
|
||||
if (mDatabase.Release < ReleaseVersion.IFC4X3_RC1)
|
||||
{
|
||||
if (mDatabase.Release < ReleaseVersion.IFC4X1)
|
||||
if (mDatabase.Release < ReleaseVersion.IFC4X2)
|
||||
{
|
||||
if (mDatabase.Release < ReleaseVersion.IFC4)
|
||||
if (mDatabase.Release < ReleaseVersion.IFC4X1)
|
||||
{
|
||||
IfcSpatialZone spatialZone = entity as IfcSpatialZone;
|
||||
if (spatialZone != null)
|
||||
if (mDatabase.Release < ReleaseVersion.IFC4)
|
||||
{
|
||||
IfcSite site = new IfcSite(mDatabase, spatialZone, options);
|
||||
NominateDuplicate(entity, site);
|
||||
return site;
|
||||
IfcSpatialZone spatialZone = entity as IfcSpatialZone;
|
||||
if (spatialZone != null)
|
||||
{
|
||||
IfcSite site = new IfcSite(mDatabase, spatialZone, options);
|
||||
NominateDuplicate(entity, site);
|
||||
return site;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1671,8 +1674,15 @@ namespace GeometryGym.Ifc
|
|||
if (result != null)
|
||||
return result;
|
||||
}
|
||||
|
||||
if(nature == IfcGeometricRepresentationContext.GeometricContextIdentifier.Plan)
|
||||
{
|
||||
dimension = 2;
|
||||
}
|
||||
|
||||
result = new IfcGeometricRepresentationContext(mDatabase, dimension, mDatabase.Tolerance) { ContextType = type };
|
||||
result = new IfcGeometricRepresentationContext(mDatabase, dimension, mDatabase.Tolerance);
|
||||
result.ContextType = type;
|
||||
result.ContextIdentifier = dimension + "D";
|
||||
if (context != null && !context.RepresentationContexts.Contains(result))
|
||||
context.RepresentationContexts.Add(result);
|
||||
mContexts.Add(nature, result);
|
||||
|
@ -2808,6 +2818,8 @@ namespace GeometryGym.Ifc
|
|||
string version = release.ToString().ToUpper();
|
||||
if (release == ReleaseVersion.IFC4A1 || release == ReleaseVersion.IFC4A2)
|
||||
version = "IFC4";
|
||||
else if (release == ReleaseVersion.IFC4X4_DRAFT)
|
||||
version = "IFC4X4_17239AAA";
|
||||
lines.Add("FILE_SCHEMA (('" + version + "'));");
|
||||
lines.Add("ENDSEC;");
|
||||
lines.Add("");
|
||||
|
|
|
@ -51,6 +51,7 @@ namespace GeometryGym.Ifc
|
|||
public enum IfcAnalysisModelTypeEnum { NOTDEFINED, USERDEFINED, IN_PLANE_LOADING_2D, OUT_PLANE_LOADING_2D, LOADING_3D };
|
||||
public enum IfcAnalysisTheoryTypeEnum { NOTDEFINED, USERDEFINED, FIRST_ORDER_THEORY, SECOND_ORDER_THEORY, THIRD_ORDER_THEORY, FULL_NONLINEAR_THEORY };
|
||||
public enum IfcAnnotationTypeEnum { NOTDEFINED, USERDEFINED, ASSUMEDPOINT, ASBUILTAREA, ASBUILTLINE, NON_PHYSICAL_SIGNAL, ASSUMEDLINE, WIDTHEVENT, ASSUMEDAREA, SUPERELEVATIONEVENT, ASBUILTPOINT };
|
||||
public enum IfcArchElementTypeEnum { NOTDEFINED, USERDEFINED };
|
||||
public enum IfcArithmeticOperatorEnum { NONE, ADD, DIVIDE, MULTIPLY, SUBTRACT }; //GG ADDED NONE
|
||||
public enum IfcAssemblyPlaceEnum { NOTDEFINED, SITE, FACTORY };
|
||||
public enum IfcAudioVisualApplianceTypeEnum { NOTDEFINED, USERDEFINED, AMPLIFIER, CAMERA, DISPLAY, MICROPHONE, PLAYER, PROJECTOR, RECEIVER,
|
||||
|
@ -58,7 +59,6 @@ namespace GeometryGym.Ifc
|
|||
[VersionAdded(ReleaseVersion.IFC4X3)] RECORDINGEQUIPMENT, [VersionAdded(ReleaseVersion.IFC4X4_DRAFT)] SIREN,
|
||||
[VersionAdded(ReleaseVersion.IFC4X4_DRAFT)] BEACON };
|
||||
public enum IfcBeamTypeEnum { NOTDEFINED, USERDEFINED, BEAM, HOLLOWCORE, JOIST, LINTEL, SPANDREL, T_BEAM, [VersionAdded(ReleaseVersion.IFC4X2)] GIRDER_SEGMENT, [VersionAdded(ReleaseVersion.IFC4X2)] DIAPHRAGM, [VersionAdded(ReleaseVersion.IFC4X2)] PIERCAP, [VersionAdded(ReleaseVersion.IFC4X2)] HATSTONE, [VersionAdded(ReleaseVersion.IFC4X2)] CORNICE, [VersionAdded(ReleaseVersion.IFC4X2)] EDGEBEAM };
|
||||
public enum IfcBearingTypeDisplacementEnum { NOTDEFINED, FIXED_MOVEMENT, GUIDED_LONGITUDINAL, GUIDED_TRANSVERSAL, FREE_MOVEMENT };
|
||||
public enum IfcBearingTypeEnum { NOTDEFINED, USERDEFINED, CYLINDRICAL, SPHERICAL, ELASTOMERIC, POT, GUIDE, ROCKER, ROLLER, [VersionAdded(ReleaseVersion.IFC4X2)] DISK };
|
||||
public enum IfcBenchmarkEnum { GREATERTHAN, GREATERTHANOREQUALTO, LESSTHAN, LESSTHANOREQUALTO, EQUALTO, NOTEQUALTO, INCLUDES, NOTINCLUDES, INCLUDEDIN, NOTINCLUDEDIN };
|
||||
public enum IfcBoilerTypeEnum { NOTDEFINED, USERDEFINED, WATER, STEAM };
|
||||
|
@ -233,6 +233,7 @@ namespace GeometryGym.Ifc
|
|||
public enum IfcInventoryTypeEnum { NOTDEFINED, USERDEFINED, ASSETINVENTORY, SPACEINVENTORY, FURNITUREINVENTORY };
|
||||
public enum IfcInterceptorTypeEnum { NOTDEFINED, USERDEFINED, CYCLONIC, GREASE, OIL, PETROL };
|
||||
public enum IfcJunctionBoxTypeEnum { NOTDEFINED, USERDEFINED, DATA, POWER };
|
||||
public enum IfcKerbTypeEnum { NOTDEFINED, USERDEFINED };
|
||||
public enum IfcKnotType { UNSPECIFIED, UNIFORM_KNOTS, QUASI_UNIFORM_KNOTS, PIECEWISE_BEZIER_KNOTS };
|
||||
public enum IfcLaborResourceTypeEnum { NOTDEFINED, USERDEFINED, ADMINISTRATION, CARPENTRY, CLEANING, CONCRETE, DRYWALL, ELECTRIC, FINISHING, FLOORING, GENERAL, HVAC, LANDSCAPING, MASONRY, PAINTING, PAVING, PLUMBING, ROOFING, SITEGRADING, STEELWORK, SURVEYING };
|
||||
public enum IfcLampTypeEnum { NOTDEFINED, USERDEFINED, COMPACTFLUORESCENT, FLUORESCENT, HIGHPRESSUREMERCURY, HIGHPRESSURESODIUM, METALHALIDE, TUNGSTENFILAMENT, HALOGEN, LED, OLED };
|
||||
|
|
|
@ -1809,6 +1809,27 @@ namespace GeometryGym.Ifc
|
|||
public IfcArbitraryProfileDefWithVoids(string name, IfcCurve perim, IfcCurve inner) : base(name, perim) { mInnerCurves.Add(inner); }
|
||||
public IfcArbitraryProfileDefWithVoids(string name, IfcCurve perim, IEnumerable<IfcCurve> inner) : base(name, perim) { mInnerCurves.AddRange(inner); }
|
||||
}
|
||||
[Serializable, VersionAdded(ReleaseVersion.IFC4X4_DRAFT)]
|
||||
public partial class IfcArchElement : IfcBuiltElement
|
||||
{
|
||||
private IfcArchElementTypeEnum mPredefinedType = IfcArchElementTypeEnum.NOTDEFINED;// OPTIONAL IfcArchElementTypeEnum;
|
||||
public IfcArchElementTypeEnum PredefinedType { get { return mPredefinedType; } set { mPredefinedType = validPredefinedType<IfcArchElementTypeEnum>(value, mDatabase == null ? ReleaseVersion.IFC4X4_DRAFT : mDatabase.Release); } }
|
||||
|
||||
internal IfcArchElement() : base() { }
|
||||
internal IfcArchElement(DatabaseIfc db) : base(db) { }
|
||||
internal IfcArchElement(DatabaseIfc db, IfcArchElement e, DuplicateOptions options) : base(db, e, options) { PredefinedType = e.PredefinedType; }
|
||||
public IfcArchElement(IfcObjectDefinition host, IfcObjectPlacement placement, IfcProductDefinitionShape representation) : base(host, placement, representation) { }
|
||||
}
|
||||
[Serializable, VersionAdded(ReleaseVersion.IFC4X4_DRAFT)]
|
||||
public partial class IfcArchElementType : IfcBuiltElementType
|
||||
{
|
||||
private IfcArchElementTypeEnum mPredefinedType = IfcArchElementTypeEnum.NOTDEFINED;// IfcArchElementTypeEnum;
|
||||
public IfcArchElementTypeEnum PredefinedType { get { return mPredefinedType; } set { mPredefinedType = validPredefinedType<IfcArchElementTypeEnum>(value, mDatabase == null ? ReleaseVersion.IFC4X4_DRAFT : mDatabase.Release); } }
|
||||
|
||||
internal IfcArchElementType() : base() { }
|
||||
internal IfcArchElementType(DatabaseIfc db, IfcArchElementType t, DuplicateOptions options) : base(db, t, options) { PredefinedType = t.PredefinedType; }
|
||||
public IfcArchElementType(DatabaseIfc db, string name, IfcArchElementTypeEnum type) : base(db) { Name = name; PredefinedType = type; }
|
||||
}
|
||||
[Serializable]
|
||||
public partial class IfcArcIndex : List<int>, IfcSegmentIndexSelect
|
||||
{
|
||||
|
|
|
@ -509,6 +509,8 @@ namespace GeometryGym.Ifc
|
|||
public List<string> ReferenceTokens { get { return mReferenceTokens.ConvertAll(x => ParserSTEP.Decode(x)); } }
|
||||
public SET<IfcRelAssociatesClassification> ClassificationForObjects { get { return mClassificationForObjects; } }
|
||||
public SET<IfcClassificationReference> HasReferences { get { return mHasReferences; } }
|
||||
[Obsolete("RENAMED IFC4X3 to Specification", false)]
|
||||
public string Location { get { return mSpecification; } set { mSpecification = value; } }
|
||||
|
||||
internal IfcClassification() : base() { }
|
||||
internal IfcClassification(DatabaseIfc db, IfcClassification c)
|
||||
|
@ -813,7 +815,7 @@ namespace GeometryGym.Ifc
|
|||
public double Blue { get { return mBlue; } set { mBlue = value; } }
|
||||
|
||||
internal IfcColourRgb() : base() { }
|
||||
internal IfcColourRgb(DatabaseIfc db, IfcColourRgb c) : base(db, c) { mRed = c.mRed; mGreen = c.mGreen; mBlue = c.mBlue; }
|
||||
internal IfcColourRgb(DatabaseIfc db, IfcColourRgb c, DuplicateOptions options) : base(db, c, options) { mRed = c.mRed; mGreen = c.mGreen; mBlue = c.mBlue; }
|
||||
public IfcColourRgb(DatabaseIfc db, double red, double green, double blue) : base(db) { mRed = red; mGreen = green; mBlue = blue; }
|
||||
}
|
||||
[Serializable]
|
||||
|
@ -821,7 +823,7 @@ namespace GeometryGym.Ifc
|
|||
{
|
||||
internal List<Tuple<double, double, double>> mColourList = new List<Tuple<double, double, double>>();// : LIST [1:?] OF LIST [3:3] OF IfcNormalisedRatioMeasure;
|
||||
internal IfcColourRgbList() : base() { }
|
||||
internal IfcColourRgbList(DatabaseIfc db,IfcColourRgbList l) : base(db,l) { mColourList.AddRange(l.mColourList); }
|
||||
internal IfcColourRgbList(DatabaseIfc db, IfcColourRgbList l, DuplicateOptions options) : base(db,l, options) { mColourList.AddRange(l.mColourList); }
|
||||
}
|
||||
[Serializable]
|
||||
public abstract partial class IfcColourSpecification : IfcPresentationItem, IfcColour, NamedObjectIfc // ABSTRACT SUPERTYPE OF(IfcColourRgb)
|
||||
|
@ -830,7 +832,7 @@ namespace GeometryGym.Ifc
|
|||
public string Name { get { return mName; } set { mName = value; } }
|
||||
|
||||
protected IfcColourSpecification() : base() { }
|
||||
protected IfcColourSpecification(DatabaseIfc db, IfcColourSpecification s) : base(db, s) { mName = s.mName; }
|
||||
protected IfcColourSpecification(DatabaseIfc db, IfcColourSpecification s, DuplicateOptions options) : base(db, s, options) { mName = s.mName; }
|
||||
protected IfcColourSpecification(DatabaseIfc db) : base(db) { }
|
||||
}
|
||||
[Serializable]
|
||||
|
@ -1814,20 +1816,23 @@ namespace GeometryGym.Ifc
|
|||
internal string mName;// : OPTIONAL IfcLabel;
|
||||
internal string mDescription = "";// : OPTIONAL IfcText;
|
||||
internal string mGeodeticDatum = ""; // : OPTIONAL IfcIdentifier;
|
||||
internal string mVerticalDatum = ""; //: OPTIONAL IfcIdentifier;
|
||||
//INVERSE
|
||||
private IfcCoordinateOperation mHasCoordinateOperation = null;
|
||||
private IfcWellKnownText mWellKnownText = null;
|
||||
|
||||
public string Name { get { return mName; } set { mName = string.IsNullOrEmpty(value) ? "Unknown" : value; } }
|
||||
public string Description { get { return mDescription; } set { mDescription = value; } }
|
||||
public string GeodeticDatum { get { return mGeodeticDatum; } set { mGeodeticDatum = value; } }
|
||||
public string VerticalDatum { get { return mVerticalDatum; } set { mVerticalDatum = value; } }
|
||||
public string GeodeticDatum { get { return mGeodeticDatum; } set { mGeodeticDatum = value; } }
|
||||
public IfcCoordinateOperation HasCoordinateOperation { get { return mHasCoordinateOperation; } set { mHasCoordinateOperation = value; value.SourceCRS = this; } }
|
||||
public IfcWellKnownText WellKnownText { get { return mWellKnownText; } set { mWellKnownText = value; } }
|
||||
|
||||
protected IfcCoordinateReferenceSystem() : base() { }
|
||||
protected IfcCoordinateReferenceSystem(DatabaseIfc db, IfcCoordinateReferenceSystem p) : base(db,p) { mName = p.mName; mDescription = p.mDescription; mGeodeticDatum = p.mGeodeticDatum; mVerticalDatum = p.mVerticalDatum; }
|
||||
protected IfcCoordinateReferenceSystem(DatabaseIfc db, IfcCoordinateReferenceSystem p) : base(db,p)
|
||||
{
|
||||
mName = p.mName;
|
||||
mDescription = p.mDescription;
|
||||
mGeodeticDatum = p.mGeodeticDatum;
|
||||
}
|
||||
protected IfcCoordinateReferenceSystem(DatabaseIfc db) : base(db) { }
|
||||
|
||||
}
|
||||
|
@ -2289,7 +2294,7 @@ namespace GeometryGym.Ifc
|
|||
public string Name { get { return mName; } set { mName = value; } }
|
||||
|
||||
internal IfcCurveStyleFont() : base() { }
|
||||
internal IfcCurveStyleFont(DatabaseIfc db, IfcCurveStyleFont f) : base(db, f)
|
||||
internal IfcCurveStyleFont(DatabaseIfc db, IfcCurveStyleFont f, DuplicateOptions options) : base(db, f, options)
|
||||
{
|
||||
mName = f.mName;
|
||||
mPatternList.AddRange(f.mPatternList.Select(x => db.Factory.Duplicate(x) as IfcCurveStyleFontPattern));
|
||||
|
@ -2302,7 +2307,7 @@ namespace GeometryGym.Ifc
|
|||
internal IfcCurveStyleFontSelect mCurveStyleFont;// : IfcCurveStyleFontSelect;
|
||||
internal double mCurveFontScaling;//: IfcPositiveRatioMeasure;
|
||||
internal IfcCurveStyleFontAndScaling() : base() { }
|
||||
internal IfcCurveStyleFontAndScaling(DatabaseIfc db, IfcCurveStyleFontAndScaling f) : base(db, f)
|
||||
internal IfcCurveStyleFontAndScaling(DatabaseIfc db, IfcCurveStyleFontAndScaling f, DuplicateOptions options) : base(db, f, options)
|
||||
{
|
||||
mName = f.mName;
|
||||
mCurveStyleFont = db.Factory.Duplicate(f.mCurveStyleFont);
|
||||
|
@ -2321,7 +2326,7 @@ namespace GeometryGym.Ifc
|
|||
internal double mVisibleSegmentLength;// : IfcLengthMeasure;
|
||||
internal double mInvisibleSegmentLength;//: IfcPositiveLengthMeasure;
|
||||
internal IfcCurveStyleFontPattern() : base() { }
|
||||
internal IfcCurveStyleFontPattern(DatabaseIfc db, IfcCurveStyleFontPattern p) : base(db, p)
|
||||
internal IfcCurveStyleFontPattern(DatabaseIfc db, IfcCurveStyleFontPattern p, DuplicateOptions options) : base(db, p, options)
|
||||
{
|
||||
mVisibleSegmentLength = p.mVisibleSegmentLength;
|
||||
mInvisibleSegmentLength = p.mInvisibleSegmentLength;
|
||||
|
|
|
@ -79,13 +79,22 @@ namespace GeometryGym.Ifc
|
|||
public partial class IfcGeographicCRS : IfcCoordinateReferenceSystem //IFC4
|
||||
{
|
||||
internal string mPrimeMeridian = "";// : OPTIONAL IfcIdentifier
|
||||
internal IfcNamedUnit mMapUnit = null;// : OPTIONAL IfcNamedUnit;
|
||||
internal IfcNamedUnit mAngleUnit = null;// : OPTIONAL IfcNamedUnit;
|
||||
internal IfcNamedUnit mHeightUnit = null;// : OPTIONAL IfcNamedUnit;
|
||||
|
||||
public string PrimeMeridian { get { return mPrimeMeridian; } set { mPrimeMeridian = value; } }
|
||||
public IfcNamedUnit MapUnit { get { return mMapUnit; } set { mMapUnit = value; } }
|
||||
public IfcNamedUnit AngleUnit { get { return mAngleUnit; } set { mAngleUnit = value; } }
|
||||
public IfcNamedUnit HeightUnit { get { return mHeightUnit; } set { mHeightUnit = value; } }
|
||||
|
||||
internal IfcGeographicCRS() : base() { }
|
||||
internal IfcGeographicCRS(DatabaseIfc db, IfcGeographicCRS p) : base(db, p) { mPrimeMeridian = p.mPrimeMeridian; if (p.MapUnit != null) MapUnit = db.Factory.Duplicate(p.MapUnit); }
|
||||
internal IfcGeographicCRS(DatabaseIfc db, IfcGeographicCRS p) : base(db, p)
|
||||
{
|
||||
mPrimeMeridian = p.mPrimeMeridian;
|
||||
if (p.AngleUnit != null)
|
||||
AngleUnit = db.Factory.Duplicate(p.AngleUnit);
|
||||
if (p.HeightUnit != null)
|
||||
AngleUnit = db.Factory.Duplicate(p.HeightUnit);
|
||||
}
|
||||
public IfcGeographicCRS(DatabaseIfc db, string name) : base(db) { Name = name; }
|
||||
}
|
||||
[Serializable, VersionAdded(ReleaseVersion.IFC4)]
|
||||
|
@ -643,7 +652,7 @@ namespace GeometryGym.Ifc
|
|||
}
|
||||
}
|
||||
public interface IfcGridPlacementDirectionSelect : IBaseClassIfc { } // SELECT(IfcVirtualGridIntersection, IfcDirection);
|
||||
[Serializable]
|
||||
[Serializable, VersionAdded(ReleaseVersion.IFC4X4_DRAFT)]
|
||||
public partial class IfcGroundReinforcementElement : IfcBuiltElement
|
||||
{
|
||||
private IfcGroundReinforcementElementTypeEnum mPredefinedType = IfcGroundReinforcementElementTypeEnum.NOTDEFINED;//: IfcGroundReinforcementElementTypeEnum;
|
||||
|
@ -653,6 +662,16 @@ namespace GeometryGym.Ifc
|
|||
internal IfcGroundReinforcementElement(DatabaseIfc db, IfcGroundReinforcementElement e, DuplicateOptions options) : base(db, e, options) { PredefinedType = e.PredefinedType; }
|
||||
public IfcGroundReinforcementElement(IfcObjectDefinition host, IfcObjectPlacement placement, IfcProductDefinitionShape representation) : base(host, placement, representation) { }
|
||||
}
|
||||
[Serializable, VersionAdded(ReleaseVersion.IFC4X4_DRAFT)]
|
||||
public partial class IfcGroundReinforcementElementType : IfcBuiltElementType
|
||||
{
|
||||
private IfcGroundReinforcementElementTypeEnum mPredefinedType = IfcGroundReinforcementElementTypeEnum.NOTDEFINED;// IfcGroundReinforcementElementTypeEnum;
|
||||
public IfcGroundReinforcementElementTypeEnum PredefinedType { get { return mPredefinedType; } set { mPredefinedType = validPredefinedType<IfcGroundReinforcementElementTypeEnum>(value, mDatabase == null ? ReleaseVersion.IFC4X4_DRAFT : mDatabase.Release); } }
|
||||
|
||||
internal IfcGroundReinforcementElementType() : base() { }
|
||||
internal IfcGroundReinforcementElementType(DatabaseIfc db, IfcGroundReinforcementElementType t, DuplicateOptions options) : base(db, t, options) { PredefinedType = t.PredefinedType; }
|
||||
public IfcGroundReinforcementElementType(DatabaseIfc db, string name, IfcGroundReinforcementElementTypeEnum type) : base(db) { Name = name; PredefinedType = type; }
|
||||
}
|
||||
[Serializable]
|
||||
public partial class IfcGroup : IfcObject, IfcSpatialReferenceSelect //SUPERTYPE OF (ONEOF (IfcAsset ,IfcCondition ,IfcInventory ,IfcStructuralLoadGroup ,IfcStructuralResultGroup ,IfcSystem ,IfcZone))
|
||||
{
|
||||
|
|
|
@ -35,7 +35,7 @@ namespace GeometryGym.Ifc
|
|||
public string UrlReference { get { return mUrlReference; } set { mUrlReference = value; } }
|
||||
|
||||
internal IfcImageTexture() : base() { }
|
||||
internal IfcImageTexture(DatabaseIfc db, IfcImageTexture t) : base(db, t) { mUrlReference = t.mUrlReference; }
|
||||
internal IfcImageTexture(DatabaseIfc db, IfcImageTexture t, DuplicateOptions options) : base(db, t, options) { mUrlReference = t.mUrlReference; }
|
||||
public IfcImageTexture(DatabaseIfc db, bool repeatS, bool repeatT, string urlReference) : base(db, repeatS, repeatT) { UrlReference = urlReference; }
|
||||
}
|
||||
[Serializable]
|
||||
|
@ -84,7 +84,7 @@ namespace GeometryGym.Ifc
|
|||
public IfcColourRgbList Colours { get { return mColours; } set { mColours = value; } }
|
||||
|
||||
internal IfcIndexedColourMap() : base() { }
|
||||
internal IfcIndexedColourMap(DatabaseIfc db, IfcIndexedColourMap m) : base(db, m) { MappedTo = db.Factory.Duplicate(m.MappedTo) as IfcTessellatedFaceSet; Colours = db.Factory.Duplicate(m.Colours) as IfcColourRgbList; mColourIndex.AddRange(m.mColourIndex); }
|
||||
internal IfcIndexedColourMap(DatabaseIfc db, IfcIndexedColourMap m, DuplicateOptions options) : base(db, m, options) { MappedTo = db.Factory.Duplicate(m.MappedTo) as IfcTessellatedFaceSet; Colours = db.Factory.Duplicate(m.Colours) as IfcColourRgbList; mColourIndex.AddRange(m.mColourIndex); }
|
||||
public IfcIndexedColourMap(IfcTessellatedFaceSet fs, IfcColourRgbList colours, IEnumerable<int> colourindex)
|
||||
: base(fs.mDatabase) { MappedTo = fs; mColours = colours; mColourIndex.AddRange(colourindex); }
|
||||
}
|
||||
|
@ -146,7 +146,7 @@ namespace GeometryGym.Ifc
|
|||
|
||||
internal IfcIndexedPolygonalTextureMap() : base() { }
|
||||
internal IfcIndexedPolygonalTextureMap(DatabaseIfc db) : base(db) { }
|
||||
internal IfcIndexedPolygonalTextureMap(DatabaseIfc db, IfcIndexedPolygonalTextureMap m) : base(db, m)
|
||||
internal IfcIndexedPolygonalTextureMap(DatabaseIfc db, IfcIndexedPolygonalTextureMap m, DuplicateOptions options) : base(db, m, options)
|
||||
{
|
||||
foreach (IfcTextureCoordinateIndices i in m.mTexCoordIndices)
|
||||
TexCoordIndices.Add(db.Factory.Duplicate(i) as IfcTextureCoordinateIndices);
|
||||
|
@ -163,7 +163,7 @@ namespace GeometryGym.Ifc
|
|||
|
||||
protected IfcIndexedTextureMap() : base() { }
|
||||
protected IfcIndexedTextureMap(DatabaseIfc db) : base(db) { }
|
||||
protected IfcIndexedTextureMap(DatabaseIfc db, IfcIndexedTextureMap m) : base(db, m) { MappedTo = db.Factory.Duplicate(m.MappedTo) as IfcTessellatedFaceSet; TexCoords = db.Factory.Duplicate(m.TexCoords) as IfcTextureVertexList; }
|
||||
protected IfcIndexedTextureMap(DatabaseIfc db, IfcIndexedTextureMap m, DuplicateOptions options) : base(db, m, options) { MappedTo = db.Factory.Duplicate(m.MappedTo) as IfcTessellatedFaceSet; TexCoords = db.Factory.Duplicate(m.TexCoords) as IfcTextureVertexList; }
|
||||
}
|
||||
[Serializable]
|
||||
public partial class IfcIndexedTriangleTextureMap : IfcIndexedTextureMap
|
||||
|
@ -172,7 +172,7 @@ namespace GeometryGym.Ifc
|
|||
|
||||
internal IfcIndexedTriangleTextureMap() : base() { }
|
||||
internal IfcIndexedTriangleTextureMap(DatabaseIfc db) : base(db) { }
|
||||
internal IfcIndexedTriangleTextureMap(DatabaseIfc db, IfcIndexedTriangleTextureMap m) : base(db, m) { mTexCoordList = m.mTexCoordList; }
|
||||
internal IfcIndexedTriangleTextureMap(DatabaseIfc db, IfcIndexedTriangleTextureMap m, DuplicateOptions options) : base(db, m, options) { mTexCoordList = m.mTexCoordList; }
|
||||
}
|
||||
[Serializable, VersionAdded(ReleaseVersion.IFC4X4_DRAFT)]
|
||||
public partial class IfcIntegerVoxelData : IfcVoxelData
|
||||
|
|
|
@ -30,23 +30,23 @@ namespace GeometryGym.Ifc
|
|||
[Serializable, VersionAdded(ReleaseVersion.IFC4X3)]
|
||||
public partial class IfcKerb : IfcBuiltElement
|
||||
{
|
||||
private bool mMountable = false; //: IfcBoolean;
|
||||
public bool Mountable { get { return mMountable; } set { mMountable = value; } }
|
||||
private IfcKerbTypeEnum mPredefinedType = IfcKerbTypeEnum.NOTDEFINED;// OPTIONAL : IfcKerbTypeEnum;
|
||||
public IfcKerbTypeEnum PredefinedType { get { return mPredefinedType; } set { mPredefinedType = validPredefinedType<IfcKerbTypeEnum>(value, mDatabase == null ? ReleaseVersion.IFC4X3 : mDatabase.Release); } }
|
||||
|
||||
public IfcKerb() : base() { }
|
||||
public IfcKerb(DatabaseIfc db, bool mountable) : base(db) { Mountable = mountable; }
|
||||
public IfcKerb(DatabaseIfc db, IfcKerb kerb, DuplicateOptions options) : base(db, kerb, options) { Mountable = kerb.Mountable; }
|
||||
public IfcKerb(DatabaseIfc db) : base(db) { ; }
|
||||
public IfcKerb(DatabaseIfc db, IfcKerb kerb, DuplicateOptions options) : base(db, kerb, options) { PredefinedType = kerb.PredefinedType; }
|
||||
public IfcKerb(IfcObjectDefinition host, IfcObjectPlacement placement, IfcProductDefinitionShape representation) : base(host, placement, representation) { }
|
||||
}
|
||||
[Serializable, VersionAdded(ReleaseVersion.IFC4X3)]
|
||||
public partial class IfcKerbType : IfcBuiltElementType
|
||||
{
|
||||
private bool mMountable = false; //: IfcBoolean;
|
||||
public bool Mountable { get { return mMountable; } set { mMountable = value; } }
|
||||
private IfcKerbTypeEnum mPredefinedType = IfcKerbTypeEnum.NOTDEFINED;// : IfcKerbTypeEnum;
|
||||
public IfcKerbTypeEnum PredefinedType { get { return mPredefinedType; } set { mPredefinedType = validPredefinedType<IfcKerbTypeEnum>(value, mDatabase == null ? ReleaseVersion.IFC4X3 : mDatabase.Release); } }
|
||||
|
||||
public IfcKerbType() : base() { }
|
||||
public IfcKerbType(DatabaseIfc db, IfcKerbType kerbType, DuplicateOptions options) : base(db, kerbType, options) { Mountable = kerbType.Mountable; }
|
||||
public IfcKerbType(DatabaseIfc db, string name, bool mountable)
|
||||
: base(db, name) { Mountable = mountable; }
|
||||
public IfcKerbType(DatabaseIfc db, IfcKerbType kerbType, DuplicateOptions options) : base(db, kerbType, options) { PredefinedType = kerbType.PredefinedType; }
|
||||
public IfcKerbType(DatabaseIfc db, string name, IfcKerbTypeEnum type)
|
||||
: base(db, name) { PredefinedType = type; }
|
||||
}
|
||||
}
|
||||
|
|
|
@ -436,7 +436,7 @@ namespace GeometryGym.Ifc
|
|||
public int ColourComponents { get { return mColourComponents; } set { mColourComponents = value; } }
|
||||
|
||||
internal IfcPixelTexture() : base() { }
|
||||
internal IfcPixelTexture(DatabaseIfc db, IfcPixelTexture t) : base(db, t) { mWidth = t.mWidth; mHeight = t.mHeight; mColourComponents = t.mColourComponents; mPixel.AddRange(t.mPixel); }
|
||||
internal IfcPixelTexture(DatabaseIfc db, IfcPixelTexture t, DuplicateOptions options) : base(db, t, options) { mWidth = t.mWidth; mHeight = t.mHeight; mColourComponents = t.mColourComponents; mPixel.AddRange(t.mPixel); }
|
||||
public IfcPixelTexture(DatabaseIfc db, bool repeatS, bool repeatT, int width, int height, int colourComponents, List<string> pixel) : base(db, repeatS, repeatT) { mWidth = width; mHeight = height; mColourComponents = colourComponents; mPixel = pixel; }
|
||||
}
|
||||
[Serializable]
|
||||
|
@ -801,20 +801,20 @@ namespace GeometryGym.Ifc
|
|||
public abstract partial class IfcPreDefinedColour : IfcPreDefinedItem, IfcColour // ABSTRACT SUPERTYPE OF(IfcDraughtingPreDefinedColour)
|
||||
{
|
||||
protected IfcPreDefinedColour() : base() { }
|
||||
protected IfcPreDefinedColour(DatabaseIfc db, IfcPreDefinedColour c) : base(db, c) { }
|
||||
protected IfcPreDefinedColour(DatabaseIfc db, IfcPreDefinedColour c, DuplicateOptions options) : base(db, c, options) { }
|
||||
}
|
||||
[Serializable]
|
||||
public abstract partial class IfcPreDefinedCurveFont : IfcPreDefinedItem, IfcCurveStyleFontSelect
|
||||
{
|
||||
protected IfcPreDefinedCurveFont() : base() { }
|
||||
protected IfcPreDefinedCurveFont(DatabaseIfc db, IfcPreDefinedCurveFont f) : base(db, f) { }
|
||||
protected IfcPreDefinedCurveFont(DatabaseIfc db, IfcPreDefinedCurveFont f, DuplicateOptions options) : base(db, f, options) { }
|
||||
}
|
||||
[Obsolete("DEPRECATED IFC4", false)]
|
||||
[Serializable]
|
||||
public partial class IfcPreDefinedDimensionSymbol : IfcPreDefinedSymbol // DEPRECATED IFC4
|
||||
{
|
||||
internal IfcPreDefinedDimensionSymbol() : base() { }
|
||||
internal IfcPreDefinedDimensionSymbol(DatabaseIfc db, IfcPreDefinedDimensionSymbol s) : base(db, s) { }
|
||||
internal IfcPreDefinedDimensionSymbol(DatabaseIfc db, IfcPreDefinedDimensionSymbol s, DuplicateOptions options) : base(db, s, options) { }
|
||||
}
|
||||
[Serializable]
|
||||
public abstract partial class IfcPreDefinedItem : IfcPresentationItem, NamedObjectIfc
|
||||
|
@ -824,14 +824,14 @@ namespace GeometryGym.Ifc
|
|||
|
||||
protected IfcPreDefinedItem() : base() { }
|
||||
protected IfcPreDefinedItem(DatabaseIfc db, string name) : base(db) { Name = name; }
|
||||
protected IfcPreDefinedItem(DatabaseIfc db, IfcPreDefinedItem i) : base(db, i) { mName = i.mName; }
|
||||
protected IfcPreDefinedItem(DatabaseIfc db, IfcPreDefinedItem i, DuplicateOptions options) : base(db, i, options) { mName = i.mName; }
|
||||
}
|
||||
[Obsolete("DEPRECATED IFC4", false)]
|
||||
[Serializable]
|
||||
public partial class IfcPreDefinedPointMarkerSymbol : IfcPreDefinedSymbol // DEPRECATED IFC4
|
||||
{
|
||||
internal IfcPreDefinedPointMarkerSymbol() : base() { }
|
||||
internal IfcPreDefinedPointMarkerSymbol(DatabaseIfc db, IfcPreDefinedPointMarkerSymbol s) : base(db, s) { }
|
||||
internal IfcPreDefinedPointMarkerSymbol(DatabaseIfc db, IfcPreDefinedPointMarkerSymbol s, DuplicateOptions options) : base(db, s, options) { }
|
||||
}
|
||||
[Serializable]
|
||||
public abstract partial class IfcPreDefinedProperties : IfcPropertyAbstraction // IFC4 ABSTRACT SUPERTYPE OF(ONEOF(IfcReinforcementBarProperties, IfcSectionProperties, IfcSectionReinforcementProperties))
|
||||
|
@ -852,28 +852,28 @@ namespace GeometryGym.Ifc
|
|||
public abstract partial class IfcPreDefinedSymbol : IfcPreDefinedItem // DEPRECATED IFC4
|
||||
{
|
||||
protected IfcPreDefinedSymbol() : base() { }
|
||||
protected IfcPreDefinedSymbol(DatabaseIfc db, IfcPreDefinedSymbol s) : base(db, s) { }
|
||||
protected IfcPreDefinedSymbol(DatabaseIfc db, IfcPreDefinedSymbol s, DuplicateOptions options) : base(db, s, options) { }
|
||||
}
|
||||
[Obsolete("DEPRECATED IFC4", false)]
|
||||
[Serializable]
|
||||
public partial class IfcPreDefinedTerminatorSymbol : IfcPreDefinedSymbol // DEPRECATED IFC4
|
||||
{
|
||||
internal IfcPreDefinedTerminatorSymbol() : base() { }
|
||||
internal IfcPreDefinedTerminatorSymbol(DatabaseIfc db, IfcPreDefinedTerminatorSymbol s) : base(db, s) { }
|
||||
internal IfcPreDefinedTerminatorSymbol(DatabaseIfc db, IfcPreDefinedTerminatorSymbol s, DuplicateOptions options) : base(db, s, options) { }
|
||||
}
|
||||
[Serializable]
|
||||
public abstract partial class IfcPreDefinedTextFont : IfcPreDefinedItem, IfcTextFontSelect
|
||||
{
|
||||
protected IfcPreDefinedTextFont() : base() { }
|
||||
protected IfcPreDefinedTextFont(DatabaseIfc db, string name) : base(db, name) { }
|
||||
protected IfcPreDefinedTextFont(DatabaseIfc db, IfcPreDefinedTextFont f) : base(db, f) { }
|
||||
protected IfcPreDefinedTextFont(DatabaseIfc db, IfcPreDefinedTextFont f, DuplicateOptions options) : base(db, f, options) { }
|
||||
}
|
||||
[Serializable]
|
||||
public abstract partial class IfcPresentationItem : BaseClassIfc // ABSTRACT SUPERTYPE OF(ONEOF(IfcColourRgbList, IfcColourSpecification,
|
||||
{ // IfcCurveStyleFont, IfcCurveStyleFontAndScaling, IfcCurveStyleFontPattern, IfcIndexedColourMap, IfcPreDefinedItem, IfcSurfaceStyleLighting, IfcSurfaceStyleRefraction, IfcSurfaceStyleShading, IfcSurfaceStyleWithTextures, IfcSurfaceTexture, IfcTextStyleForDefinedFont, IfcTextStyleTextModel, IfcTextureCoordinate, IfcTextureVertex, IfcTextureVertexList));
|
||||
protected IfcPresentationItem() : base() { }
|
||||
protected IfcPresentationItem(DatabaseIfc db) : base(db) { }
|
||||
protected IfcPresentationItem(DatabaseIfc db, IfcPresentationItem i) : base(db, i) { }
|
||||
protected IfcPresentationItem(DatabaseIfc db, IfcPresentationItem i, DuplicateOptions options) : base(db, i) { }
|
||||
}
|
||||
[Serializable]
|
||||
public partial class IfcPresentationLayerAssignment : BaseClassIfc, NamedObjectIfc //SUPERTYPE OF (IfcPresentationLayerWithStyle);
|
||||
|
@ -1021,7 +1021,10 @@ namespace GeometryGym.Ifc
|
|||
public SET<IfcStyledItem> StyledItems { get { return mStyledItems; } }
|
||||
|
||||
internal IfcPresentationStyleAssignment() : base() { }
|
||||
internal IfcPresentationStyleAssignment(DatabaseIfc db, IfcPresentationStyleAssignment s) : base(db, s) { Styles.AddRange(s.mStyles.Select(x=> db.Factory.Duplicate(x) as IfcPresentationStyleSelect)); }
|
||||
internal IfcPresentationStyleAssignment(DatabaseIfc db, IfcPresentationStyleAssignment s, DuplicateOptions options) : base(db, s)
|
||||
{
|
||||
Styles.AddRange(s.mStyles.Select(x=> db.Factory.Duplicate(x, options)));
|
||||
}
|
||||
public IfcPresentationStyleAssignment(IfcPresentationStyleSelect style) : base(style.Database) { Styles.Add(style); }
|
||||
public IfcPresentationStyleAssignment(IEnumerable<IfcPresentationStyleSelect> styles) : base(styles.First().Database) { Styles.AddRange(styles); }
|
||||
}
|
||||
|
@ -1664,16 +1667,26 @@ namespace GeometryGym.Ifc
|
|||
[Serializable]
|
||||
public partial class IfcProjectedCRS : IfcCoordinateReferenceSystem //IFC4
|
||||
{
|
||||
internal string mVerticalDatum = ""; //: OPTIONAL IfcIdentifier;
|
||||
internal string mMapProjection = "";// : OPTIONAL IfcIdentifier;
|
||||
internal string mMapZone = "";// : OPTIONAL IfcIdentifier
|
||||
internal IfcNamedUnit mMapUnit = null;// : OPTIONAL IfcNamedUnit;
|
||||
|
||||
public string GeodeticDatum { get { return mGeodeticDatum; } set { mGeodeticDatum = value; } }
|
||||
public string VerticalDatum { get { return mVerticalDatum; } set { mVerticalDatum = value; } }
|
||||
public string MapProjection { get { return mMapProjection; } set { mMapProjection = value; } }
|
||||
public string MapZone { get { return mMapZone; } set { mMapZone = value; } }
|
||||
public IfcNamedUnit MapUnit { get { return mMapUnit; } set { mMapUnit = value; } }
|
||||
|
||||
internal IfcProjectedCRS() : base() { }
|
||||
internal IfcProjectedCRS(DatabaseIfc db, IfcProjectedCRS p) : base(db, p) { mName = p.mName; mMapZone = p.mMapZone; if (p.MapUnit != null) MapUnit = db.Factory.Duplicate(p.MapUnit); }
|
||||
internal IfcProjectedCRS(DatabaseIfc db, IfcProjectedCRS p) : base(db, p)
|
||||
{
|
||||
mVerticalDatum = p.mVerticalDatum;
|
||||
mName = p.mName;
|
||||
mMapZone = p.mMapZone;
|
||||
if (p.MapUnit != null)
|
||||
MapUnit = db.Factory.Duplicate(p.MapUnit);
|
||||
}
|
||||
public IfcProjectedCRS(DatabaseIfc db, string name) : base(db) { Name = name; }
|
||||
}
|
||||
//[Obsolete("DEPRECATED IFC4", false)]
|
||||
|
@ -2004,38 +2017,38 @@ namespace GeometryGym.Ifc
|
|||
[Serializable]
|
||||
public partial class IfcPropertyListValue : IfcSimpleProperty
|
||||
{
|
||||
private LIST<IfcValue> mNominalValue = new LIST<IfcValue>();// : OPTIONAL LIST [1:?] OF IfcValue;
|
||||
private LIST<IfcValue> mListValues = new LIST<IfcValue>();// : OPTIONAL LIST [1:?] OF IfcValue;
|
||||
private IfcUnit mUnit;// : OPTIONAL IfcUnit;
|
||||
|
||||
public LIST<IfcValue> NominalValue { get { return mNominalValue; } }
|
||||
public LIST<IfcValue> ListValues { get { return mListValues; } }
|
||||
public IfcUnit Unit { get { return mUnit; } set { mUnit = value; } }
|
||||
|
||||
internal IfcPropertyListValue() : base() { }
|
||||
internal IfcPropertyListValue(DatabaseIfc db, IfcPropertyListValue p, DuplicateOptions options) : base(db, p, options)
|
||||
{
|
||||
mNominalValue.AddRange(p.mNominalValue);
|
||||
mListValues.AddRange(p.mListValues);
|
||||
if (p.mUnit != null)
|
||||
Unit = db.Factory.Duplicate(p.mUnit as BaseClassIfc, options) as IfcUnit;
|
||||
}
|
||||
public IfcPropertyListValue(DatabaseIfc db, string name, IEnumerable<IfcValue> values)
|
||||
: base(db, name) { mNominalValue.AddRange(values); }
|
||||
: base(db, name) { mListValues.AddRange(values); }
|
||||
}
|
||||
[Serializable]
|
||||
public partial class IfcPropertyListValue<T> : IfcSimpleProperty where T : IfcValue
|
||||
{
|
||||
private List<T> mNominalValue = new List<T>();// : OPTIONAL LIST [1:?] OF IfcValue;
|
||||
private List<T> mListValues = new List<T>();// : OPTIONAL LIST [1:?] OF IfcValue;
|
||||
private IfcUnit mUnit;// : OPTIONAL IfcUnit;
|
||||
|
||||
public List<T> NominalValue { get { return mNominalValue; } }
|
||||
public List<T> ListValues { get { return mListValues; } }
|
||||
public IfcUnit Unit { get { return mUnit; } set { mUnit = value; } }
|
||||
|
||||
internal IfcPropertyListValue() : base() { }
|
||||
public IfcPropertyListValue(DatabaseIfc db, string name, IEnumerable<T> values)
|
||||
: base(db, name) { mNominalValue.AddRange(values); }
|
||||
: base(db, name) { mListValues.AddRange(values); }
|
||||
|
||||
internal IfcPropertyListValue(DatabaseIfc db, IfcPropertyListValue<T> p, DuplicateOptions options) : base(db, p, options)
|
||||
{
|
||||
mNominalValue.AddRange(p.mNominalValue);
|
||||
mListValues.AddRange(p.mListValues);
|
||||
if (p.mUnit != null)
|
||||
Unit = db.Factory.Duplicate(p.mUnit as BaseClassIfc, options) as IfcUnit;
|
||||
}
|
||||
|
|
|
@ -2481,7 +2481,7 @@ namespace GeometryGym.Ifc
|
|||
}
|
||||
if (options.DuplicatePresentationStyling && i.mStyledByItem != null)
|
||||
{
|
||||
IfcStyledItem si = db.Factory.Duplicate(i.mStyledByItem) as IfcStyledItem;
|
||||
IfcStyledItem si = db.Factory.Duplicate(i.mStyledByItem, options) as IfcStyledItem;
|
||||
si.Item = this;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -2234,7 +2234,7 @@ additional types some additional representation types are given:
|
|||
internal IfcStyledItem(DatabaseIfc db, IfcStyledItem i, DuplicateOptions options) : base(db, i, options)
|
||||
{
|
||||
foreach(IfcStyleAssignmentSelect style in i.Styles)
|
||||
addStyle(db.Factory.Duplicate(style) as IfcStyleAssignmentSelect);
|
||||
addStyle(db.Factory.Duplicate(style, options) as IfcStyleAssignmentSelect);
|
||||
mName = i.mName;
|
||||
}
|
||||
public IfcStyledItem(IfcStyleAssignmentSelect style) : base(style.Database) { addStyle(style); }
|
||||
|
@ -2480,7 +2480,11 @@ additional types some additional representation types are given:
|
|||
public SET<IfcSurfaceStyleElementSelect> Styles { get { return mStyles; } }
|
||||
|
||||
internal IfcSurfaceStyle() : base() { }
|
||||
internal IfcSurfaceStyle(DatabaseIfc db, IfcSurfaceStyle s) : base(db,s) { mSide = s.mSide; mStyles.AddRange(s.mStyles.Select(x=> db.Factory.Duplicate(x) as IfcSurfaceStyleElementSelect)); }
|
||||
internal IfcSurfaceStyle(DatabaseIfc db, IfcSurfaceStyle s, DuplicateOptions options) : base(db, s)
|
||||
{
|
||||
mSide = s.mSide;
|
||||
mStyles.AddRange(s.mStyles.Select(x=> db.Factory.Duplicate(x, options) as IfcSurfaceStyleElementSelect));
|
||||
}
|
||||
internal IfcSurfaceStyle(DatabaseIfc db) : base(db) { }
|
||||
public IfcSurfaceStyle(IfcSurfaceStyleShading shading) : base(shading.mDatabase) { mStyles.Add(shading); }
|
||||
public IfcSurfaceStyle(IfcSurfaceStyleLighting lighting) : base(lighting.mDatabase) { mStyles.Add(lighting); }
|
||||
|
@ -2521,7 +2525,7 @@ additional types some additional representation types are given:
|
|||
public IfcColourRgb TransmissionColour { get { return mTransmissionColour; } set { mTransmissionColour = value; } }
|
||||
public IfcColourRgb ReflectanceColour { get { return mReflectanceColour; } set { mReflectanceColour = value; } }
|
||||
internal IfcSurfaceStyleLighting() : base() { }
|
||||
internal IfcSurfaceStyleLighting(DatabaseIfc db, IfcSurfaceStyleLighting i) : base(db,i)
|
||||
internal IfcSurfaceStyleLighting(DatabaseIfc db, IfcSurfaceStyleLighting i, DuplicateOptions options) : base(db, i, options)
|
||||
{
|
||||
mDiffuseTransmissionColour = db.Factory.Duplicate(i.mDiffuseTransmissionColour);
|
||||
mDiffuseReflectionColour = db.Factory.Duplicate(i.mDiffuseReflectionColour);
|
||||
|
@ -2546,7 +2550,7 @@ additional types some additional representation types are given:
|
|||
|
||||
internal IfcSurfaceStyleRefraction() : base() { }
|
||||
public IfcSurfaceStyleRefraction(DatabaseIfc db) : base(db) { }
|
||||
internal IfcSurfaceStyleRefraction(DatabaseIfc db, IfcSurfaceStyleRefraction s) : base(db, s)
|
||||
internal IfcSurfaceStyleRefraction(DatabaseIfc db, IfcSurfaceStyleRefraction s, DuplicateOptions options) : base(db, s, options)
|
||||
{
|
||||
mRefractionIndex = s.mRefractionIndex;
|
||||
mDispersionFactor = s.mDispersionFactor;
|
||||
|
@ -2568,35 +2572,35 @@ additional types some additional representation types are given:
|
|||
public IfcReflectanceMethodEnum ReflectanceMethod { get { return mReflectanceMethod; } set { mReflectanceMethod = value; } }
|
||||
|
||||
internal IfcSurfaceStyleRendering() : base() { }
|
||||
internal IfcSurfaceStyleRendering(DatabaseIfc db, IfcSurfaceStyleRendering r) : base(db, r)
|
||||
internal IfcSurfaceStyleRendering(DatabaseIfc db, IfcSurfaceStyleRendering r, DuplicateOptions options) : base(db, r, options)
|
||||
{
|
||||
IfcColourRgb colourRgb = r.mDiffuseColour as IfcColourRgb;
|
||||
if (colourRgb != null)
|
||||
mDiffuseColour = db.Factory.Duplicate(colourRgb) as IfcColourRgb;
|
||||
mDiffuseColour = db.Factory.Duplicate(colourRgb, options);
|
||||
else
|
||||
mDiffuseColour = r.mDiffuseColour;
|
||||
|
||||
colourRgb = r.mTransmissionColour as IfcColourRgb;
|
||||
if (colourRgb != null)
|
||||
mTransmissionColour = db.Factory.Duplicate(colourRgb) as IfcColourRgb;
|
||||
mTransmissionColour = db.Factory.Duplicate(colourRgb, options);
|
||||
else
|
||||
mTransmissionColour = r.mTransmissionColour;
|
||||
|
||||
colourRgb = r.mDiffuseTransmissionColour as IfcColourRgb;
|
||||
if (colourRgb != null)
|
||||
mDiffuseTransmissionColour = db.Factory.Duplicate(colourRgb) as IfcColourRgb;
|
||||
mDiffuseTransmissionColour = db.Factory.Duplicate(colourRgb, options);
|
||||
else
|
||||
mDiffuseTransmissionColour = r.mDiffuseTransmissionColour;
|
||||
|
||||
colourRgb = r.mReflectionColour as IfcColourRgb;
|
||||
if (colourRgb != null)
|
||||
mReflectionColour = db.Factory.Duplicate(colourRgb) as IfcColourRgb;
|
||||
mReflectionColour = db.Factory.Duplicate(colourRgb, options);
|
||||
else
|
||||
mReflectionColour = r.mReflectionColour;
|
||||
|
||||
colourRgb = r.mSpecularColour as IfcColourRgb;
|
||||
if (colourRgb != null)
|
||||
mSpecularColour = db.Factory.Duplicate(colourRgb) as IfcColourRgb;
|
||||
mSpecularColour = db.Factory.Duplicate(colourRgb);
|
||||
else
|
||||
mSpecularColour = r.mSpecularColour;
|
||||
|
||||
|
@ -2615,9 +2619,9 @@ additional types some additional representation types are given:
|
|||
public double Transparency { get { return mTransparency; } set { mTransparency = value; } }
|
||||
|
||||
internal IfcSurfaceStyleShading() : base() { }
|
||||
internal IfcSurfaceStyleShading(DatabaseIfc db, IfcSurfaceStyleShading s) : base(db,s)
|
||||
internal IfcSurfaceStyleShading(DatabaseIfc db, IfcSurfaceStyleShading s, DuplicateOptions options) : base(db,s, options)
|
||||
{
|
||||
SurfaceColour = db.Factory.Duplicate( s.SurfaceColour) as IfcColourRgb;
|
||||
SurfaceColour = db.Factory.Duplicate(s.SurfaceColour, options) as IfcColourRgb;
|
||||
mTransparency = s.mTransparency;
|
||||
}
|
||||
public IfcSurfaceStyleShading(IfcColourRgb surfaceColour) : base(surfaceColour.mDatabase) { SurfaceColour = surfaceColour; }
|
||||
|
@ -2647,10 +2651,9 @@ additional types some additional representation types are given:
|
|||
public List<string> Parameter { get { return mParameter; } }
|
||||
|
||||
protected IfcSurfaceTexture() : base() { }
|
||||
protected IfcSurfaceTexture(DatabaseIfc db, IfcSurfaceTexture t) : base(db,t) { mRepeatS = t.mRepeatS; mRepeatT = t.mRepeatT; mMode = t.mMode; mTextureTransform = t.mTextureTransform; }
|
||||
protected IfcSurfaceTexture(DatabaseIfc db,bool repeatS, bool repeatT) : base(db) { mRepeatS = repeatS; mRepeatT = repeatT; }
|
||||
protected IfcSurfaceTexture(DatabaseIfc db, IfcSurfaceTexture t, DuplicateOptions options)
|
||||
: base(db, t)
|
||||
: base(db, t, options)
|
||||
{
|
||||
mRepeatS = t.mRepeatS;
|
||||
mRepeatT = t.mRepeatT;
|
||||
|
|
|
@ -473,7 +473,7 @@ namespace GeometryGym.Ifc
|
|||
internal string mFontWeight = "";// : OPTIONAL IfcFontWeight; // ['normal','small-caps','100','200','300','400','500','600','700','800','900'];
|
||||
internal IfcSizeSelect mFontSize = null;// : IfcSizeSelect; IfcSizeSelect = SELECT (IfcRatioMeasure ,IfcLengthMeasure ,IfcDescriptiveMeasure ,IfcPositiveLengthMeasure ,IfcNormalisedRatioMeasure ,IfcPositiveRatioMeasure);
|
||||
internal IfcTextStyleFontModel() : base() { }
|
||||
internal IfcTextStyleFontModel(DatabaseIfc db, IfcTextStyleFontModel m) : base(db, m)
|
||||
internal IfcTextStyleFontModel(DatabaseIfc db, IfcTextStyleFontModel m, DuplicateOptions options) : base(db, m, options)
|
||||
{
|
||||
mFontFamily.AddRange(m.mFontFamily);
|
||||
mFontStyle = m.mFontStyle;
|
||||
|
@ -545,7 +545,7 @@ namespace GeometryGym.Ifc
|
|||
|
||||
protected IfcTextureCoordinate() : base() { }
|
||||
protected IfcTextureCoordinate(DatabaseIfc db) : base(db) { }
|
||||
protected IfcTextureCoordinate(DatabaseIfc db, IfcTextureCoordinate c) : base(db, c) { Maps.AddRange(c.Maps.Select(x=> db.Factory.Duplicate(x) as IfcSurfaceTexture)); }
|
||||
protected IfcTextureCoordinate(DatabaseIfc db, IfcTextureCoordinate c, DuplicateOptions options) : base(db, c, options) { Maps.AddRange(c.Maps.Select(x=> db.Factory.Duplicate(x) as IfcSurfaceTexture)); }
|
||||
protected IfcTextureCoordinate(IEnumerable<IfcSurfaceTexture> maps) : base(maps.First().Database) { mMaps.AddRange(maps); }
|
||||
}
|
||||
[Serializable]
|
||||
|
@ -631,7 +631,7 @@ namespace GeometryGym.Ifc
|
|||
public List<Tuple<double, double>> TexCoordsList { get { return mTexCoordsList; } }
|
||||
|
||||
internal IfcTextureVertexList() : base() { }
|
||||
internal IfcTextureVertexList(DatabaseIfc db, IfcTextureVertexList l) : base(db, l) { mTexCoordsList = l.mTexCoordsList; }
|
||||
internal IfcTextureVertexList(DatabaseIfc db, IfcTextureVertexList l, DuplicateOptions options) : base(db, l, options) { mTexCoordsList = l.mTexCoordsList; }
|
||||
public IfcTextureVertexList(DatabaseIfc db, IEnumerable<Tuple<double, double>> coords) : base(db) { mTexCoordsList.AddRange(coords); }
|
||||
}
|
||||
[Obsolete("DEPRECATED IFC4", false)]
|
||||
|
|
|
@ -374,7 +374,8 @@ namespace GeometryGym.Ifc
|
|||
}
|
||||
public double Angle()
|
||||
{
|
||||
double compound = Math.Abs(mMinutes) / 60.0 + Math.Abs(mSeconds) / 3600.0 + Math.Abs(mMicroSeconds) / 3600 * 1e-6;
|
||||
double minutes = Math.Abs(mMinutes) / 60.0, seconds = Math.Abs(mSeconds) / 3600.0, microSeconds = Math.Abs(mMicroSeconds) / 3600000000.0;
|
||||
double compound = minutes + seconds + microSeconds;
|
||||
double multiplier = (mDegrees == 0 ? (mMinutes == 0 ? (mSeconds == 0 ? (mMicroSeconds > 0 ? 1 : -1) : (mSeconds > 0 ? 1 : -1)) : (mMinutes > 0 ? 1 : -1)) : (mDegrees > 0 ? 1 : -1));
|
||||
return mDegrees + multiplier * compound;
|
||||
}
|
||||
|
|
|
@ -114,7 +114,7 @@ namespace GeometryGym.Ifc
|
|||
obj["CurveGeometry"] = CurveGeometry.getJson(this, options);
|
||||
}
|
||||
}
|
||||
public abstract partial class IfcAlignment2DSegment
|
||||
public partial class IfcAlignment2DSegment
|
||||
{
|
||||
internal override void parseJsonObject(JsonObject obj)
|
||||
{
|
||||
|
@ -164,7 +164,7 @@ namespace GeometryGym.Ifc
|
|||
createArray(obj, "Segments", Segments, this, options);
|
||||
}
|
||||
}
|
||||
public abstract partial class IfcAlignment2DVerticalSegment
|
||||
public partial class IfcAlignment2DVerticalSegment
|
||||
{
|
||||
protected override void setJSON(JsonObject obj, BaseClassIfc host, SetJsonOptions options)
|
||||
{
|
||||
|
@ -291,7 +291,7 @@ namespace GeometryGym.Ifc
|
|||
Enum.TryParse<IfcAlignmentHorizontalSegmentTypeEnum>(node.GetValue<string>(), true, out mPredefinedType);
|
||||
}
|
||||
}
|
||||
public abstract partial class IfcAlignmentParameterSegment
|
||||
public partial class IfcAlignmentParameterSegment
|
||||
{
|
||||
internal override void parseJsonObject(JsonObject obj)
|
||||
{
|
||||
|
@ -482,6 +482,37 @@ namespace GeometryGym.Ifc
|
|||
obj["OuterCurve"] = OuterCurve.getJson(this, options);
|
||||
}
|
||||
}
|
||||
public partial class IfcArchElement
|
||||
{
|
||||
internal override void parseJsonObject(JsonObject obj)
|
||||
{
|
||||
base.parseJsonObject(obj);
|
||||
var node = obj["PredefinedType"];
|
||||
if (node != null)
|
||||
Enum.TryParse<IfcArchElementTypeEnum>(node.GetValue<string>(), true, out mPredefinedType);
|
||||
}
|
||||
protected override void setJSON(JsonObject obj, BaseClassIfc host, SetJsonOptions options)
|
||||
{
|
||||
base.setJSON(obj, host, options);
|
||||
if (mPredefinedType != IfcArchElementTypeEnum.NOTDEFINED)
|
||||
obj["PredefinedType"] = mPredefinedType.ToString();
|
||||
}
|
||||
}
|
||||
public partial class IfcArchElementType
|
||||
{
|
||||
internal override void parseJsonObject(JsonObject obj)
|
||||
{
|
||||
base.parseJsonObject(obj);
|
||||
var node = obj["PredefinedType"];
|
||||
if (node != null)
|
||||
Enum.TryParse<IfcArchElementTypeEnum>(node.GetValue<string>(), true, out mPredefinedType);
|
||||
}
|
||||
protected override void setJSON(JsonObject obj, BaseClassIfc host, SetJsonOptions options)
|
||||
{
|
||||
base.setJSON(obj, host, options);
|
||||
obj["PredefinedType"] = mPredefinedType.ToString();
|
||||
}
|
||||
}
|
||||
public partial class IfcAsymmetricIShapeProfileDef
|
||||
{
|
||||
internal override void parseJsonObject(JsonObject obj)
|
||||
|
|
|
@ -129,7 +129,7 @@ namespace GeometryGym.Ifc
|
|||
obj["SecondOperand"] = mSecondOperand.getJson(this, options);
|
||||
}
|
||||
}
|
||||
public abstract partial class IfcBoundaryCondition
|
||||
public partial class IfcBoundaryCondition
|
||||
{
|
||||
internal override void parseJsonObject(JsonObject obj)
|
||||
{
|
||||
|
@ -220,7 +220,7 @@ namespace GeometryGym.Ifc
|
|||
}
|
||||
}
|
||||
}
|
||||
public abstract partial class IfcBSplineCurve
|
||||
public partial class IfcBSplineCurve
|
||||
{
|
||||
protected override void setJSON(JsonObject obj, BaseClassIfc host, SetJsonOptions options)
|
||||
{
|
||||
|
@ -253,7 +253,7 @@ namespace GeometryGym.Ifc
|
|||
obj["KnotSpec"] = mKnotSpec.ToString();
|
||||
}
|
||||
}
|
||||
public abstract partial class IfcBSplineSurface
|
||||
public partial class IfcBSplineSurface
|
||||
{
|
||||
protected override void setJSON(JsonObject obj, BaseClassIfc host, SetJsonOptions options)
|
||||
{
|
||||
|
|
|
@ -122,7 +122,7 @@ namespace GeometryGym.Ifc
|
|||
obj["CoordList"] = string.Join(" ", mCoordList.Select(x => x.Item1 + " " + x.Item2 + " " + x.Item3));
|
||||
}
|
||||
}
|
||||
public abstract partial class IfcCartesianTransformationOperator
|
||||
public partial class IfcCartesianTransformationOperator
|
||||
{
|
||||
internal override void parseJsonObject(JsonObject obj)
|
||||
{
|
||||
|
@ -310,7 +310,7 @@ namespace GeometryGym.Ifc
|
|||
obj["Blue"] = mBlue;
|
||||
}
|
||||
}
|
||||
public abstract partial class IfcColourSpecification
|
||||
public partial class IfcColourSpecification
|
||||
{
|
||||
internal override void parseJsonObject(JsonObject obj)
|
||||
{
|
||||
|
@ -391,7 +391,7 @@ namespace GeometryGym.Ifc
|
|||
createArray(obj, "CfsFaces", CfsFaces, this, options);
|
||||
}
|
||||
}
|
||||
public abstract partial class IfcConstraint
|
||||
public partial class IfcConstraint
|
||||
{
|
||||
internal override void parseJsonObject(JsonObject obj)
|
||||
{
|
||||
|
@ -454,7 +454,7 @@ namespace GeometryGym.Ifc
|
|||
setAttribute(obj, "UserDefinedGrade", UserDefinedGrade);
|
||||
}
|
||||
}
|
||||
public abstract partial class IfcContext
|
||||
public partial class IfcContext
|
||||
{
|
||||
public string Json
|
||||
{
|
||||
|
@ -578,7 +578,7 @@ namespace GeometryGym.Ifc
|
|||
Enum.TryParse<IfcConveyorSegmentTypeEnum>(node.GetValue<string>(), true, out mPredefinedType);
|
||||
}
|
||||
}
|
||||
public abstract partial class IfcCoordinateOperation
|
||||
public partial class IfcCoordinateOperation
|
||||
{
|
||||
protected override void setJSON(JsonObject obj, BaseClassIfc host, SetJsonOptions options)
|
||||
{
|
||||
|
@ -586,8 +586,15 @@ namespace GeometryGym.Ifc
|
|||
obj["TargetCRS"] = TargetCRS.getJson(this, options);
|
||||
}
|
||||
}
|
||||
public abstract partial class IfcCoordinateReferenceSystem
|
||||
public partial class IfcCoordinateReferenceSystem
|
||||
{
|
||||
internal override void parseJsonObject(JsonObject obj)
|
||||
{
|
||||
base.parseJsonObject(obj);
|
||||
Name = extractString(obj["Name"]);
|
||||
Description = extractString(obj["Description"]);
|
||||
GeodeticDatum = extractString(obj["GeodeticDatum"]);
|
||||
}
|
||||
protected override void setJSON(JsonObject obj, BaseClassIfc host, SetJsonOptions options)
|
||||
{
|
||||
base.setJSON(obj, host, options);
|
||||
|
@ -597,10 +604,9 @@ namespace GeometryGym.Ifc
|
|||
str = Description;
|
||||
if (!string.IsNullOrEmpty(str))
|
||||
obj["Description"] = str;
|
||||
obj["GeodeticDatum"] = GeodeticDatum;
|
||||
str = VerticalDatum;
|
||||
if (!string.IsNullOrEmpty(str))
|
||||
obj["VerticalDatum"] = str;
|
||||
str = GeodeticDatum;
|
||||
if (str != null)
|
||||
obj["GeodeticDatum"] = str;
|
||||
}
|
||||
}
|
||||
public partial class IfcCosineSpiral
|
||||
|
@ -682,7 +688,7 @@ namespace GeometryGym.Ifc
|
|||
obj["PredefinedType"] = mPredefinedType.ToString();
|
||||
}
|
||||
}
|
||||
public abstract partial class IfcCsgPrimitive3D
|
||||
public partial class IfcCsgPrimitive3D
|
||||
{
|
||||
internal override void parseJsonObject(JsonObject obj)
|
||||
{
|
||||
|
@ -782,7 +788,7 @@ namespace GeometryGym.Ifc
|
|||
ParentCurve = mDatabase.ParseJsonObject<IfcCurve>(jobj);
|
||||
}
|
||||
}
|
||||
public abstract partial class IfcCurveSegment2D
|
||||
public partial class IfcCurveSegment2D
|
||||
{
|
||||
internal override void parseJsonObject(JsonObject obj)
|
||||
{
|
||||
|
|
|
@ -155,7 +155,7 @@ namespace GeometryGym.Ifc
|
|||
obj["DirectionRatios"] = mDirectionRatioX + (double.IsNaN(mDirectionRatioY) ? "" : (" " + RoundRatio(mDirectionRatioY) + (double.IsNaN(mDirectionRatioZ) ? "" : " " + RoundRatio(mDirectionRatioZ))));
|
||||
}
|
||||
}
|
||||
public abstract partial class IfcDirectrixCurveSweptAreaSolid
|
||||
public partial class IfcDirectrixCurveSweptAreaSolid
|
||||
{
|
||||
protected override void setJSON(JsonObject obj, BaseClassIfc host, SetJsonOptions options)
|
||||
{
|
||||
|
|
|
@ -120,7 +120,7 @@ namespace GeometryGym.Ifc
|
|||
Enum.TryParse<IfcElectricFlowTreatmentDeviceTypeEnum>(node.GetValue<string>(), true, out mPredefinedType);
|
||||
}
|
||||
}
|
||||
public abstract partial class IfcElement
|
||||
public partial class IfcElement
|
||||
{
|
||||
internal override void parseJsonObject(JsonObject obj)
|
||||
{
|
||||
|
@ -183,7 +183,7 @@ namespace GeometryGym.Ifc
|
|||
obj["PredefinedType"] = mPredefinedType.ToString();
|
||||
}
|
||||
}
|
||||
public abstract partial class IfcElementarySurface
|
||||
public partial class IfcElementarySurface
|
||||
{
|
||||
internal override void parseJsonObject(JsonObject obj)
|
||||
{
|
||||
|
@ -196,7 +196,7 @@ namespace GeometryGym.Ifc
|
|||
obj["Position"] = Position.getJson(this, options);
|
||||
}
|
||||
}
|
||||
public abstract partial class IfcElementType
|
||||
public partial class IfcElementType
|
||||
{
|
||||
internal override void parseJsonObject(JsonObject obj)
|
||||
{
|
||||
|
@ -226,7 +226,7 @@ namespace GeometryGym.Ifc
|
|||
obj["SemiAxis2"] = SemiAxis2;
|
||||
}
|
||||
}
|
||||
public abstract partial class IfcExtendedProperties
|
||||
public partial class IfcExtendedProperties
|
||||
{
|
||||
internal override void parseJsonObject(JsonObject obj)
|
||||
{
|
||||
|
@ -251,7 +251,7 @@ namespace GeometryGym.Ifc
|
|||
}
|
||||
}
|
||||
}
|
||||
public abstract partial class IfcExternalReference
|
||||
public partial class IfcExternalReference
|
||||
{
|
||||
internal override void parseJsonObject(JsonObject obj)
|
||||
{
|
||||
|
|
|
@ -62,6 +62,34 @@ namespace GeometryGym.Ifc
|
|||
obj["CrossSectionArea"] = mCrossSectionArea;
|
||||
}
|
||||
}
|
||||
public partial class IfcGeographicCRS
|
||||
{
|
||||
internal override void parseJsonObject(JsonObject obj)
|
||||
{
|
||||
base.parseJsonObject(obj);
|
||||
PrimeMeridian = extractString(obj["PrimeMeridian"]);
|
||||
JsonObject jobj = obj["AngleUnit"] as JsonObject;
|
||||
if (jobj != null)
|
||||
AngleUnit = mDatabase.ParseJsonObject<IfcNamedUnit>(jobj);
|
||||
jobj = obj["HeightUnit"] as JsonObject;
|
||||
if (jobj != null)
|
||||
HeightUnit = mDatabase.ParseJsonObject<IfcNamedUnit>(jobj);
|
||||
}
|
||||
protected override void setJSON(JsonObject obj, BaseClassIfc host, SetJsonOptions options)
|
||||
{
|
||||
base.setJSON(obj, host, options);
|
||||
string str = PrimeMeridian;
|
||||
if (!string.IsNullOrEmpty(str))
|
||||
obj["PrimeMeridian"] = str;
|
||||
|
||||
IfcNamedUnit unit = AngleUnit;
|
||||
if (unit != null)
|
||||
obj["AngleUnit"] = unit.getJson(this, options);
|
||||
unit = HeightUnit;
|
||||
if (unit != null)
|
||||
obj["HeightUnit"] = unit.getJson(this, options);
|
||||
}
|
||||
}
|
||||
public partial class IfcGeographicElement
|
||||
{
|
||||
protected override void setJSON(JsonObject obj, BaseClassIfc host, SetJsonOptions options)
|
||||
|
@ -237,6 +265,37 @@ namespace GeometryGym.Ifc
|
|||
obj["SameSense"] = SameSense;
|
||||
}
|
||||
}
|
||||
public partial class IfcGroundReinforcementElement
|
||||
{
|
||||
internal override void parseJsonObject(JsonObject obj)
|
||||
{
|
||||
base.parseJsonObject(obj);
|
||||
var node = obj["PredefinedType"];
|
||||
if (node != null)
|
||||
Enum.TryParse<IfcGroundReinforcementElementTypeEnum>(node.GetValue<string>(), true, out mPredefinedType);
|
||||
}
|
||||
protected override void setJSON(JsonObject obj, BaseClassIfc host, SetJsonOptions options)
|
||||
{
|
||||
base.setJSON(obj, host, options);
|
||||
if (mPredefinedType != IfcGroundReinforcementElementTypeEnum.NOTDEFINED)
|
||||
obj["PredefinedType"] = mPredefinedType.ToString();
|
||||
}
|
||||
}
|
||||
public partial class IfcGroundReinforcementElementType
|
||||
{
|
||||
internal override void parseJsonObject(JsonObject obj)
|
||||
{
|
||||
base.parseJsonObject(obj);
|
||||
var node = obj["PredefinedType"];
|
||||
if (node != null)
|
||||
Enum.TryParse<IfcGroundReinforcementElementTypeEnum>(node.GetValue<string>(), true, out mPredefinedType);
|
||||
}
|
||||
protected override void setJSON(JsonObject obj, BaseClassIfc host, SetJsonOptions options)
|
||||
{
|
||||
base.setJSON(obj, host, options);
|
||||
obj["PredefinedType"] = mPredefinedType.ToString();
|
||||
}
|
||||
}
|
||||
public partial class IfcGroup
|
||||
{
|
||||
internal override void parseJsonObject(JsonObject obj)
|
||||
|
|
|
@ -39,32 +39,33 @@ namespace GeometryGym.Ifc
|
|||
{
|
||||
public partial class IfcKerb
|
||||
{
|
||||
protected override void setJSON(JsonObject obj, BaseClassIfc host, SetJsonOptions options)
|
||||
{
|
||||
base.setJSON(obj, host, options);
|
||||
obj["Mountable"] = mMountable;
|
||||
}
|
||||
internal override void parseJsonObject(JsonObject obj)
|
||||
{
|
||||
base.parseJsonObject(obj);
|
||||
var node = obj["Mountable"];
|
||||
var node = obj["PredefinedType"];
|
||||
if (node != null)
|
||||
mMountable = node.GetValue<bool>();
|
||||
Enum.TryParse<IfcKerbTypeEnum>(node.GetValue<string>(), true, out mPredefinedType);
|
||||
}
|
||||
protected override void setJSON(JsonObject obj, BaseClassIfc host, SetJsonOptions options)
|
||||
{
|
||||
base.setJSON(obj, host, options);
|
||||
if (mPredefinedType != IfcKerbTypeEnum.NOTDEFINED)
|
||||
obj["PredefinedType"] = mPredefinedType.ToString();
|
||||
}
|
||||
}
|
||||
public partial class IfcKerbType
|
||||
{
|
||||
protected override void setJSON(JsonObject obj, BaseClassIfc host, SetJsonOptions options)
|
||||
{
|
||||
base.setJSON(obj, host, options);
|
||||
obj["Mountable"] = mMountable;
|
||||
}
|
||||
internal override void parseJsonObject(JsonObject obj)
|
||||
{
|
||||
base.parseJsonObject(obj);
|
||||
var node = obj["Mountable"];
|
||||
var node = obj["PredefinedType"];
|
||||
if (node != null)
|
||||
mMountable = node.GetValue<bool>();
|
||||
Enum.TryParse<IfcKerbTypeEnum>(node.GetValue<string>(), true, out mPredefinedType);
|
||||
}
|
||||
protected override void setJSON(JsonObject obj, BaseClassIfc host, SetJsonOptions options)
|
||||
{
|
||||
base.setJSON(obj, host, options);
|
||||
obj["PredefinedType"] = mPredefinedType.ToString();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -37,7 +37,7 @@ using System.Text.Json.Nodes;
|
|||
|
||||
namespace GeometryGym.Ifc
|
||||
{
|
||||
public abstract partial class IfcManifoldSolidBrep
|
||||
public partial class IfcManifoldSolidBrep
|
||||
{
|
||||
internal override void parseJsonObject(JsonObject obj)
|
||||
{
|
||||
|
@ -181,7 +181,7 @@ namespace GeometryGym.Ifc
|
|||
setAttribute(obj, "Description", Description);
|
||||
}
|
||||
}
|
||||
public abstract partial class IfcMaterialDefinition
|
||||
public partial class IfcMaterialDefinition
|
||||
{
|
||||
internal override void parseJsonObject(JsonObject obj)
|
||||
{
|
||||
|
|
|
@ -36,7 +36,7 @@ using System.Text.Json.Nodes;
|
|||
|
||||
namespace GeometryGym.Ifc
|
||||
{
|
||||
public abstract partial class IfcNamedUnit
|
||||
public partial class IfcNamedUnit
|
||||
{
|
||||
internal override void parseJsonObject(JsonObject obj)
|
||||
{
|
||||
|
|
|
@ -38,7 +38,7 @@ using System.Text.Json.Nodes;
|
|||
|
||||
namespace GeometryGym.Ifc
|
||||
{
|
||||
public abstract partial class IfcObject
|
||||
public partial class IfcObject
|
||||
{
|
||||
internal override void parseJsonObject(JsonObject obj)
|
||||
{
|
||||
|
@ -63,7 +63,7 @@ namespace GeometryGym.Ifc
|
|||
//private IfcRelDefinesByType mIsTypedBy = null;
|
||||
//internal List<IfcRelDefinesByProperties> mIsDefinedBy = new List<IfcRelDefinesByProperties>();
|
||||
}
|
||||
public abstract partial class IfcObjectDefinition
|
||||
public partial class IfcObjectDefinition
|
||||
{
|
||||
internal override void parseJsonObject(JsonObject obj)
|
||||
{
|
||||
|
@ -169,7 +169,7 @@ namespace GeometryGym.Ifc
|
|||
setAttribute(obj, "UserDefinedQualifier", UserDefinedQualifier);
|
||||
}
|
||||
}
|
||||
public abstract partial class IfcObjectPlacement
|
||||
public partial class IfcObjectPlacement
|
||||
{
|
||||
internal override void parseJsonObject(JsonObject obj)
|
||||
{
|
||||
|
|
|
@ -38,7 +38,7 @@ using System.Text.Json.Nodes;
|
|||
|
||||
namespace GeometryGym.Ifc
|
||||
{
|
||||
public abstract partial class IfcParameterizedProfileDef
|
||||
public partial class IfcParameterizedProfileDef
|
||||
{
|
||||
internal override void parseJsonObject(JsonObject obj)
|
||||
{
|
||||
|
@ -185,7 +185,7 @@ namespace GeometryGym.Ifc
|
|||
}
|
||||
}
|
||||
}
|
||||
public abstract partial class IfcPhysicalQuantity
|
||||
public partial class IfcPhysicalQuantity
|
||||
{
|
||||
internal override void parseJsonObject(JsonObject obj)
|
||||
{
|
||||
|
@ -220,7 +220,7 @@ namespace GeometryGym.Ifc
|
|||
obj["PredefinedType"] = mPredefinedType.ToString();
|
||||
}
|
||||
}
|
||||
public abstract partial class IfcPlacement
|
||||
public partial class IfcPlacement
|
||||
{
|
||||
internal override void parseJsonObject(JsonObject obj)
|
||||
{
|
||||
|
@ -324,7 +324,7 @@ namespace GeometryGym.Ifc
|
|||
createArray(obj, "LayerStyles", LayerStyles, this, options);
|
||||
}
|
||||
}
|
||||
public abstract partial class IfcPresentationStyle
|
||||
public partial class IfcPresentationStyle
|
||||
{
|
||||
internal override void parseJsonObject(JsonObject obj)
|
||||
{
|
||||
|
@ -355,7 +355,7 @@ namespace GeometryGym.Ifc
|
|||
obj["Styles"] = array;
|
||||
}
|
||||
}
|
||||
public abstract partial class IfcProduct
|
||||
public partial class IfcProduct
|
||||
{
|
||||
internal override void parseJsonObject(JsonObject obj)
|
||||
{
|
||||
|
@ -513,10 +513,23 @@ namespace GeometryGym.Ifc
|
|||
}
|
||||
public partial class IfcProjectedCRS
|
||||
{
|
||||
internal override void parseJsonObject(JsonObject obj)
|
||||
{
|
||||
base.parseJsonObject(obj);
|
||||
VerticalDatum = extractString(obj["VerticalDatum"]);
|
||||
MapProjection = extractString(obj["MapProjection"]);
|
||||
MapZone = extractString(obj["MapZone"]);
|
||||
JsonObject jobj = obj["MapUnit"] as JsonObject;
|
||||
if (jobj != null)
|
||||
MapUnit = mDatabase.ParseJsonObject<IfcNamedUnit>(jobj);
|
||||
}
|
||||
protected override void setJSON(JsonObject obj, BaseClassIfc host, SetJsonOptions options)
|
||||
{
|
||||
base.setJSON(obj, host, options);
|
||||
string str = MapProjection;
|
||||
string str = VerticalDatum;
|
||||
if (!string.IsNullOrEmpty(str))
|
||||
obj["VerticalDatum"] = str;
|
||||
str = MapProjection;
|
||||
if (!string.IsNullOrEmpty(str))
|
||||
obj["MapProjection"] = str;
|
||||
str = MapZone;
|
||||
|
@ -527,7 +540,7 @@ namespace GeometryGym.Ifc
|
|||
obj["MapUnit"] = unit.getJson(this, options);
|
||||
}
|
||||
}
|
||||
public abstract partial class IfcProperty
|
||||
public partial class IfcProperty
|
||||
{
|
||||
internal override void parseJsonObject(JsonObject obj)
|
||||
{
|
||||
|
@ -556,7 +569,7 @@ namespace GeometryGym.Ifc
|
|||
}
|
||||
}
|
||||
}
|
||||
public abstract partial class IfcPropertyAbstraction
|
||||
public partial class IfcPropertyAbstraction
|
||||
{
|
||||
internal override void parseJsonObject(JsonObject obj)
|
||||
{
|
||||
|
@ -604,7 +617,7 @@ namespace GeometryGym.Ifc
|
|||
obj["SetPointValue"] = DatabaseIfc.extract(SetPointValue);
|
||||
}
|
||||
}
|
||||
public abstract partial class IfcPropertyDefinition
|
||||
public partial class IfcPropertyDefinition
|
||||
{
|
||||
internal override void parseJsonObject(JsonObject obj)
|
||||
{
|
||||
|
|
|
@ -680,7 +680,7 @@ namespace GeometryGym.Ifc
|
|||
obj["LayerAssignment"] = new JsonArray(mLayerAssignment.getJson(this, options));
|
||||
}
|
||||
}
|
||||
public abstract partial class IfcRepresentationContext
|
||||
public partial class IfcRepresentationContext
|
||||
{
|
||||
internal override void parseJsonObject(JsonObject obj)
|
||||
{
|
||||
|
@ -707,7 +707,7 @@ namespace GeometryGym.Ifc
|
|||
obj["ContextType"] = contextType;
|
||||
}
|
||||
}
|
||||
public abstract partial class IfcRepresentationItem
|
||||
public partial class IfcRepresentationItem
|
||||
{
|
||||
internal override void parseJsonObject(JsonObject obj)
|
||||
{
|
||||
|
@ -800,7 +800,7 @@ namespace GeometryGym.Ifc
|
|||
obj["Angle"] = mAngle;
|
||||
}
|
||||
}
|
||||
public abstract partial class IfcRoot
|
||||
public partial class IfcRoot
|
||||
{
|
||||
internal override void parseJsonObject(JsonObject obj)
|
||||
{
|
||||
|
|
|
@ -79,7 +79,7 @@ namespace GeometryGym.Ifc
|
|||
mFixedAxisVertical = node.GetValue<bool>();
|
||||
}
|
||||
}
|
||||
public abstract partial class IfcSegment
|
||||
public partial class IfcSegment
|
||||
{
|
||||
protected override void setJSON(JsonObject obj, BaseClassIfc host, SetJsonOptions options)
|
||||
{
|
||||
|
@ -145,7 +145,7 @@ namespace GeometryGym.Ifc
|
|||
obj["PartOfProductDefinitionShape"] = mPartOfProductDefinitionShape.getJson(this, options);
|
||||
}
|
||||
}
|
||||
public abstract partial class IfcShapeModel
|
||||
public partial class IfcShapeModel
|
||||
{
|
||||
protected override void setJSON(JsonObject obj, BaseClassIfc host, SetJsonOptions options)
|
||||
{
|
||||
|
@ -378,7 +378,7 @@ namespace GeometryGym.Ifc
|
|||
obj["PredefinedType"] = mPredefinedType.ToString();
|
||||
}
|
||||
}
|
||||
public abstract partial class IfcSpatialElement
|
||||
public partial class IfcSpatialElement
|
||||
{
|
||||
internal override void parseJsonObject(JsonObject obj)
|
||||
{
|
||||
|
@ -416,7 +416,7 @@ namespace GeometryGym.Ifc
|
|||
}
|
||||
}
|
||||
}
|
||||
public abstract partial class IfcSpatialStructureElement
|
||||
public partial class IfcSpatialStructureElement
|
||||
{
|
||||
internal override void parseJsonObject(JsonObject obj)
|
||||
{
|
||||
|
@ -447,7 +447,7 @@ namespace GeometryGym.Ifc
|
|||
Position = mDatabase.ParseJsonObject<IfcAxis2Placement>(jobj);
|
||||
}
|
||||
}
|
||||
public abstract partial class IfcStructuralAction
|
||||
public partial class IfcStructuralAction
|
||||
{
|
||||
internal override void parseJsonObject(JsonObject obj)
|
||||
{
|
||||
|
@ -473,7 +473,7 @@ namespace GeometryGym.Ifc
|
|||
obj["CausedBy"] = CausedBy.getJson(this, options);
|
||||
}
|
||||
}
|
||||
public abstract partial class IfcStructuralActivity
|
||||
public partial class IfcStructuralActivity
|
||||
{
|
||||
internal override void parseJsonObject(JsonObject obj)
|
||||
{
|
||||
|
@ -525,7 +525,7 @@ namespace GeometryGym.Ifc
|
|||
obj["SharedPlacement"] = SharedPlacement.getJson(this, options);
|
||||
}
|
||||
}
|
||||
public abstract partial class IfcStructuralConnection
|
||||
public partial class IfcStructuralConnection
|
||||
{
|
||||
internal override void parseJsonObject(JsonObject obj)
|
||||
{
|
||||
|
@ -553,7 +553,7 @@ namespace GeometryGym.Ifc
|
|||
obj["ConnectsStructuralMembers"] = array;
|
||||
}
|
||||
}
|
||||
public abstract partial class IfcStructuralConnectionCondition
|
||||
public partial class IfcStructuralConnectionCondition
|
||||
{
|
||||
internal override void parseJsonObject(JsonObject obj)
|
||||
{
|
||||
|
@ -625,7 +625,7 @@ namespace GeometryGym.Ifc
|
|||
obj["PredefinedType"] = mPredefinedType.ToString();
|
||||
}
|
||||
}
|
||||
public abstract partial class IfcStructuralItem
|
||||
public partial class IfcStructuralItem
|
||||
{
|
||||
internal override void parseJsonObject(JsonObject obj)
|
||||
{
|
||||
|
@ -692,7 +692,7 @@ namespace GeometryGym.Ifc
|
|||
obj["MomentZ"] = mMomentZ;
|
||||
}
|
||||
}
|
||||
public abstract partial class IfcStructuralMember
|
||||
public partial class IfcStructuralMember
|
||||
{
|
||||
internal override void parseJsonObject(JsonObject obj)
|
||||
{
|
||||
|
@ -889,7 +889,7 @@ namespace GeometryGym.Ifc
|
|||
obj["Transparency"] = Transparency;
|
||||
}
|
||||
}
|
||||
public abstract partial class IfcSweptAreaSolid
|
||||
public partial class IfcSweptAreaSolid
|
||||
{
|
||||
internal override void parseJsonObject(JsonObject obj)
|
||||
{
|
||||
|
|
|
@ -36,7 +36,7 @@ using System.Text.Json.Nodes;
|
|||
|
||||
namespace GeometryGym.Ifc
|
||||
{
|
||||
public abstract partial class IfcTessellatedFaceSet
|
||||
public partial class IfcTessellatedFaceSet
|
||||
{
|
||||
protected override void setJSON(JsonObject obj, BaseClassIfc host, SetJsonOptions options)
|
||||
{
|
||||
|
|
|
@ -36,7 +36,7 @@ using System.Text.Json.Nodes;
|
|||
|
||||
namespace GeometryGym.Ifc
|
||||
{
|
||||
public abstract partial class IfcValue
|
||||
public partial class IfcValue
|
||||
{
|
||||
public JsonObject getJson(BaseClassIfc host, BaseClassIfc.SetJsonOptions options)
|
||||
{
|
||||
|
|
|
@ -796,6 +796,31 @@ namespace GeometryGym.Ifc
|
|||
mInnerCurves.AddRange(ParserSTEP.StripListLink(str, ref pos, len).Select(x=>dictionary[x] as IfcCurve));
|
||||
}
|
||||
}
|
||||
public partial class IfcArchElement
|
||||
{
|
||||
protected override string BuildStringSTEP(ReleaseVersion release)
|
||||
{
|
||||
return (release < ReleaseVersion.IFC4X4_DRAFT ? "" : base.BuildStringSTEP(release) + (mPredefinedType == IfcArchElementTypeEnum.NOTDEFINED ? ",$" : ",." + mPredefinedType + "."));
|
||||
}
|
||||
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);
|
||||
string s = ParserSTEP.StripField(str, ref pos, len);
|
||||
if (s.StartsWith("."))
|
||||
Enum.TryParse<IfcArchElementTypeEnum>(s.Replace(".", ""), true, out mPredefinedType);
|
||||
}
|
||||
}
|
||||
public partial class IfcArchElementType
|
||||
{
|
||||
protected override string BuildStringSTEP(ReleaseVersion release) { return (release < ReleaseVersion.IFC4X4_DRAFT ? "" : base.BuildStringSTEP(release) + ",." + mPredefinedType.ToString() + "."); }
|
||||
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);
|
||||
string s = ParserSTEP.StripField(str, ref pos, len);
|
||||
if (s.StartsWith("."))
|
||||
Enum.TryParse<IfcArchElementTypeEnum>(s.Replace(".", ""), true, out mPredefinedType);
|
||||
}
|
||||
}
|
||||
public partial class IfcAsset
|
||||
{
|
||||
protected override string BuildStringSTEP(ReleaseVersion release)
|
||||
|
|
|
@ -1237,18 +1237,14 @@ namespace GeometryGym.Ifc
|
|||
protected override string BuildStringSTEP(ReleaseVersion release)
|
||||
{
|
||||
return (string.IsNullOrEmpty(mName) ? "$," : "'" + ParserSTEP.Encode(mName) + "',") +
|
||||
(string.IsNullOrEmpty(mDescription) ? "$," : "'" + ParserSTEP.Encode(mDescription) + "',") +
|
||||
(release < ReleaseVersion.IFC4X3_ADD1 ? (string.IsNullOrEmpty(mGeodeticDatum) ? "$" : "'" + ParserSTEP.Encode(mGeodeticDatum) + "'") + (string.IsNullOrEmpty(mVerticalDatum) ? ",$" : ",'" + ParserSTEP.Encode(mVerticalDatum) + "'") : "");
|
||||
(string.IsNullOrEmpty(mDescription) ? "$" : "'" + ParserSTEP.Encode(mDescription) + "'") +
|
||||
(string.IsNullOrEmpty(mGeodeticDatum) ? ",$" : ",'" + ParserSTEP.Encode(mGeodeticDatum) + "'");
|
||||
}
|
||||
internal override void parse(string str, ref int pos, ReleaseVersion release, int len, ConcurrentDictionary<int, BaseClassIfc> dictionary)
|
||||
{
|
||||
mName = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mDescription = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
if (release < ReleaseVersion.IFC4X3_ADD1)
|
||||
{
|
||||
mGeodeticDatum = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mVerticalDatum = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
}
|
||||
mGeodeticDatum = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
}
|
||||
}
|
||||
public partial class IfcCosineSpiral
|
||||
|
|
|
@ -79,15 +79,17 @@ namespace GeometryGym.Ifc
|
|||
{
|
||||
if (release < ReleaseVersion.IFC4X3_ADD1)
|
||||
return "";
|
||||
return base.BuildStringSTEP(release) + (string.IsNullOrEmpty(mGeodeticDatum) ? ",$," : ",'" + ParserSTEP.Encode(mGeodeticDatum) + "',") +
|
||||
(string.IsNullOrEmpty(mPrimeMeridian) ? "$," : "'" + ParserSTEP.Encode(mPrimeMeridian) + "',") + (mMapUnit == null ? "$" : "#" + mMapUnit.StepId);
|
||||
return base.BuildStringSTEP(release) +
|
||||
(string.IsNullOrEmpty(mPrimeMeridian) ? "$," : "'" + ParserSTEP.Encode(mPrimeMeridian) + "',") +
|
||||
(mAngleUnit == null ? "$" : "#" + mAngleUnit.StepId) + (mHeightUnit == null ? "$" : "#" + mHeightUnit.StepId);
|
||||
}
|
||||
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);
|
||||
mGeodeticDatum = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mPrimeMeridian = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mMapUnit = dictionary[ParserSTEP.StripLink(str, ref pos, len)] as IfcNamedUnit;
|
||||
mAngleUnit = dictionary[ParserSTEP.StripLink(str, ref pos, len)] as IfcNamedUnit;
|
||||
if(release >= ReleaseVersion.IFC4X4_DRAFT)
|
||||
mHeightUnit = dictionary[ParserSTEP.StripLink(str, ref pos, len)] as IfcNamedUnit;
|
||||
}
|
||||
}
|
||||
public partial class IfcGeographicElement
|
||||
|
@ -299,4 +301,15 @@ namespace GeometryGym.Ifc
|
|||
Enum.TryParse<IfcGroundReinforcementElementTypeEnum>(s.Replace(".", ""), true, out mPredefinedType);
|
||||
}
|
||||
}
|
||||
public partial class IfcGroundReinforcementElementType
|
||||
{
|
||||
protected override string BuildStringSTEP(ReleaseVersion release) { return (release < ReleaseVersion.IFC4X4_DRAFT ? "" : base.BuildStringSTEP(release) + ",." + mPredefinedType.ToString() + "."); }
|
||||
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);
|
||||
string s = ParserSTEP.StripField(str, ref pos, len);
|
||||
if (s.StartsWith("."))
|
||||
Enum.TryParse<IfcGroundReinforcementElementTypeEnum>(s.Replace(".", ""), true, out mPredefinedType);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -32,24 +32,28 @@ namespace GeometryGym.Ifc
|
|||
{
|
||||
protected override string BuildStringSTEP(ReleaseVersion release)
|
||||
{
|
||||
return base.BuildStringSTEP(release) + "," + (mMountable ? ".T." : ".F.");
|
||||
return base.BuildStringSTEP(release) + (mPredefinedType == IfcKerbTypeEnum.NOTDEFINED ? ",$" : ",." + mPredefinedType.ToString() + ".");
|
||||
}
|
||||
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);
|
||||
Mountable = ParserSTEP.StripBool(str, ref pos, len);
|
||||
string s = ParserSTEP.StripField(str, ref pos, len);
|
||||
if (s.StartsWith("."))
|
||||
Enum.TryParse<IfcKerbTypeEnum>(s.Replace(".", ""), true, out mPredefinedType);
|
||||
}
|
||||
}
|
||||
public partial class IfcKerbType
|
||||
{
|
||||
protected override string BuildStringSTEP(ReleaseVersion release)
|
||||
{
|
||||
return base.BuildStringSTEP(release) + "," + (mMountable ? ".T." : ".F");
|
||||
return base.BuildStringSTEP(release) + ",." + mPredefinedType.ToString() + "."; ;
|
||||
}
|
||||
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);
|
||||
Mountable = ParserSTEP.StripBool(str, ref pos, len);
|
||||
string s = ParserSTEP.StripField(str, ref pos, len);
|
||||
if (s.StartsWith("."))
|
||||
Enum.TryParse<IfcKerbTypeEnum>(s.Replace(".", ""), true, out mPredefinedType);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -419,7 +419,11 @@ namespace GeometryGym.Ifc
|
|||
base.parse(str, ref pos, release, len, dictionary);
|
||||
if(release < ReleaseVersion.IFC4X3)
|
||||
mClosed = ParserIfc.StripLogical(str, ref pos, len);
|
||||
mFaces.AddRange(ParserSTEP.StripListLink(str, ref pos, len).Select(x=> dictionary[x] as IfcIndexedPolygonalFace));
|
||||
foreach(IfcIndexedPolygonalFace face in ParserSTEP.StripListLink(str, ref pos, len).Select(x => dictionary[x] as IfcIndexedPolygonalFace))
|
||||
{
|
||||
mFaces.Add(face);
|
||||
face.ToFaceSet.Add(this);
|
||||
}
|
||||
mPnIndex.AddRange(ParserSTEP.StripListInt(str, ref pos, len));
|
||||
}
|
||||
}
|
||||
|
@ -643,18 +647,15 @@ namespace GeometryGym.Ifc
|
|||
{
|
||||
if (release < ReleaseVersion.IFC4)
|
||||
return "";
|
||||
return base.BuildStringSTEP(release) + (release < ReleaseVersion.IFC4X3_ADD1 ? "" : (string.IsNullOrEmpty(mGeodeticDatum) ? "$" : "'" + ParserSTEP.Encode(mGeodeticDatum) + "'") + (string.IsNullOrEmpty(mVerticalDatum) ? ",$" : ",'" + ParserSTEP.Encode(mVerticalDatum) + "'")) +
|
||||
return base.BuildStringSTEP(release) +
|
||||
(string.IsNullOrEmpty(mVerticalDatum) ? ",$" : ",'" + ParserSTEP.Encode(mVerticalDatum) + "'") +
|
||||
(string.IsNullOrEmpty(mMapProjection) ? ",$," : ",'" + ParserSTEP.Encode(mMapProjection) + "',") +
|
||||
(string.IsNullOrEmpty(mMapZone) ? "$," : "'" + ParserSTEP.Encode(mMapZone) + "',") + (mMapUnit == null ? "$" : "#" + mMapUnit.StepId);
|
||||
}
|
||||
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);
|
||||
if(release >= ReleaseVersion.IFC4X3_ADD1)
|
||||
{
|
||||
mGeodeticDatum = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mVerticalDatum = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
}
|
||||
mVerticalDatum = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mMapProjection = ParserSTEP.Decode( ParserSTEP.StripString(str, ref pos, len));
|
||||
mMapZone = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mMapUnit = dictionary[ParserSTEP.StripLink(str, ref pos, len)] as IfcNamedUnit;
|
||||
|
@ -832,7 +833,7 @@ namespace GeometryGym.Ifc
|
|||
{
|
||||
protected override string BuildStringSTEP(ReleaseVersion release)
|
||||
{
|
||||
return base.BuildStringSTEP(release) + (mNominalValue == null || mNominalValue.Count == 0 ? ",$," : ",(" + string.Join(",", mNominalValue.Select(x=>x.ToString())) + "),") + (mUnit == null ? "$" : "#" + mUnit.StepId);
|
||||
return base.BuildStringSTEP(release) + (mListValues == null || mListValues.Count == 0 ? ",$," : ",(" + string.Join(",", mListValues.Select(x=>x.ToString())) + "),") + (mUnit == null ? "$" : "#" + mUnit.StepId);
|
||||
}
|
||||
internal override void parse(string str, ref int pos, ReleaseVersion release, int len, ConcurrentDictionary<int,BaseClassIfc> dictionary)
|
||||
{
|
||||
|
@ -843,7 +844,7 @@ namespace GeometryGym.Ifc
|
|||
{
|
||||
IfcValue value = ParserIfc.parseValue(values[icounter]);
|
||||
if (value != null)
|
||||
mNominalValue.Add(value);
|
||||
mListValues.Add(value);
|
||||
}
|
||||
mUnit = dictionary[ParserSTEP.StripLink(str, ref pos, len)] as IfcUnit;
|
||||
}
|
||||
|
@ -852,7 +853,7 @@ namespace GeometryGym.Ifc
|
|||
{
|
||||
protected override string BuildStringSTEP(ReleaseVersion release)
|
||||
{
|
||||
return base.BuildStringSTEP(release) + (mNominalValue == null || mNominalValue.Count == 0 ? ",$," : ",(" + string.Join(",", mNominalValue.Select(x => x.ToString())) + "),") + (mUnit == null ? "$" : "#" + mUnit.StepId);
|
||||
return base.BuildStringSTEP(release) + (mListValues == null || mListValues.Count == 0 ? ",$," : ",(" + string.Join(",", mListValues.Select(x => x.ToString())) + "),") + (mUnit == null ? "$" : "#" + mUnit.StepId);
|
||||
}
|
||||
}
|
||||
public partial class IfcPropertyReferenceValue
|
||||
|
|
|
@ -812,7 +812,7 @@ namespace GeometryGym.Ifc
|
|||
base.parse(str, ref pos, release, len, dictionary);
|
||||
ConnectionGeometry = dictionary[ParserSTEP.StripLink(str, ref pos, len)] as IfcConnectionGeometry;
|
||||
RelatingElement = dictionary[ParserSTEP.StripLink(str, ref pos, len)] as IfcElement;
|
||||
mRelatedElement = dictionary[ParserSTEP.StripLink(str, ref pos, len)] as IfcElement;
|
||||
RelatedElement = dictionary[ParserSTEP.StripLink(str, ref pos, len)] as IfcElement;
|
||||
}
|
||||
}
|
||||
public partial class IfcRelConnectsPathElements
|
||||
|
@ -1225,11 +1225,13 @@ namespace GeometryGym.Ifc
|
|||
public partial class IfcRelSpaceBoundary
|
||||
{
|
||||
protected override string BuildStringSTEP(ReleaseVersion release)
|
||||
{
|
||||
return ((release > ReleaseVersion.IFC2x3 && mRelatedBuildingElement == null) || mRelatingSpace == null ? "" :
|
||||
base.BuildStringSTEP(release) + ",#" + mRelatingSpace.StepId + ",#" + mRelatedBuildingElement.StepId +
|
||||
(mConnectionGeometry == null ? ",$" : ",#" + mConnectionGeometry.StepId) + ",." + mPhysicalOrVirtualBoundary.ToString() + ".,." +
|
||||
mInternalOrExternalBoundary.ToString() + ".");
|
||||
{
|
||||
if ((release > ReleaseVersion.IFC2x3 && mRelatedBuildingElement == null) || mRelatingSpace == null)
|
||||
return "";
|
||||
return base.BuildStringSTEP(release) + ",#" + mRelatingSpace.StepId +
|
||||
(mRelatedBuildingElement == null ? ",$" : ",#" + mRelatedBuildingElement.StepId) +
|
||||
(mConnectionGeometry == null ? ",$" : ",#" + mConnectionGeometry.StepId) + ",." +
|
||||
mPhysicalOrVirtualBoundary.ToString() + ".,." + mInternalOrExternalBoundary.ToString() + ".";
|
||||
}
|
||||
internal override void parse(string str, ref int pos, ReleaseVersion release, int len, ConcurrentDictionary<int, BaseClassIfc> dictionary)
|
||||
{
|
||||
|
|
|
@ -73,7 +73,7 @@ namespace GeometryGym.Ifc
|
|||
setAttribute(xml, "Description", Description);
|
||||
}
|
||||
}
|
||||
public abstract partial class IfcAddress
|
||||
public partial class IfcAddress
|
||||
{
|
||||
internal override void ParseXml(XmlElement xml)
|
||||
{
|
||||
|
@ -240,7 +240,7 @@ namespace GeometryGym.Ifc
|
|||
xml.AppendChild(CurveGeometry.GetXML(xml.OwnerDocument, "CurveGeometry", this, processed));
|
||||
}
|
||||
}
|
||||
public abstract partial class IfcAlignment2DSegment
|
||||
public partial class IfcAlignment2DSegment
|
||||
{
|
||||
internal override void ParseXml(XmlElement xml)
|
||||
{
|
||||
|
@ -298,7 +298,7 @@ namespace GeometryGym.Ifc
|
|||
setAttribute(xml, "IsConvex", IsConvex.ToString());
|
||||
}
|
||||
}
|
||||
public abstract partial class IfcAlignment2DVerticalSegment
|
||||
public partial class IfcAlignment2DVerticalSegment
|
||||
{
|
||||
internal override void ParseXml(XmlElement xml)
|
||||
{
|
||||
|
@ -517,7 +517,7 @@ namespace GeometryGym.Ifc
|
|||
}
|
||||
}
|
||||
}
|
||||
public abstract partial class IfcAlignmentParameterSegment
|
||||
public partial class IfcAlignmentParameterSegment
|
||||
{
|
||||
internal override void SetXML(XmlElement xml, BaseClassIfc host, Dictionary<string, XmlElement> processed)
|
||||
{
|
||||
|
@ -879,6 +879,48 @@ namespace GeometryGym.Ifc
|
|||
element.AppendChild(c.GetXML(xml.OwnerDocument, "", this, processed));
|
||||
}
|
||||
}
|
||||
public partial class IfcArchElement
|
||||
{
|
||||
internal override void ParseXml(XmlElement xml)
|
||||
{
|
||||
base.ParseXml(xml);
|
||||
if (xml.HasAttribute("PredefinedType"))
|
||||
Enum.TryParse<IfcArchElementTypeEnum>(xml.Attributes["PredefinedType"].Value, true, out mPredefinedType);
|
||||
foreach (XmlNode child in xml.ChildNodes)
|
||||
{
|
||||
string name = child.Name;
|
||||
if (string.Compare(name, "PredefinedType", true) == 0)
|
||||
Enum.TryParse<IfcArchElementTypeEnum>(child.InnerText, true, out mPredefinedType);
|
||||
}
|
||||
}
|
||||
internal override void SetXML(XmlElement xml, BaseClassIfc host, Dictionary<string, XmlElement> processed)
|
||||
{
|
||||
base.SetXML(xml, host, processed);
|
||||
if (mPredefinedType != IfcArchElementTypeEnum.NOTDEFINED)
|
||||
xml.SetAttribute("PredefinedType", mPredefinedType.ToString().ToLower());
|
||||
}
|
||||
}
|
||||
public partial class IfcArchElementType
|
||||
{
|
||||
internal override void ParseXml(XmlElement xml)
|
||||
{
|
||||
base.ParseXml(xml);
|
||||
if (xml.HasAttribute("PredefinedType"))
|
||||
Enum.TryParse<IfcArchElementTypeEnum>(xml.Attributes["PredefinedType"].Value, true, out mPredefinedType);
|
||||
foreach (XmlNode child in xml.ChildNodes)
|
||||
{
|
||||
string name = child.Name;
|
||||
if (string.Compare(name, "PredefinedType", true) == 0)
|
||||
Enum.TryParse<IfcArchElementTypeEnum>(child.InnerText, true, out mPredefinedType);
|
||||
}
|
||||
}
|
||||
internal override void SetXML(XmlElement xml, BaseClassIfc host, Dictionary<string, XmlElement> processed)
|
||||
{
|
||||
base.SetXML(xml, host, processed);
|
||||
if (mPredefinedType != IfcArchElementTypeEnum.NOTDEFINED)
|
||||
xml.SetAttribute("PredefinedType", mPredefinedType.ToString().ToLower());
|
||||
}
|
||||
}
|
||||
public partial class IfcAsymmetricIShapeProfileDef
|
||||
{
|
||||
internal override void ParseXml(XmlElement xml)
|
||||
|
|
|
@ -124,7 +124,7 @@ namespace GeometryGym.Ifc
|
|||
xml.SetAttribute("ZDim", mZDim.ToString());
|
||||
}
|
||||
}
|
||||
public abstract partial class IfcBSplineSurface
|
||||
public partial class IfcBSplineSurface
|
||||
{
|
||||
//internal override void SetXML(XmlElement xml, BaseClassIfc host, Dictionary<string, XmlElement> processed)
|
||||
//{
|
||||
|
|
|
@ -126,7 +126,7 @@ namespace GeometryGym.Ifc
|
|||
xml.SetAttribute("CoordList", string.Join(" ", mCoordList.Select(x => x.Item1 + " " + x.Item2 + " " + x.Item3)));
|
||||
}
|
||||
}
|
||||
public abstract partial class IfcCartesianTransformationOperator
|
||||
public partial class IfcCartesianTransformationOperator
|
||||
{
|
||||
internal override void ParseXml(XmlElement xml)
|
||||
{
|
||||
|
@ -459,7 +459,7 @@ namespace GeometryGym.Ifc
|
|||
xml.SetAttribute("Blue", mBlue.ToString());
|
||||
}
|
||||
}
|
||||
public abstract partial class IfcColourSpecification
|
||||
public partial class IfcColourSpecification
|
||||
{
|
||||
internal override void ParseXml(XmlElement xml)
|
||||
{
|
||||
|
@ -612,7 +612,7 @@ namespace GeometryGym.Ifc
|
|||
setAttribute(xml, "Label", Label);
|
||||
}
|
||||
}
|
||||
public abstract partial class IfcConic
|
||||
public partial class IfcConic
|
||||
{
|
||||
internal override void ParseXml(XmlElement xml)
|
||||
{
|
||||
|
@ -658,7 +658,7 @@ namespace GeometryGym.Ifc
|
|||
element.AppendChild(face.GetXML(xml.OwnerDocument, "", host, processed));
|
||||
}
|
||||
}
|
||||
public abstract partial class IfcContext
|
||||
public partial class IfcContext
|
||||
{
|
||||
internal override void ParseXml(XmlElement xml)
|
||||
{
|
||||
|
@ -781,7 +781,7 @@ namespace GeometryGym.Ifc
|
|||
xml.AppendChild((CurveOnRelatedElement as BaseClassIfc).GetXML(xml.OwnerDocument, "CurveOnRelatedElement", this, processed));
|
||||
}
|
||||
}
|
||||
public abstract partial class IfcConstraint
|
||||
public partial class IfcConstraint
|
||||
{
|
||||
internal override void ParseXml(XmlElement xml)
|
||||
{
|
||||
|
@ -904,7 +904,7 @@ namespace GeometryGym.Ifc
|
|||
Enum.TryParse<IfcConveyorSegmentTypeEnum>(predefinedType.Value, out mPredefinedType);
|
||||
}
|
||||
}
|
||||
public abstract partial class IfcCoordinateOperation
|
||||
public partial class IfcCoordinateOperation
|
||||
{
|
||||
internal override void ParseXml(XmlElement xml)
|
||||
{
|
||||
|
@ -923,7 +923,7 @@ namespace GeometryGym.Ifc
|
|||
xml.AppendChild(TargetCRS.GetXML(xml.OwnerDocument, "TargetCRS", this, processed));
|
||||
}
|
||||
}
|
||||
public abstract partial class IfcCoordinateReferenceSystem
|
||||
public partial class IfcCoordinateReferenceSystem
|
||||
{
|
||||
internal override void ParseXml(XmlElement xml)
|
||||
{
|
||||
|
@ -934,16 +934,13 @@ namespace GeometryGym.Ifc
|
|||
Description = xml.Attributes["Description"].Value;
|
||||
if (xml.HasAttribute("GeodeticDatum"))
|
||||
GeodeticDatum = xml.Attributes["GeodeticDatum"].Value;
|
||||
if (xml.HasAttribute("VerticalDatum"))
|
||||
VerticalDatum = xml.Attributes["VerticalDatum"].Value;
|
||||
}
|
||||
internal override void SetXML(XmlElement xml, BaseClassIfc host, Dictionary<string, XmlElement> processed)
|
||||
{
|
||||
base.SetXML(xml, host, processed);
|
||||
setAttribute(xml, "Name", Name);
|
||||
setAttribute(xml, "Description", Description);
|
||||
xml.SetAttribute("GeodeticDatum", GeodeticDatum);
|
||||
setAttribute(xml, "VerticalDatum", VerticalDatum);
|
||||
setAttribute(xml, "GeodeticDatum", GeodeticDatum);
|
||||
}
|
||||
}
|
||||
public partial class IfcCosineSpiral
|
||||
|
@ -1027,7 +1024,7 @@ namespace GeometryGym.Ifc
|
|||
xml.SetAttribute("PredefinedType", mPredefinedType.ToString().ToLower());
|
||||
}
|
||||
}
|
||||
public abstract partial class IfcCsgPrimitive3D
|
||||
public partial class IfcCsgPrimitive3D
|
||||
{
|
||||
internal override void ParseXml(XmlElement xml)
|
||||
{
|
||||
|
@ -1186,7 +1183,7 @@ namespace GeometryGym.Ifc
|
|||
}
|
||||
}
|
||||
}
|
||||
public abstract partial class IfcCurveSegment2D
|
||||
public partial class IfcCurveSegment2D
|
||||
{
|
||||
internal override void ParseXml(XmlElement xml)
|
||||
{
|
||||
|
|
|
@ -173,7 +173,7 @@ namespace GeometryGym.Ifc
|
|||
xml.SetAttribute("DirectionRatios", RoundRatio(mDirectionRatioX) + " " + RoundRatio(mDirectionRatioY) + (double.IsNaN(mDirectionRatioZ) ? "" : " " + RoundRatio(mDirectionRatioZ)));
|
||||
}
|
||||
}
|
||||
public abstract partial class IfcDirectrixCurveSweptAreaSolid
|
||||
public partial class IfcDirectrixCurveSweptAreaSolid
|
||||
{
|
||||
internal override void SetXML(XmlElement xml, BaseClassIfc host, Dictionary<string, XmlElement> processed)
|
||||
{
|
||||
|
|
|
@ -110,7 +110,7 @@ namespace GeometryGym.Ifc
|
|||
Enum.TryParse<IfcElectricFlowTreatmentDeviceTypeEnum>(predefinedType.Value, out mPredefinedType);
|
||||
}
|
||||
}
|
||||
public abstract partial class IfcElement
|
||||
public partial class IfcElement
|
||||
{
|
||||
internal override void ParseXml(XmlElement xml)
|
||||
{
|
||||
|
@ -180,7 +180,7 @@ namespace GeometryGym.Ifc
|
|||
setChild(xml, "Quantities", Quantities.Values, processed);
|
||||
}
|
||||
}
|
||||
public abstract partial class IfcElementarySurface
|
||||
public partial class IfcElementarySurface
|
||||
{
|
||||
internal override void ParseXml(XmlElement xml)
|
||||
{
|
||||
|
@ -199,7 +199,7 @@ namespace GeometryGym.Ifc
|
|||
xml.AppendChild(Position.GetXML(xml.OwnerDocument, "Position", this, processed));
|
||||
}
|
||||
}
|
||||
public abstract partial class IfcElementType
|
||||
public partial class IfcElementType
|
||||
{
|
||||
internal override void ParseXml(XmlElement xml)
|
||||
{
|
||||
|
@ -230,7 +230,7 @@ namespace GeometryGym.Ifc
|
|||
xml.SetAttribute("SemiAxis2", mSemiAxis2.ToString());
|
||||
}
|
||||
}
|
||||
public abstract partial class IfcExtendedProperties
|
||||
public partial class IfcExtendedProperties
|
||||
{
|
||||
internal override void ParseXml(XmlElement xml)
|
||||
{
|
||||
|
@ -264,7 +264,7 @@ namespace GeometryGym.Ifc
|
|||
element.AppendChild(p.GetXML(xml.OwnerDocument, "", this, processed));
|
||||
}
|
||||
}
|
||||
public abstract partial class IfcExternalReference
|
||||
public partial class IfcExternalReference
|
||||
{
|
||||
internal override void ParseXml(XmlElement xml)
|
||||
{
|
||||
|
|
|
@ -24,6 +24,33 @@ using System.Xml;
|
|||
|
||||
namespace GeometryGym.Ifc
|
||||
{
|
||||
public partial class IfcGeographicCRS
|
||||
{
|
||||
internal override void ParseXml(XmlElement xml)
|
||||
{
|
||||
base.ParseXml(xml);
|
||||
if (xml.HasAttribute("PrimeMeridian"))
|
||||
PrimeMeridian = xml.Attributes["PrimeMeridian"].Value;
|
||||
|
||||
foreach (XmlNode child in xml.ChildNodes)
|
||||
{
|
||||
string name = child.Name;
|
||||
if (string.Compare(name, "AngleUnit") == 0)
|
||||
AngleUnit = mDatabase.ParseXml<IfcNamedUnit>(child as XmlElement);
|
||||
else if (string.Compare(name, "HeightUnit") == 0)
|
||||
HeightUnit = mDatabase.ParseXml<IfcNamedUnit>(child as XmlElement);
|
||||
}
|
||||
}
|
||||
internal override void SetXML(XmlElement xml, BaseClassIfc host, Dictionary<string, XmlElement> processed)
|
||||
{
|
||||
base.SetXML(xml, host, processed);
|
||||
setAttribute(xml, "PrimeMeridian", PrimeMeridian);
|
||||
if (mAngleUnit != null)
|
||||
xml.AppendChild(AngleUnit.GetXML(xml.OwnerDocument, "AngleUnit", this, processed));
|
||||
if (mHeightUnit != null)
|
||||
xml.AppendChild(AngleUnit.GetXML(xml.OwnerDocument, "HeightUnit", this, processed));
|
||||
}
|
||||
}
|
||||
public partial class IfcGeometricRepresentationContext
|
||||
{
|
||||
internal override void ParseXml(XmlElement xml)
|
||||
|
@ -247,6 +274,48 @@ namespace GeometryGym.Ifc
|
|||
xml.AppendChild(AxisCurve.GetXML(xml.OwnerDocument, "AxisCurve", this, processed));
|
||||
}
|
||||
}
|
||||
public partial class IfcGroundReinforcementElement
|
||||
{
|
||||
internal override void ParseXml(XmlElement xml)
|
||||
{
|
||||
base.ParseXml(xml);
|
||||
if (xml.HasAttribute("PredefinedType"))
|
||||
Enum.TryParse<IfcGroundReinforcementElementTypeEnum>(xml.Attributes["PredefinedType"].Value, true, out mPredefinedType);
|
||||
foreach (XmlNode child in xml.ChildNodes)
|
||||
{
|
||||
string name = child.Name;
|
||||
if (string.Compare(name, "PredefinedType", true) == 0)
|
||||
Enum.TryParse<IfcGroundReinforcementElementTypeEnum>(child.InnerText, true, out mPredefinedType);
|
||||
}
|
||||
}
|
||||
internal override void SetXML(XmlElement xml, BaseClassIfc host, Dictionary<string, XmlElement> processed)
|
||||
{
|
||||
base.SetXML(xml, host, processed);
|
||||
if (mPredefinedType != IfcGroundReinforcementElementTypeEnum.NOTDEFINED)
|
||||
xml.SetAttribute("PredefinedType", mPredefinedType.ToString().ToLower());
|
||||
}
|
||||
}
|
||||
public partial class IfcGroundReinforcementElementType
|
||||
{
|
||||
internal override void ParseXml(XmlElement xml)
|
||||
{
|
||||
base.ParseXml(xml);
|
||||
if (xml.HasAttribute("PredefinedType"))
|
||||
Enum.TryParse<IfcGroundReinforcementElementTypeEnum>(xml.Attributes["PredefinedType"].Value, true, out mPredefinedType);
|
||||
foreach (XmlNode child in xml.ChildNodes)
|
||||
{
|
||||
string name = child.Name;
|
||||
if (string.Compare(name, "PredefinedType", true) == 0)
|
||||
Enum.TryParse<IfcGroundReinforcementElementTypeEnum>(child.InnerText, true, out mPredefinedType);
|
||||
}
|
||||
}
|
||||
internal override void SetXML(XmlElement xml, BaseClassIfc host, Dictionary<string, XmlElement> processed)
|
||||
{
|
||||
base.SetXML(xml, host, processed);
|
||||
if (mPredefinedType != IfcGroundReinforcementElementTypeEnum.NOTDEFINED)
|
||||
xml.SetAttribute("PredefinedType", mPredefinedType.ToString().ToLower());
|
||||
}
|
||||
}
|
||||
public partial class IfcGroup
|
||||
{
|
||||
internal override void ParseXml(XmlElement xml)
|
||||
|
|
|
@ -25,32 +25,31 @@ namespace GeometryGym.Ifc
|
|||
{
|
||||
public partial class IfcKerb
|
||||
{
|
||||
internal override void SetXML(XmlElement xml, BaseClassIfc host, Dictionary<string, XmlElement> processed)
|
||||
{
|
||||
base.SetXML(xml, host, processed);
|
||||
xml.SetAttribute("Mountable", (mMountable ? "true" : "false"));
|
||||
}
|
||||
internal override void ParseXml(XmlElement xml)
|
||||
{
|
||||
base.ParseXml(xml);
|
||||
string mountable = xml.GetAttribute("Mountable");
|
||||
if (!string.IsNullOrEmpty(mountable))
|
||||
bool.TryParse(mountable, out mMountable);
|
||||
if (xml.HasAttribute("PredefinedType"))
|
||||
Enum.TryParse<IfcKerbTypeEnum>(xml.Attributes["PredefinedType"].Value, true, out mPredefinedType);
|
||||
}
|
||||
internal override void SetXML(XmlElement xml, BaseClassIfc host, Dictionary<string, XmlElement> processed)
|
||||
{
|
||||
base.SetXML(xml, host, processed);
|
||||
if (mPredefinedType != IfcKerbTypeEnum.NOTDEFINED)
|
||||
xml.SetAttribute("PredefinedType", mPredefinedType.ToString().ToLower());
|
||||
}
|
||||
}
|
||||
public partial class IfcKerbType
|
||||
{
|
||||
internal override void SetXML(XmlElement xml, BaseClassIfc host, Dictionary<string, XmlElement> processed)
|
||||
{
|
||||
base.SetXML(xml, host, processed);
|
||||
xml.SetAttribute("Mountable", (mMountable ? "true" : "false"));
|
||||
}
|
||||
internal override void ParseXml(XmlElement xml)
|
||||
{
|
||||
base.ParseXml(xml);
|
||||
string mountable = xml.GetAttribute("Mountable");
|
||||
if (!string.IsNullOrEmpty(mountable))
|
||||
bool.TryParse(mountable, out mMountable);
|
||||
if (xml.HasAttribute("PredefinedType"))
|
||||
Enum.TryParse<IfcKerbTypeEnum>(xml.Attributes["PredefinedType"].Value, true, out mPredefinedType);
|
||||
}
|
||||
internal override void SetXML(XmlElement xml, BaseClassIfc host, Dictionary<string, XmlElement> processed)
|
||||
{
|
||||
base.SetXML(xml, host, processed);
|
||||
xml.SetAttribute("PredefinedType", mPredefinedType.ToString().ToLower());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -56,7 +56,7 @@ namespace GeometryGym.Ifc
|
|||
setAttribute(xml, "Description", Description);
|
||||
}
|
||||
}
|
||||
public partial class IfcLibraryReference : IfcExternalReference, IfcLibrarySelect
|
||||
public partial class IfcLibraryReference
|
||||
{
|
||||
internal override void ParseXml(XmlElement xml)
|
||||
{
|
||||
|
@ -83,7 +83,7 @@ namespace GeometryGym.Ifc
|
|||
xml.AppendChild(ReferencedLibrary.GetXML(xml.OwnerDocument, "ReferencedLibrary", this, processed));
|
||||
}
|
||||
}
|
||||
public partial class IfcLine : IfcCurve
|
||||
public partial class IfcLine
|
||||
{
|
||||
internal override void ParseXml(XmlElement xml)
|
||||
{
|
||||
|
@ -105,7 +105,7 @@ namespace GeometryGym.Ifc
|
|||
xml.AppendChild(Dir.GetXML(xml.OwnerDocument, "Dir", this, processed));
|
||||
}
|
||||
}
|
||||
public partial class IfcLinearAxisWithInclination : IfcGeometricRepresentationItem
|
||||
public partial class IfcLinearAxisWithInclination
|
||||
{
|
||||
internal override void SetXML(XmlElement xml, BaseClassIfc host, Dictionary<string, XmlElement> processed)
|
||||
{
|
||||
|
@ -126,7 +126,7 @@ namespace GeometryGym.Ifc
|
|||
}
|
||||
}
|
||||
}
|
||||
public partial class IfcLinearPositioningElement : IfcPositioningElement //IFC4.1
|
||||
public partial class IfcLinearPositioningElement
|
||||
{
|
||||
internal override void ParseXml(XmlElement xml)
|
||||
{
|
||||
|
@ -145,7 +145,7 @@ namespace GeometryGym.Ifc
|
|||
xml.AppendChild((Axis as BaseClassIfc).GetXML(xml.OwnerDocument, "Axis", this, processed));
|
||||
}
|
||||
}
|
||||
public partial class IfcLinearPlacement : IfcObjectPlacement
|
||||
public partial class IfcLinearPlacement
|
||||
{
|
||||
internal override void ParseXml(XmlElement xml)
|
||||
{
|
||||
|
@ -183,7 +183,7 @@ namespace GeometryGym.Ifc
|
|||
double.TryParse(span, out mSpan);
|
||||
}
|
||||
}
|
||||
public partial class IfcLiquidTerminal : IfcFlowTerminal
|
||||
public partial class IfcLiquidTerminal
|
||||
{
|
||||
internal override void SetXML(XmlElement xml, BaseClassIfc host, Dictionary<string, XmlElement> processed)
|
||||
{
|
||||
|
@ -199,7 +199,7 @@ namespace GeometryGym.Ifc
|
|||
Enum.TryParse<IfcLiquidTerminalTypeEnum>(predefinedType.Value, out mPredefinedType);
|
||||
}
|
||||
}
|
||||
public partial class IfcLiquidTerminalType : IfcFlowTerminalType
|
||||
public partial class IfcLiquidTerminalType
|
||||
{
|
||||
internal override void SetXML(XmlElement xml, BaseClassIfc host, Dictionary<string, XmlElement> processed)
|
||||
{
|
||||
|
@ -214,7 +214,7 @@ namespace GeometryGym.Ifc
|
|||
Enum.TryParse<IfcLiquidTerminalTypeEnum>(predefinedType.Value, out mPredefinedType);
|
||||
}
|
||||
}
|
||||
public partial class IfcLocalPlacement : IfcObjectPlacement
|
||||
public partial class IfcLocalPlacement
|
||||
{
|
||||
internal override void ParseXml(XmlElement xml)
|
||||
{
|
||||
|
@ -233,7 +233,7 @@ namespace GeometryGym.Ifc
|
|||
xml.AppendChild((mRelativePlacement as BaseClassIfc).GetXML(xml.OwnerDocument, "RelativePlacement", this, processed));
|
||||
}
|
||||
}
|
||||
public partial class IfcLShapeProfileDef : IfcParameterizedProfileDef
|
||||
public partial class IfcLShapeProfileDef
|
||||
{
|
||||
internal override void ParseXml(XmlElement xml)
|
||||
{
|
||||
|
|
|
@ -23,7 +23,7 @@ using System.Xml;
|
|||
|
||||
namespace GeometryGym.Ifc
|
||||
{
|
||||
public abstract partial class IfcManifoldSolidBrep : IfcSolidModel //ABSTRACT SUPERTYPE OF(ONEOF(IfcAdvancedBrep, IfcFacetedBrep))
|
||||
public partial class IfcManifoldSolidBrep
|
||||
{
|
||||
internal override void ParseXml(XmlElement xml)
|
||||
{
|
||||
|
@ -41,7 +41,7 @@ namespace GeometryGym.Ifc
|
|||
xml.AppendChild(Outer.GetXML(xml.OwnerDocument, "Outer", this, processed));
|
||||
}
|
||||
}
|
||||
public partial class IfcMapConversion : IfcCoordinateOperation //IFC4
|
||||
public partial class IfcMapConversion
|
||||
{
|
||||
internal override void ParseXml(XmlElement xml)
|
||||
{
|
||||
|
@ -76,7 +76,7 @@ namespace GeometryGym.Ifc
|
|||
setAttribute(xml, "ScaleZ", mScaleZ);
|
||||
}
|
||||
}
|
||||
public partial class IfcMarineFacility : IfcFacility
|
||||
public partial class IfcMarineFacility
|
||||
{
|
||||
internal override void SetXML(XmlElement xml, BaseClassIfc host, Dictionary<string, XmlElement> processed)
|
||||
{
|
||||
|
@ -91,7 +91,7 @@ namespace GeometryGym.Ifc
|
|||
Enum.TryParse<IfcMarineFacilityTypeEnum>(predefinedType.Value, out mPredefinedType);
|
||||
}
|
||||
}
|
||||
public partial class IfcMaterial : IfcMaterialDefinition
|
||||
public partial class IfcMaterial
|
||||
{
|
||||
internal override void ParseXml(XmlElement xml)
|
||||
{
|
||||
|
@ -122,7 +122,7 @@ namespace GeometryGym.Ifc
|
|||
xml.AppendChild(mHasRepresentation.GetXML(xml.OwnerDocument, "HasRepresentation", this, processed));
|
||||
}
|
||||
}
|
||||
public abstract partial class IfcMaterialDefinition
|
||||
public partial class IfcMaterialDefinition
|
||||
{
|
||||
internal override void ParseXml(XmlElement xml)
|
||||
{
|
||||
|
@ -152,7 +152,7 @@ namespace GeometryGym.Ifc
|
|||
}
|
||||
}
|
||||
}
|
||||
public partial class IfcMaterialDefinitionRepresentation : IfcProductRepresentation<IfcStyledRepresentation, IfcStyledItem>
|
||||
public partial class IfcMaterialDefinitionRepresentation
|
||||
{
|
||||
internal override void ParseXml(XmlElement xml)
|
||||
{
|
||||
|
@ -170,7 +170,7 @@ namespace GeometryGym.Ifc
|
|||
//xml.AppendChild(RepresentedMaterial.GetXML(xml.OwnerDocument, "RepresentedMaterial", this, processed));
|
||||
}
|
||||
}
|
||||
public partial class IfcMaterialLayer : IfcMaterialDefinition
|
||||
public partial class IfcMaterialLayer
|
||||
{
|
||||
internal override void ParseXml(XmlElement xml)
|
||||
{
|
||||
|
@ -212,7 +212,7 @@ namespace GeometryGym.Ifc
|
|||
}
|
||||
}
|
||||
}
|
||||
public partial class IfcMaterialLayerSet : IfcMaterialDefinition
|
||||
public partial class IfcMaterialLayerSet
|
||||
{
|
||||
internal override void ParseXml(XmlElement xml)
|
||||
{
|
||||
|
@ -246,7 +246,7 @@ namespace GeometryGym.Ifc
|
|||
setAttribute(xml, "Description", Description);
|
||||
}
|
||||
}
|
||||
public partial class IfcMaterialLayerSetUsage : IfcMaterialUsageDefinition
|
||||
public partial class IfcMaterialLayerSetUsage
|
||||
{
|
||||
internal override void ParseXml(XmlElement xml)
|
||||
{
|
||||
|
@ -277,7 +277,7 @@ namespace GeometryGym.Ifc
|
|||
xml.SetAttribute("ReferenceExtent", mReferenceExtent.ToString());
|
||||
}
|
||||
}
|
||||
public partial class IfcMaterialProfile : IfcMaterialDefinition // IFC4
|
||||
public partial class IfcMaterialProfile
|
||||
{
|
||||
internal override void ParseXml(XmlElement xml)
|
||||
{
|
||||
|
@ -313,7 +313,7 @@ namespace GeometryGym.Ifc
|
|||
setAttribute(xml, "Category", Category);
|
||||
}
|
||||
}
|
||||
public partial class IfcMaterialProfileSet : IfcMaterialDefinition //IFC4
|
||||
public partial class IfcMaterialProfileSet
|
||||
{
|
||||
internal override void SetXML(XmlElement xml, BaseClassIfc host, Dictionary<string, XmlElement> processed)
|
||||
{
|
||||
|
@ -328,7 +328,7 @@ namespace GeometryGym.Ifc
|
|||
xml.AppendChild(CompositeProfile.GetXML(xml.OwnerDocument, "CompositeProfile", this, processed));
|
||||
}
|
||||
}
|
||||
public partial class IfcMaterialProfileSetUsage : IfcMaterialUsageDefinition //IFC4
|
||||
public partial class IfcMaterialProfileSetUsage
|
||||
{
|
||||
internal override void SetXML(XmlElement xml, BaseClassIfc host, Dictionary<string, XmlElement> processed)
|
||||
{
|
||||
|
@ -340,7 +340,7 @@ namespace GeometryGym.Ifc
|
|||
setAttribute(xml, "ReferenceExtent", ReferenceExtent);
|
||||
}
|
||||
}
|
||||
public partial class IfcMeasureWithUnit : BaseClassIfc, IfcAppliedValueSelect
|
||||
public partial class IfcMeasureWithUnit
|
||||
{
|
||||
internal override void ParseXml(XmlElement xml)
|
||||
{
|
||||
|
@ -361,7 +361,7 @@ namespace GeometryGym.Ifc
|
|||
xml.AppendChild((mUnitComponent as BaseClassIfc).GetXML(xml.OwnerDocument, "UnitComponent", this, processed));
|
||||
}
|
||||
}
|
||||
public partial class IfcMetric : IfcConstraint
|
||||
public partial class IfcMetric
|
||||
{
|
||||
internal override void ParseXml(XmlElement xml)
|
||||
{
|
||||
|
@ -404,7 +404,7 @@ namespace GeometryGym.Ifc
|
|||
xml.AppendChild(ReferencePath.GetXML(xml.OwnerDocument, "ReferencePath", this, processed));
|
||||
}
|
||||
}
|
||||
public partial class IfcMobileTelecommunicationsAppliance : IfcFlowTerminal
|
||||
public partial class IfcMobileTelecommunicationsAppliance
|
||||
{
|
||||
internal override void SetXML(XmlElement xml, BaseClassIfc host, Dictionary<string, XmlElement> processed)
|
||||
{
|
||||
|
@ -420,7 +420,7 @@ namespace GeometryGym.Ifc
|
|||
Enum.TryParse<IfcMobileTelecommunicationsApplianceTypeEnum>(predefinedType.Value, out mPredefinedType);
|
||||
}
|
||||
}
|
||||
public partial class IfcMobileTelecommunicationsApplianceType : IfcFlowTerminalType
|
||||
public partial class IfcMobileTelecommunicationsApplianceType
|
||||
{
|
||||
internal override void SetXML(XmlElement xml, BaseClassIfc host, Dictionary<string, XmlElement> processed)
|
||||
{
|
||||
|
@ -435,7 +435,7 @@ namespace GeometryGym.Ifc
|
|||
Enum.TryParse<IfcMobileTelecommunicationsApplianceTypeEnum>(predefinedType.Value, out mPredefinedType);
|
||||
}
|
||||
}
|
||||
public partial class IfcMooringDevice : IfcBuiltElement
|
||||
public partial class IfcMooringDevice
|
||||
{
|
||||
internal override void SetXML(XmlElement xml, BaseClassIfc host, Dictionary<string, XmlElement> processed)
|
||||
{
|
||||
|
@ -451,7 +451,7 @@ namespace GeometryGym.Ifc
|
|||
Enum.TryParse<IfcMooringDeviceTypeEnum>(predefinedType.Value, out mPredefinedType);
|
||||
}
|
||||
}
|
||||
public partial class IfcMooringDeviceType : IfcBuiltElementType
|
||||
public partial class IfcMooringDeviceType
|
||||
{
|
||||
internal override void SetXML(XmlElement xml, BaseClassIfc host, Dictionary<string, XmlElement> processed)
|
||||
{
|
||||
|
|
|
@ -23,7 +23,7 @@ using System.Xml;
|
|||
|
||||
namespace GeometryGym.Ifc
|
||||
{
|
||||
public abstract partial class IfcObject
|
||||
public partial class IfcObject
|
||||
{
|
||||
internal override void ParseXml(XmlElement xml)
|
||||
{
|
||||
|
@ -46,7 +46,7 @@ namespace GeometryGym.Ifc
|
|||
xml.AppendChild(mIsTypedBy.GetXML(xml.OwnerDocument, "IsTypedBy", this, processed));
|
||||
}
|
||||
}
|
||||
public abstract partial class IfcObjectDefinition
|
||||
public partial class IfcObjectDefinition
|
||||
{
|
||||
internal override void ParseXml(XmlElement xml)
|
||||
{
|
||||
|
@ -189,7 +189,7 @@ namespace GeometryGym.Ifc
|
|||
|
||||
}
|
||||
}
|
||||
public abstract partial class IfcObjectPlacement
|
||||
public partial class IfcObjectPlacement
|
||||
{
|
||||
internal override void ParseXml(XmlElement xml)
|
||||
{
|
||||
|
|
|
@ -23,7 +23,7 @@ using System.Xml;
|
|||
|
||||
namespace GeometryGym.Ifc
|
||||
{
|
||||
public abstract partial class IfcParameterizedProfileDef
|
||||
public partial class IfcParameterizedProfileDef
|
||||
{
|
||||
internal override void ParseXml(XmlElement xml)
|
||||
{
|
||||
|
@ -164,7 +164,7 @@ namespace GeometryGym.Ifc
|
|||
xml.AppendChild(TheOrganization.GetXML(xml.OwnerDocument, "TheOrganization", this, processed));
|
||||
}
|
||||
}
|
||||
public abstract partial class IfcPhysicalQuantity
|
||||
public partial class IfcPhysicalQuantity
|
||||
{
|
||||
internal override void ParseXml(XmlElement xml)
|
||||
{
|
||||
|
@ -196,7 +196,7 @@ namespace GeometryGym.Ifc
|
|||
xml.SetAttribute("PredefinedType", mPredefinedType.ToString().ToLower());
|
||||
}
|
||||
}
|
||||
public abstract partial class IfcPlacement
|
||||
public partial class IfcPlacement
|
||||
{
|
||||
internal override void ParseXml(XmlElement xml)
|
||||
{
|
||||
|
@ -557,7 +557,7 @@ namespace GeometryGym.Ifc
|
|||
}
|
||||
}
|
||||
}
|
||||
public abstract partial class IfcPresentationStyle
|
||||
public partial class IfcPresentationStyle
|
||||
{
|
||||
internal override void ParseXml(XmlElement xml)
|
||||
{
|
||||
|
@ -600,7 +600,7 @@ namespace GeometryGym.Ifc
|
|||
element.AppendChild((item as BaseClassIfc).GetXML(xml.OwnerDocument, "", this, processed));
|
||||
}
|
||||
}
|
||||
public abstract partial class IfcProduct
|
||||
public partial class IfcProduct
|
||||
{
|
||||
internal override void ParseXml(XmlElement xml)
|
||||
{
|
||||
|
@ -765,6 +765,8 @@ namespace GeometryGym.Ifc
|
|||
internal override void ParseXml(XmlElement xml)
|
||||
{
|
||||
base.ParseXml(xml);
|
||||
if (xml.HasAttribute("VerticalDatum"))
|
||||
VerticalDatum = xml.Attributes["VerticalDatum"].Value;
|
||||
if (xml.HasAttribute("MapProjection"))
|
||||
MapProjection = xml.Attributes["MapProjection"].Value;
|
||||
if (xml.HasAttribute("MapZone"))
|
||||
|
@ -780,13 +782,14 @@ namespace GeometryGym.Ifc
|
|||
internal override void SetXML(XmlElement xml, BaseClassIfc host, Dictionary<string, XmlElement> processed)
|
||||
{
|
||||
base.SetXML(xml, host, processed);
|
||||
setAttribute(xml, "VerticalDatum", VerticalDatum);
|
||||
setAttribute(xml, "MapProjection", MapProjection);
|
||||
setAttribute(xml, "MapZone", MapZone);
|
||||
if (mMapUnit != null)
|
||||
xml.AppendChild(MapUnit.GetXML(xml.OwnerDocument, "MapUnit", this, processed));
|
||||
}
|
||||
}
|
||||
public abstract partial class IfcProperty
|
||||
public partial class IfcProperty
|
||||
{
|
||||
internal override void ParseXml(XmlElement xml)
|
||||
{
|
||||
|
@ -848,7 +851,7 @@ namespace GeometryGym.Ifc
|
|||
xml.AppendChild(convert(xml.OwnerDocument, mSetPointValue, "SetPointValue", mDatabase.mXmlNamespace));
|
||||
}
|
||||
}
|
||||
public abstract partial class IfcPropertyDefinition
|
||||
public partial class IfcPropertyDefinition
|
||||
{
|
||||
internal override void ParseXml(XmlElement xml)
|
||||
{
|
||||
|
@ -884,7 +887,7 @@ namespace GeometryGym.Ifc
|
|||
//}
|
||||
|
||||
}
|
||||
public abstract partial class IfcPropertyAbstraction
|
||||
public partial class IfcPropertyAbstraction
|
||||
{
|
||||
internal override void ParseXml(XmlElement xml)
|
||||
{
|
||||
|
|
|
@ -254,7 +254,7 @@ namespace GeometryGym.Ifc
|
|||
element.AppendChild(od.GetXML(xml.OwnerDocument, "", this, processed));
|
||||
}
|
||||
}
|
||||
public abstract partial class IfcRelAssigns
|
||||
public partial class IfcRelAssigns
|
||||
{
|
||||
internal override void ParseXml(XmlElement xml)
|
||||
{
|
||||
|
@ -333,7 +333,7 @@ namespace GeometryGym.Ifc
|
|||
}
|
||||
}
|
||||
|
||||
public abstract partial class IfcRelAssociates
|
||||
public partial class IfcRelAssociates
|
||||
{
|
||||
internal override void ParseXml(XmlElement xml)
|
||||
{
|
||||
|
@ -810,7 +810,7 @@ namespace GeometryGym.Ifc
|
|||
}
|
||||
}
|
||||
}
|
||||
public abstract partial class IfcRepresentationContext
|
||||
public partial class IfcRepresentationContext
|
||||
{
|
||||
internal override void ParseXml(XmlElement xml)
|
||||
{
|
||||
|
@ -835,7 +835,7 @@ namespace GeometryGym.Ifc
|
|||
setAttribute(xml, "ContextType", ContextType);
|
||||
}
|
||||
}
|
||||
public abstract partial class IfcRepresentationItem
|
||||
public partial class IfcRepresentationItem
|
||||
{
|
||||
internal override void ParseXml(XmlElement xml)
|
||||
{
|
||||
|
@ -944,7 +944,7 @@ namespace GeometryGym.Ifc
|
|||
xml.AppendChild(element);
|
||||
}
|
||||
}
|
||||
public abstract partial class IfcResourceLevelRelationship
|
||||
public partial class IfcResourceLevelRelationship
|
||||
{
|
||||
internal override void ParseXml(XmlElement xml)
|
||||
{
|
||||
|
@ -1016,7 +1016,11 @@ namespace GeometryGym.Ifc
|
|||
xml.SetAttribute("Radius", mRadius.ToString());
|
||||
}
|
||||
}
|
||||
public abstract partial class IfcRoot
|
||||
public partial class IfcRigidOperation
|
||||
{
|
||||
|
||||
}
|
||||
public partial class IfcRoot
|
||||
{
|
||||
internal override void ParseXml(XmlElement xml)
|
||||
{
|
||||
|
|
|
@ -125,7 +125,7 @@ namespace GeometryGym.Ifc
|
|||
element.AppendChild(p.GetXML(xml.OwnerDocument, "", this, processed));
|
||||
}
|
||||
}
|
||||
public abstract partial class IfcSegment
|
||||
public partial class IfcSegment
|
||||
{
|
||||
internal override void SetXML(XmlElement xml, BaseClassIfc host, Dictionary<string, XmlElement> processed)
|
||||
{
|
||||
|
@ -479,7 +479,7 @@ namespace GeometryGym.Ifc
|
|||
}
|
||||
}
|
||||
|
||||
public abstract partial class IfcSpatialElement
|
||||
public partial class IfcSpatialElement
|
||||
{
|
||||
internal override void ParseXml(XmlElement xml)
|
||||
{
|
||||
|
@ -529,7 +529,7 @@ namespace GeometryGym.Ifc
|
|||
}
|
||||
}
|
||||
}
|
||||
public abstract partial class IfcSpatialStructureElement
|
||||
public partial class IfcSpatialStructureElement
|
||||
{
|
||||
internal override void ParseXml(XmlElement xml)
|
||||
{
|
||||
|
@ -576,7 +576,7 @@ namespace GeometryGym.Ifc
|
|||
}
|
||||
}
|
||||
}
|
||||
public abstract partial class IfcStructuralAction
|
||||
public partial class IfcStructuralAction
|
||||
{
|
||||
internal override void ParseXml(XmlElement xml)
|
||||
{
|
||||
|
@ -604,7 +604,7 @@ namespace GeometryGym.Ifc
|
|||
xml.AppendChild(mCausedBy.GetXML(xml.OwnerDocument, "CausedBy", this, processed));
|
||||
}
|
||||
}
|
||||
public abstract partial class IfcStructuralActivity
|
||||
public partial class IfcStructuralActivity
|
||||
{
|
||||
internal override void ParseXml(XmlElement xml)
|
||||
{
|
||||
|
@ -689,7 +689,7 @@ namespace GeometryGym.Ifc
|
|||
xml.AppendChild(SharedPlacement.GetXML(xml.OwnerDocument, "SharedPlacement", this, processed));
|
||||
}
|
||||
}
|
||||
public abstract partial class IfcStructuralConnection
|
||||
public partial class IfcStructuralConnection
|
||||
{
|
||||
internal override void ParseXml(XmlElement xml)
|
||||
{
|
||||
|
@ -708,7 +708,7 @@ namespace GeometryGym.Ifc
|
|||
xml.AppendChild((mAppliedCondition as BaseClassIfc).GetXML(xml.OwnerDocument, "AppliedCondition", this, processed));
|
||||
}
|
||||
}
|
||||
public abstract partial class IfcStructuralConnectionCondition
|
||||
public partial class IfcStructuralConnectionCondition
|
||||
{
|
||||
internal override void ParseXml(XmlElement xml)
|
||||
{
|
||||
|
@ -779,7 +779,7 @@ namespace GeometryGym.Ifc
|
|||
xml.SetAttribute("PredefinedType", mPredefinedType.ToString().ToLower());
|
||||
}
|
||||
}
|
||||
public abstract partial class IfcStructuralItem
|
||||
public partial class IfcStructuralItem
|
||||
{
|
||||
internal override void ParseXml(XmlElement xml)
|
||||
{
|
||||
|
@ -971,7 +971,7 @@ namespace GeometryGym.Ifc
|
|||
xml.AppendChild(SurfaceColour.GetXML(xml.OwnerDocument, "SurfaceColour", this, processed));
|
||||
}
|
||||
}
|
||||
public abstract partial class IfcSweptAreaSolid
|
||||
public partial class IfcSweptAreaSolid
|
||||
{
|
||||
internal override void ParseXml(XmlElement xml)
|
||||
{
|
||||
|
@ -1027,7 +1027,7 @@ namespace GeometryGym.Ifc
|
|||
xml.SetAttribute("EndParam", mEndParam.ToString());
|
||||
}
|
||||
}
|
||||
public abstract partial class IfcSweptSurface
|
||||
public partial class IfcSweptSurface
|
||||
{
|
||||
internal override void ParseXml(XmlElement xml)
|
||||
{
|
||||
|
|
|
@ -228,7 +228,7 @@ namespace GeometryGym.Ifc
|
|||
setAttribute(xml, "WWWHomePageURL", WWWHomePageURL);
|
||||
}
|
||||
}
|
||||
public abstract partial class IfcTessellatedFaceSet
|
||||
public partial class IfcTessellatedFaceSet
|
||||
{
|
||||
internal override void SetXML(XmlElement xml, BaseClassIfc host, Dictionary<string, XmlElement> processed)
|
||||
{
|
||||
|
|
|
@ -20,8 +20,8 @@ using System.Reflection;
|
|||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
[assembly: AssemblyVersion("0.2.08.0")]
|
||||
[assembly: AssemblyFileVersion("0.2.08.0")]
|
||||
[assembly: AssemblyVersion("0.2.09.0")]
|
||||
[assembly: AssemblyFileVersion("0.2.09.0")]
|
||||
|
||||
[assembly: AssemblyTitle("GeometryGymIFC")]
|
||||
[assembly: AssemblyDescription("C# classes to generate and parse buildingSMART IFC (Industry Foundation Class) files")]
|
||||
|
|
|
@ -20,8 +20,8 @@ using System.Reflection;
|
|||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
[assembly: AssemblyVersion("0.2.08.0")]
|
||||
[assembly: AssemblyFileVersion("0.2.08.0")]
|
||||
[assembly: AssemblyVersion("0.2.09.0")]
|
||||
[assembly: AssemblyFileVersion("0.2.09.0")]
|
||||
// General Information about an assembly is controlled through the following
|
||||
// set of attributes. Change these attribute values to modify the information
|
||||
// associated with an assembly.
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
<PropertyGroup>
|
||||
<TargetFramework>netstandard2.0</TargetFramework>
|
||||
<PackageId>GeometryGymIFC_Core</PackageId>
|
||||
<Version>0.2.08</Version>
|
||||
<Version>0.2.09</Version>
|
||||
<Authors>Geometry Gym</Authors>
|
||||
<Product>GeometryGymIFC_Core</Product>
|
||||
<Description>.Net Standard 2.0 C# classes to generate and parse buildingSMART IFC (Industry Foundation Class) files
|
||||
|
@ -14,8 +14,8 @@ License https://github.com/GeometryGym/GeometryGymIFC/blob/master/LICENSE</Descr
|
|||
<PackageProjectUrl></PackageProjectUrl>
|
||||
<RepositoryUrl>https://github.com/GeometryGym/GeometryGymIFC</RepositoryUrl>
|
||||
<PackageTags>BIM, IFC, openBIM</PackageTags>
|
||||
<AssemblyVersion>0.2.08.0</AssemblyVersion>
|
||||
<FileVersion>0.2.08.0</FileVersion>
|
||||
<AssemblyVersion>0.2.09.0</AssemblyVersion>
|
||||
<FileVersion>0.2.09.0</FileVersion>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
|
||||
|
|
|
@ -50,7 +50,7 @@ namespace GeometryGym.Ifc
|
|||
return Plane.Unset;
|
||||
}
|
||||
}
|
||||
public partial class IfcAlignmentHorizontalSegment : IfcAlignmentParameterSegment
|
||||
public partial class IfcAlignmentHorizontalSegment
|
||||
{
|
||||
public Vector2d StartTangent2d()
|
||||
{
|
||||
|
@ -98,11 +98,11 @@ namespace GeometryGym.Ifc
|
|||
throw new NotImplementedException("Plane at length for " + PredefinedType + " not implemented yet!");
|
||||
}
|
||||
}
|
||||
public partial class IfcAxis1Placement : IfcPlacement
|
||||
public partial class IfcAxis1Placement
|
||||
{
|
||||
internal Vector3d AxisVector { get { return (mAxis != null ? Axis.Vector3d : Vector3d.XAxis); } }
|
||||
}
|
||||
public partial class IfcAxis2Placement2D : IfcPlacement, IfcAxis2Placement
|
||||
public partial class IfcAxis2Placement2D
|
||||
{
|
||||
internal Vector3d DirectionVector { get { return (mRefDirection != null ? RefDirection.Vector3d : Vector3d.XAxis); } }
|
||||
|
||||
|
|
|
@ -28,7 +28,7 @@ using Rhino.Geometry;
|
|||
|
||||
namespace GeometryGym.Ifc
|
||||
{
|
||||
public partial class IfcCartesianPoint : IfcPoint
|
||||
public partial class IfcCartesianPoint
|
||||
{
|
||||
public override Point3d Location { get { return new Point3d(mCoordinateX, double.IsNaN( mCoordinateY) ? 0 : mCoordinateY, double.IsNaN(mCoordinateZ) ? 0 : mCoordinateZ); } }
|
||||
public Point2d Location2d() { return new Point2d(mCoordinateX, double.IsNaN( mCoordinateY) ? 0 : mCoordinateY); }
|
||||
|
@ -44,11 +44,11 @@ namespace GeometryGym.Ifc
|
|||
}
|
||||
internal IfcCartesianPoint(DatabaseIfc m, Point2d pt) : base(m) { Coordinates2d = pt; }
|
||||
}
|
||||
public abstract partial class IfcCartesianPointList : IfcGeometricRepresentationItem //IFC4
|
||||
public partial class IfcCartesianPointList
|
||||
{
|
||||
public abstract List<Point3d> Points();
|
||||
}
|
||||
public partial class IfcCartesianPointList2D : IfcCartesianPointList //IFC4
|
||||
public partial class IfcCartesianPointList2D
|
||||
{
|
||||
public IfcCartesianPointList2D(DatabaseIfc db, IEnumerable<Point2d> coordList) : base(db)
|
||||
{
|
||||
|
@ -56,14 +56,14 @@ namespace GeometryGym.Ifc
|
|||
}
|
||||
public override List<Point3d> Points() { return mCoordList.Select(x => new Point3d(x.Item1, x.Item2, 0)).ToList(); }
|
||||
}
|
||||
public partial class IfcCartesianPointList3D : IfcCartesianPointList //IFC4
|
||||
public partial class IfcCartesianPointList3D
|
||||
{
|
||||
public IfcCartesianPointList3D(DatabaseIfc db, IEnumerable<Point3d> coordList) : base(db)
|
||||
{
|
||||
mCoordList.AddRange(coordList.Select(x=> new Tuple<double, double, double>(x.X, x.Y, x.Z))); }
|
||||
public override List<Point3d> Points() { return mCoordList.Select(x => new Point3d(x.Item1, x.Item2, x.Item3)).ToList(); }
|
||||
}
|
||||
public abstract partial class IfcCartesianTransformationOperator
|
||||
public partial class IfcCartesianTransformationOperator
|
||||
{
|
||||
public Transform Transform()
|
||||
{
|
||||
|
|
|
@ -27,7 +27,7 @@ using Rhino.Geometry;
|
|||
|
||||
namespace GeometryGym.Ifc
|
||||
{
|
||||
public partial class IfcDirection : IfcGeometricRepresentationItem
|
||||
public partial class IfcDirection
|
||||
{
|
||||
public Vector3d Vector3d { get { return new Vector3d(mDirectionRatioX, mDirectionRatioY, double.IsNaN(mDirectionRatioZ) ? 0 : mDirectionRatioZ); } }
|
||||
public IfcDirection(DatabaseIfc db, Vector3d v) : base(db)
|
||||
|
|
|
@ -27,11 +27,11 @@ using Rhino.Geometry;
|
|||
|
||||
namespace GeometryGym.Ifc
|
||||
{
|
||||
public partial class IfcPlacement : IfcGeometricRepresentationItem /*ABSTRACT SUPERTYPE OF (ONEOF (IfcAxis1Placement ,IfcAxis2Placement2D ,IfcAxis2Placement3D))*/
|
||||
public partial class IfcPlacement
|
||||
{
|
||||
internal Point3d LocationPoint { get { return mLocation.Location; } }
|
||||
}
|
||||
public abstract partial class IfcPoint : IfcGeometricRepresentationItem, IfcGeometricSetSelect, IfcPointOrVertexPoint /*ABSTRACT SUPERTYPE OF (ONEOF (IfcCartesianPoint ,IfcPointOnCurve ,IfcPointOnSurface))*/
|
||||
public partial class IfcPoint
|
||||
{
|
||||
public virtual Point3d Location { get { return Point3d.Unset; } }
|
||||
}
|
||||
|
@ -53,8 +53,8 @@ namespace GeometryGym.Ifc
|
|||
Points = new STEP.LIST<IfcCartesianPoint>(pl.ConvertAll(x => new IfcCartesianPoint(db, x)));
|
||||
}
|
||||
}
|
||||
public partial class IfcProfileDef : BaseClassIfc, IfcResourceObjectSelect // SUPERTYPE OF (ONEOF (IfcArbitraryClosedProfileDef ,IfcArbitraryOpenProfileDef
|
||||
{ //,IfcCompositeProfileDef ,IfcDerivedProfileDef ,IfcParameterizedProfileDef)); IFC2x3 abstract
|
||||
public partial class IfcProfileDef
|
||||
{
|
||||
internal virtual Transform Transform() { return Rhino.Geometry.Transform.Identity; }
|
||||
}
|
||||
}
|
||||
|
|
|
@ -28,14 +28,14 @@ using Rhino.Geometry.Intersect;
|
|||
|
||||
namespace GeometryGym.Ifc
|
||||
{
|
||||
public partial class IfcVector : IfcGeometricRepresentationItem
|
||||
public partial class IfcVector
|
||||
{
|
||||
internal Vector3d Vector { get { return Orientation.Vector3d * mMagnitude; } }
|
||||
|
||||
public IfcVector(DatabaseIfc db, Vector2d v) : base(db) { Orientation = new IfcDirection(db, v); mMagnitude = v.Length; }
|
||||
public IfcVector(DatabaseIfc db, Vector3d v) : base(db) { Orientation = new IfcDirection(db, v); mMagnitude = v.Length; }
|
||||
}
|
||||
public partial class IfcVirtualGridIntersection : BaseClassIfc
|
||||
public partial class IfcVirtualGridIntersection
|
||||
{
|
||||
internal Vector3d OffsetVector { get { return new Vector3d(mOffsetDistances.Item1, mOffsetDistances.Item2, double.IsNaN(mOffsetDistances.Item3) ? 0 : mOffsetDistances.Item3); } }
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче