| 265 | } |
| 266 | |
| 267 | bool Surface_Impl::setVertices(const std::vector<Point3d>& vertices) { |
| 268 | bool result = PlanarSurface_Impl::setVertices(vertices); |
| 269 | |
| 270 | if (isEmpty(OS_SurfaceFields::SurfaceType)) { |
| 271 | if (result) { |
| 272 | this->assignDefaultSurfaceType(false); |
| 273 | this->assignDefaultBoundaryCondition(false); |
| 274 | this->assignDefaultSunExposure(false); |
| 275 | this->assignDefaultWindExposure(false); |
| 276 | this->emitChangeSignals(); // emit signals here |
| 277 | } else { |
| 278 | LOG(Error, "Cannot compute default Surface properties."); |
| 279 | } |
| 280 | } |
| 281 | |
| 282 | return result; |
| 283 | } |
| 284 | |
| 285 | bool Surface_Impl::setConstruction(const ConstructionBase& construction) { |
| 286 | return setPointer(OS_SurfaceFields::ConstructionName, construction.handle()); |