MCPcopy Create free account
hub / github.com/OneLoneCoder/olcPixelGameEngine / DrawModel

Function DrawModel

extensions/olcPGEX_Wireframe.h:187–210  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

185
186 template<typename T>
187 void DrawModel(T& render, Model& m, const olc::Pixel col = olc::BLACK, const uint8_t flags = -1)
188 {
189 const auto& points = m.GetWorldPoints();
190 for(size_t i = 0; i < points.size(); i++)
191 render.DrawLine(points[i], points[(i+1)%points.size()], col);
192
193 // Draw Nodes
194 if (flags & Model::DRAW_NODES)
195 for (size_t i = 0; i < points.size(); i++)
196 render.FillCircle(points[i], render.ScaleToWorld({ 3,3 }).x, olc::RED);
197
198 if (flags & Model::DRAW_ORIGIN)
199 {
200 render.FillCircle(m.LocalToWorld({ 0,0 }), render.ScaleToWorld({ 3,3 }).x, olc::BLUE);
201 render.DrawLine(
202 m.LocalToWorld({ 0,0 }),
203 m.LocalToWorld(render.ScaleToWorld({ 10, 0 })),
204 olc::BLUE);
205 }
206
207 // Draw Children
208 for (auto& child : m.GetChildren())
209 DrawModel<T>(render, *child, col, flags);
210 }
211
212
213 }

Callers

nothing calls this directly

Calls 5

ScaleToWorldMethod · 0.80
LocalToWorldMethod · 0.80
sizeMethod · 0.45
DrawLineMethod · 0.45
FillCircleMethod · 0.45

Tested by

no test coverage detected