IfcConvert links on windows

This commit is contained in:
Thomas Krijnen
2019-08-18 14:31:22 +02:00
parent 85171bb5df
commit 8f88c601c6
20 changed files with 173 additions and 228 deletions
+16
View File
@@ -699,3 +699,19 @@ IfcUtil::IfcBaseEntity* mapping::get_decomposing_entity(IfcUtil::IfcBaseEntity*
return parent;
}
std::map<std::string, IfcUtil::IfcBaseEntity*> mapping::get_layers(IfcUtil::IfcBaseEntity* inst) {
auto prod = inst->as<IfcSchema::IfcProduct>();
std::map<std::string, IfcUtil::IfcBaseEntity*> layers;
if (prod->hasRepresentation()) {
IfcEntityList::ptr r = IfcParse::traverse(prod->Representation());
IfcSchema::IfcRepresentation::list::ptr representations = r->as<IfcSchema::IfcRepresentation>();
for (IfcSchema::IfcRepresentation::list::it it = representations->begin(); it != representations->end(); ++it) {
IfcSchema::IfcPresentationLayerAssignment::list::ptr a = (*it)->LayerAssignments();
for (IfcSchema::IfcPresentationLayerAssignment::list::it jt = a->begin(); jt != a->end(); ++jt) {
layers[(*jt)->Name()] = *jt;
}
}
}
return layers;
}
+1
View File
@@ -20,6 +20,7 @@ namespace geometry {
POSTFIX_SCHEMA(mapping)(IfcParse::IfcFile* file) : file_(file) {}
virtual ifcopenshell::geometry::taxonomy::item* map(const IfcUtil::IfcBaseClass*);
virtual void get_representations(std::vector<geometry_conversion_task>& tasks, std::vector<filter_t>& filters, settings& s);
virtual std::map<std::string, IfcUtil::IfcBaseEntity*> get_layers(IfcUtil::IfcBaseEntity*);
const IfcSchema::IfcMaterial* get_single_material_association(const IfcSchema::IfcProduct* product);
IfcSchema::IfcRepresentation* representation_mapped_to(const IfcSchema::IfcRepresentation* representation);
+74 -74
View File
@@ -24,110 +24,110 @@
* *
********************************************************************************/
BIND(IfcShellBasedSurfaceModel);
BIND(IfcFaceBasedSurfaceModel);
BIND(IfcRepresentation);
BIND(IfcMappedItem);
// BIND(IfcShellBasedSurfaceModel);
// BIND(IfcFaceBasedSurfaceModel);
// BIND(IfcRepresentation);
// BIND(IfcMappedItem);
// IfcFacetedBrep included
// IfcAdvancedBrep included
// IfcFacetedBrepWithVoids included
// IfcAdvancedBrepWithVoids included
BIND(IfcManifoldSolidBrep);
BIND(IfcGeometricSet);
// BIND(IfcManifoldSolidBrep);
// BIND(IfcGeometricSet);
#ifdef SCHEMA_HAS_IfcCylindricalSurface
BIND(IfcCylindricalSurface);
// BIND(IfcCylindricalSurface);
#endif
#ifdef SCHEMA_HAS_IfcAdvancedBrep
BIND(IfcAdvancedBrep);
// BIND(IfcAdvancedBrep);
#endif
// FIXME: Surfaces should have a shape type of their own
#ifdef SCHEMA_HAS_IfcBSplineSurfaceWithKnots
BIND(IfcBSplineSurfaceWithKnots);
// BIND(IfcBSplineSurfaceWithKnots);
#endif
#ifdef SCHEMA_HAS_IfcTriangulatedFaceSet
BIND(IfcTriangulatedFaceSet);
// BIND(IfcTriangulatedFaceSet);
#endif
#ifdef SCHEMA_HAS_IfcExtrudedAreaSolidTapered
BIND(IfcExtrudedAreaSolidTapered);
// BIND(IfcExtrudedAreaSolidTapered);
#endif
BIND(IfcExtrudedAreaSolid);
BIND(IfcRevolvedAreaSolid);
BIND(IfcConnectedFaceSet);
BIND(IfcBooleanResult);
BIND(IfcPolygonalBoundedHalfSpace);
BIND(IfcHalfSpaceSolid);
BIND(IfcSurfaceOfLinearExtrusion);
BIND(IfcSurfaceOfRevolution);
BIND(IfcBlock);
BIND(IfcRectangularPyramid);
BIND(IfcRightCircularCylinder);
BIND(IfcRightCircularCone);
BIND(IfcSphere);
BIND(IfcCsgSolid);
BIND(IfcCurveBoundedPlane);
BIND(IfcRectangularTrimmedSurface);
BIND(IfcSurfaceCurveSweptAreaSolid);
BIND(IfcSweptDiskSolid);
// BIND(IfcRevolvedAreaSolid);
// BIND(IfcConnectedFaceSet);
// BIND(IfcBooleanResult);
// BIND(IfcPolygonalBoundedHalfSpace);
// BIND(IfcHalfSpaceSolid);
// BIND(IfcSurfaceOfLinearExtrusion);
// BIND(IfcSurfaceOfRevolution);
// BIND(IfcBlock);
// BIND(IfcRectangularPyramid);
// BIND(IfcRightCircularCylinder);
// BIND(IfcRightCircularCone);
// BIND(IfcSphere);
// BIND(IfcCsgSolid);
// BIND(IfcCurveBoundedPlane);
// BIND(IfcRectangularTrimmedSurface);
// BIND(IfcSurfaceCurveSweptAreaSolid);
// BIND(IfcSweptDiskSolid);
BIND(IfcArbitraryProfileDefWithVoids);
BIND(IfcArbitraryClosedProfileDef);
BIND(IfcRoundedRectangleProfileDef);
BIND(IfcRectangleHollowProfileDef);
BIND(IfcRectangleProfileDef);
BIND(IfcTrapeziumProfileDef)
BIND(IfcCShapeProfileDef);
// BIND(IfcArbitraryProfileDefWithVoids);
// BIND(IfcArbitraryClosedProfileDef);
// BIND(IfcRoundedRectangleProfileDef);
// BIND(IfcRectangleHollowProfileDef);
// BIND(IfcRectangleProfileDef);
// BIND(IfcTrapeziumProfileDef)
// BIND(IfcCShapeProfileDef);
// IfcAsymmetricIShapeProfileDef included
BIND(IfcIShapeProfileDef);
BIND(IfcLShapeProfileDef);
BIND(IfcTShapeProfileDef);
BIND(IfcUShapeProfileDef);
BIND(IfcZShapeProfileDef);
BIND(IfcCircleHollowProfileDef);
BIND(IfcCircleProfileDef);
BIND(IfcEllipseProfileDef);
BIND(IfcCenterLineProfileDef);
BIND(IfcCompositeProfileDef);
BIND(IfcDerivedProfileDef);
// BIND(IfcIShapeProfileDef);
// BIND(IfcLShapeProfileDef);
// BIND(IfcTShapeProfileDef);
// BIND(IfcUShapeProfileDef);
// BIND(IfcZShapeProfileDef);
// BIND(IfcCircleHollowProfileDef);
// BIND(IfcCircleProfileDef);
// BIND(IfcEllipseProfileDef);
// BIND(IfcCenterLineProfileDef);
// BIND(IfcCompositeProfileDef);
// BIND(IfcDerivedProfileDef);
// IfcFaceSurface included
// IfcAdvancedFace included in case of IFC4
BIND(IfcFace);
// BIND(IfcFace);
BIND(IfcEdgeCurve);
BIND(IfcSubedge);
BIND(IfcOrientedEdge);
BIND(IfcEdge);
BIND(IfcEdgeLoop);
BIND(IfcPolyline);
BIND(IfcPolyLoop);
BIND(IfcCompositeCurve);
BIND(IfcTrimmedCurve);
BIND(IfcArbitraryOpenProfileDef);
// BIND(IfcEdgeCurve);
// BIND(IfcSubedge);
// BIND(IfcOrientedEdge);
// BIND(IfcEdge);
// BIND(IfcEdgeLoop);
// BIND(IfcPolyline);
// BIND(IfcPolyLoop);
// BIND(IfcCompositeCurve);
// BIND(IfcTrimmedCurve);
// BIND(IfcArbitraryOpenProfileDef);
#ifdef SCHEMA_HAS_IfcIndexedPolyCurve
BIND(IfcIndexedPolyCurve)
// BIND(IfcIndexedPolyCurve)
#endif
BIND(IfcCircle);
BIND(IfcEllipse);
BIND(IfcLine);
// BIND(IfcCircle);
// BIND(IfcEllipse);
// BIND(IfcLine);
#ifdef SCHEMA_HAS_IfcBSplineCurveWithKnots
// IfcRationalBSplineCurveWithKnots included
BIND(IfcBSplineCurveWithKnots);
// BIND(IfcBSplineCurveWithKnots);
#endif
BIND(IfcCartesianPoint);
BIND(IfcDirection);
BIND(IfcAxis2Placement2D);
// BIND(IfcCartesianPoint);
// BIND(IfcDirection);
// BIND(IfcAxis2Placement2D);
BIND(IfcAxis2Placement3D);
BIND(IfcAxis1Placement);
BIND(IfcCartesianTransformationOperator2DnonUniform);
BIND(IfcCartesianTransformationOperator3DnonUniform);
BIND(IfcCartesianTransformationOperator2D);
BIND(IfcCartesianTransformationOperator3D);
BIND(IfcObjectPlacement);
BIND(IfcVector);
BIND(IfcPlane);
// BIND(IfcAxis1Placement);
// BIND(IfcCartesianTransformationOperator2DnonUniform);
// BIND(IfcCartesianTransformationOperator3DnonUniform);
// BIND(IfcCartesianTransformationOperator2D);
// BIND(IfcCartesianTransformationOperator3D);
// BIND(IfcObjectPlacement);
// BIND(IfcVector);
// BIND(IfcPlane);
BIND(IfcColourRgb);
// BIND(IfcColourRgb);
BIND(IfcMaterial);
BIND(IfcStyledItem);