# This file was automatically generated by SWIG (http://www.swig.org).
# Version 2.0.11
#
# Do not make changes to this file unless you know what you are doing--modify
# the SWIG interface file instead.





from sys import version_info
if version_info >= (2,6,0):
    def swig_import_helper():
        from os.path import dirname
        import imp
        fp = None
        try:
            fp, pathname, description = imp.find_module('_bl3', [dirname(__file__)])
        except ImportError:
            import _bl3
            return _bl3
        if fp is not None:
            try:
                _mod = imp.load_module('_bl3', fp, pathname, description)
            finally:
                fp.close()
            return _mod
    _bl3 = swig_import_helper()
    del swig_import_helper
else:
    import _bl3
del version_info
try:
    _swig_property = property
except NameError:
    pass # Python < 2.2 doesn't have 'property'.
def _swig_setattr_nondynamic(self,class_type,name,value,static=1):
    if (name == "thisown"): return self.this.own(value)
    if (name == "this"):
        if type(value).__name__ == 'SwigPyObject':
            self.__dict__[name] = value
            return
    method = class_type.__swig_setmethods__.get(name,None)
    if method: return method(self,value)
    if (not static):
        self.__dict__[name] = value
    else:
        raise AttributeError("You cannot add attributes to %s" % self)

def _swig_setattr(self,class_type,name,value):
    return _swig_setattr_nondynamic(self,class_type,name,value,0)

def _swig_getattr(self,class_type,name):
    if (name == "thisown"): return self.this.own()
    method = class_type.__swig_getmethods__.get(name,None)
    if method: return method(self)
    raise AttributeError(name)

def _swig_repr(self):
    try: strthis = "proxy of " + self.this.__repr__()
    except: strthis = ""
    return "<%s.%s; %s >" % (self.__class__.__module__, self.__class__.__name__, strthis,)

try:
    _object = object
    _newclass = 1
except AttributeError:
    class _object : pass
    _newclass = 0


BL_DIM = _bl3.BL_DIM

def StartParallel():
  return _bl3.StartParallel()
StartParallel = _bl3.StartParallel

def rank():
  return _bl3.rank()
rank = _bl3.rank

def size():
  return _bl3.size()
size = _bl3.size

def ReduceRealMax(*args):
  return _bl3.ReduceRealMax(*args)
ReduceRealMax = _bl3.ReduceRealMax

def open_ifstream(*args):
  return _bl3.open_ifstream(*args)
open_ifstream = _bl3.open_ifstream

def open_ofstream(*args):
  return _bl3.open_ofstream(*args)
open_ofstream = _bl3.open_ofstream

def close_ofstream(*args):
  return _bl3.close_ofstream(*args)
close_ofstream = _bl3.close_ofstream

def close_ifstream(*args):
  return _bl3.close_ifstream(*args)
close_ifstream = _bl3.close_ifstream
class IntVect(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, IntVect, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, IntVect, name)
    __repr__ = _swig_repr
    def __init__(self, *args): 
        this = _bl3.new_IntVect(*args)
        try: self.this.append(this)
        except: self.this = this
    def shift(self, *args): return _bl3.IntVect_shift(self, *args)
    def writeOn(self, *args): return _bl3.IntVect_writeOn(self, *args)
    def read(self, *args): return _bl3.IntVect_read(self, *args)
    def __getitem__(self, *args): return _bl3.IntVect___getitem__(self, *args)
    def __len__(self): return _bl3.IntVect___len__(self)
    def __setitem__(self, *args): return _bl3.IntVect___setitem__(self, *args)
    def __cmp__(self, *args): return _bl3.IntVect___cmp__(self, *args)
    def __str__(self): return _bl3.IntVect___str__(self)
    __swig_getmethods__["TheZeroVector"] = lambda x: _bl3.IntVect_TheZeroVector
    if _newclass:TheZeroVector = staticmethod(_bl3.IntVect_TheZeroVector)
    __swig_getmethods__["TheUnitVector"] = lambda x: _bl3.IntVect_TheUnitVector
    if _newclass:TheUnitVector = staticmethod(_bl3.IntVect_TheUnitVector)
    __swig_getmethods__["TheNodeVector"] = lambda x: _bl3.IntVect_TheNodeVector
    if _newclass:TheNodeVector = staticmethod(_bl3.IntVect_TheNodeVector)
    __swig_getmethods__["TheCellVector"] = lambda x: _bl3.IntVect_TheCellVector
    if _newclass:TheCellVector = staticmethod(_bl3.IntVect_TheCellVector)
    __swig_destroy__ = _bl3.delete_IntVect
    __del__ = lambda self : None;
IntVect_swigregister = _bl3.IntVect_swigregister
IntVect_swigregister(IntVect)

def IntVect_TheZeroVector():
  return _bl3.IntVect_TheZeroVector()
IntVect_TheZeroVector = _bl3.IntVect_TheZeroVector

def IntVect_TheUnitVector():
  return _bl3.IntVect_TheUnitVector()
IntVect_TheUnitVector = _bl3.IntVect_TheUnitVector

def IntVect_TheNodeVector():
  return _bl3.IntVect_TheNodeVector()
IntVect_TheNodeVector = _bl3.IntVect_TheNodeVector

def IntVect_TheCellVector():
  return _bl3.IntVect_TheCellVector()
IntVect_TheCellVector = _bl3.IntVect_TheCellVector

class Box(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, Box, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, Box, name)
    __repr__ = _swig_repr
    def __init__(self, *args): 
        this = _bl3.new_Box(*args)
        try: self.this.append(this)
        except: self.this = this
    def smallEnd(self): return _bl3.Box_smallEnd(self)
    def bigEnd(self): return _bl3.Box_bigEnd(self)
    def type(self): return _bl3.Box_type(self)
    def size(self): return _bl3.Box_size(self)
    def ok(self): return _bl3.Box_ok(self)
    def contains(self, *args): return _bl3.Box_contains(self, *args)
    def intersects(self, *args): return _bl3.Box_intersects(self, *args)
    def sameSize(self, *args): return _bl3.Box_sameSize(self, *args)
    def sameType(self, *args): return _bl3.Box_sameType(self, *args)
    def cellCentered(self): return _bl3.Box_cellCentered(self)
    def numPts(self): return _bl3.Box_numPts(self)
    def volume(self): return _bl3.Box_volume(self)
    def index(self, *args): return _bl3.Box_index(self, *args)
    def setSmall(self, *args): return _bl3.Box_setSmall(self, *args)
    def setBig(self, *args): return _bl3.Box_setBig(self, *args)
    def shift(self, *args): return _bl3.Box_shift(self, *args)
    def shiftHalf(self, *args): return _bl3.Box_shiftHalf(self, *args)
    def convert(self, *args): return _bl3.Box_convert(self, *args)
    def surroundingNodes(self, *args): return _bl3.Box_surroundingNodes(self, *args)
    def enclosedCells(self, *args): return _bl3.Box_enclosedCells(self, *args)
    def minBox(self, *args): return _bl3.Box_minBox(self, *args)
    def chop(self, *args): return _bl3.Box_chop(self, *args)
    def grow(self, *args): return _bl3.Box_grow(self, *args)
    def growLo(self, *args): return _bl3.Box_growLo(self, *args)
    def growHi(self, *args): return _bl3.Box_growHi(self, *args)
    def refine(self, *args): return _bl3.Box_refine(self, *args)
    def coarsen(self, *args): return _bl3.Box_coarsen(self, *args)
    def next(self, *args): return _bl3.Box_next(self, *args)
    def read(self, *args): return _bl3.Box_read(self, *args)
    def write(self, *args): return _bl3.Box_write(self, *args)
    def __and__(self, *args): return _bl3.Box___and__(self, *args)
    def writeOn(self, *args): return _bl3.Box_writeOn(self, *args)
    def __str__(self): return _bl3.Box___str__(self)
    def __cmp__(self, *args): return _bl3.Box___cmp__(self, *args)
    __swig_destroy__ = _bl3.delete_Box
    __del__ = lambda self : None;
Box_swigregister = _bl3.Box_swigregister
Box_swigregister(Box)

class FArrayBox(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, FArrayBox, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, FArrayBox, name)
    __repr__ = _swig_repr
    def __init__(self, *args): 
        this = _bl3.new_FArrayBox(*args)
        try: self.this.append(this)
        except: self.this = this
    __swig_destroy__ = _bl3.delete_FArrayBox
    __del__ = lambda self : None;
    def box(self): return _bl3.FArrayBox_box(self)
    def nComp(self): return _bl3.FArrayBox_nComp(self)
    def writeOn(self, *args): return _bl3.FArrayBox_writeOn(self, *args)
    def norm(self, *args): return _bl3.FArrayBox_norm(self, *args)
    def copy(self, *args): return _bl3.FArrayBox_copy(self, *args)
    def readFrom(self, *args): return _bl3.FArrayBox_readFrom(self, *args)
    def __str__(self): return _bl3.FArrayBox___str__(self)
    def setVal(self, *args): return _bl3.FArrayBox_setVal(self, *args)
    def min(self, *args): return _bl3.FArrayBox_min(self, *args)
    def max(self, *args): return _bl3.FArrayBox_max(self, *args)
    def minIndex(self, *args): return _bl3.FArrayBox_minIndex(self, *args)
    def maxIndex(self, *args): return _bl3.FArrayBox_maxIndex(self, *args)
    def sum(self, *args): return _bl3.FArrayBox_sum(self, *args)
    def get_array(self): return _bl3.FArrayBox_get_array(self)
    def valIV(self, *args): return _bl3.FArrayBox_valIV(self, *args)
    def setValIV(self, *args): return _bl3.FArrayBox_setValIV(self, *args)
    def floor(self, *args): return _bl3.FArrayBox_floor(self, *args)
    def __add__(self, *args): return _bl3.FArrayBox___add__(self, *args)
    def __sub__(self, *args): return _bl3.FArrayBox___sub__(self, *args)
    def __mul__(self, *args): return _bl3.FArrayBox___mul__(self, *args)
    def __div__(self, *args): return _bl3.FArrayBox___div__(self, *args)
FArrayBox_swigregister = _bl3.FArrayBox_swigregister
FArrayBox_swigregister(FArrayBox)

class BoxArray(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, BoxArray, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, BoxArray, name)
    __repr__ = _swig_repr
    __swig_destroy__ = _bl3.delete_BoxArray
    __del__ = lambda self : None;
    def __init__(self, *args): 
        this = _bl3.new_BoxArray(*args)
        try: self.this.append(this)
        except: self.this = this
    def resize(self, *args): return _bl3.BoxArray_resize(self, *args)
    def define(self, *args): return _bl3.BoxArray_define(self, *args)
    def writeOn(self, *args): return _bl3.BoxArray_writeOn(self, *args)
    def readFrom(self, *args): return _bl3.BoxArray_readFrom(self, *args)
    def size(self): return _bl3.BoxArray_size(self)
    def get(self, *args): return _bl3.BoxArray_get(self, *args)
    def set(self, *args): return _bl3.BoxArray_set(self, *args)
    def maxSize(self, *args): return _bl3.BoxArray_maxSize(self, *args)
    def ok(self): return _bl3.BoxArray_ok(self)
    def isDisjoint(self): return _bl3.BoxArray_isDisjoint(self)
    def contains(self, *args): return _bl3.BoxArray_contains(self, *args)
    def minimalBox(self): return _bl3.BoxArray_minimalBox(self)
    def refine(self, *args): return _bl3.BoxArray_refine(self, *args)
    def coarsen(self, *args): return _bl3.BoxArray_coarsen(self, *args)
    def __getitem__(self, *args): return _bl3.BoxArray___getitem__(self, *args)
    def complementIn(self, *args): return _bl3.BoxArray_complementIn(self, *args)
    def __and__(self, *args): return _bl3.BoxArray___and__(self, *args)
    def __or__(self, *args): return _bl3.BoxArray___or__(self, *args)
    def __len__(self): return _bl3.BoxArray___len__(self)
    def __str__(self): return _bl3.BoxArray___str__(self)
    def __cmp__(self, *args): return _bl3.BoxArray___cmp__(self, *args)
BoxArray_swigregister = _bl3.BoxArray_swigregister
BoxArray_swigregister(BoxArray)

class SwigPyIterator(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, SwigPyIterator, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, SwigPyIterator, name)
    def __init__(self, *args, **kwargs): raise AttributeError("No constructor defined - class is abstract")
    __repr__ = _swig_repr
    __swig_destroy__ = _bl3.delete_SwigPyIterator
    __del__ = lambda self : None;
    def value(self): return _bl3.SwigPyIterator_value(self)
    def incr(self, n=1): return _bl3.SwigPyIterator_incr(self, n)
    def decr(self, n=1): return _bl3.SwigPyIterator_decr(self, n)
    def distance(self, *args): return _bl3.SwigPyIterator_distance(self, *args)
    def equal(self, *args): return _bl3.SwigPyIterator_equal(self, *args)
    def copy(self): return _bl3.SwigPyIterator_copy(self)
    def next(self): return _bl3.SwigPyIterator_next(self)
    def __next__(self): return _bl3.SwigPyIterator___next__(self)
    def previous(self): return _bl3.SwigPyIterator_previous(self)
    def advance(self, *args): return _bl3.SwigPyIterator_advance(self, *args)
    def __eq__(self, *args): return _bl3.SwigPyIterator___eq__(self, *args)
    def __ne__(self, *args): return _bl3.SwigPyIterator___ne__(self, *args)
    def __iadd__(self, *args): return _bl3.SwigPyIterator___iadd__(self, *args)
    def __isub__(self, *args): return _bl3.SwigPyIterator___isub__(self, *args)
    def __add__(self, *args): return _bl3.SwigPyIterator___add__(self, *args)
    def __sub__(self, *args): return _bl3.SwigPyIterator___sub__(self, *args)
    def __iter__(self): return self
SwigPyIterator_swigregister = _bl3.SwigPyIterator_swigregister
SwigPyIterator_swigregister(SwigPyIterator)

class MultiFab(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, MultiFab, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, MultiFab, name)
    __repr__ = _swig_repr
    def __init__(self, *args): 
        this = _bl3.new_MultiFab(*args)
        try: self.this.append(this)
        except: self.this = this
    __swig_destroy__ = _bl3.delete_MultiFab
    __del__ = lambda self : None;
    def define(self, *args): return _bl3.MultiFab_define(self, *args)
    def ok(self): return _bl3.MultiFab_ok(self)
    def nGrow(self): return _bl3.MultiFab_nGrow(self)
    def boxArray(self): return _bl3.MultiFab_boxArray(self)
    def size(self): return _bl3.MultiFab_size(self)
    def nComp(self): return _bl3.MultiFab_nComp(self)
    def min(self, *args): return _bl3.MultiFab_min(self, *args)
    def max(self, *args): return _bl3.MultiFab_max(self, *args)
    def copy(self, *args): return _bl3.MultiFab_copy(self, *args)
    def setVal(self, *args): return _bl3.MultiFab_setVal(self, *args)
    def setBndry(self, *args): return _bl3.MultiFab_setBndry(self, *args)
    def FillBoundary(self, *args): return _bl3.MultiFab_FillBoundary(self, *args)
    def sum(self, comp=0): return _bl3.MultiFab_sum(self, comp)
    def writeOut(self, *args): return _bl3.MultiFab_writeOut(self, *args)
    def copyComp(self, *args): return _bl3.MultiFab_copyComp(self, *args)
    def __getitem__(self, *args): return _bl3.MultiFab___getitem__(self, *args)
MultiFab_swigregister = _bl3.MultiFab_swigregister
MultiFab_swigregister(MultiFab)

class RealBox(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, RealBox, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, RealBox, name)
    __repr__ = _swig_repr
    def __init__(self, *args): 
        this = _bl3.new_RealBox(*args)
        try: self.this.append(this)
        except: self.this = this
    __swig_destroy__ = _bl3.delete_RealBox
    __del__ = lambda self : None;
RealBox_swigregister = _bl3.RealBox_swigregister
RealBox_swigregister(RealBox)

class Geometry(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, Geometry, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, Geometry, name)
    __repr__ = _swig_repr
    def __init__(self, *args): 
        this = _bl3.new_Geometry(*args)
        try: self.this.append(this)
        except: self.this = this
    def FillPeriodicBoundary(self, *args): return _bl3.Geometry_FillPeriodicBoundary(self, *args)
    __swig_destroy__ = _bl3.delete_Geometry
    __del__ = lambda self : None;
Geometry_swigregister = _bl3.Geometry_swigregister
Geometry_swigregister(Geometry)

# This file is compatible with both classic and new-style classes.


