[Bprocessor-commit] gui/src/net/sourceforge/bprocessor/gui/actions ToolsEnergyActionListener.java,
Status: Pre-Alpha
Brought to you by:
henryml
From: Nikolaj B. <nbr...@us...> - 2006-06-26 11:38:00
|
Update of /cvsroot/bprocessor/gui/src/net/sourceforge/bprocessor/gui/actions In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv31918/src/net/sourceforge/bprocessor/gui/actions Added Files: ToolsEnergyActionListener.java Log Message: Spaces now have simple classification, and based on this classification an energy transmission loss can be calculated --- NEW FILE: ToolsEnergyActionListener.java --- //--------------------------------------------------------------------------------- // $Id: ToolsEnergyActionListener.java,v 1.1 2006/06/26 11:37:53 nbramsen Exp $ // // Copyright (c) 2005 The BProcessor Team (http://bprocessor.sourceforge.net) // Released under the Lesser GNU Public License v2.1 //--------------------------------------------------------------------------------- package net.sourceforge.bprocessor.gui.actions; import net.sourceforge.bprocessor.model.Project; import net.sourceforge.bprocessor.model.Surface; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.util.Iterator; import javax.swing.JOptionPane; import org.apache.log4j.Logger; /** * The tools->enery calc action listener */ public class ToolsEnergyActionListener implements ActionListener { /** The logger */ private static Logger log = Logger.getLogger(ToolsEnergyActionListener.class); /** * ToolsEnergyActionListener */ public ToolsEnergyActionListener() { } /** * Action performed * @param e The action event */ public void actionPerformed(ActionEvent e) { Iterator it = Project.getInstance().getSurfaces().iterator(); double totalloss = 0; while (it.hasNext()) { Surface current = (Surface) it.next(); if (current.getFrontDomain().getClassification().equalsIgnoreCase("Exterior")) { totalloss = totalloss + calcloss(current.getBackDomain().getClassification(), current); } if (current.getBackDomain().getClassification().equalsIgnoreCase("Exterior")) { totalloss = totalloss + calcloss(current.getFrontDomain().getClassification(), current); } } JOptionPane.showMessageDialog(null, "The total energytransmission loss is:" + totalloss); } /** * Calculates energyloss of a surface * @param classification The classifaction of the surface * @param current The current Surface * @return the loss */ private double calcloss(String classification, Surface current) { double loss = 0; if (classification.equalsIgnoreCase("Terrandæk")) { loss = 0.15 * current.getArea(); return loss; } if (classification.equalsIgnoreCase("Tagkonstruktion")) { loss = 0.15 * current.getArea(); return loss; } if (classification.equalsIgnoreCase("Ydervæg")) { loss = 0.25 * current.getArea(); return loss; } if (classification.equalsIgnoreCase("Ældre termovindue")) { loss = 2.5 * current.getArea(); return loss; } if (classification.equalsIgnoreCase("2-lags lavenergivindue")) { loss = 1.5 * current.getArea(); return loss; } if (classification.equalsIgnoreCase("3-lags lavenergivindue")) { loss = 0.8 * current.getArea(); return loss; } if (classification.equalsIgnoreCase("Dør")) { loss = 1.5 * current.getArea(); return loss; } return loss; } } |