MCPcopy Create free account
hub / github.com/assimp/assimp / ProcessConnectedFaceSet

Function ProcessConnectedFaceSet

code/AssetLib/IFC/IFCGeometry.cpp:188–207  ·  view source on GitHub ↗

------------------------------------------------------------------------------------------------

Source from the content-addressed store, hash-verified

186
187// ------------------------------------------------------------------------------------------------
188void ProcessConnectedFaceSet(const Schema_2x3::IfcConnectedFaceSet& fset, TempMesh& result, ConversionData& conv)
189{
190 for(const Schema_2x3::IfcFace& face : fset.CfsFaces) {
191 // size_t ob = -1, cnt = 0;
192 TempMesh meshout;
193 for(const Schema_2x3::IfcFaceBound& bound : face.Bounds) {
194
195 if(const Schema_2x3::IfcPolyLoop* const polyloop = bound.Bound->ToPtr<Schema_2x3::IfcPolyLoop>()) {
196 if(ProcessPolyloop(*polyloop, meshout,conv)) {
197 // The outer boundary is better determined by checking which
198 // polygon covers the largest area.
199 }
200 } else {
201 IFCImporter::LogWarn("skipping unknown IfcFaceBound entity, type is ", bound.Bound->GetClassName());
202 continue;
203 }
204 }
205 ProcessPolygonBoundaries(result, meshout);
206 }
207}
208
209// ------------------------------------------------------------------------------------------------
210void ProcessRevolvedAreaSolid(const Schema_2x3::IfcRevolvedAreaSolid& solid, TempMesh& result, ConversionData& conv) {

Callers 1

ProcessGeometricItemFunction · 0.85

Calls 3

ProcessPolyloopFunction · 0.85
ProcessPolygonBoundariesFunction · 0.85
GetClassNameMethod · 0.80

Tested by

no test coverage detected