blob: bf0fff937633b8bdc0ca6d654c4bcc0b66d4bb66 [file] [log] [blame]
/* File : example.c */
#include <stdio.h>
#include "example.h"
shape::~shape() { }
bool shape::cover( double x, double y ) { return false; }
void draw_shape_coverage( shape *s, int div_x, int div_y ) {
double i,j;
for( i = 0; i < 1.0; i += 1.0 / ((float)div_y) ) {
for( j = 0; j < 1.0; j += 1.0 / ((float)div_x) ) {
if( s->cover( j,i ) ) putchar( 'x' ); else putchar( ' ' );
}
printf( "\n" );
}
}
void draw_depth_map( volume *v, int div_x, int div_y ) {
double i,j;
char depth_map_chars[] = "#*+o;:,. ";
double lowbound, highbound;
double current = 0.0;
bool bounds_set = false;
for( i = 0; i < 1.0; i += 1.0 / ((float)div_y) ) {
for( j = 0; j < 1.0; j += 1.0 / ((float)div_x) ) {
current = v->depth( j,i );
if( !bounds_set ) {
lowbound = current; highbound = current; bounds_set = true;
}
if( current < lowbound ) lowbound = current;
if( current > highbound ) highbound = current;
}
}
for( i = 0; i < 1.0; i += 1.0 / ((float)div_y) ) {
for( j = 0; j < 1.0; j += 1.0 / ((float)div_x) ) {
current = ((v->depth( j,i ) - lowbound) /
(highbound - lowbound)) * 8;
putchar(depth_map_chars[(int)current]);
}
putchar('\n');
}
}
double volume::depth( double x, double y ) { return 0.0; }