------------------------------------------------------------------------------------------------
| 163 | |
| 164 | // ------------------------------------------------------------------------------------------------ |
| 165 | bool ProcessProfile(const Schema_2x3::IfcProfileDef& prof, TempMesh& meshout, ConversionData& conv) { |
| 166 | if(const Schema_2x3::IfcArbitraryClosedProfileDef* const cprofile = prof.ToPtr<Schema_2x3::IfcArbitraryClosedProfileDef>()) { |
| 167 | ProcessClosedProfile(*cprofile,meshout,conv); |
| 168 | } else if(const Schema_2x3::IfcArbitraryOpenProfileDef* const copen = prof.ToPtr<Schema_2x3::IfcArbitraryOpenProfileDef>()) { |
| 169 | ProcessOpenProfile(*copen,meshout,conv); |
| 170 | } else if(const Schema_2x3::IfcParameterizedProfileDef* const cparam = prof.ToPtr<Schema_2x3::IfcParameterizedProfileDef>()) { |
| 171 | ProcessParametrizedProfile(*cparam,meshout,conv); |
| 172 | } else { |
| 173 | IFCImporter::LogWarn("skipping unknown IfcProfileDef entity, type is ", prof.GetClassName()); |
| 174 | return false; |
| 175 | } |
| 176 | meshout.RemoveAdjacentDuplicates(); |
| 177 | if (!meshout.mVertcnt.size() || meshout.mVertcnt.front() <= 1) { |
| 178 | return false; |
| 179 | } |
| 180 | return true; |
| 181 | } |
| 182 | |
| 183 | } // ! IFC |
| 184 | } // ! Assimp |
no test coverage detected