Changeset 1857 in Sophya for trunk/SophyaPI/PIGcont/gp_contour.c


Ignore:
Timestamp:
Jan 14, 2002, 2:42:24 PM (24 years ago)
Author:
perderos
Message:

1) correction de fuites de memoire
2) integration de glpc_set.* ds gp_contour (variables en commun)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/SophyaPI/PIGcont/gp_contour.c

    r1844 r1857  
    4141 *        Hans-Martin Keller, 1995,1997 (hkeller@gwdg.de)
    4242 *
     43 *   Quelques modifs (adaptation pour SOPHYA/PEIDA) O. PErdereau 11/2001
    4344 */
    4445
     
    4748#include "gp_alloc.h"
    4849#include "gp_axis.h"
     50
     51#include <sys/time.h>
     52#include <sys/resource.h>
     53
    4954/*  #include "setshow.h" */
    5055
     
    5257
    5358char contour_format[32] = "%8.3g";      /* format for contour key entries */
    54 t_contour_kind contour_kind = CONTOUR_KIND_LINEAR;
    55 t_contour_levels_kind contour_levels_kind = LEVELS_AUTO;
    56 int contour_levels = DEFAULT_CONTOUR_LEVELS;
    57 int contour_order = DEFAULT_CONTOUR_ORDER;
    58 int contour_pts = DEFAULT_NUM_APPROX_PTS;
     59static t_contour_kind contour_kind = CONTOUR_KIND_LINEAR;
     60static t_contour_levels_kind contour_levels_kind = LEVELS_AUTO;
     61static int contour_levels = DEFAULT_CONTOUR_LEVELS;
     62static int contour_order = DEFAULT_CONTOUR_ORDER;
     63static int contour_pts = DEFAULT_NUM_APPROX_PTS;
    5964
    6065dynarray dyn_contour_levels_list;/* storage for z levels to draw contours at */
     
    7075
    7176/* Valeur de zero - Reza 21/12/2001 - Pourquoi zero = 0. ??? */
    72 static double zero = 0.;
     77        double zero = 0.;
    7378
    7479/* FIXME HBB 2000052: yet another local copy of 'epsilon'. Why? */
     
    206211struct iso_curve *iso_lines;
    207212{
     213    struct rusage r_usage;
     214    int rcus;
     215 
    208216    int i;
    209217    /*OP    int num_of_z_levels;*/      /* # Z contour levels. */
     
    217225
    218226    contour_list = NULL;
    219 
     227    /******* DEBUG ********
     228    rcus = getrusage( RUSAGE_SELF , &r_usage);
     229    if(rcus==0)
     230      printf("contour[1] / rusage -> %ld , %ld , %ld \n",  r_usage.ru_maxrss , r_usage.ru_ixrss , r_usage.ru_ixrss);
     231    else
     232      perror("contour/1er appel");
     233    *************/
    220234    /*
    221235     * Calculate min/max values :
     
    224238                 &x_min, &y_min, &z_min, &x_max, &y_max, &z_max);
    225239
     240
    226241    dz = fabs(z_max - z_min);
    227242    /*
     
    232247    gen_triangle(num_isolines, iso_lines, &p_polys, &p_edges);
    233248    crnt_cntr_pt_index = 0;
     249
     250
    234251    /*AJOUT OP */
    235252    if (contour_levels_kind == LEVELS_NUM) {
     
    279296    /* Free all contouring related temporary data. */
    280297    while (p_polys) {
     298       
    281299        p_poly = p_polys->next;
    282300        free(p_polys);
    283301        p_polys = p_poly;
    284302    }
    285     while (p_edges) {
     303
     304
     305    while (p_edges) {       
    286306        p_edge = p_edges->next;
    287307        free(p_edges);
    288308        p_edges = p_edge;
    289309    }
     310    /*********DEBUG
     311    rcus = getrusage( RUSAGE_SELF , &r_usage);
     312    if(rcus==0)
     313      printf("contour[5] / rusage -> %ld , %ld , %ld \n",  r_usage.ru_maxrss , r_usage.ru_ixrss , r_usage.ru_ixrss);
     314    else
     315      perror("contour / 5eme appel");
     316    rcus = getrusage( RUSAGE_SELF , &r_usage);
     317    ********/
    290318
    291319    return contour_list;
     
    15341562    }
    15351563}
     1564
     1565
     1566/* setting et getting de variables */
     1567/*        OP 01/2002               */
     1568
     1569void set_contour_kind(t_contour_kind in){
     1570  contour_kind = in;
     1571}
     1572
     1573t_contour_kind get_contour_kind(){
     1574  return (contour_kind);
     1575}
     1576
     1577void set_contour_levels_kind(t_contour_levels_kind in){
     1578 contour_levels_kind = in;
     1579
     1580}
     1581
     1582t_contour_levels_kind get_contour_levels_kind(){
     1583
     1584  return(contour_levels_kind);
     1585}
     1586
     1587void set_contour_levels(int num){
     1588  contour_levels = num;
     1589}
     1590
     1591int get_contour_levels(){
     1592  return(contour_levels);
     1593}
     1594void set_contour_levels_list(double *vec){
     1595
     1596  contour_levels_list=vec;
     1597}
     1598
     1599/*******
     1600void set_contour_levels_list(double *vec,int sz){
     1601  int i;
     1602  printf(" <set_contour_levels_list> sz %d \n",sz);
     1603  contour_levels_list = (double *)  malloc(sz*sizeof(double));
     1604  for (i=0 ; i<sz ; i++){
     1605    printf(" <set_contour_levels_list> i %d vec %g\n",i,vec[i]);
     1606    contour_levels_list[i] = vec[i];
     1607   
     1608  }
     1609}
     1610void free_contour_levels_list(){
     1611  if(contour_levels_list != NULL){
     1612    free(contour_levels_list);
     1613    contour_levels_list = NULL;
     1614  }
     1615}
     1616*****/
     1617double * get_contour_levels_list(){
     1618
     1619return(contour_levels_list);
     1620}
     1621 
Note: See TracChangeset for help on using the changeset viewer.