#description: Posts and beams

=comment

Creates rows and columns of posts and beams, with diagonal braces. Very cool!

=cut

#print "frame\n";
#print join(', ', @textures);

$wood=$tl->texture('core_1/wdplnk2g');

$postsize=1;
$supportsize=1;
$mininc=12;

$tmpw=$w-$postsize;
$tmpl=$l-$postsize;

#print "test1\n";

#$incrw=$tmpw/(int($tmpw/$mininc));
$tmp=int($tmpw/$mininc);
$incrw=($tmp==0?$tmpw:$tmpw/$tmp);

#$incrl=$tmpl/(int($tmpl/$mininc));
$tmp=int($tmpl/$mininc);
$incrl=($tmp==0?$tmpl:$tmpl/$tmp);

# main air brush
=comment
$br=$brush=$bunch->addBrush(air(),cube(), 0,0,0, $w,$l,$h, $tl->texture($textures[0]));
$bunch->setTexture($br, bottom(), $tl->texture($textures[1]));
$bunch->setTexture($br, top(), $wood);
if ($incrw>$incrl) {
 $bunch->setFaceRot( $br, top(), 90.00 );
}
=cut

# supports

for ($i=0-($tmpw/2)+$incrw;$i<=($tmpw/2)+1;$i+=$incrw) {
 for ($j=0-($tmpl/2);$j<=($tmpl/2)+1;$j+=$incrl) {
  $brush=$bunch->addBrush(solid(),cube(), $j,$i-1.75,($h/2)-($postsize/2)-1.7, $supportsize,$supportsize,5, $wood, 45,0,0);
  $bunch->setFaceAlign( $brush,north(),1);$bunch->setFaceAlign( $brush,west(),1);
  $bunch->setFaceAlign( $brush,south(),1);$bunch->setFaceAlign( $brush,east(),1);
  $bunch->setFaceU( $brush,north(),1);$bunch->setFaceU( $brush,west(),1);
  $bunch->setFaceU( $brush,south(),1);$bunch->setFaceU( $brush,east(),1);
 }
}

for ($i=0-($tmpw/2);$i<=($tmpw/2-$incrw)+1;$i+=$incrw) {
 for ($j=0-($tmpl/2);$j<=($tmpl/2)+1;$j+=$incrl) {
  $brush=$bunch->addBrush(solid(),cube(), $j,$i+1.75,($h/2)-($postsize/2)-1.7, $supportsize,$supportsize,5, $wood, 315,0,0);
  $bunch->setFaceAlign( $brush,north(),1);$bunch->setFaceAlign( $brush,west(),1);
  $bunch->setFaceAlign( $brush,south(),1);$bunch->setFaceAlign( $brush,east(),1);
  $bunch->setFaceU( $brush,north(),1);$bunch->setFaceU( $brush,west(),1);
  $bunch->setFaceU( $brush,south(),1);$bunch->setFaceU( $brush,east(),1);
 }
}

for ($i=0-($tmpw/2);$i<=($tmpw/2)+1;$i+=$incrw) {
 for ($j=0-($tmpl/2)+$incrl;$j<=($tmpl/2)+1;$j+=$incrl) {
  $brush=$bunch->addBrush(solid(),cube(), $j-1.75,$i,($h/2)-($postsize/2)-1.7, $supportsize,$supportsize,5, $wood, 0,315,0);
  $bunch->setFaceAlign( $brush,north(),1);$bunch->setFaceAlign( $brush,west(),1);
  $bunch->setFaceAlign( $brush,south(),1);$bunch->setFaceAlign( $brush,east(),1);
  $bunch->setFaceU( $brush,north(),1);$bunch->setFaceU( $brush,west(),1);
  $bunch->setFaceU( $brush,south(),1);$bunch->setFaceU( $brush,east(),1);
 }
}

for ($i=0-($tmpw/2);$i<=($tmpw/2)+1;$i+=$incrw) {
 for ($j=0-($tmpl/2);$j<=$tmpl/2-$incrl;$j+=$incrl) {
  $brush=$bunch->addBrush(solid(),cube(), $j+1.75,$i,($h/2)-($postsize/2)-1.7, $supportsize,$supportsize,5, $wood, 0,45,0);
  $bunch->setFaceAlign( $brush,north(),1);$bunch->setFaceAlign( $brush,west(),1);
  $bunch->setFaceAlign( $brush,south(),1);$bunch->setFaceAlign( $brush,east(),1);
  $bunch->setFaceU( $brush,north(),1);$bunch->setFaceU( $brush,west(),1);
  $bunch->setFaceU( $brush,south(),1);$bunch->setFaceU( $brush,east(),1);
 }
}

# posts

for ($i=0-($tmpw/2);$i<=($tmpw/2)+1;$i+=$incrw) {
 for ($j=0-($tmpl/2);$j<=($tmpl/2)+1;$j+=$incrl) {
  $brush=$bunch->addBrush(solid(),cube(),$j,$i,0-($postsize/2),$postsize,$postsize,$h-$postsize,$wood);
  $bunch->setFaceAlign( $brush,north(),1);$bunch->setFaceAlign( $brush,west(),1);
  $bunch->setFaceAlign( $brush,south(),1);$bunch->setFaceAlign( $brush,east(),1);
  $bunch->setFaceAlign( $brush,top(),1);$bunch->setFaceAlign( $brush,bottom(),1);
 }
}

# beams

for ($i=0-($tmpw/2);$i<=($tmpw/2)+1;$i+=$incrw) {
 $brush=$bunch->addBrush(solid(),cube(),0,$i,($h/2)-($postsize/2),$postsize,$postsize,$l,$wood,0,90,0);
 $bunch->setFaceAlign( $brush,north(),1);$bunch->setFaceAlign( $brush,west(),1);
 $bunch->setFaceAlign( $brush,south(),1);$bunch->setFaceAlign( $brush,east(),1);
 $bunch->setFaceAlign( $brush,top(),1);$bunch->setFaceAlign( $brush,bottom(),1);
}

for ($j=0-($tmpl/2);$j<=($tmpl/2)+1;$j+=$incrl) {
 $brush=$bunch->addBrush(solid(),cube(),$j,0,($h/2)-($postsize/2),$postsize,$postsize,$w,$wood,90,0,0);
 $bunch->setFaceAlign( $brush,north(),1);$bunch->setFaceAlign( $brush,west(),1);
 $bunch->setFaceAlign( $brush,south(),1);$bunch->setFaceAlign( $brush,east(),1);
 $bunch->setFaceAlign( $brush,top(),1);$bunch->setFaceAlign( $brush,bottom(),1);
}

