/////////////////////////////////////////////////////////////////////////////////////////////////// // File fem_BrickWall.h #pragma once #include namespace fem { class FEM_DLL_DECL CTCBrickWall : public fem::CTCBaseObj { friend class boost::serialization::access; template void save(Archive & ar, const unsigned int /*version*/) const { ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(fem::CTCBaseObj); ar & BOOST_SERIALIZATION_NVP(m_props); } template void load(Archive & ar, const unsigned int /*version*/) { ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(fem::CTCBaseObj); ar & BOOST_SERIALIZATION_NVP(m_props); } BOOST_SERIALIZATION_SPLIT_MEMBER(); DECLARE_SERIAL(CTCBrickWall) public: static const double s_props[2]; CTCBrickWall(); CTCBrickWall(const CString& szName, const CString& szComment=_T("")); CTCBrickWall(const CString& szName, double sw, double sm=-1.0, const CString& szComment=_T("")); virtual ~CTCBrickWall(); virtual void Serialize(CArchive& ar); virtual void SerializeDB(bool bWriting, CTOLRecordset& rs); #ifdef _DEBUG virtual void AssertValid() const; virtual void Dump(CDumpContext& dc) const; #endif double SelfUnitWeight () const { return m_props.get(0); } double SelfUnitMass () const { double m = m_props.get(1); if (m<=0.0) m = SelfUnitWeight()/9.81; return m; } void Set_SelfUnitWeight(double d, undo::eCmdType ctCmd = undo::cmdDo) { m_props.set(0, d, ctCmd); } void Set_SelfUnitMass (double d, undo::eCmdType ctCmd = undo::cmdDo) { m_props.set(1, d, ctCmd); } private: fem::CPropRepository m_props; // 0 = Ειδικό Βάρος [kN/m2] // 1 = Ειδική Μάζα [kg/m2] static const long m_nVersion; }; } // namespace fem BOOST_CLASS_VERSION(fem::CTCBrickWall, 1);