Overview
packages
Classes

Walls.php source code

Contents of file yurtparts/Walls.php
1 <?php
2
// Software released under the General Public License (version 2 or later), available at
3 // http://www.gnu.org/copyleft/gpl.html
4 //********************************************************************************
5 /**
6 Calcul du treillis
7
8 @version  1.0
9 @license  GPL
10 @author   Thierry Graff
11 @weblink  http://www.tig12.net
12 @php      PHP5
13 @history 2007.05.07, 11h46 : Creation
14 @history 2007.06.12 : transformation to a class
15 ****************************************************************************************/
16
require_once(dirname(dirname(__FILE__)) . '/YurtPart.php');
17
18 class 
Walls extends YurtPart{
19   
20   public function 
toHtml($params=''){
21     
// Valeurs import&eacute;es
22     
$D $this->yurt->getConfig('general''D'); // diam&egrave;tre de la yourte, en m&egrave;tres
23     
$h $this->yurt->getConfig('general''h'); // hauteur de la yourte, en m&egrave;tres
24     
$np $this->yurt->getConfig('general''np'); // nombre de perches
25     //
26     // Valeurs &agrave; fixer &agrave; cette &eacute;tape
27     
$h1 $this->yurt->getConfig('walls''h1'); // d&eacute;passement en haut, en m&egrave;tres
28     
$h2 $this->yurt->getConfig('walls','h2'); // d&eacute;passement en bas, en m&egrave;tres
29     
$r $this->yurt->getConfig('walls','r'); // Rayon du cercle fait par le treillis
30     
$lt $this->yurt->getConfig('walls','lt'); // C&ocirc;t&eacute; d'un losange, en m&egrave;tres
31     
$nt $this->yurt->getConfig('walls','nt'); // Nombre de losanges verticaux (doit &ecirc;tre un entier)
32     
$pst $this->yurt->getConfig('walls','pst'); // longueur sans treillis, en m&egrave;tres
33     
$cam $this->yurt->getConfig('walls','cam'); // co&ucirc;t des tasseaux, au m&egrave;tre.
34     
35     // calculs
36     
$pdt M_PI $r;
37     
$htl $h $h1 $h2;
38     
$ht $pdt $np;
39     
$vt $htl $nt;
40     
$lt sqrt(pow($vt2) + pow($ht2))/2;
41     
$alphat atan($ht $vt); // radians
42     
$pat $pdt $pst;
43     
$ltas $lt $nt + ($h1 $h2)/cos($alphat 2);
44     
$ntas $pat $ht;
45     
$ni floor($ntas * (2*$nt 1));
46     
$lttas $ntas $ltas// longueur totale des tasseaux
47     
$coutTasseau $cam $ltas;
48     
$coutTotal $cam $lttas;
49     
50     
// Affichage des r&eacute;sultats
51     
$res '';
52     
$res .= "<table>\n";
53     
$res .= "<tr><th colspan='2'>Donn&eacute;es de d&eacute;part</th></tr>\n";
54     
$res .= "<tr><td>Diam&egrave;tre de la yourte</td><td><b>D = " self::formatMeters($D2) . "</b></td></tr>\n";
55     
$res .= "<tr><td>Hauteur de la yourte</td><td><b>h = " self::formatMeters($h2) . "</b></td></tr>\n";
56     
$res .= "<tr><td>Nombre de perches</td><td><b>np = " $np "</b></td></tr>\n";
57     
//
58     
$res .= "<tr><th colspan='2'>P&eacute;rim&egrave;tres</th></tr>\n";
59     
$res .= "<tr><td>P&eacute;rim&egrave;tre avec treillis</td><td><b>pat = " self::formatMeters($pat) . "</b></td></tr>\n";
60     
$res .= "<tr><td>P&eacute;rim&egrave;tre du treillis</td><td><b>pdt = " self::formatMeters($pdt) . "</b></td></tr>\n";
61     
$res .= "<tr><td>P&eacute;rim&egrave;tre sans treillis</td><td><b>pst = " self::formatMeters($pst) . "</b></td></tr>\n";
62     
//
63     
$res .= "<tr><th colspan='2'>Losanges</th></tr>\n";
64     
65     
$res .= "<tr><td>Nombre de losanges verticaux</td><td><b>n<sub>t</sub> = " $nt "</b></td></tr>\n";
66     
$res .= "<tr><td>D&eacute;passement haut</td><td><b>h<sub>1</sub> = " self::m2cm($h1) . " cm</b></td></tr>\n";
67     
$res .= "<tr><td>D&eacute;passement bas</td><td><b>h<sub>2</sub> = " self::m2cm($h2) . " cm</b></td></tr>\n";
68     
$res .= "<tr><td>Hauteur de n<sub>t</sub> losanges</td><td><b>h<sub>tl</sub> = " self::formatMeters($htl) . "</b></td></tr>\n";
69     
$res .= "<tr><td>Largeur d'un losange</td><td><b>h<sub>t</sub> = " self::m2cm(round($ht3)) . " cm</b></td></tr>\n";
70     
$res .= "<tr><td>Hauteur d'un losange</td><td><b>v<sub>t</sub> = " self::m2cm(round($vt3)) . " cm</b></td></tr>\n";
71     
$res .= "<tr><td>Longueur du c&ocirc;t&eacute; d'un losange</td><td><b>l<sub>t</sub> = " self::m2cm(round($lt3)) . " cm</b></td></tr>\n";
72     
$res .= "<tr><td>Angle d'un losange</td><td><b>&alpha;<sub>t</sub> = " round($alphat*180/M_PI) . "&deg;</b></td></tr>\n";
73     
//
74     
$res .= "<tr><th colspan='2'>Tasseaux</th></tr>\n";
75     
$res .= "<tr><td>Nombre de tasseaux</td><td><b>n<sub>tas</sub> = " round($ntas2) . "</b></td></tr>\n";
76     
$res .= "<tr><td>Nombre d'intersections</td><td><b>n<sub>n</sub> = " $ni "</b></td></tr>\n";
77     
$res .= "<tr><td>Longueur d'un tasseau</td><td><b>l<sub>tas</sub> = " self::formatMeters($ltas) . "</b></td></tr>\n";
78     
$res .= "<tr><td>Longueur totale de tasseaux</td><td><b>lt<sub>tas</sub> = " self::formatMeters($lttas) . "</b></td></tr>\n";
79     
//
80     
$res .= "<tr><th colspan='2'>Co&ucirc;t</th></tr>\n";
81     
$res .= "<tr><td>Co&ucirc;t des tasseaux, au m&egrave;tre</td><td><b>cam = " $cam " euros</b></td></tr>\n";
82     
$res .= "<tr><td>Co&ucirc;t d'un tasseau</td><td><b>coutTasseau = " round($coutTasseau2) . " euros</b></td></tr>\n";
83     
$res .= "<tr><td>Co&ucirc;t total</td><td><b>coutTotal = " round($coutTotal2) . " euros</b></td></tr>\n";
84     
$res.= "</table>\n";
85     return 
$res;
86   }
// end toHtml
87   
88
}// end class Walls
89
?>