Ignore:
Timestamp:
10/16/12 13:04:44 (9 years ago)
Author:
ymipsl
Message:

Major Update

  • redesign Type and attribute manipulation
  • add enumerate type and attribute
  • use blitz class array instead of boost class array

YM

File:
1 edited

Legend:

Unmodified
Added
Removed
  • XIOS/trunk/src/interface/c_attr/icaxisgroup_attr.cpp

    r352 r369  
    1111#include "icutil.hpp" 
    1212#include "timer.hpp" 
    13 #include "axis.hpp" 
     13#include "node_type.hpp" 
    1414 
    1515extern "C" 
     
    128128  void cxios_set_axisgroup_value(axisgroup_Ptr axisgroup_hdl, double* value, int extent1) 
    129129  { 
    130      CTimer::get("XIOS").resume(); 
    131     ARRAY(double,1) array_tmp(new CArray<double,1>(boost::extents[extent1])); 
    132     std::copy(value, &(value[array_tmp->num_elements()]), array_tmp->data()); 
    133     axisgroup_hdl->value.setValue(array_tmp); 
     130    CTimer::get("XIOS").resume(); 
     131    CArray<double,1> tmp(value,shape(extent1),neverDeleteData) ; 
     132    axisgroup_hdl->value.reference(tmp.copy()); 
    134133    axisgroup_hdl->sendAttributToServer(axisgroup_hdl->value); 
    135134  } 
     
    137136  void cxios_get_axisgroup_value(axisgroup_Ptr axisgroup_hdl, double* value, int extent1) 
    138137  { 
    139     if (!array_copy(axisgroup_hdl->value.getValue(), value, extent1)) 
    140      ERROR("void cxios_set_axisgroup_value(axisgroup_Ptr axisgroup_hdl, double* value, int extent1)",<<"Output array size is not conform to array size attribute") ; 
     138    CArray<double,1> tmp(value,shape(extent1),neverDeleteData) ; 
     139    tmp=axisgroup_hdl->value ; 
    141140     CTimer::get("XIOS").suspend(); 
     141  } 
     142   
     143   
     144  void cxios_set_axisgroup_zoom_begin(axisgroup_Ptr axisgroup_hdl, int zoom_begin) 
     145  { 
     146     CTimer::get("XIOS").resume(); 
     147    axisgroup_hdl->zoom_begin.setValue(zoom_begin); 
     148    axisgroup_hdl->sendAttributToServer(axisgroup_hdl->zoom_begin); 
     149     CTimer::get("XIOS").suspend(); 
     150  } 
     151   
     152  void cxios_get_axisgroup_zoom_begin(axisgroup_Ptr axisgroup_hdl, int* zoom_begin) 
     153  { 
     154    *zoom_begin = axisgroup_hdl->zoom_begin.getValue(); 
     155  } 
     156   
     157   
     158  void cxios_set_axisgroup_zoom_end(axisgroup_Ptr axisgroup_hdl, int zoom_end) 
     159  { 
     160     CTimer::get("XIOS").resume(); 
     161    axisgroup_hdl->zoom_end.setValue(zoom_end); 
     162    axisgroup_hdl->sendAttributToServer(axisgroup_hdl->zoom_end); 
     163     CTimer::get("XIOS").suspend(); 
     164  } 
     165   
     166  void cxios_get_axisgroup_zoom_end(axisgroup_Ptr axisgroup_hdl, int* zoom_end) 
     167  { 
     168    *zoom_end = axisgroup_hdl->zoom_end.getValue(); 
     169  } 
     170   
     171   
     172  void cxios_set_axisgroup_zoom_size(axisgroup_Ptr axisgroup_hdl, int zoom_size) 
     173  { 
     174     CTimer::get("XIOS").resume(); 
     175    axisgroup_hdl->zoom_size.setValue(zoom_size); 
     176    axisgroup_hdl->sendAttributToServer(axisgroup_hdl->zoom_size); 
     177     CTimer::get("XIOS").suspend(); 
     178  } 
     179   
     180  void cxios_get_axisgroup_zoom_size(axisgroup_Ptr axisgroup_hdl, int* zoom_size) 
     181  { 
     182    *zoom_size = axisgroup_hdl->zoom_size.getValue(); 
    142183  } 
    143184   
Note: See TracChangeset for help on using the changeset viewer.