internal IfcLocalPlacement(DatabaseIfc db, IfcLocalPlacement p) : base(db, p) { if (p.mPlacementRelTo > 0) { PlacementRelTo = db.Factory.Duplicate(p.PlacementRelTo) as IfcObjectPlacement; } RelativePlacement = db.Factory.Duplicate(p.mDatabase[p.mRelativePlacement]) as IfcAxis2Placement; }
public IfcOpeningElement(IfcElement host, IfcObjectPlacement placement, IfcProductRepresentation rep) : base(host.mDatabase) { if (placement == null) Placement = new IfcLocalPlacement(host.Placement, new IfcAxis2Placement3D(Database.Factory.Origin)); else Placement = placement; Representation = rep; IfcRelVoidsElement rve = new IfcRelVoidsElement(host, this); }
internal override bool isXYPlane(double tol) { IfcLocalPlacement placement = PlacementRelTo as IfcLocalPlacement; if (RelativePlacement.IsXYPlane(tol) && (placement == null || placement.isXYPlane(tol))) { return(true); } return(false); }
internal static void parseFields(IfcLocalPlacement p, List <string> arrFields, ref int ipos) { IfcObjectPlacement.parseFields(p, arrFields, ref ipos); p.mPlacementRelTo = ParserSTEP.ParseLink(arrFields[ipos++]); p.mRelativePlacement = ParserSTEP.ParseLink(arrFields[ipos++]); }
internal static IfcLocalPlacement Parse(string strDef) { IfcLocalPlacement p = new IfcLocalPlacement(); int ipos = 0; parseFields(p, ParserSTEP.SplitLineFields(strDef), ref ipos); return(p); }
internal IfcLocalPlacement(IfcLocalPlacement p) : base(p) { mPlacementRelTo = p.mPlacementRelTo; mRelativePlacement = p.mRelativePlacement; }
protected IfcFeatureElementSubtraction(IfcElement host, IfcProductRepresentation rep) : base(host.mDatabase) { new IfcRelVoidsElement(host, this); Representation = rep; Placement = new IfcLocalPlacement(host.Placement, mDatabase.Factory.PlaneXYPlacement); }
internal IfcLocalPlacement(DatabaseIfc db, IfcLocalPlacement p) : base(db, p) { RelativePlacement = db.Factory.Duplicate(p.mRelativePlacement) as IfcAxis2Placement; }
internal static IfcLocalPlacement Parse(string strDef) { IfcLocalPlacement p = new IfcLocalPlacement(); int ipos = 0; parseFields(p, ParserSTEP.SplitLineFields(strDef), ref ipos); return p; }
internal static void parseFields(IfcLocalPlacement p, List<string> arrFields, ref int ipos) { IfcObjectPlacement.parseFields(p, arrFields, ref ipos); p.mPlacementRelTo = ParserSTEP.ParseLink(arrFields[ipos++]); p.mRelativePlacement = ParserSTEP.ParseLink(arrFields[ipos++]); }
internal IfcLocalPlacement(DatabaseIfc db, IfcLocalPlacement p) : base(db, p) { if (p.mPlacementRelTo > 0) PlacementRelTo = db.Factory.Duplicate(p.PlacementRelTo) as IfcObjectPlacement; RelativePlacement = db.Factory.Duplicate(p.mDatabase[p.mRelativePlacement]) as IfcAxis2Placement; }
internal void setAggregate(BaseClassIfc obj) { IfcProduct product = obj as IfcProduct; if (product != null) { mProducts.Add(product); IfcBuildingStorey buildingStorey = obj as IfcBuildingStorey; if (buildingStorey != null) { mBuildingStories.Add(buildingStorey); } IfcGrid grid = obj as IfcGrid; if (grid != null) { mGrids.Add(grid); } IfcSlab slab = product as IfcSlab; if (slab != null) { mSlabs.Add(slab); } IfcStructuralItem structuralItem = obj as IfcStructuralItem; if (structuralItem != null) { mStructItems.Add(structuralItem); } IfcWall wall = product as IfcWall; if (wall != null) { mWalls.Add(wall); } return; } //IfcApplication application = obj as IfcApplication; //if (application != null) // mApplications.Add(application); IfcComplexProperty cp = obj as IfcComplexProperty; if (cp != null) { mComplexProperties.Add(cp); return; } IfcCoordinateOperation coordOp = obj as IfcCoordinateOperation; if (coordOp != null) { mCoordinateOperations.Add(coordOp); return; } IfcEdgeCurve edgeCurve = obj as IfcEdgeCurve; if (edgeCurve != null) { mEdgeCurves.Add(edgeCurve); return; } IfcExternalReferenceRelationship externalReferenceRelationship = obj as IfcExternalReferenceRelationship; if (externalReferenceRelationship != null) { mExternalRelationships.Add(externalReferenceRelationship); return; } //IfcExtrudedAreaSolid extrudedAreaSolid = result as IfcExtrudedAreaSolid; //if(extrudedAreaSolid != null) //{ // if(result as IfcExtrudedAreaSolidTapered == null) // aggregate.mExtrusions.Add(extrudedAreaSolid); // return extrudedAreaSolid; //} IfcGeometricRepresentationSubContext geometricRepresentationContext = obj as IfcGeometricRepresentationSubContext; if (geometricRepresentationContext != null) { mGeomContexts.Add(geometricRepresentationContext); return; } IfcGroup group = obj as IfcGroup; if (group != null) { IfcZone zone = group as IfcZone; if (zone != null) { mZones.Add(zone); return; } mGroups.Add(group); return; } IfcIndexedColourMap indexedColourMap = obj as IfcIndexedColourMap; if (indexedColourMap != null) { mIndexedColourMap.Add(indexedColourMap); return; } IfcIndexedTextureMap indexedTextureMap = obj as IfcIndexedTextureMap; if (indexedTextureMap != null) { mIndexedTextureMap.Add(indexedTextureMap); return; } IfcLocalPlacement localPlacement = obj as IfcLocalPlacement; if (localPlacement != null) { mLocalPlacements.Add(localPlacement); return; } IfcMappedItem mi = obj as IfcMappedItem; if (mi != null) { mMappedItems.Add(mi); return; } IfcMaterial material = obj as IfcMaterial; if (material != null) { mMaterials.Add(material); return; } IfcMaterialProperties materialProperties = obj as IfcMaterialProperties; if (materialProperties != null) { mMaterialProperties.Add(materialProperties); return; } IfcMaterialPropertiesSuperSeded materialPropertiesSS = obj as IfcMaterialPropertiesSuperSeded; if (materialPropertiesSS != null) { mMaterialPropertiesSS.Add(materialPropertiesSS); return; } // IfcMechanicalFastener mechanicalFastener = result as IfcMechanicalFastener; //if(mechanicalFastener != null) //{ // mFasteners.Add(mechanicalFastener); // return mechanicalFastener; //} //IfcOwnerHistory ownerHistory = result as IfcOwnerHistory; //if(ownerHistory != null) //{ // mOwnHistories.Add(ownerHistory); // return ownerHistory; //} IfcPresentationLayerAssignment presentationLayerAssignment = obj as IfcPresentationLayerAssignment; if (presentationLayerAssignment != null) { mPresentationLayerAssignments.Add(presentationLayerAssignment); return; } IfcProductRepresentation productRepresentation = obj as IfcProductRepresentation; if (productRepresentation != null) { mProductReps.Add(productRepresentation); return; } IfcPropertySet propSet = obj as IfcPropertySet; if (propSet != null) { mPropertySets.Add(propSet); return; } //IfcProfileDef profileDef = obj as IfcProfileDef; //if (profileDef != null) //{ // mProfiles.Add(profileDef); // return profileDef; //} IfcRelationship relationship = obj as IfcRelationship; if (relationship != null) { mRelationships.Add(relationship); return; } IfcRepresentation representation = obj as IfcRepresentation; if (representation != null) { mRepresentations.Add(representation); return; } //IfcRepresentationMap representationMap = obj as IfcRepresentationMap; //if (representationMap != null) //{ // mRepMaps.Add(representationMap); // return representationMap; //} IfcResourceConstraintRelationship rcr = obj as IfcResourceConstraintRelationship; if (rcr != null) { mConstraintRelationships.Add(rcr); return; } IfcShapeAspect shapeAspect = obj as IfcShapeAspect; if (shapeAspect != null) { mShapeAspects.Add(shapeAspect); return; } IfcStyledItem styledItem = obj as IfcStyledItem; if (styledItem != null) { mStyledItems.Add(styledItem); return; } IfcTypeProduct typeProduct = obj as IfcTypeProduct; if (typeProduct != null) { mTypeProducts.Add(typeProduct); return; } setCustomAggregate(obj); }
internal IfcBuildingStorey(IfcBuilding host, string name, double elev) : base(host.mDatabase) { Name = name; Elevation = elev; Placement = new IfcLocalPlacement(host.Placement, new IfcAxis2Placement3D(new IfcCartesianPoint(mDatabase, 0, 0, Elevation))); }
protected IfcFeatureElementSubtraction(IfcElement host, IfcProductRepresentation rep) : base(host.mDatabase) { new IfcRelVoidsElement(host, this); Representation = rep; ObjectPlacement = new IfcLocalPlacement(host.ObjectPlacement, mDatabase.Factory.XYPlanePlacement); }