#ifndef CT_HANDLEOUTFACESCALAR_H #define CT_HANDLEOUTFACESCALAR_H #include "ct_model/outModel/handle/ct_handleoutitem.h" #include "ct_itemdrawable/ct_faceattributesscalart.h" #include "ct_attributes/managers/ct_densefacescalarmanager.h" #include "ct_attributes/managers/ct_sparsefacescalarmanager.h" template class CT_HandleOutFaceScalar : public CT_HandleOutItem> { public: enum EApplicableTo { ApplicableToFace = 1 }; CT_HandleOutFaceScalar() = default; }; template class CT_HandleOutFaceScalarWithDenseManager : public CT_HandleOutFaceScalar, public CT_DenseFaceScalarManager { public: CT_HandleOutFaceScalarWithDenseManager() = default; CT_FaceAttributesScalarT* createAttributeInstance(CT_FCIR fcir) { return new CT_FaceAttributesScalarT(fcir, *this); } CT_FaceAttributesScalarT* createAttributeInstance(CT_FCIR fcir, const SCALAR& min, const SCALAR& max) { return new CT_FaceAttributesScalarT(fcir, *this, min, max); } }; template class CT_HandleOutFaceScalarWithSparseManager : public CT_HandleOutFaceScalar, public CT_SparseFaceScalarManager { public: CT_HandleOutFaceScalarWithSparseManager() = default; CT_FaceAttributesScalarT* createAttributeInstance(CT_FCIR fcir) { return new CT_FaceAttributesScalarT(fcir, *this); } CT_FaceAttributesScalarT* createAttributeInstance(CT_FCIR fcir, const SCALAR& min, const SCALAR& max) { return new CT_FaceAttributesScalarT(fcir, *this, min, max); } }; #endif // CT_HANDLEOUTFACESCALAR_H