| 850 | } |
| 851 | |
| 852 | boost::optional<SurfaceControlMovableInsulation> Surface_Impl::surfaceControlMovableInsulation() const { |
| 853 | auto thisSurface = getObject<Surface>(); |
| 854 | std::vector<SurfaceControlMovableInsulation> movableInsulations = |
| 855 | thisSurface.getModelObjectSources<SurfaceControlMovableInsulation>(SurfaceControlMovableInsulation::iddObjectType()); |
| 856 | if (movableInsulations.empty()) { |
| 857 | return boost::none; |
| 858 | } else if (movableInsulations.size() == 1) { |
| 859 | return movableInsulations.at(0); |
| 860 | } else { |
| 861 | LOG(Error, "More than one SurfaceControlMovableInsulation points to this Surface"); |
| 862 | return boost::none; |
| 863 | } |
| 864 | } |
| 865 | |
| 866 | boost::optional<SurfacePropertyConvectionCoefficients> Surface_Impl::surfacePropertyConvectionCoefficients() const { |
| 867 | std::vector<SurfacePropertyConvectionCoefficients> spccs(model().getConcreteModelObjects<SurfacePropertyConvectionCoefficients>()); |