URI:
       tpism_Vars.i - pism - [fork] customized build of PISM, the parallel ice sheet model (tillflux branch)
  HTML git clone git://src.adamsgaard.dk/pism
   DIR Log
   DIR Files
   DIR Refs
   DIR LICENSE
       ---
       tpism_Vars.i (1496B)
       ---
            1 %{
            2   #include "util/Vars.hh"
            3 %}
            4 
            5 /* disable methods that use regular pointers */
            6 %ignore pism::Vars::add;
            7 %ignore pism::Vars::is_available;
            8 %ignore pism::Vars::get;
            9 %ignore pism::Vars::get_2d_scalar;
           10 %ignore pism::Vars::get_2d_vector;
           11 %ignore pism::Vars::get_2d_mask;
           12 %ignore pism::Vars::get_2d_cell_type;
           13 %ignore pism::Vars::get_3d_scalar;
           14 %ignore pism::Vars::keys;
           15 
           16 /* replace with methods that use shared pointers */
           17 %rename(add) pism::Vars::add_shared;
           18 %rename(is_available) pism::Vars::is_available_shared;
           19 %rename(_get) pism::Vars::get_shared;
           20 %rename(get_2d_scalar) pism::Vars::get_2d_scalar_shared;
           21 %rename(get_2d_vector) pism::Vars::get_2d_vector_shared;
           22 %rename(get_2d_mask) pism::Vars::get_2d_mask_shared;
           23 %rename(get_2d_cell_type) pism::Vars::get_2d_cell_type_shared;
           24 %rename(get_3d_scalar) pism::Vars::get_3d_scalar_shared;
           25 %rename(keys) pism::Vars::keys_shared;
           26 
           27 /* remove Vars::remove */
           28 %ignore pism::Vars::remove;
           29 
           30 %extend pism::Vars {
           31   %pythoncode %{
           32 def get(self, key):
           33     # try this first (a cell type mask is a mask, which is a scalar)
           34     try:
           35         return self.get_2d_cell_type(key)
           36     except:
           37         pass
           38 
           39     try:
           40         return self.get_2d_mask(key)
           41     except:
           42         pass
           43   
           44     try:
           45         return self.get_2d_scalar(key)
           46     except:
           47         pass
           48   
           49     try:
           50         return self.get_2d_vector(key)
           51     except:
           52         pass
           53   
           54     try:
           55         return self.get_3d_scalar(key)
           56     except:
           57         pass
           58   
           59     return self._get(key)
           60   %}
           61 }
           62 
           63 %include "util/Vars.hh"