git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12460 626c5289-ae23-0410-ae9c-e8d60b6d4f22
50 lines
1.3 KiB
C
50 lines
1.3 KiB
C
/* 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; }
|
|
|
|
volume::~volume() { }
|