Something went wrong. Try again.
atproto Thingiverse but good
Something went wrong. Try again.
12345678910111213141516171819202122232425262728293031323334353637383940--- a/include/LDParse/ModelBuilder/ModelBuilderImpl.hpp+++ b/include/LDParse/ModelBuilder/ModelBuilderImpl.hpp@@ -144,8 +144,9 @@ } template<typename ErrF>- Action ModelBuilder<ErrF>::handleInclude(Model& target, const ColorRef &, const TransMatrix &, const std::string &name){+ Action ModelBuilder<ErrF>::handleInclude(Model& target, const ColorRef &, const TransMatrix &tx, const std::string &name){ if(indeterminate(target.mCertify)) target.mCertify = false;+ target.mChildren.emplace_back(0, mInvertNext.count(&target) ? Invert : Standard, tx, nullptr); Action ret = Action(); std::optional<std::reference_wrapper<const size_t>> subIndex; std::optional<std::reference_wrapper<const Model>> subModel;@@ -165,14 +166,23 @@ } template<typename ErrF>- Action ModelBuilder<ErrF>::handleTriangle(Model& target, const ColorRef &, const Triangle &){+ Action ModelBuilder<ErrF>::handleTriangle(Model& target, const ColorRef &, const Triangle &t){ if(indeterminate(target.mCertify)) target.mCertify = false;+ auto& positions = std::get<0>(target.mData.attributes);+ uint32_t base = static_cast<uint32_t>(positions.size());+ positions.push_back(std::get<0>(t)); positions.push_back(std::get<1>(t)); positions.push_back(std::get<2>(t));+ target.mData.indices.push_back(base); target.mData.indices.push_back(base+1); target.mData.indices.push_back(base+2); return Action(); } template<typename ErrF>- Action ModelBuilder<ErrF>::handleQuad(Model& target, const ColorRef &, const Quad &){+ Action ModelBuilder<ErrF>::handleQuad(Model& target, const ColorRef &, const Quad &q){ if(indeterminate(target.mCertify)) target.mCertify = false;+ auto& positions = std::get<0>(target.mData.attributes);+ uint32_t base = static_cast<uint32_t>(positions.size());+ positions.push_back(std::get<0>(q)); positions.push_back(std::get<1>(q)); positions.push_back(std::get<2>(q)); positions.push_back(std::get<3>(q));+ target.mData.indices.push_back(base); target.mData.indices.push_back(base+1); target.mData.indices.push_back(base+2);+ target.mData.indices.push_back(base); target.mData.indices.push_back(base+2); target.mData.indices.push_back(base+3); return Action(); }