MCPcopy Create free account
hub / github.com/ThatOpen/engine_web-ifc / PopulateStyledItemMap

Method PopulateStyledItemMap

src/cpp/web-ifc/cache/IfcCache.cpp:110–134  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

108 }
109
110 std::unordered_map<uint32_t, std::vector<std::pair<uint32_t, uint32_t>>> IfcCache::PopulateStyledItemMap()
111 {
112 std::unordered_map<uint32_t, std::vector<std::pair<uint32_t, uint32_t>>> returnVector;
113 auto styledItems = _loader.GetExpressIDsWithType(schema::IFCSTYLEDITEM);
114
115 for (uint32_t styledItemID : styledItems)
116 {
117 _loader.MoveToArgumentOffset(styledItemID, 0);
118
119 if (_loader.GetTokenType() == parsing::IfcTokenType::REF)
120 {
121 _loader.StepBack();
122 uint32_t representationItem = _loader.GetRefArgument();
123
124 auto styleAssignments = _loader.GetSetArgument();
125
126 for (auto &styleAssignment : styleAssignments)
127 {
128 uint32_t styleAssignmentID = _loader.GetRefArgument(styleAssignment);
129 returnVector[representationItem].emplace_back(styledItemID, styleAssignmentID);
130 }
131 }
132 }
133 return returnVector;
134 }
135
136 std::unordered_map<uint32_t, std::vector<std::pair<uint32_t, uint32_t>>> IfcCache::PopulateRelMaterialsMap()
137 {

Callers

nothing calls this directly

Calls 6

GetExpressIDsWithTypeMethod · 0.80
MoveToArgumentOffsetMethod · 0.80
GetTokenTypeMethod · 0.80
StepBackMethod · 0.80
GetRefArgumentMethod · 0.80
GetSetArgumentMethod · 0.80

Tested by

no test coverage detected