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

Function ProcessProfile

code/AssetLib/IFC/IFCProfile.cpp:165–181  ·  view source on GitHub ↗

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

Source from the content-addressed store, hash-verified

163
164// ------------------------------------------------------------------------------------------------
165bool 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

Callers 2

ProcessRevolvedAreaSolidFunction · 0.85
ProcessExtrudedAreaSolidFunction · 0.85

Calls 7

ProcessClosedProfileFunction · 0.85
ProcessOpenProfileFunction · 0.85
GetClassNameMethod · 0.80
sizeMethod · 0.45
frontMethod · 0.45

Tested by

no test coverage detected