+};
+
+template <class AnyResource> class Resource_T : public Resource {
+ Model* model_ = nullptr;
+ lmm::Constraint* constraint_ = nullptr;
+
+public:
+ using Resource::Resource;
+ AnyResource* set_model(Model* model)
+ {
+ model_ = model;
+ return static_cast<AnyResource*>(this);
+ }
+
+ Model* get_model() const { return model_; }
+
+ AnyResource* set_constraint(lmm::Constraint* constraint)
+ {
+ constraint_ = constraint;
+ return static_cast<AnyResource*>(this);
+ }