Something went wrong. Try again.
atproto Thingiverse but good
Something went wrong. Try again.
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657diff --git a/include/LDParse/Model.hpp b/include/LDParse/Model.hpp--- a/include/LDParse/Model.hpp+++ b/include/LDParse/Model.hpp@@ -59,6 +59,14 @@ Model(std::string name, std::string srcLoc, SrcType srcType, ColorTable& colorTable, const std::shared_ptr<const IndexType> subModelNames = nullptr, std::shared_ptr<CacheType> subModels = nullptr); std::shared_ptr<const CacheType> getSubFileCache() const { return mSubModels; }+ const std::string& name() const { return mName; }+ boost::logic::tribool certify() const { return mCertify; }+ BFCStatus winding() const { return mWinding; }+ const std::vector<size_t>& stepEnds() const { return mStepEnds; }+ const std::unordered_map<uint16_t, uint16_t>& localColors() const { return mLocalColors; }+ const LDMesh& mesh() const { return mData; }+ const std::vector<std::tuple<size_t, BFCStatus, TransMatrix, const Model*>>& children() const { return mChildren; }+ size_t defaultColor() const { return mColor; } const std::string& getPath() const { return mSrcLoc; } }; }diff --git a/LDParse/Model.cpp b/LDParse/Model.cpp--- a/LDParse/Model.cpp+++ b/LDParse/Model.cpp@@ -12,7 +12,7 @@ namespace LDParse { const std::shared_ptr<const IndexType> subModelNames, std::shared_ptr<CacheType> subModels) : mName(name), mSrcLoc(srcLoc), mSrcType(srcType), mSubModelNames(subModelNames), mSubModels((subModels == nullptr) ? std::shared_ptr<CacheType>((mSrcType == MPDRootT) ? CacheType::makeRoot() : nullptr) : subModels),- mColorTable(colorTable), mCertify(boost::logic::indeterminate), mWinding(BFCOff)+ mColorTable(colorTable), mColor(16), mCertify(boost::logic::indeterminate), mWinding(BFCOff) { mStepEnds.clear(); mLocalColors.clear(); mLocalComplements.clear(); } }++diff --git a/include/LDParse/ModelBuilder/ModelBuilderDefs.hpp b/include/LDParse/ModelBuilder/ModelBuilderDefs.hpp--- a/include/LDParse/ModelBuilder/ModelBuilderDefs.hpp+++ b/include/LDParse/ModelBuilder/ModelBuilderDefs.hpp@@ -65,6 +65,8 @@ template<bool root=false> void recordTo(Model * model){ metaCallback.retarget(model); inclCallback.retarget(model);+ lineCallback.retarget(model);+ optLineCallback.retarget(model); triCallback.retarget(model); quadCallback.retarget(model); if(root){@@ -79,9 +81,9 @@ std::unordered_set<const Model*> mInvertNext; std::unordered_set<const Model*> mClipping; - using ModelParser = Parser<decltype(mpdCallback), decltype(metaCallback), decltype(inclCallback),- decltype(lineCallback), decltype(triCallback), decltype(quadCallback), decltype(optLineCallback),- decltype(eofCallback), ErrF >;+ using ModelParser = Parser<std::reference_wrapper<decltype(mpdCallback)>, std::reference_wrapper<decltype(metaCallback)>, std::reference_wrapper<decltype(inclCallback)>,+ std::reference_wrapper<decltype(lineCallback)>, std::reference_wrapper<decltype(triCallback)>, std::reference_wrapper<decltype(quadCallback)>, std::reference_wrapper<decltype(optLineCallback)>,+ std::reference_wrapper<decltype(eofCallback)>, ErrF >; ModelParser mParser; public: ModelBuilder(ErrF &errF);