# This file was automatically generated by SWIG (https://www.swig.org).
# Version 4.1.1
#
# 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 as _swig_python_version_info
# Import the low-level C/C++ module
if __package__ or "." in __name__:
    from . import _vsp_g
else:
    import _vsp_g

try:
    import builtins as __builtin__
except ImportError:
    import __builtin__

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


def _swig_setattr_nondynamic_instance_variable(set):
    def set_instance_attr(self, name, value):
        if name == "this":
            set(self, name, value)
        elif name == "thisown":
            self.this.own(value)
        elif hasattr(self, name) and isinstance(getattr(type(self), name), property):
            set(self, name, value)
        else:
            raise AttributeError("You cannot add instance attributes to %s" % self)
    return set_instance_attr


def _swig_setattr_nondynamic_class_variable(set):
    def set_class_attr(cls, name, value):
        if hasattr(cls, name) and not isinstance(getattr(cls, name), property):
            set(cls, name, value)
        else:
            raise AttributeError("You cannot add class attributes to %s" % cls)
    return set_class_attr


def _swig_add_metaclass(metaclass):
    """Class decorator for adding a metaclass to a SWIG wrapped class - a slimmed down version of six.add_metaclass"""
    def wrapper(cls):
        return metaclass(cls.__name__, cls.__bases__, cls.__dict__.copy())
    return wrapper


class _SwigNonDynamicMeta(type):
    """Meta class to enforce nondynamic attributes (no new attributes) for a class"""
    __setattr__ = _swig_setattr_nondynamic_class_variable(type.__setattr__)


class SwigPyIterator(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")

    def __init__(self, *args, **kwargs):
        raise AttributeError("No constructor defined - class is abstract")
    __repr__ = _swig_repr
    __swig_destroy__ = _vsp_g.delete_SwigPyIterator

    def value(self):
        return _vsp_g.SwigPyIterator_value(self)

    def incr(self, n=1):
        return _vsp_g.SwigPyIterator_incr(self, n)

    def decr(self, n=1):
        return _vsp_g.SwigPyIterator_decr(self, n)

    def distance(self, x):
        return _vsp_g.SwigPyIterator_distance(self, x)

    def equal(self, x):
        return _vsp_g.SwigPyIterator_equal(self, x)

    def copy(self):
        return _vsp_g.SwigPyIterator_copy(self)

    def next(self):
        return _vsp_g.SwigPyIterator_next(self)

    def __next__(self):
        return _vsp_g.SwigPyIterator___next__(self)

    def previous(self):
        return _vsp_g.SwigPyIterator_previous(self)

    def advance(self, n):
        return _vsp_g.SwigPyIterator_advance(self, n)

    def __eq__(self, x):
        return _vsp_g.SwigPyIterator___eq__(self, x)

    def __ne__(self, x):
        return _vsp_g.SwigPyIterator___ne__(self, x)

    def __iadd__(self, n):
        return _vsp_g.SwigPyIterator___iadd__(self, n)

    def __isub__(self, n):
        return _vsp_g.SwigPyIterator___isub__(self, n)

    def __add__(self, n):
        return _vsp_g.SwigPyIterator___add__(self, n)

    def __sub__(self, *args):
        return _vsp_g.SwigPyIterator___sub__(self, *args)
    def __iter__(self):
        return self

# Register SwigPyIterator in _vsp_g:
_vsp_g.SwigPyIterator_swigregister(SwigPyIterator)
class IntVector(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def iterator(self):
        return _vsp_g.IntVector_iterator(self)
    def __iter__(self):
        return self.iterator()

    def __nonzero__(self):
        return _vsp_g.IntVector___nonzero__(self)

    def __bool__(self):
        return _vsp_g.IntVector___bool__(self)

    def __len__(self):
        return _vsp_g.IntVector___len__(self)

    def __getslice__(self, i, j):
        return _vsp_g.IntVector___getslice__(self, i, j)

    def __setslice__(self, *args):
        return _vsp_g.IntVector___setslice__(self, *args)

    def __delslice__(self, i, j):
        return _vsp_g.IntVector___delslice__(self, i, j)

    def __delitem__(self, *args):
        return _vsp_g.IntVector___delitem__(self, *args)

    def __getitem__(self, *args):
        return _vsp_g.IntVector___getitem__(self, *args)

    def __setitem__(self, *args):
        return _vsp_g.IntVector___setitem__(self, *args)

    def pop(self):
        return _vsp_g.IntVector_pop(self)

    def append(self, x):
        return _vsp_g.IntVector_append(self, x)

    def empty(self):
        return _vsp_g.IntVector_empty(self)

    def size(self):
        return _vsp_g.IntVector_size(self)

    def swap(self, v):
        return _vsp_g.IntVector_swap(self, v)

    def begin(self):
        return _vsp_g.IntVector_begin(self)

    def end(self):
        return _vsp_g.IntVector_end(self)

    def rbegin(self):
        return _vsp_g.IntVector_rbegin(self)

    def rend(self):
        return _vsp_g.IntVector_rend(self)

    def clear(self):
        return _vsp_g.IntVector_clear(self)

    def get_allocator(self):
        return _vsp_g.IntVector_get_allocator(self)

    def pop_back(self):
        return _vsp_g.IntVector_pop_back(self)

    def erase(self, *args):
        return _vsp_g.IntVector_erase(self, *args)

    def __init__(self, *args):
        _vsp_g.IntVector_swiginit(self, _vsp_g.new_IntVector(*args))

    def push_back(self, x):
        return _vsp_g.IntVector_push_back(self, x)

    def front(self):
        return _vsp_g.IntVector_front(self)

    def back(self):
        return _vsp_g.IntVector_back(self)

    def assign(self, n, x):
        return _vsp_g.IntVector_assign(self, n, x)

    def resize(self, *args):
        return _vsp_g.IntVector_resize(self, *args)

    def insert(self, *args):
        return _vsp_g.IntVector_insert(self, *args)

    def reserve(self, n):
        return _vsp_g.IntVector_reserve(self, n)

    def capacity(self):
        return _vsp_g.IntVector_capacity(self)
    __swig_destroy__ = _vsp_g.delete_IntVector

# Register IntVector in _vsp_g:
_vsp_g.IntVector_swigregister(IntVector)
class DoubleVector(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def iterator(self):
        return _vsp_g.DoubleVector_iterator(self)
    def __iter__(self):
        return self.iterator()

    def __nonzero__(self):
        return _vsp_g.DoubleVector___nonzero__(self)

    def __bool__(self):
        return _vsp_g.DoubleVector___bool__(self)

    def __len__(self):
        return _vsp_g.DoubleVector___len__(self)

    def __getslice__(self, i, j):
        return _vsp_g.DoubleVector___getslice__(self, i, j)

    def __setslice__(self, *args):
        return _vsp_g.DoubleVector___setslice__(self, *args)

    def __delslice__(self, i, j):
        return _vsp_g.DoubleVector___delslice__(self, i, j)

    def __delitem__(self, *args):
        return _vsp_g.DoubleVector___delitem__(self, *args)

    def __getitem__(self, *args):
        return _vsp_g.DoubleVector___getitem__(self, *args)

    def __setitem__(self, *args):
        return _vsp_g.DoubleVector___setitem__(self, *args)

    def pop(self):
        return _vsp_g.DoubleVector_pop(self)

    def append(self, x):
        return _vsp_g.DoubleVector_append(self, x)

    def empty(self):
        return _vsp_g.DoubleVector_empty(self)

    def size(self):
        return _vsp_g.DoubleVector_size(self)

    def swap(self, v):
        return _vsp_g.DoubleVector_swap(self, v)

    def begin(self):
        return _vsp_g.DoubleVector_begin(self)

    def end(self):
        return _vsp_g.DoubleVector_end(self)

    def rbegin(self):
        return _vsp_g.DoubleVector_rbegin(self)

    def rend(self):
        return _vsp_g.DoubleVector_rend(self)

    def clear(self):
        return _vsp_g.DoubleVector_clear(self)

    def get_allocator(self):
        return _vsp_g.DoubleVector_get_allocator(self)

    def pop_back(self):
        return _vsp_g.DoubleVector_pop_back(self)

    def erase(self, *args):
        return _vsp_g.DoubleVector_erase(self, *args)

    def __init__(self, *args):
        _vsp_g.DoubleVector_swiginit(self, _vsp_g.new_DoubleVector(*args))

    def push_back(self, x):
        return _vsp_g.DoubleVector_push_back(self, x)

    def front(self):
        return _vsp_g.DoubleVector_front(self)

    def back(self):
        return _vsp_g.DoubleVector_back(self)

    def assign(self, n, x):
        return _vsp_g.DoubleVector_assign(self, n, x)

    def resize(self, *args):
        return _vsp_g.DoubleVector_resize(self, *args)

    def insert(self, *args):
        return _vsp_g.DoubleVector_insert(self, *args)

    def reserve(self, n):
        return _vsp_g.DoubleVector_reserve(self, n)

    def capacity(self):
        return _vsp_g.DoubleVector_capacity(self)
    __swig_destroy__ = _vsp_g.delete_DoubleVector

# Register DoubleVector in _vsp_g:
_vsp_g.DoubleVector_swigregister(DoubleVector)
class StringVector(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def iterator(self):
        return _vsp_g.StringVector_iterator(self)
    def __iter__(self):
        return self.iterator()

    def __nonzero__(self):
        return _vsp_g.StringVector___nonzero__(self)

    def __bool__(self):
        return _vsp_g.StringVector___bool__(self)

    def __len__(self):
        return _vsp_g.StringVector___len__(self)

    def __getslice__(self, i, j):
        return _vsp_g.StringVector___getslice__(self, i, j)

    def __setslice__(self, *args):
        return _vsp_g.StringVector___setslice__(self, *args)

    def __delslice__(self, i, j):
        return _vsp_g.StringVector___delslice__(self, i, j)

    def __delitem__(self, *args):
        return _vsp_g.StringVector___delitem__(self, *args)

    def __getitem__(self, *args):
        return _vsp_g.StringVector___getitem__(self, *args)

    def __setitem__(self, *args):
        return _vsp_g.StringVector___setitem__(self, *args)

    def pop(self):
        return _vsp_g.StringVector_pop(self)

    def append(self, x):
        return _vsp_g.StringVector_append(self, x)

    def empty(self):
        return _vsp_g.StringVector_empty(self)

    def size(self):
        return _vsp_g.StringVector_size(self)

    def swap(self, v):
        return _vsp_g.StringVector_swap(self, v)

    def begin(self):
        return _vsp_g.StringVector_begin(self)

    def end(self):
        return _vsp_g.StringVector_end(self)

    def rbegin(self):
        return _vsp_g.StringVector_rbegin(self)

    def rend(self):
        return _vsp_g.StringVector_rend(self)

    def clear(self):
        return _vsp_g.StringVector_clear(self)

    def get_allocator(self):
        return _vsp_g.StringVector_get_allocator(self)

    def pop_back(self):
        return _vsp_g.StringVector_pop_back(self)

    def erase(self, *args):
        return _vsp_g.StringVector_erase(self, *args)

    def __init__(self, *args):
        _vsp_g.StringVector_swiginit(self, _vsp_g.new_StringVector(*args))

    def push_back(self, x):
        return _vsp_g.StringVector_push_back(self, x)

    def front(self):
        return _vsp_g.StringVector_front(self)

    def back(self):
        return _vsp_g.StringVector_back(self)

    def assign(self, n, x):
        return _vsp_g.StringVector_assign(self, n, x)

    def resize(self, *args):
        return _vsp_g.StringVector_resize(self, *args)

    def insert(self, *args):
        return _vsp_g.StringVector_insert(self, *args)

    def reserve(self, n):
        return _vsp_g.StringVector_reserve(self, n)

    def capacity(self):
        return _vsp_g.StringVector_capacity(self)
    __swig_destroy__ = _vsp_g.delete_StringVector

# Register StringVector in _vsp_g:
_vsp_g.StringVector_swigregister(StringVector)
class BoolVector(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def iterator(self):
        return _vsp_g.BoolVector_iterator(self)
    def __iter__(self):
        return self.iterator()

    def __nonzero__(self):
        return _vsp_g.BoolVector___nonzero__(self)

    def __bool__(self):
        return _vsp_g.BoolVector___bool__(self)

    def __len__(self):
        return _vsp_g.BoolVector___len__(self)

    def __getslice__(self, i, j):
        return _vsp_g.BoolVector___getslice__(self, i, j)

    def __setslice__(self, *args):
        return _vsp_g.BoolVector___setslice__(self, *args)

    def __delslice__(self, i, j):
        return _vsp_g.BoolVector___delslice__(self, i, j)

    def __delitem__(self, *args):
        return _vsp_g.BoolVector___delitem__(self, *args)

    def __getitem__(self, *args):
        return _vsp_g.BoolVector___getitem__(self, *args)

    def __setitem__(self, *args):
        return _vsp_g.BoolVector___setitem__(self, *args)

    def pop(self):
        return _vsp_g.BoolVector_pop(self)

    def append(self, x):
        return _vsp_g.BoolVector_append(self, x)

    def empty(self):
        return _vsp_g.BoolVector_empty(self)

    def size(self):
        return _vsp_g.BoolVector_size(self)

    def swap(self, v):
        return _vsp_g.BoolVector_swap(self, v)

    def begin(self):
        return _vsp_g.BoolVector_begin(self)

    def end(self):
        return _vsp_g.BoolVector_end(self)

    def rbegin(self):
        return _vsp_g.BoolVector_rbegin(self)

    def rend(self):
        return _vsp_g.BoolVector_rend(self)

    def clear(self):
        return _vsp_g.BoolVector_clear(self)

    def get_allocator(self):
        return _vsp_g.BoolVector_get_allocator(self)

    def pop_back(self):
        return _vsp_g.BoolVector_pop_back(self)

    def erase(self, *args):
        return _vsp_g.BoolVector_erase(self, *args)

    def __init__(self, *args):
        _vsp_g.BoolVector_swiginit(self, _vsp_g.new_BoolVector(*args))

    def push_back(self, x):
        return _vsp_g.BoolVector_push_back(self, x)

    def front(self):
        return _vsp_g.BoolVector_front(self)

    def back(self):
        return _vsp_g.BoolVector_back(self)

    def assign(self, n, x):
        return _vsp_g.BoolVector_assign(self, n, x)

    def resize(self, *args):
        return _vsp_g.BoolVector_resize(self, *args)

    def insert(self, *args):
        return _vsp_g.BoolVector_insert(self, *args)

    def reserve(self, n):
        return _vsp_g.BoolVector_reserve(self, n)

    def capacity(self):
        return _vsp_g.BoolVector_capacity(self)
    __swig_destroy__ = _vsp_g.delete_BoolVector

# Register BoolVector in _vsp_g:
_vsp_g.BoolVector_swigregister(BoolVector)
class StringVecVec(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def iterator(self):
        return _vsp_g.StringVecVec_iterator(self)
    def __iter__(self):
        return self.iterator()

    def __nonzero__(self):
        return _vsp_g.StringVecVec___nonzero__(self)

    def __bool__(self):
        return _vsp_g.StringVecVec___bool__(self)

    def __len__(self):
        return _vsp_g.StringVecVec___len__(self)

    def __getslice__(self, i, j):
        return _vsp_g.StringVecVec___getslice__(self, i, j)

    def __setslice__(self, *args):
        return _vsp_g.StringVecVec___setslice__(self, *args)

    def __delslice__(self, i, j):
        return _vsp_g.StringVecVec___delslice__(self, i, j)

    def __delitem__(self, *args):
        return _vsp_g.StringVecVec___delitem__(self, *args)

    def __getitem__(self, *args):
        return _vsp_g.StringVecVec___getitem__(self, *args)

    def __setitem__(self, *args):
        return _vsp_g.StringVecVec___setitem__(self, *args)

    def pop(self):
        return _vsp_g.StringVecVec_pop(self)

    def append(self, x):
        return _vsp_g.StringVecVec_append(self, x)

    def empty(self):
        return _vsp_g.StringVecVec_empty(self)

    def size(self):
        return _vsp_g.StringVecVec_size(self)

    def swap(self, v):
        return _vsp_g.StringVecVec_swap(self, v)

    def begin(self):
        return _vsp_g.StringVecVec_begin(self)

    def end(self):
        return _vsp_g.StringVecVec_end(self)

    def rbegin(self):
        return _vsp_g.StringVecVec_rbegin(self)

    def rend(self):
        return _vsp_g.StringVecVec_rend(self)

    def clear(self):
        return _vsp_g.StringVecVec_clear(self)

    def get_allocator(self):
        return _vsp_g.StringVecVec_get_allocator(self)

    def pop_back(self):
        return _vsp_g.StringVecVec_pop_back(self)

    def erase(self, *args):
        return _vsp_g.StringVecVec_erase(self, *args)

    def __init__(self, *args):
        _vsp_g.StringVecVec_swiginit(self, _vsp_g.new_StringVecVec(*args))

    def push_back(self, x):
        return _vsp_g.StringVecVec_push_back(self, x)

    def front(self):
        return _vsp_g.StringVecVec_front(self)

    def back(self):
        return _vsp_g.StringVecVec_back(self)

    def assign(self, n, x):
        return _vsp_g.StringVecVec_assign(self, n, x)

    def resize(self, *args):
        return _vsp_g.StringVecVec_resize(self, *args)

    def insert(self, *args):
        return _vsp_g.StringVecVec_insert(self, *args)

    def reserve(self, n):
        return _vsp_g.StringVecVec_reserve(self, n)

    def capacity(self):
        return _vsp_g.StringVecVec_capacity(self)
    __swig_destroy__ = _vsp_g.delete_StringVecVec

# Register StringVecVec in _vsp_g:
_vsp_g.StringVecVec_swigregister(StringVecVec)
class IntVecVec(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def iterator(self):
        return _vsp_g.IntVecVec_iterator(self)
    def __iter__(self):
        return self.iterator()

    def __nonzero__(self):
        return _vsp_g.IntVecVec___nonzero__(self)

    def __bool__(self):
        return _vsp_g.IntVecVec___bool__(self)

    def __len__(self):
        return _vsp_g.IntVecVec___len__(self)

    def __getslice__(self, i, j):
        return _vsp_g.IntVecVec___getslice__(self, i, j)

    def __setslice__(self, *args):
        return _vsp_g.IntVecVec___setslice__(self, *args)

    def __delslice__(self, i, j):
        return _vsp_g.IntVecVec___delslice__(self, i, j)

    def __delitem__(self, *args):
        return _vsp_g.IntVecVec___delitem__(self, *args)

    def __getitem__(self, *args):
        return _vsp_g.IntVecVec___getitem__(self, *args)

    def __setitem__(self, *args):
        return _vsp_g.IntVecVec___setitem__(self, *args)

    def pop(self):
        return _vsp_g.IntVecVec_pop(self)

    def append(self, x):
        return _vsp_g.IntVecVec_append(self, x)

    def empty(self):
        return _vsp_g.IntVecVec_empty(self)

    def size(self):
        return _vsp_g.IntVecVec_size(self)

    def swap(self, v):
        return _vsp_g.IntVecVec_swap(self, v)

    def begin(self):
        return _vsp_g.IntVecVec_begin(self)

    def end(self):
        return _vsp_g.IntVecVec_end(self)

    def rbegin(self):
        return _vsp_g.IntVecVec_rbegin(self)

    def rend(self):
        return _vsp_g.IntVecVec_rend(self)

    def clear(self):
        return _vsp_g.IntVecVec_clear(self)

    def get_allocator(self):
        return _vsp_g.IntVecVec_get_allocator(self)

    def pop_back(self):
        return _vsp_g.IntVecVec_pop_back(self)

    def erase(self, *args):
        return _vsp_g.IntVecVec_erase(self, *args)

    def __init__(self, *args):
        _vsp_g.IntVecVec_swiginit(self, _vsp_g.new_IntVecVec(*args))

    def push_back(self, x):
        return _vsp_g.IntVecVec_push_back(self, x)

    def front(self):
        return _vsp_g.IntVecVec_front(self)

    def back(self):
        return _vsp_g.IntVecVec_back(self)

    def assign(self, n, x):
        return _vsp_g.IntVecVec_assign(self, n, x)

    def resize(self, *args):
        return _vsp_g.IntVecVec_resize(self, *args)

    def insert(self, *args):
        return _vsp_g.IntVecVec_insert(self, *args)

    def reserve(self, n):
        return _vsp_g.IntVecVec_reserve(self, n)

    def capacity(self):
        return _vsp_g.IntVecVec_capacity(self)
    __swig_destroy__ = _vsp_g.delete_IntVecVec

# Register IntVecVec in _vsp_g:
_vsp_g.IntVecVec_swigregister(IntVecVec)
class DoubleVecVec(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def iterator(self):
        return _vsp_g.DoubleVecVec_iterator(self)
    def __iter__(self):
        return self.iterator()

    def __nonzero__(self):
        return _vsp_g.DoubleVecVec___nonzero__(self)

    def __bool__(self):
        return _vsp_g.DoubleVecVec___bool__(self)

    def __len__(self):
        return _vsp_g.DoubleVecVec___len__(self)

    def __getslice__(self, i, j):
        return _vsp_g.DoubleVecVec___getslice__(self, i, j)

    def __setslice__(self, *args):
        return _vsp_g.DoubleVecVec___setslice__(self, *args)

    def __delslice__(self, i, j):
        return _vsp_g.DoubleVecVec___delslice__(self, i, j)

    def __delitem__(self, *args):
        return _vsp_g.DoubleVecVec___delitem__(self, *args)

    def __getitem__(self, *args):
        return _vsp_g.DoubleVecVec___getitem__(self, *args)

    def __setitem__(self, *args):
        return _vsp_g.DoubleVecVec___setitem__(self, *args)

    def pop(self):
        return _vsp_g.DoubleVecVec_pop(self)

    def append(self, x):
        return _vsp_g.DoubleVecVec_append(self, x)

    def empty(self):
        return _vsp_g.DoubleVecVec_empty(self)

    def size(self):
        return _vsp_g.DoubleVecVec_size(self)

    def swap(self, v):
        return _vsp_g.DoubleVecVec_swap(self, v)

    def begin(self):
        return _vsp_g.DoubleVecVec_begin(self)

    def end(self):
        return _vsp_g.DoubleVecVec_end(self)

    def rbegin(self):
        return _vsp_g.DoubleVecVec_rbegin(self)

    def rend(self):
        return _vsp_g.DoubleVecVec_rend(self)

    def clear(self):
        return _vsp_g.DoubleVecVec_clear(self)

    def get_allocator(self):
        return _vsp_g.DoubleVecVec_get_allocator(self)

    def pop_back(self):
        return _vsp_g.DoubleVecVec_pop_back(self)

    def erase(self, *args):
        return _vsp_g.DoubleVecVec_erase(self, *args)

    def __init__(self, *args):
        _vsp_g.DoubleVecVec_swiginit(self, _vsp_g.new_DoubleVecVec(*args))

    def push_back(self, x):
        return _vsp_g.DoubleVecVec_push_back(self, x)

    def front(self):
        return _vsp_g.DoubleVecVec_front(self)

    def back(self):
        return _vsp_g.DoubleVecVec_back(self)

    def assign(self, n, x):
        return _vsp_g.DoubleVecVec_assign(self, n, x)

    def resize(self, *args):
        return _vsp_g.DoubleVecVec_resize(self, *args)

    def insert(self, *args):
        return _vsp_g.DoubleVecVec_insert(self, *args)

    def reserve(self, n):
        return _vsp_g.DoubleVecVec_reserve(self, n)

    def capacity(self):
        return _vsp_g.DoubleVecVec_capacity(self)
    __swig_destroy__ = _vsp_g.delete_DoubleVecVec

# Register DoubleVecVec in _vsp_g:
_vsp_g.DoubleVecVec_swigregister(DoubleVecVec)
class Vec3dVec(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def iterator(self):
        return _vsp_g.Vec3dVec_iterator(self)
    def __iter__(self):
        return self.iterator()

    def __nonzero__(self):
        return _vsp_g.Vec3dVec___nonzero__(self)

    def __bool__(self):
        return _vsp_g.Vec3dVec___bool__(self)

    def __len__(self):
        return _vsp_g.Vec3dVec___len__(self)

    def __getslice__(self, i, j):
        return _vsp_g.Vec3dVec___getslice__(self, i, j)

    def __setslice__(self, *args):
        return _vsp_g.Vec3dVec___setslice__(self, *args)

    def __delslice__(self, i, j):
        return _vsp_g.Vec3dVec___delslice__(self, i, j)

    def __delitem__(self, *args):
        return _vsp_g.Vec3dVec___delitem__(self, *args)

    def __getitem__(self, *args):
        return _vsp_g.Vec3dVec___getitem__(self, *args)

    def __setitem__(self, *args):
        return _vsp_g.Vec3dVec___setitem__(self, *args)

    def pop(self):
        return _vsp_g.Vec3dVec_pop(self)

    def append(self, x):
        return _vsp_g.Vec3dVec_append(self, x)

    def empty(self):
        return _vsp_g.Vec3dVec_empty(self)

    def size(self):
        return _vsp_g.Vec3dVec_size(self)

    def swap(self, v):
        return _vsp_g.Vec3dVec_swap(self, v)

    def begin(self):
        return _vsp_g.Vec3dVec_begin(self)

    def end(self):
        return _vsp_g.Vec3dVec_end(self)

    def rbegin(self):
        return _vsp_g.Vec3dVec_rbegin(self)

    def rend(self):
        return _vsp_g.Vec3dVec_rend(self)

    def clear(self):
        return _vsp_g.Vec3dVec_clear(self)

    def get_allocator(self):
        return _vsp_g.Vec3dVec_get_allocator(self)

    def pop_back(self):
        return _vsp_g.Vec3dVec_pop_back(self)

    def erase(self, *args):
        return _vsp_g.Vec3dVec_erase(self, *args)

    def __init__(self, *args):
        _vsp_g.Vec3dVec_swiginit(self, _vsp_g.new_Vec3dVec(*args))

    def push_back(self, x):
        return _vsp_g.Vec3dVec_push_back(self, x)

    def front(self):
        return _vsp_g.Vec3dVec_front(self)

    def back(self):
        return _vsp_g.Vec3dVec_back(self)

    def assign(self, n, x):
        return _vsp_g.Vec3dVec_assign(self, n, x)

    def resize(self, *args):
        return _vsp_g.Vec3dVec_resize(self, *args)

    def insert(self, *args):
        return _vsp_g.Vec3dVec_insert(self, *args)

    def reserve(self, n):
        return _vsp_g.Vec3dVec_reserve(self, n)

    def capacity(self):
        return _vsp_g.Vec3dVec_capacity(self)
    __swig_destroy__ = _vsp_g.delete_Vec3dVec

# Register Vec3dVec in _vsp_g:
_vsp_g.Vec3dVec_swigregister(Vec3dVec)
class Matrix4dVec(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def iterator(self):
        return _vsp_g.Matrix4dVec_iterator(self)
    def __iter__(self):
        return self.iterator()

    def __nonzero__(self):
        return _vsp_g.Matrix4dVec___nonzero__(self)

    def __bool__(self):
        return _vsp_g.Matrix4dVec___bool__(self)

    def __len__(self):
        return _vsp_g.Matrix4dVec___len__(self)

    def __getslice__(self, i, j):
        return _vsp_g.Matrix4dVec___getslice__(self, i, j)

    def __setslice__(self, *args):
        return _vsp_g.Matrix4dVec___setslice__(self, *args)

    def __delslice__(self, i, j):
        return _vsp_g.Matrix4dVec___delslice__(self, i, j)

    def __delitem__(self, *args):
        return _vsp_g.Matrix4dVec___delitem__(self, *args)

    def __getitem__(self, *args):
        return _vsp_g.Matrix4dVec___getitem__(self, *args)

    def __setitem__(self, *args):
        return _vsp_g.Matrix4dVec___setitem__(self, *args)

    def pop(self):
        return _vsp_g.Matrix4dVec_pop(self)

    def append(self, x):
        return _vsp_g.Matrix4dVec_append(self, x)

    def empty(self):
        return _vsp_g.Matrix4dVec_empty(self)

    def size(self):
        return _vsp_g.Matrix4dVec_size(self)

    def swap(self, v):
        return _vsp_g.Matrix4dVec_swap(self, v)

    def begin(self):
        return _vsp_g.Matrix4dVec_begin(self)

    def end(self):
        return _vsp_g.Matrix4dVec_end(self)

    def rbegin(self):
        return _vsp_g.Matrix4dVec_rbegin(self)

    def rend(self):
        return _vsp_g.Matrix4dVec_rend(self)

    def clear(self):
        return _vsp_g.Matrix4dVec_clear(self)

    def get_allocator(self):
        return _vsp_g.Matrix4dVec_get_allocator(self)

    def pop_back(self):
        return _vsp_g.Matrix4dVec_pop_back(self)

    def erase(self, *args):
        return _vsp_g.Matrix4dVec_erase(self, *args)

    def __init__(self, *args):
        _vsp_g.Matrix4dVec_swiginit(self, _vsp_g.new_Matrix4dVec(*args))

    def push_back(self, x):
        return _vsp_g.Matrix4dVec_push_back(self, x)

    def front(self):
        return _vsp_g.Matrix4dVec_front(self)

    def back(self):
        return _vsp_g.Matrix4dVec_back(self)

    def assign(self, n, x):
        return _vsp_g.Matrix4dVec_assign(self, n, x)

    def resize(self, *args):
        return _vsp_g.Matrix4dVec_resize(self, *args)

    def insert(self, *args):
        return _vsp_g.Matrix4dVec_insert(self, *args)

    def reserve(self, n):
        return _vsp_g.Matrix4dVec_reserve(self, n)

    def capacity(self):
        return _vsp_g.Matrix4dVec_capacity(self)
    __swig_destroy__ = _vsp_g.delete_Matrix4dVec

# Register Matrix4dVec in _vsp_g:
_vsp_g.Matrix4dVec_swigregister(Matrix4dVec)
ABS = _vsp_g.ABS
REL = _vsp_g.REL
SELIG_AF_EXPORT = _vsp_g.SELIG_AF_EXPORT
BEZIER_AF_EXPORT = _vsp_g.BEZIER_AF_EXPORT
ALIGN_LEFT = _vsp_g.ALIGN_LEFT
ALIGN_CENTER = _vsp_g.ALIGN_CENTER
ALIGN_RIGHT = _vsp_g.ALIGN_RIGHT
ALIGN_PIXEL = _vsp_g.ALIGN_PIXEL
ALIGN_TOP = _vsp_g.ALIGN_TOP
ALIGN_MIDDLE = _vsp_g.ALIGN_MIDDLE
ALIGN_BOTTOM = _vsp_g.ALIGN_BOTTOM
NUM_ALIGN_TYPE = _vsp_g.NUM_ALIGN_TYPE
ANG_RAD = _vsp_g.ANG_RAD
ANG_DEG = _vsp_g.ANG_DEG
ANG_0 = _vsp_g.ANG_0
ANG_90 = _vsp_g.ANG_90
ANG_180 = _vsp_g.ANG_180
ANG_270 = _vsp_g.ANG_270
NUM_ANG = _vsp_g.NUM_ANG
ATMOS_TYPE_US_STANDARD_1976 = _vsp_g.ATMOS_TYPE_US_STANDARD_1976
ATMOS_TYPE_HERRINGTON_1966 = _vsp_g.ATMOS_TYPE_HERRINGTON_1966
ATMOS_TYPE_MANUAL_P_R = _vsp_g.ATMOS_TYPE_MANUAL_P_R
ATMOS_TYPE_MANUAL_P_T = _vsp_g.ATMOS_TYPE_MANUAL_P_T
ATMOS_TYPE_MANUAL_R_T = _vsp_g.ATMOS_TYPE_MANUAL_R_T
ATMOS_TYPE_MANUAL_RE_L = _vsp_g.ATMOS_TYPE_MANUAL_RE_L
ATTACH_TRANS_NONE = _vsp_g.ATTACH_TRANS_NONE
ATTACH_TRANS_COMP = _vsp_g.ATTACH_TRANS_COMP
ATTACH_TRANS_UV = _vsp_g.ATTACH_TRANS_UV
ATTACH_TRANS_RST = _vsp_g.ATTACH_TRANS_RST
ATTACH_TRANS_LMN = _vsp_g.ATTACH_TRANS_LMN
ATTACH_TRANS_EtaMN = _vsp_g.ATTACH_TRANS_EtaMN
ATTACH_TRANS_NUM_TYPES = _vsp_g.ATTACH_TRANS_NUM_TYPES
ATTACH_ROT_NONE = _vsp_g.ATTACH_ROT_NONE
ATTACH_ROT_COMP = _vsp_g.ATTACH_ROT_COMP
ATTACH_ROT_UV = _vsp_g.ATTACH_ROT_UV
ATTACH_ROT_RST = _vsp_g.ATTACH_ROT_RST
ATTACH_ROT_LMN = _vsp_g.ATTACH_ROT_LMN
ATTACH_ROT_EtaMN = _vsp_g.ATTACH_ROT_EtaMN
ATTACH_ROT_NUM_TYPES = _vsp_g.ATTACH_ROT_NUM_TYPES
ATTROBJ_PARM = _vsp_g.ATTROBJ_PARM
ATTROBJ_GEOM = _vsp_g.ATTROBJ_GEOM
ATTROBJ_VEH = _vsp_g.ATTROBJ_VEH
ATTROBJ_SUBSURF = _vsp_g.ATTROBJ_SUBSURF
ATTROBJ_MEASURE = _vsp_g.ATTROBJ_MEASURE
ATTROBJ_LINK = _vsp_g.ATTROBJ_LINK
ATTROBJ_ADVLINK = _vsp_g.ATTROBJ_ADVLINK
ATTROBJ_ATTR = _vsp_g.ATTROBJ_ATTR
ATTROBJ_COLLECTION = _vsp_g.ATTROBJ_COLLECTION
ATTROBJ_XSEC = _vsp_g.ATTROBJ_XSEC
ATTROBJ_SEC = _vsp_g.ATTROBJ_SEC
ATTROBJ_MODE = _vsp_g.ATTROBJ_MODE
ATTROBJ_SET = _vsp_g.ATTROBJ_SET
ATTROBJ_VARGROUP = _vsp_g.ATTROBJ_VARGROUP
ATTROBJ_VARSETTING = _vsp_g.ATTROBJ_VARSETTING
ATTROBJ_FREE = _vsp_g.ATTROBJ_FREE
ATTR_GROUP_NONE = _vsp_g.ATTR_GROUP_NONE
ATTR_GROUP_WATERMARK = _vsp_g.ATTR_GROUP_WATERMARK
NUM_ATTR_EVENT_GROUPS = _vsp_g.NUM_ATTR_EVENT_GROUPS
AUX_GEOM_ROTOR_TIP_PATH = _vsp_g.AUX_GEOM_ROTOR_TIP_PATH
AUX_GEOM_ROTOR_BURST = _vsp_g.AUX_GEOM_ROTOR_BURST
AUX_GEOM_THREE_PT_GROUND = _vsp_g.AUX_GEOM_THREE_PT_GROUND
AUX_GEOM_TWO_PT_GROUND = _vsp_g.AUX_GEOM_TWO_PT_GROUND
AUX_GEOM_ONE_PT_GROUND = _vsp_g.AUX_GEOM_ONE_PT_GROUND
AUX_GEOM_THREE_PT_CCE = _vsp_g.AUX_GEOM_THREE_PT_CCE
AUX_GEOM_SUPER_CONE = _vsp_g.AUX_GEOM_SUPER_CONE
NUM_AUX_GEOM_MODES = _vsp_g.NUM_AUX_GEOM_MODES
BOGIE_CENTER_DIST = _vsp_g.BOGIE_CENTER_DIST
BOGIE_CENTER_DIST_FRAC = _vsp_g.BOGIE_CENTER_DIST_FRAC
BOGIE_GAP = _vsp_g.BOGIE_GAP
BOGIE_GAP_FRAC = _vsp_g.BOGIE_GAP_FRAC
NUM_BOGIE_SPACING_TYPE = _vsp_g.NUM_BOGIE_SPACING_TYPE
BOR_FLOWTHROUGH = _vsp_g.BOR_FLOWTHROUGH
BOR_UPPER = _vsp_g.BOR_UPPER
BOR_LOWER = _vsp_g.BOR_LOWER
BOR_NUM_MODES = _vsp_g.BOR_NUM_MODES
MAX_CAMB = _vsp_g.MAX_CAMB
DESIGN_CL = _vsp_g.DESIGN_CL
CAM_TOP = _vsp_g.CAM_TOP
CAM_FRONT = _vsp_g.CAM_FRONT
CAM_FRONT_YUP = _vsp_g.CAM_FRONT_YUP
CAM_LEFT = _vsp_g.CAM_LEFT
CAM_LEFT_ISO = _vsp_g.CAM_LEFT_ISO
CAM_BOTTOM = _vsp_g.CAM_BOTTOM
CAM_REAR = _vsp_g.CAM_REAR
CAM_RIGHT = _vsp_g.CAM_RIGHT
CAM_RIGHT_ISO = _vsp_g.CAM_RIGHT_ISO
CAM_CENTER = _vsp_g.CAM_CENTER
NO_END_CAP = _vsp_g.NO_END_CAP
FLAT_END_CAP = _vsp_g.FLAT_END_CAP
ROUND_END_CAP = _vsp_g.ROUND_END_CAP
EDGE_END_CAP = _vsp_g.EDGE_END_CAP
SHARP_END_CAP = _vsp_g.SHARP_END_CAP
POINT_END_CAP = _vsp_g.POINT_END_CAP
ROUND_EXT_END_CAP_NONE = _vsp_g.ROUND_EXT_END_CAP_NONE
ROUND_EXT_END_CAP_LE = _vsp_g.ROUND_EXT_END_CAP_LE
ROUND_EXT_END_CAP_TE = _vsp_g.ROUND_EXT_END_CAP_TE
ROUND_EXT_END_CAP_BOTH = _vsp_g.ROUND_EXT_END_CAP_BOTH
NUM_END_CAP_OPTIONS = _vsp_g.NUM_END_CAP_OPTIONS
CFD_MIN_EDGE_LEN = _vsp_g.CFD_MIN_EDGE_LEN
CFD_MAX_EDGE_LEN = _vsp_g.CFD_MAX_EDGE_LEN
CFD_MAX_GAP = _vsp_g.CFD_MAX_GAP
CFD_NUM_CIRCLE_SEGS = _vsp_g.CFD_NUM_CIRCLE_SEGS
CFD_GROWTH_RATIO = _vsp_g.CFD_GROWTH_RATIO
CFD_LIMIT_GROWTH_FLAG = _vsp_g.CFD_LIMIT_GROWTH_FLAG
CFD_INTERSECT_SUBSURFACE_FLAG = _vsp_g.CFD_INTERSECT_SUBSURFACE_FLAG
CFD_HALF_MESH_FLAG = _vsp_g.CFD_HALF_MESH_FLAG
CFD_FAR_FIELD_FLAG = _vsp_g.CFD_FAR_FIELD_FLAG
CFD_FAR_MAX_EDGE_LEN = _vsp_g.CFD_FAR_MAX_EDGE_LEN
CFD_FAR_MAX_GAP = _vsp_g.CFD_FAR_MAX_GAP
CFD_FAR_NUM_CIRCLE_SEGS = _vsp_g.CFD_FAR_NUM_CIRCLE_SEGS
CFD_FAR_SIZE_ABS_FLAG = _vsp_g.CFD_FAR_SIZE_ABS_FLAG
CFD_FAR_LENGTH = _vsp_g.CFD_FAR_LENGTH
CFD_FAR_WIDTH = _vsp_g.CFD_FAR_WIDTH
CFD_FAR_HEIGHT = _vsp_g.CFD_FAR_HEIGHT
CFD_FAR_X_SCALE = _vsp_g.CFD_FAR_X_SCALE
CFD_FAR_Y_SCALE = _vsp_g.CFD_FAR_Y_SCALE
CFD_FAR_Z_SCALE = _vsp_g.CFD_FAR_Z_SCALE
CFD_FAR_LOC_MAN_FLAG = _vsp_g.CFD_FAR_LOC_MAN_FLAG
CFD_FAR_LOC_X = _vsp_g.CFD_FAR_LOC_X
CFD_FAR_LOC_Y = _vsp_g.CFD_FAR_LOC_Y
CFD_FAR_LOC_Z = _vsp_g.CFD_FAR_LOC_Z
CFD_SRF_XYZ_FLAG = _vsp_g.CFD_SRF_XYZ_FLAG
CFD_STL_FILE_NAME = _vsp_g.CFD_STL_FILE_NAME
CFD_POLY_FILE_NAME = _vsp_g.CFD_POLY_FILE_NAME
CFD_TRI_FILE_NAME = _vsp_g.CFD_TRI_FILE_NAME
CFD_OBJ_FILE_NAME = _vsp_g.CFD_OBJ_FILE_NAME
CFD_DAT_FILE_NAME = _vsp_g.CFD_DAT_FILE_NAME
CFD_KEY_FILE_NAME = _vsp_g.CFD_KEY_FILE_NAME
CFD_GMSH_FILE_NAME = _vsp_g.CFD_GMSH_FILE_NAME
CFD_TKEY_FILE_NAME = _vsp_g.CFD_TKEY_FILE_NAME
CFD_FACET_FILE_NAME = _vsp_g.CFD_FACET_FILE_NAME
CFD_VSPGEOM_FILE_NAME = _vsp_g.CFD_VSPGEOM_FILE_NAME
CFD_NUM_FILE_NAMES = _vsp_g.CFD_NUM_FILE_NAMES
POINT_SOURCE = _vsp_g.POINT_SOURCE
LINE_SOURCE = _vsp_g.LINE_SOURCE
BOX_SOURCE = _vsp_g.BOX_SOURCE
ULINE_SOURCE = _vsp_g.ULINE_SOURCE
WLINE_SOURCE = _vsp_g.WLINE_SOURCE
NUM_SOURCE_TYPES = _vsp_g.NUM_SOURCE_TYPES
TAG = _vsp_g.TAG
REASON = _vsp_g.REASON
CF_LAM_BLASIUS = _vsp_g.CF_LAM_BLASIUS
CF_LAM_BLASIUS_W_HEAT = _vsp_g.CF_LAM_BLASIUS_W_HEAT
CF_TURB_EXPLICIT_FIT_SPALDING = _vsp_g.CF_TURB_EXPLICIT_FIT_SPALDING
CF_TURB_EXPLICIT_FIT_SPALDING_CHI = _vsp_g.CF_TURB_EXPLICIT_FIT_SPALDING_CHI
CF_TURB_EXPLICIT_FIT_SCHOENHERR = _vsp_g.CF_TURB_EXPLICIT_FIT_SCHOENHERR
DO_NOT_USE_CF_TURB_IMPLICIT_KARMAN = _vsp_g.DO_NOT_USE_CF_TURB_IMPLICIT_KARMAN
CF_TURB_IMPLICIT_SCHOENHERR = _vsp_g.CF_TURB_IMPLICIT_SCHOENHERR
CF_TURB_IMPLICIT_KARMAN_SCHOENHERR = _vsp_g.CF_TURB_IMPLICIT_KARMAN_SCHOENHERR
CF_TURB_POWER_LAW_BLASIUS = _vsp_g.CF_TURB_POWER_LAW_BLASIUS
CF_TURB_POWER_LAW_PRANDTL_LOW_RE = _vsp_g.CF_TURB_POWER_LAW_PRANDTL_LOW_RE
CF_TURB_POWER_LAW_PRANDTL_MEDIUM_RE = _vsp_g.CF_TURB_POWER_LAW_PRANDTL_MEDIUM_RE
CF_TURB_POWER_LAW_PRANDTL_HIGH_RE = _vsp_g.CF_TURB_POWER_LAW_PRANDTL_HIGH_RE
CF_TURB_SCHLICHTING_COMPRESSIBLE = _vsp_g.CF_TURB_SCHLICHTING_COMPRESSIBLE
DO_NOT_USE_CF_TURB_SCHLICHTING_INCOMPRESSIBLE = _vsp_g.DO_NOT_USE_CF_TURB_SCHLICHTING_INCOMPRESSIBLE
DO_NOT_USE_CF_TURB_SCHLICHTING_PRANDTL = _vsp_g.DO_NOT_USE_CF_TURB_SCHLICHTING_PRANDTL
DO_NOT_USE_CF_TURB_SCHULTZ_GRUNOW_HIGH_RE = _vsp_g.DO_NOT_USE_CF_TURB_SCHULTZ_GRUNOW_HIGH_RE
CF_TURB_SCHULTZ_GRUNOW_SCHOENHERR = _vsp_g.CF_TURB_SCHULTZ_GRUNOW_SCHOENHERR
DO_NOT_USE_CF_TURB_WHITE_CHRISTOPH_COMPRESSIBLE = _vsp_g.DO_NOT_USE_CF_TURB_WHITE_CHRISTOPH_COMPRESSIBLE
CF_TURB_ROUGHNESS_SCHLICHTING_AVG = _vsp_g.CF_TURB_ROUGHNESS_SCHLICHTING_AVG
DO_NOT_USE_CF_TURB_ROUGHNESS_SCHLICHTING_LOCAL = _vsp_g.DO_NOT_USE_CF_TURB_ROUGHNESS_SCHLICHTING_LOCAL
DO_NOT_USE_CF_TURB_ROUGHNESS_WHITE = _vsp_g.DO_NOT_USE_CF_TURB_ROUGHNESS_WHITE
CF_TURB_ROUGHNESS_SCHLICHTING_AVG_FLOW_CORRECTION = _vsp_g.CF_TURB_ROUGHNESS_SCHLICHTING_AVG_FLOW_CORRECTION
CF_TURB_HEATTRANSFER_WHITE_CHRISTOPH = _vsp_g.CF_TURB_HEATTRANSFER_WHITE_CHRISTOPH
CHEVRON_NONE = _vsp_g.CHEVRON_NONE
CHEVRON_PARTIAL = _vsp_g.CHEVRON_PARTIAL
CHEVRON_FULL = _vsp_g.CHEVRON_FULL
CHEVRON_NUM_TYPES = _vsp_g.CHEVRON_NUM_TYPES
CHEVRON_W01_SE = _vsp_g.CHEVRON_W01_SE
CHEVRON_W01_CW = _vsp_g.CHEVRON_W01_CW
CHEVRON_W01_NUM_MODES = _vsp_g.CHEVRON_W01_NUM_MODES
COLLISION_OK = _vsp_g.COLLISION_OK
COLLISION_INTERSECT_NO_SOLUTION = _vsp_g.COLLISION_INTERSECT_NO_SOLUTION
COLLISION_CLEAR_NO_SOLUTION = _vsp_g.COLLISION_CLEAR_NO_SOLUTION
NO_FILE_TYPE = _vsp_g.NO_FILE_TYPE
COMP_GEOM_TXT_TYPE = _vsp_g.COMP_GEOM_TXT_TYPE
COMP_GEOM_CSV_TYPE = _vsp_g.COMP_GEOM_CSV_TYPE
DRAG_BUILD_TSV_TYPE_DEPRECATED = _vsp_g.DRAG_BUILD_TSV_TYPE_DEPRECATED
SLICE_TXT_TYPE = _vsp_g.SLICE_TXT_TYPE
MASS_PROP_TXT_TYPE = _vsp_g.MASS_PROP_TXT_TYPE
DEGEN_GEOM_CSV_TYPE = _vsp_g.DEGEN_GEOM_CSV_TYPE
DEGEN_GEOM_M_TYPE = _vsp_g.DEGEN_GEOM_M_TYPE
CFD_STL_TYPE = _vsp_g.CFD_STL_TYPE
CFD_POLY_TYPE = _vsp_g.CFD_POLY_TYPE
CFD_TRI_TYPE = _vsp_g.CFD_TRI_TYPE
CFD_OBJ_TYPE = _vsp_g.CFD_OBJ_TYPE
CFD_DAT_TYPE = _vsp_g.CFD_DAT_TYPE
CFD_KEY_TYPE = _vsp_g.CFD_KEY_TYPE
CFD_GMSH_TYPE = _vsp_g.CFD_GMSH_TYPE
CFD_SRF_TYPE_DEPRECATED = _vsp_g.CFD_SRF_TYPE_DEPRECATED
CFD_TKEY_TYPE = _vsp_g.CFD_TKEY_TYPE
PROJ_AREA_CSV_TYPE = _vsp_g.PROJ_AREA_CSV_TYPE
WAVE_DRAG_TXT_TYPE = _vsp_g.WAVE_DRAG_TXT_TYPE
VSPAERO_PANEL_TRI_TYPE = _vsp_g.VSPAERO_PANEL_TRI_TYPE
DRAG_BUILD_CSV_TYPE = _vsp_g.DRAG_BUILD_CSV_TYPE
CFD_FACET_TYPE = _vsp_g.CFD_FACET_TYPE
CFD_CURV_TYPE_DEPRECATED = _vsp_g.CFD_CURV_TYPE_DEPRECATED
CFD_PLOT3D_TYPE_DEPRECATED = _vsp_g.CFD_PLOT3D_TYPE_DEPRECATED
CFD_VSPGEOM_TYPE = _vsp_g.CFD_VSPGEOM_TYPE
VSPAERO_VSPGEOM_TYPE = _vsp_g.VSPAERO_VSPGEOM_TYPE
U_TRIM = _vsp_g.U_TRIM
L_TRIM = _vsp_g.L_TRIM
ETA_TRIM = _vsp_g.ETA_TRIM
NUM_TRIM_TYPES = _vsp_g.NUM_TRIM_TYPES
DELIM_COMMA = _vsp_g.DELIM_COMMA
DELIM_USCORE = _vsp_g.DELIM_USCORE
DELIM_SPACE = _vsp_g.DELIM_SPACE
DELIM_NONE = _vsp_g.DELIM_NONE
DELIM_NUM_TYPES = _vsp_g.DELIM_NUM_TYPES
DEPTH_FRONT = _vsp_g.DEPTH_FRONT
DEPTH_REAR = _vsp_g.DEPTH_REAR
DEPTH_FREE = _vsp_g.DEPTH_FREE
NUM_DEPTH_TYPE = _vsp_g.NUM_DEPTH_TYPE
SET_3D = _vsp_g.SET_3D
SET_2D = _vsp_g.SET_2D
X_DIR = _vsp_g.X_DIR
Y_DIR = _vsp_g.Y_DIR
Z_DIR = _vsp_g.Z_DIR
ALL_DIR = _vsp_g.ALL_DIR
DISPLAY_BEZIER = _vsp_g.DISPLAY_BEZIER
DISPLAY_DEGEN_SURF = _vsp_g.DISPLAY_DEGEN_SURF
DISPLAY_DEGEN_PLATE = _vsp_g.DISPLAY_DEGEN_PLATE
DISPLAY_DEGEN_CAMBER = _vsp_g.DISPLAY_DEGEN_CAMBER
GEOM_DRAW_WIRE = _vsp_g.GEOM_DRAW_WIRE
GEOM_DRAW_HIDDEN = _vsp_g.GEOM_DRAW_HIDDEN
GEOM_DRAW_SHADE = _vsp_g.GEOM_DRAW_SHADE
GEOM_DRAW_TEXTURE = _vsp_g.GEOM_DRAW_TEXTURE
GEOM_DRAW_NONE = _vsp_g.GEOM_DRAW_NONE
ENGINE_GEOM_NONE = _vsp_g.ENGINE_GEOM_NONE
ENGINE_GEOM_INLET = _vsp_g.ENGINE_GEOM_INLET
ENGINE_GEOM_INLET_OUTLET = _vsp_g.ENGINE_GEOM_INLET_OUTLET
ENGINE_GEOM_OUTLET = _vsp_g.ENGINE_GEOM_OUTLET
ENGINE_GEOM_IO_NUM_TYPES = _vsp_g.ENGINE_GEOM_IO_NUM_TYPES
ENGINE_GEOM_FLOWTHROUGH = _vsp_g.ENGINE_GEOM_FLOWTHROUGH
ENGINE_GEOM_TO_LIP = _vsp_g.ENGINE_GEOM_TO_LIP
ENGINE_GEOM_FLOWPATH = _vsp_g.ENGINE_GEOM_FLOWPATH
ENGINE_GEOM_TO_FACE = _vsp_g.ENGINE_GEOM_TO_FACE
ENGINE_GEOM_NUM_TYPES = _vsp_g.ENGINE_GEOM_NUM_TYPES
ENGINE_LOC_INDEX = _vsp_g.ENGINE_LOC_INDEX
ENGINE_LOC_U = _vsp_g.ENGINE_LOC_U
ENGINE_LOC_INLET_LIP = _vsp_g.ENGINE_LOC_INLET_LIP
ENGINE_LOC_INLET_FACE = _vsp_g.ENGINE_LOC_INLET_FACE
ENGINE_LOC_OUTLET_LIP = _vsp_g.ENGINE_LOC_OUTLET_LIP
ENGINE_LOC_OUTLET_FACE = _vsp_g.ENGINE_LOC_OUTLET_FACE
ENGINE_LOC_NUM = _vsp_g.ENGINE_LOC_NUM
ENGINE_MODE_FLOWTHROUGH = _vsp_g.ENGINE_MODE_FLOWTHROUGH
ENGINE_MODE_FLOWTHROUGH_NEG = _vsp_g.ENGINE_MODE_FLOWTHROUGH_NEG
ENGINE_MODE_TO_LIP = _vsp_g.ENGINE_MODE_TO_LIP
ENGINE_MODE_TO_FACE = _vsp_g.ENGINE_MODE_TO_FACE
ENGINE_MODE_TO_FACE_NEG = _vsp_g.ENGINE_MODE_TO_FACE_NEG
ENGINE_MODE_EXTEND = _vsp_g.ENGINE_MODE_EXTEND
ENGINE_MODE_NUM_TYPES = _vsp_g.ENGINE_MODE_NUM_TYPES
VSP_OK = _vsp_g.VSP_OK
VSP_INVALID_PTR = _vsp_g.VSP_INVALID_PTR
VSP_INVALID_TYPE = _vsp_g.VSP_INVALID_TYPE
VSP_CANT_FIND_TYPE = _vsp_g.VSP_CANT_FIND_TYPE
VSP_CANT_FIND_PARM = _vsp_g.VSP_CANT_FIND_PARM
VSP_CANT_FIND_NAME = _vsp_g.VSP_CANT_FIND_NAME
VSP_INVALID_GEOM_ID = _vsp_g.VSP_INVALID_GEOM_ID
VSP_FILE_DOES_NOT_EXIST = _vsp_g.VSP_FILE_DOES_NOT_EXIST
VSP_FILE_WRITE_FAILURE = _vsp_g.VSP_FILE_WRITE_FAILURE
VSP_FILE_READ_FAILURE = _vsp_g.VSP_FILE_READ_FAILURE
VSP_WRONG_GEOM_TYPE = _vsp_g.VSP_WRONG_GEOM_TYPE
VSP_WRONG_XSEC_TYPE = _vsp_g.VSP_WRONG_XSEC_TYPE
VSP_WRONG_FILE_TYPE = _vsp_g.VSP_WRONG_FILE_TYPE
VSP_INDEX_OUT_RANGE = _vsp_g.VSP_INDEX_OUT_RANGE
VSP_INVALID_XSEC_ID = _vsp_g.VSP_INVALID_XSEC_ID
VSP_INVALID_ID = _vsp_g.VSP_INVALID_ID
VSP_CANT_SET_NOT_EQ_PARM = _vsp_g.VSP_CANT_SET_NOT_EQ_PARM
VSP_AMBIGUOUS_SUBSURF = _vsp_g.VSP_AMBIGUOUS_SUBSURF
VSP_INVALID_VARPRESET_SETNAME = _vsp_g.VSP_INVALID_VARPRESET_SETNAME
VSP_INVALID_VARPRESET_GROUPNAME = _vsp_g.VSP_INVALID_VARPRESET_GROUPNAME
VSP_CONFORMAL_PARENT_UNSUPPORTED = _vsp_g.VSP_CONFORMAL_PARENT_UNSUPPORTED
VSP_UNEXPECTED_RESET_REMAP_ID = _vsp_g.VSP_UNEXPECTED_RESET_REMAP_ID
VSP_INVALID_INPUT_VAL = _vsp_g.VSP_INVALID_INPUT_VAL
VSP_INVALID_CF_EQN = _vsp_g.VSP_INVALID_CF_EQN
VSP_INVALID_DRIVERS = _vsp_g.VSP_INVALID_DRIVERS
VSP_ADV_LINK_BUILD_FAIL = _vsp_g.VSP_ADV_LINK_BUILD_FAIL
VSP_DEPRECATED = _vsp_g.VSP_DEPRECATED
VSP_LINK_LOOP_DETECTED = _vsp_g.VSP_LINK_LOOP_DETECTED
VSP_LINK_OUTPUT_NOT_ASSIGNED = _vsp_g.VSP_LINK_OUTPUT_NOT_ASSIGNED
VSP_DUPLICATE_NAME = _vsp_g.VSP_DUPLICATE_NAME
VSP_GUI_DEVICE_DEACTIVATED = _vsp_g.VSP_GUI_DEVICE_DEACTIVATED
VSP_COULD_NOT_CREATE_BACKGROUND3D = _vsp_g.VSP_COULD_NOT_CREATE_BACKGROUND3D
VSP_NUM_ERROR_CODE = _vsp_g.VSP_NUM_ERROR_CODE
EXCRESCENCE_COUNT = _vsp_g.EXCRESCENCE_COUNT
EXCRESCENCE_CD = _vsp_g.EXCRESCENCE_CD
EXCRESCENCE_PERCENT_GEOM = _vsp_g.EXCRESCENCE_PERCENT_GEOM
EXCRESCENCE_MARGIN = _vsp_g.EXCRESCENCE_MARGIN
EXCRESCENCE_DRAGAREA = _vsp_g.EXCRESCENCE_DRAGAREA
EXPORT_FELISA = _vsp_g.EXPORT_FELISA
EXPORT_XSEC = _vsp_g.EXPORT_XSEC
EXPORT_STL = _vsp_g.EXPORT_STL
EXPORT_AWAVE = _vsp_g.EXPORT_AWAVE
EXPORT_NASCART = _vsp_g.EXPORT_NASCART
EXPORT_POVRAY = _vsp_g.EXPORT_POVRAY
EXPORT_CART3D = _vsp_g.EXPORT_CART3D
EXPORT_VSPGEOM = _vsp_g.EXPORT_VSPGEOM
EXPORT_VORXSEC = _vsp_g.EXPORT_VORXSEC
EXPORT_XSECGEOM = _vsp_g.EXPORT_XSECGEOM
EXPORT_GMSH = _vsp_g.EXPORT_GMSH
EXPORT_X3D = _vsp_g.EXPORT_X3D
EXPORT_STEP = _vsp_g.EXPORT_STEP
EXPORT_PLOT3D = _vsp_g.EXPORT_PLOT3D
EXPORT_IGES = _vsp_g.EXPORT_IGES
EXPORT_BEM = _vsp_g.EXPORT_BEM
EXPORT_DXF = _vsp_g.EXPORT_DXF
EXPORT_FACET = _vsp_g.EXPORT_FACET
EXPORT_SVG = _vsp_g.EXPORT_SVG
EXPORT_PMARC = _vsp_g.EXPORT_PMARC
EXPORT_OBJ = _vsp_g.EXPORT_OBJ
EXPORT_SELIG_AIRFOIL = _vsp_g.EXPORT_SELIG_AIRFOIL
EXPORT_BEZIER_AIRFOIL = _vsp_g.EXPORT_BEZIER_AIRFOIL
EXPORT_IGES_STRUCTURE = _vsp_g.EXPORT_IGES_STRUCTURE
EXPORT_STEP_STRUCTURE = _vsp_g.EXPORT_STEP_STRUCTURE
FEA_BCM_USER = _vsp_g.FEA_BCM_USER
FEA_BCM_ALL = _vsp_g.FEA_BCM_ALL
FEA_BCM_PIN = _vsp_g.FEA_BCM_PIN
FEA_BCM_SYMM = _vsp_g.FEA_BCM_SYMM
FEA_BCM_ASYMM = _vsp_g.FEA_BCM_ASYMM
FEA_NUM_BCM_MODES = _vsp_g.FEA_NUM_BCM_MODES
FEA_BC_STRUCTURE = _vsp_g.FEA_BC_STRUCTURE
FEA_BC_PART = _vsp_g.FEA_BC_PART
FEA_BC_SUBSURF = _vsp_g.FEA_BC_SUBSURF
FEA_NUM_BC_TYPES = _vsp_g.FEA_NUM_BC_TYPES
FEA_XSEC_GENERAL = _vsp_g.FEA_XSEC_GENERAL
FEA_XSEC_CIRC = _vsp_g.FEA_XSEC_CIRC
FEA_XSEC_PIPE = _vsp_g.FEA_XSEC_PIPE
FEA_XSEC_I = _vsp_g.FEA_XSEC_I
FEA_XSEC_RECT = _vsp_g.FEA_XSEC_RECT
FEA_XSEC_BOX = _vsp_g.FEA_XSEC_BOX
FEA_MASS_FILE_NAME = _vsp_g.FEA_MASS_FILE_NAME
FEA_NASTRAN_FILE_NAME = _vsp_g.FEA_NASTRAN_FILE_NAME
FEA_NKEY_FILE_NAME = _vsp_g.FEA_NKEY_FILE_NAME
FEA_CALCULIX_FILE_NAME = _vsp_g.FEA_CALCULIX_FILE_NAME
FEA_STL_FILE_NAME = _vsp_g.FEA_STL_FILE_NAME
FEA_GMSH_FILE_NAME = _vsp_g.FEA_GMSH_FILE_NAME
FEA_SRF_FILE_NAME = _vsp_g.FEA_SRF_FILE_NAME
FEA_CURV_FILE_NAME = _vsp_g.FEA_CURV_FILE_NAME
FEA_PLOT3D_FILE_NAME = _vsp_g.FEA_PLOT3D_FILE_NAME
FEA_IGES_FILE_NAME = _vsp_g.FEA_IGES_FILE_NAME
FEA_STEP_FILE_NAME = _vsp_g.FEA_STEP_FILE_NAME
FEA_NUM_FILE_NAMES = _vsp_g.FEA_NUM_FILE_NAMES
FEA_FIX_PT_ON_BODY = _vsp_g.FEA_FIX_PT_ON_BODY
FEA_FIX_PT_GLOBAL_XYZ = _vsp_g.FEA_FIX_PT_GLOBAL_XYZ
FEA_FIX_PT_DELTA_XYZ = _vsp_g.FEA_FIX_PT_DELTA_XYZ
FEA_FIX_PT_DELTA_UVN = _vsp_g.FEA_FIX_PT_DELTA_UVN
FEA_FIX_PT_GEOM_ORIGIN = _vsp_g.FEA_FIX_PT_GEOM_ORIGIN
FEA_FIX_PT_GEOM_CG = _vsp_g.FEA_FIX_PT_GEOM_CG
FEA_NUM_FIX_PT_TYPES = _vsp_g.FEA_NUM_FIX_PT_TYPES
FEA_ISOTROPIC = _vsp_g.FEA_ISOTROPIC
FEA_ENG_ORTHO = _vsp_g.FEA_ENG_ORTHO
FEA_ENG_ORTHO_TRANS_ISO = _vsp_g.FEA_ENG_ORTHO_TRANS_ISO
FEA_LAMINATE = _vsp_g.FEA_LAMINATE
FEA_NUM_MAT_TYPES = _vsp_g.FEA_NUM_MAT_TYPES
FEA_ORIENT_GLOBAL_X = _vsp_g.FEA_ORIENT_GLOBAL_X
FEA_ORIENT_GLOBAL_Y = _vsp_g.FEA_ORIENT_GLOBAL_Y
FEA_ORIENT_GLOBAL_Z = _vsp_g.FEA_ORIENT_GLOBAL_Z
FEA_ORIENT_COMP_X = _vsp_g.FEA_ORIENT_COMP_X
FEA_ORIENT_COMP_Y = _vsp_g.FEA_ORIENT_COMP_Y
FEA_ORIENT_COMP_Z = _vsp_g.FEA_ORIENT_COMP_Z
FEA_ORIENT_PART_U = _vsp_g.FEA_ORIENT_PART_U
FEA_ORIENT_PART_V = _vsp_g.FEA_ORIENT_PART_V
FEA_ORIENT_OML_U = _vsp_g.FEA_ORIENT_OML_U
FEA_ORIENT_OML_V = _vsp_g.FEA_ORIENT_OML_V
FEA_ORIENT_OML_R = _vsp_g.FEA_ORIENT_OML_R
FEA_ORIENT_OML_S = _vsp_g.FEA_ORIENT_OML_S
FEA_ORIENT_OML_T = _vsp_g.FEA_ORIENT_OML_T
FEA_NUM_ORIENT_TYPES = _vsp_g.FEA_NUM_ORIENT_TYPES
FEA_DEPRECATED = _vsp_g.FEA_DEPRECATED
FEA_SHELL = _vsp_g.FEA_SHELL
FEA_BEAM = _vsp_g.FEA_BEAM
FEA_SHELL_AND_BEAM = _vsp_g.FEA_SHELL_AND_BEAM
FEA_NO_ELEMENTS = _vsp_g.FEA_NO_ELEMENTS
FEA_NUM_ELEMENT_TYPES = _vsp_g.FEA_NUM_ELEMENT_TYPES
FEA_SLICE = _vsp_g.FEA_SLICE
FEA_RIB = _vsp_g.FEA_RIB
FEA_SPAR = _vsp_g.FEA_SPAR
FEA_FIX_POINT = _vsp_g.FEA_FIX_POINT
FEA_DOME = _vsp_g.FEA_DOME
FEA_RIB_ARRAY = _vsp_g.FEA_RIB_ARRAY
FEA_SLICE_ARRAY = _vsp_g.FEA_SLICE_ARRAY
FEA_SKIN = _vsp_g.FEA_SKIN
FEA_TRIM = _vsp_g.FEA_TRIM
FEA_POLY_SPAR = _vsp_g.FEA_POLY_SPAR
FEA_NUM_TYPES = _vsp_g.FEA_NUM_TYPES
NO_NORMAL = _vsp_g.NO_NORMAL
LE_NORMAL = _vsp_g.LE_NORMAL
TE_NORMAL = _vsp_g.TE_NORMAL
SPAR_NORMAL = _vsp_g.SPAR_NORMAL
FEA_KEEP = _vsp_g.FEA_KEEP
FEA_DELETE = _vsp_g.FEA_DELETE
FEA_NUM_SHELL_TREATMENT_TYPES = _vsp_g.FEA_NUM_SHELL_TREATMENT_TYPES
XY_BODY = _vsp_g.XY_BODY
YZ_BODY = _vsp_g.YZ_BODY
XZ_BODY = _vsp_g.XZ_BODY
XY_ABS = _vsp_g.XY_ABS
YZ_ABS = _vsp_g.YZ_ABS
XZ_ABS = _vsp_g.XZ_ABS
SPINE_NORMAL = _vsp_g.SPINE_NORMAL
POLY_SPAR_POINT_U01 = _vsp_g.POLY_SPAR_POINT_U01
POLY_SPAR_POINT_U0N = _vsp_g.POLY_SPAR_POINT_U0N
POLY_SPAR_POINT_ETA = _vsp_g.POLY_SPAR_POINT_ETA
NUM_POLY_SPAR_POINT_TYPES = _vsp_g.NUM_POLY_SPAR_POINT_TYPES
SI_UNIT = _vsp_g.SI_UNIT
CGS_UNIT = _vsp_g.CGS_UNIT
MPA_UNIT = _vsp_g.MPA_UNIT
BFT_UNIT = _vsp_g.BFT_UNIT
BIN_UNIT = _vsp_g.BIN_UNIT
FF_B_MANUAL = _vsp_g.FF_B_MANUAL
FF_B_SCHEMENSKY_FUSE = _vsp_g.FF_B_SCHEMENSKY_FUSE
FF_B_SCHEMENSKY_NACELLE = _vsp_g.FF_B_SCHEMENSKY_NACELLE
FF_B_HOERNER_STREAMBODY = _vsp_g.FF_B_HOERNER_STREAMBODY
FF_B_TORENBEEK = _vsp_g.FF_B_TORENBEEK
FF_B_SHEVELL = _vsp_g.FF_B_SHEVELL
FF_B_COVERT = _vsp_g.FF_B_COVERT
FF_B_JENKINSON_FUSE = _vsp_g.FF_B_JENKINSON_FUSE
FF_B_JENKINSON_WING_NACELLE = _vsp_g.FF_B_JENKINSON_WING_NACELLE
FF_B_JENKINSON_AFT_FUSE_NACELLE = _vsp_g.FF_B_JENKINSON_AFT_FUSE_NACELLE
FF_W_MANUAL = _vsp_g.FF_W_MANUAL
FF_W_EDET_CONV = _vsp_g.FF_W_EDET_CONV
FF_W_EDET_ADV = _vsp_g.FF_W_EDET_ADV
FF_W_HOERNER = _vsp_g.FF_W_HOERNER
FF_W_COVERT = _vsp_g.FF_W_COVERT
FF_W_SHEVELL = _vsp_g.FF_W_SHEVELL
FF_W_KROO = _vsp_g.FF_W_KROO
FF_W_TORENBEEK = _vsp_g.FF_W_TORENBEEK
FF_W_DATCOM = _vsp_g.FF_W_DATCOM
FF_W_SCHEMENSKY_6_SERIES_AF = _vsp_g.FF_W_SCHEMENSKY_6_SERIES_AF
FF_W_SCHEMENSKY_4_SERIES_AF = _vsp_g.FF_W_SCHEMENSKY_4_SERIES_AF
FF_W_JENKINSON_WING = _vsp_g.FF_W_JENKINSON_WING
FF_W_JENKINSON_TAIL = _vsp_g.FF_W_JENKINSON_TAIL
FF_W_SCHEMENSKY_SUPERCRITICAL_AF = _vsp_g.FF_W_SCHEMENSKY_SUPERCRITICAL_AF
PD_UNITS_IMPERIAL = _vsp_g.PD_UNITS_IMPERIAL
PD_UNITS_METRIC = _vsp_g.PD_UNITS_METRIC
OPEN = _vsp_g.OPEN
SAVE = _vsp_g.SAVE
NUM_FILE_CHOOSER_MODES = _vsp_g.NUM_FILE_CHOOSER_MODES
FC_OPENVSP = _vsp_g.FC_OPENVSP
FC_NATIVE = _vsp_g.FC_NATIVE
NUM_FILE_CHOOSER_TYPES = _vsp_g.NUM_FILE_CHOOSER_TYPES
GDEV_TAB = _vsp_g.GDEV_TAB
GDEV_SCROLL_TAB = _vsp_g.GDEV_SCROLL_TAB
GDEV_GROUP = _vsp_g.GDEV_GROUP
GDEV_PARM_BUTTON = _vsp_g.GDEV_PARM_BUTTON
GDEV_INPUT = _vsp_g.GDEV_INPUT
GDEV_OUTPUT = _vsp_g.GDEV_OUTPUT
GDEV_SLIDER = _vsp_g.GDEV_SLIDER
GDEV_SLIDER_ADJ_RANGE = _vsp_g.GDEV_SLIDER_ADJ_RANGE
GDEV_CHECK_BUTTON = _vsp_g.GDEV_CHECK_BUTTON
GDEV_CHECK_BUTTON_BIT = _vsp_g.GDEV_CHECK_BUTTON_BIT
GDEV_RADIO_BUTTON = _vsp_g.GDEV_RADIO_BUTTON
GDEV_TOGGLE_BUTTON = _vsp_g.GDEV_TOGGLE_BUTTON
GDEV_TOGGLE_BUTTON_FREE = _vsp_g.GDEV_TOGGLE_BUTTON_FREE
GDEV_TOGGLE_RADIO_GROUP = _vsp_g.GDEV_TOGGLE_RADIO_GROUP
GDEV_TRIGGER_BUTTON = _vsp_g.GDEV_TRIGGER_BUTTON
GDEV_COUNTER = _vsp_g.GDEV_COUNTER
GDEV_CHOICE = _vsp_g.GDEV_CHOICE
GDEV_ADD_CHOICE_ITEM = _vsp_g.GDEV_ADD_CHOICE_ITEM
GDEV_SLIDER_INPUT = _vsp_g.GDEV_SLIDER_INPUT
GDEV_SLIDER_ADJ_RANGE_INPUT = _vsp_g.GDEV_SLIDER_ADJ_RANGE_INPUT
GDEV_SLIDER_ADJ_RANGE_TWO_INPUT = _vsp_g.GDEV_SLIDER_ADJ_RANGE_TWO_INPUT
GDEV_FRACT_PARM_SLIDER = _vsp_g.GDEV_FRACT_PARM_SLIDER
GDEV_STRING_INPUT = _vsp_g.GDEV_STRING_INPUT
GDEV_INDEX_SELECTOR = _vsp_g.GDEV_INDEX_SELECTOR
GDEV_COLOR_PICKER = _vsp_g.GDEV_COLOR_PICKER
GDEV_YGAP = _vsp_g.GDEV_YGAP
GDEV_DIVIDER_BOX = _vsp_g.GDEV_DIVIDER_BOX
GDEV_BEGIN_SAME_LINE = _vsp_g.GDEV_BEGIN_SAME_LINE
GDEV_END_SAME_LINE = _vsp_g.GDEV_END_SAME_LINE
GDEV_FORCE_WIDTH = _vsp_g.GDEV_FORCE_WIDTH
GDEV_SET_FORMAT = _vsp_g.GDEV_SET_FORMAT
NUM_GDEV_TYPES = _vsp_g.NUM_GDEV_TYPES
ALL_GDEV_TYPES = _vsp_g.ALL_GDEV_TYPES
GEAR_SUSPENSION_NOMINAL = _vsp_g.GEAR_SUSPENSION_NOMINAL
GEAR_SUSPENSION_COMPRESSED = _vsp_g.GEAR_SUSPENSION_COMPRESSED
GEAR_SUSPENSION_EXTENDED = _vsp_g.GEAR_SUSPENSION_EXTENDED
NUM_GEAR_SUSPENSION_MODES = _vsp_g.NUM_GEAR_SUSPENSION_MODES
MALE = _vsp_g.MALE
FEMALE = _vsp_g.FEMALE
EXTERNAL_INTERFERENCE = _vsp_g.EXTERNAL_INTERFERENCE
PACKAGING_INTERFERENCE = _vsp_g.PACKAGING_INTERFERENCE
EXTERNAL_SELF_INTERFERENCE = _vsp_g.EXTERNAL_SELF_INTERFERENCE
PLANE_STATIC_DISTANCE_INTERFERENCE = _vsp_g.PLANE_STATIC_DISTANCE_INTERFERENCE
PLANE_2PT_ANGLE_INTERFERENCE = _vsp_g.PLANE_2PT_ANGLE_INTERFERENCE
GEAR_CG_TIPBACK_ANALYSIS = _vsp_g.GEAR_CG_TIPBACK_ANALYSIS
PLANE_1PT_ANGLE_INTERFERENCE = _vsp_g.PLANE_1PT_ANGLE_INTERFERENCE
GEAR_WEIGHT_DISTRIBUTION_ANALYSIS = _vsp_g.GEAR_WEIGHT_DISTRIBUTION_ANALYSIS
GEAR_TIPOVER_ANALYSIS = _vsp_g.GEAR_TIPOVER_ANALYSIS
GEAR_TURN_ANALYSIS = _vsp_g.GEAR_TURN_ANALYSIS
VISIBLE_FROM_POINT_ANALYSIS = _vsp_g.VISIBLE_FROM_POINT_ANALYSIS
CCE_INTERFERENCE = _vsp_g.CCE_INTERFERENCE
NUM_INTERFERENCE_TYPES = _vsp_g.NUM_INTERFERENCE_TYPES
POD_GEOM_SCREEN = _vsp_g.POD_GEOM_SCREEN
FUSELAGE_GEOM_SCREEN = _vsp_g.FUSELAGE_GEOM_SCREEN
MS_WING_GEOM_SCREEN = _vsp_g.MS_WING_GEOM_SCREEN
BLANK_GEOM_SCREEN = _vsp_g.BLANK_GEOM_SCREEN
MESH_GEOM_SCREEN = _vsp_g.MESH_GEOM_SCREEN
NGON_MESH_GEOM_SCREEN = _vsp_g.NGON_MESH_GEOM_SCREEN
STACK_GEOM_SCREEN = _vsp_g.STACK_GEOM_SCREEN
CUSTOM_GEOM_SCREEN = _vsp_g.CUSTOM_GEOM_SCREEN
PT_CLOUD_GEOM_SCREEN = _vsp_g.PT_CLOUD_GEOM_SCREEN
PROP_GEOM_SCREEN = _vsp_g.PROP_GEOM_SCREEN
HINGE_GEOM_SCREEN = _vsp_g.HINGE_GEOM_SCREEN
MULT_GEOM_SCREEN = _vsp_g.MULT_GEOM_SCREEN
CONFORMAL_SCREEN = _vsp_g.CONFORMAL_SCREEN
ELLIPSOID_GEOM_SCREEN = _vsp_g.ELLIPSOID_GEOM_SCREEN
BOR_GEOM_SCREEN = _vsp_g.BOR_GEOM_SCREEN
WIRE_FRAME_GEOM_SCREEN = _vsp_g.WIRE_FRAME_GEOM_SCREEN
HUMAN_GEOM_SCREEN = _vsp_g.HUMAN_GEOM_SCREEN
ROUTING_GEOM_SCREEN = _vsp_g.ROUTING_GEOM_SCREEN
AUXILIARY_GEOM_SCREEN = _vsp_g.AUXILIARY_GEOM_SCREEN
GEAR_GEOM_SCREEN = _vsp_g.GEAR_GEOM_SCREEN
NUM_GEOM_SCREENS = _vsp_g.NUM_GEOM_SCREENS
ALL_GEOM_SCREENS = _vsp_g.ALL_GEOM_SCREENS
VSP_ADV_LINK_SCREEN = _vsp_g.VSP_ADV_LINK_SCREEN
VSP_ADV_LINK_VAR_RENAME_SCREEN = _vsp_g.VSP_ADV_LINK_VAR_RENAME_SCREEN
VSP_AERO_STRUCT_SCREEN = _vsp_g.VSP_AERO_STRUCT_SCREEN
VSP_AIRFOIL_CURVES_EXPORT_SCREEN = _vsp_g.VSP_AIRFOIL_CURVES_EXPORT_SCREEN
VSP_AIRFOIL_POINTS_EXPORT_SCREEN = _vsp_g.VSP_AIRFOIL_POINTS_EXPORT_SCREEN
VSP_ATTRIBUTE_EXPLORER_SCREEN = _vsp_g.VSP_ATTRIBUTE_EXPLORER_SCREEN
VSP_BACKGROUND_SCREEN = _vsp_g.VSP_BACKGROUND_SCREEN
VSP_BACKGROUND3D_SCREEN = _vsp_g.VSP_BACKGROUND3D_SCREEN
VSP_BACKGROUND3D_PREVIEW_SCREEN = _vsp_g.VSP_BACKGROUND3D_PREVIEW_SCREEN
VSP_BEM_OPTIONS_SCREEN = _vsp_g.VSP_BEM_OPTIONS_SCREEN
VSP_CFD_MESH_SCREEN = _vsp_g.VSP_CFD_MESH_SCREEN
VSP_CLIPPING_SCREEN = _vsp_g.VSP_CLIPPING_SCREEN
VSP_COMP_GEOM_SCREEN = _vsp_g.VSP_COMP_GEOM_SCREEN
VSP_COR_SCREEN = _vsp_g.VSP_COR_SCREEN
VSP_CURVE_EDIT_SCREEN = _vsp_g.VSP_CURVE_EDIT_SCREEN
VSP_DEGEN_GEOM_SCREEN = _vsp_g.VSP_DEGEN_GEOM_SCREEN
VSP_DESIGN_VAR_SCREEN = _vsp_g.VSP_DESIGN_VAR_SCREEN
VSP_DXF_OPTIONS_SCREEN = _vsp_g.VSP_DXF_OPTIONS_SCREEN
VSP_EXPORT_SCREEN = _vsp_g.VSP_EXPORT_SCREEN
VSP_FEA_PART_EDIT_SCREEN = _vsp_g.VSP_FEA_PART_EDIT_SCREEN
VSP_FEA_XSEC_SCREEN = _vsp_g.VSP_FEA_XSEC_SCREEN
VSP_FIT_MODEL_SCREEN = _vsp_g.VSP_FIT_MODEL_SCREEN
VSP_IGES_OPTIONS_SCREEN = _vsp_g.VSP_IGES_OPTIONS_SCREEN
VSP_IGES_STRUCTURE_OPTIONS_SCREEN = _vsp_g.VSP_IGES_STRUCTURE_OPTIONS_SCREEN
VSP_EXPORT_CUSTOM_SCRIPT = _vsp_g.VSP_EXPORT_CUSTOM_SCRIPT
VSP_GEOMETRY_ANALYSIS_SCREEN = _vsp_g.VSP_GEOMETRY_ANALYSIS_SCREEN
VSP_IMPORT_SCREEN = _vsp_g.VSP_IMPORT_SCREEN
VSP_LIGHTING_SCREEN = _vsp_g.VSP_LIGHTING_SCREEN
VSP_MANAGE_GEOM_SCREEN = _vsp_g.VSP_MANAGE_GEOM_SCREEN
VSP_MANAGE_TEXTURE_SCREEN = _vsp_g.VSP_MANAGE_TEXTURE_SCREEN
VSP_MASS_PROP_SCREEN = _vsp_g.VSP_MASS_PROP_SCREEN
VSP_MATERIAL_EDIT_SCREEN = _vsp_g.VSP_MATERIAL_EDIT_SCREEN
VSP_MEASURE_SCREEN = _vsp_g.VSP_MEASURE_SCREEN
VSP_MODE_EDITOR_SCREEN = _vsp_g.VSP_MODE_EDITOR_SCREEN
VSP_NERF_MANAGE_GEOM_SCREEN = _vsp_g.VSP_NERF_MANAGE_GEOM_SCREEN
VSP_SNAP_TO_SCREEN = _vsp_g.VSP_SNAP_TO_SCREEN
VSP_PARASITE_DRAG_SCREEN = _vsp_g.VSP_PARASITE_DRAG_SCREEN
VSP_PARM_DEBUG_SCREEN = _vsp_g.VSP_PARM_DEBUG_SCREEN
VSP_PARM_LINK_SCREEN = _vsp_g.VSP_PARM_LINK_SCREEN
VSP_PARM_SCREEN = _vsp_g.VSP_PARM_SCREEN
VSP_PICK_SET_SCREEN = _vsp_g.VSP_PICK_SET_SCREEN
VSP_PREFERENCES_SCREEN = _vsp_g.VSP_PREFERENCES_SCREEN
VSP_PROJECTION_SCREEN = _vsp_g.VSP_PROJECTION_SCREEN
VSP_PSLICE_SCREEN = _vsp_g.VSP_PSLICE_SCREEN
VSP_RESULTS_VIEWER_SCREEN = _vsp_g.VSP_RESULTS_VIEWER_SCREEN
VSP_SCREENSHOT_SCREEN = _vsp_g.VSP_SCREENSHOT_SCREEN
VSP_SELECT_FILE_SCREEN = _vsp_g.VSP_SELECT_FILE_SCREEN
VSP_SET_EDITOR_SCREEN = _vsp_g.VSP_SET_EDITOR_SCREEN
VSP_STEP_OPTIONS_SCREEN = _vsp_g.VSP_STEP_OPTIONS_SCREEN
VSP_STEP_STRUCTURE_OPTIONS_SCREEN = _vsp_g.VSP_STEP_STRUCTURE_OPTIONS_SCREEN
VSP_STL_OPTIONS_SCREEN = _vsp_g.VSP_STL_OPTIONS_SCREEN
VSP_STRUCT_SCREEN = _vsp_g.VSP_STRUCT_SCREEN
VSP_STRUCT_ASSEMBLY_SCREEN = _vsp_g.VSP_STRUCT_ASSEMBLY_SCREEN
VSP_SURFACE_INTERSECTION_SCREEN = _vsp_g.VSP_SURFACE_INTERSECTION_SCREEN
VSP_SVG_OPTIONS_SCREEN = _vsp_g.VSP_SVG_OPTIONS_SCREEN
VSP_USER_PARM_SCREEN = _vsp_g.VSP_USER_PARM_SCREEN
VSP_VAR_PRESET_SCREEN = _vsp_g.VSP_VAR_PRESET_SCREEN
VSP_VEH_NOTES_SCREEN = _vsp_g.VSP_VEH_NOTES_SCREEN
VSP_VEH_SCREEN = _vsp_g.VSP_VEH_SCREEN
VSP_VIEW_SCREEN = _vsp_g.VSP_VIEW_SCREEN
VSP_VSPAERO_PLOT_SCREEN = _vsp_g.VSP_VSPAERO_PLOT_SCREEN
VSP_VSPAERO_SCREEN = _vsp_g.VSP_VSPAERO_SCREEN
VSP_XSEC_SCREEN = _vsp_g.VSP_XSEC_SCREEN
VSP_WAVEDRAG_SCREEN = _vsp_g.VSP_WAVEDRAG_SCREEN
VSP_MAIN_SCREEN = _vsp_g.VSP_MAIN_SCREEN
VSP_NUM_SCREENS = _vsp_g.VSP_NUM_SCREENS
VSP_ALL_SCREENS = _vsp_g.VSP_ALL_SCREENS
EDIT_XSEC_CIRCLE = _vsp_g.EDIT_XSEC_CIRCLE
EDIT_XSEC_ELLIPSE = _vsp_g.EDIT_XSEC_ELLIPSE
EDIT_XSEC_RECTANGLE = _vsp_g.EDIT_XSEC_RECTANGLE
NUM_INIT_EDIT_XSEC_TYPES = _vsp_g.NUM_INIT_EDIT_XSEC_TYPES
IMPORT_STL = _vsp_g.IMPORT_STL
IMPORT_NASCART = _vsp_g.IMPORT_NASCART
IMPORT_CART3D_TRI = _vsp_g.IMPORT_CART3D_TRI
IMPORT_XSEC_MESH = _vsp_g.IMPORT_XSEC_MESH
IMPORT_PTS = _vsp_g.IMPORT_PTS
IMPORT_V2 = _vsp_g.IMPORT_V2
IMPORT_BEM = _vsp_g.IMPORT_BEM
IMPORT_XSEC_WIRE = _vsp_g.IMPORT_XSEC_WIRE
IMPORT_P3D_WIRE = _vsp_g.IMPORT_P3D_WIRE
INTERSECT_SRF_FILE_NAME = _vsp_g.INTERSECT_SRF_FILE_NAME
INTERSECT_CURV_FILE_NAME = _vsp_g.INTERSECT_CURV_FILE_NAME
INTERSECT_PLOT3D_FILE_NAME = _vsp_g.INTERSECT_PLOT3D_FILE_NAME
INTERSECT_IGES_FILE_NAME = _vsp_g.INTERSECT_IGES_FILE_NAME
INTERSECT_STEP_FILE_NAME = _vsp_g.INTERSECT_STEP_FILE_NAME
INTERSECT_NUM_FILE_NAMES = _vsp_g.INTERSECT_NUM_FILE_NAMES
LEN_MM = _vsp_g.LEN_MM
LEN_CM = _vsp_g.LEN_CM
LEN_M = _vsp_g.LEN_M
LEN_IN = _vsp_g.LEN_IN
LEN_FT = _vsp_g.LEN_FT
LEN_YD = _vsp_g.LEN_YD
LEN_UNITLESS = _vsp_g.LEN_UNITLESS
NUM_LEN_UNIT = _vsp_g.NUM_LEN_UNIT
MASS_UNIT_G = _vsp_g.MASS_UNIT_G
MASS_UNIT_KG = _vsp_g.MASS_UNIT_KG
MASS_UNIT_TONNE = _vsp_g.MASS_UNIT_TONNE
MASS_UNIT_LBM = _vsp_g.MASS_UNIT_LBM
MASS_UNIT_SLUG = _vsp_g.MASS_UNIT_SLUG
MASS_LBFSEC2IN = _vsp_g.MASS_LBFSEC2IN
NUM_MASS_UNIT = _vsp_g.NUM_MASS_UNIT
NO_REASON = _vsp_g.NO_REASON
MAX_LEN_CONSTRAINT = _vsp_g.MAX_LEN_CONSTRAINT
CURV_GAP = _vsp_g.CURV_GAP
CURV_NCIRCSEG = _vsp_g.CURV_NCIRCSEG
SOURCES = _vsp_g.SOURCES
MIN_LEN_CONSTRAINT = _vsp_g.MIN_LEN_CONSTRAINT
MIN_LEN_CONSTRAINT_CURV_GAP = _vsp_g.MIN_LEN_CONSTRAINT_CURV_GAP
MIN_LEN_CONSTRAINT_CURV_NCIRCSEG = _vsp_g.MIN_LEN_CONSTRAINT_CURV_NCIRCSEG
MIN_LEN_CONSTRAINT_SOURCES = _vsp_g.MIN_LEN_CONSTRAINT_SOURCES
GROW_LIMIT_MAX_LEN_CONSTRAINT = _vsp_g.GROW_LIMIT_MAX_LEN_CONSTRAINT
GROW_LIMIT_CURV_GAP = _vsp_g.GROW_LIMIT_CURV_GAP
GROW_LIMIT_CURV_NCIRCSEG = _vsp_g.GROW_LIMIT_CURV_NCIRCSEG
GROW_LIMIT_SOURCES = _vsp_g.GROW_LIMIT_SOURCES
GROW_LIMIT_MIN_LEN_CONSTRAINT = _vsp_g.GROW_LIMIT_MIN_LEN_CONSTRAINT
GROW_LIMIT_MIN_LEN_CONSTRAINT_CURV_GAP = _vsp_g.GROW_LIMIT_MIN_LEN_CONSTRAINT_CURV_GAP
GROW_LIMIT_MIN_LEN_CONSTRAINT_CURV_NCIRCSEG = _vsp_g.GROW_LIMIT_MIN_LEN_CONSTRAINT_CURV_NCIRCSEG
GROW_LIMIT_MIN_LEN_CONSTRAINT_SOURCES = _vsp_g.GROW_LIMIT_MIN_LEN_CONSTRAINT_SOURCES
NUM_MESH_REASON = _vsp_g.NUM_MESH_REASON
MIN_LEN_INCREMENT = _vsp_g.MIN_LEN_INCREMENT
GROW_LIMIT_INCREMENT = _vsp_g.GROW_LIMIT_INCREMENT
MIN_GROW_LIMIT = _vsp_g.MIN_GROW_LIMIT
ID_LENGTH_PRESET_GROUP = _vsp_g.ID_LENGTH_PRESET_GROUP
ID_LENGTH_PRESET_SETTING = _vsp_g.ID_LENGTH_PRESET_SETTING
ID_LENGTH_ATTR = _vsp_g.ID_LENGTH_ATTR
ID_LENGTH_ATTRCOLL = _vsp_g.ID_LENGTH_ATTRCOLL
ID_LENGTH_PARMCONTAINER = _vsp_g.ID_LENGTH_PARMCONTAINER
ID_LENGTH_PARM = _vsp_g.ID_LENGTH_PARM
TRI_MESH_TYPE = _vsp_g.TRI_MESH_TYPE
QUAD_MESH_TYPE = _vsp_g.QUAD_MESH_TYPE
NGON_MESH_TYPE = _vsp_g.NGON_MESH_TYPE
NUM_MESH_TYPE = _vsp_g.NUM_MESH_TYPE
PARM_DOUBLE_TYPE = _vsp_g.PARM_DOUBLE_TYPE
PARM_INT_TYPE = _vsp_g.PARM_INT_TYPE
PARM_BOOL_TYPE = _vsp_g.PARM_BOOL_TYPE
PARM_FRACTION_TYPE = _vsp_g.PARM_FRACTION_TYPE
PARM_LIMITED_INT_TYPE = _vsp_g.PARM_LIMITED_INT_TYPE
PARM_NOTEQ_TYPE = _vsp_g.PARM_NOTEQ_TYPE
PARM_POWER_INT_TYPE = _vsp_g.PARM_POWER_INT_TYPE
PATCH_NONE = _vsp_g.PATCH_NONE
PATCH_POINT = _vsp_g.PATCH_POINT
PATCH_LINE = _vsp_g.PATCH_LINE
PATCH_COPY = _vsp_g.PATCH_COPY
PATCH_HALFWAY = _vsp_g.PATCH_HALFWAY
PATCH_NUM_TYPES = _vsp_g.PATCH_NUM_TYPES
LINEAR = _vsp_g.LINEAR
PCHIP = _vsp_g.PCHIP
CEDIT = _vsp_g.CEDIT
APPROX_CEDIT = _vsp_g.APPROX_CEDIT
NUM_PCURV_TYPE = _vsp_g.NUM_PCURV_TYPE
PRES_UNIT_PSF = _vsp_g.PRES_UNIT_PSF
PRES_UNIT_PSI = _vsp_g.PRES_UNIT_PSI
PRES_UNIT_BA = _vsp_g.PRES_UNIT_BA
PRES_UNIT_PA = _vsp_g.PRES_UNIT_PA
PRES_UNIT_KPA = _vsp_g.PRES_UNIT_KPA
PRES_UNIT_MPA = _vsp_g.PRES_UNIT_MPA
PRES_UNIT_INCHHG = _vsp_g.PRES_UNIT_INCHHG
PRES_UNIT_MMHG = _vsp_g.PRES_UNIT_MMHG
PRES_UNIT_MMH20 = _vsp_g.PRES_UNIT_MMH20
PRES_UNIT_MB = _vsp_g.PRES_UNIT_MB
PRES_UNIT_ATM = _vsp_g.PRES_UNIT_ATM
NUM_PRES_UNIT = _vsp_g.NUM_PRES_UNIT
NO_BOUNDARY = _vsp_g.NO_BOUNDARY
SET_BOUNDARY = _vsp_g.SET_BOUNDARY
GEOM_BOUNDARY = _vsp_g.GEOM_BOUNDARY
NUM_PROJ_BNDY_OPTIONS = _vsp_g.NUM_PROJ_BNDY_OPTIONS
X_PROJ = _vsp_g.X_PROJ
Y_PROJ = _vsp_g.Y_PROJ
Z_PROJ = _vsp_g.Z_PROJ
GEOM_PROJ = _vsp_g.GEOM_PROJ
VEC_PROJ = _vsp_g.VEC_PROJ
NUM_PROJ_DIR_OPTIONS = _vsp_g.NUM_PROJ_DIR_OPTIONS
SET_TARGET = _vsp_g.SET_TARGET
GEOM_TARGET = _vsp_g.GEOM_TARGET
MODE_TARGET = _vsp_g.MODE_TARGET
Z_TARGET = _vsp_g.Z_TARGET
XYZ_TARGET = _vsp_g.XYZ_TARGET
NUM_PROJ_TGT_OPTIONS = _vsp_g.NUM_PROJ_TGT_OPTIONS
PROP_AZI_UNIFORM = _vsp_g.PROP_AZI_UNIFORM
PROP_AZI_FREE = _vsp_g.PROP_AZI_FREE
PROP_AZI_BALANCED = _vsp_g.PROP_AZI_BALANCED
NUM_PROP_AZI = _vsp_g.NUM_PROP_AZI
RPM_PROP_DRIVER = _vsp_g.RPM_PROP_DRIVER
CT_PROP_DRIVER = _vsp_g.CT_PROP_DRIVER
CP_PROP_DRIVER = _vsp_g.CP_PROP_DRIVER
T_PROP_DRIVER = _vsp_g.T_PROP_DRIVER
ETA_PROP_DRIVER = _vsp_g.ETA_PROP_DRIVER
J_PROP_DRIVER = _vsp_g.J_PROP_DRIVER
P_PROP_DRIVER = _vsp_g.P_PROP_DRIVER
CQ_PROP_DRIVER = _vsp_g.CQ_PROP_DRIVER
Q_PROP_DRIVER = _vsp_g.Q_PROP_DRIVER
NUM_PROP_DRIVER = _vsp_g.NUM_PROP_DRIVER
PROP_BLADES = _vsp_g.PROP_BLADES
PROP_BOTH = _vsp_g.PROP_BOTH
PROP_DISK = _vsp_g.PROP_DISK
PROP_CHORD = _vsp_g.PROP_CHORD
PROP_TWIST = _vsp_g.PROP_TWIST
PROP_RAKE = _vsp_g.PROP_RAKE
PROP_SKEW = _vsp_g.PROP_SKEW
PROP_SWEEP = _vsp_g.PROP_SWEEP
PROP_THICK = _vsp_g.PROP_THICK
PROP_CLI = _vsp_g.PROP_CLI
PROP_AXIAL = _vsp_g.PROP_AXIAL
PROP_TANGENTIAL = _vsp_g.PROP_TANGENTIAL
NUM_PROP_PCURVE = _vsp_g.NUM_PROP_PCURVE
REORDER_MOVE_UP = _vsp_g.REORDER_MOVE_UP
REORDER_MOVE_DOWN = _vsp_g.REORDER_MOVE_DOWN
REORDER_MOVE_TOP = _vsp_g.REORDER_MOVE_TOP
REORDER_MOVE_BOTTOM = _vsp_g.REORDER_MOVE_BOTTOM
NUM_REORDER_TYPES = _vsp_g.NUM_REORDER_TYPES
MANUAL_REF = _vsp_g.MANUAL_REF
COMPONENT_REF = _vsp_g.COMPONENT_REF
NUM_REF_TYPES = _vsp_g.NUM_REF_TYPES
INVALID_TYPE = _vsp_g.INVALID_TYPE
BOOL_DATA = _vsp_g.BOOL_DATA
INT_DATA = _vsp_g.INT_DATA
DOUBLE_DATA = _vsp_g.DOUBLE_DATA
STRING_DATA = _vsp_g.STRING_DATA
VEC3D_DATA = _vsp_g.VEC3D_DATA
INT_MATRIX_DATA = _vsp_g.INT_MATRIX_DATA
DOUBLE_MATRIX_DATA = _vsp_g.DOUBLE_MATRIX_DATA
ATTR_COLLECTION_DATA = _vsp_g.ATTR_COLLECTION_DATA
PARM_REFERENCE_DATA = _vsp_g.PARM_REFERENCE_DATA
MESH_INDEXED_TRI = _vsp_g.MESH_INDEXED_TRI
MESH_SLICE_TRI = _vsp_g.MESH_SLICE_TRI
GEOM_XSECS = _vsp_g.GEOM_XSECS
MESH_INDEX_AND_SLICE_TRI = _vsp_g.MESH_INDEX_AND_SLICE_TRI
RHO_UNIT_SLUG_FT3 = _vsp_g.RHO_UNIT_SLUG_FT3
RHO_UNIT_G_CM3 = _vsp_g.RHO_UNIT_G_CM3
RHO_UNIT_KG_M3 = _vsp_g.RHO_UNIT_KG_M3
RHO_UNIT_TONNE_MM3 = _vsp_g.RHO_UNIT_TONNE_MM3
RHO_UNIT_LBM_FT3 = _vsp_g.RHO_UNIT_LBM_FT3
RHO_UNIT_LBFSEC2_IN4 = _vsp_g.RHO_UNIT_LBFSEC2_IN4
RHO_UNIT_LBM_IN3 = _vsp_g.RHO_UNIT_LBM_IN3
NUM_RHO_UNIT = _vsp_g.NUM_RHO_UNIT
ROUTE_PT_COMP = _vsp_g.ROUTE_PT_COMP
ROUTE_PT_UV = _vsp_g.ROUTE_PT_UV
ROUTE_PT_RST = _vsp_g.ROUTE_PT_RST
ROUTE_PT_LMN = _vsp_g.ROUTE_PT_LMN
ROUTE_PT_EtaMN = _vsp_g.ROUTE_PT_EtaMN
ROUTE_PT_NUM_TYPES = _vsp_g.ROUTE_PT_NUM_TYPES
ROUTE_PT_DELTA_XYZ = _vsp_g.ROUTE_PT_DELTA_XYZ
ROUTE_PT_DELTA_COMP = _vsp_g.ROUTE_PT_DELTA_COMP
ROUTE_PT_DELTA_UVN = _vsp_g.ROUTE_PT_DELTA_UVN
ROUTE_PT_DELTA_NUM_TYPES = _vsp_g.ROUTE_PT_DELTA_NUM_TYPES
SCALE_WIDTH = _vsp_g.SCALE_WIDTH
SCALE_HEIGHT = _vsp_g.SCALE_HEIGHT
SCALE_WIDTH_HEIGHT = _vsp_g.SCALE_WIDTH_HEIGHT
SCALE_RESOLUTION = _vsp_g.SCALE_RESOLUTION
NUM_SCALE_TYPES = _vsp_g.NUM_SCALE_TYPES
SET_NONE = _vsp_g.SET_NONE
SET_ALL = _vsp_g.SET_ALL
SET_SHOWN = _vsp_g.SET_SHOWN
SET_NOT_SHOWN = _vsp_g.SET_NOT_SHOWN
SET_FIRST_USER = _vsp_g.SET_FIRST_USER
MIN_NUM_USER = _vsp_g.MIN_NUM_USER
MAX_NUM_SETS = _vsp_g.MAX_NUM_SETS
STEP_SHELL = _vsp_g.STEP_SHELL
STEP_BREP = _vsp_g.STEP_BREP
SS_INC_TREAT_AS_PARENT = _vsp_g.SS_INC_TREAT_AS_PARENT
SS_INC_SEPARATE_TREATMENT = _vsp_g.SS_INC_SEPARATE_TREATMENT
SS_INC_ZERO_DRAG = _vsp_g.SS_INC_ZERO_DRAG
INSIDE = _vsp_g.INSIDE
OUTSIDE = _vsp_g.OUTSIDE
NONE = _vsp_g.NONE
CONST_U = _vsp_g.CONST_U
CONST_W = _vsp_g.CONST_W
SS_LINE = _vsp_g.SS_LINE
SS_RECTANGLE = _vsp_g.SS_RECTANGLE
SS_ELLIPSE = _vsp_g.SS_ELLIPSE
SS_CONTROL = _vsp_g.SS_CONTROL
SS_LINE_ARRAY = _vsp_g.SS_LINE_ARRAY
SS_FINITE_LINE = _vsp_g.SS_FINITE_LINE
SS_XSEC_CURVE = _vsp_g.SS_XSEC_CURVE
SS_NUM_TYPES = _vsp_g.SS_NUM_TYPES
SYM_XY = _vsp_g.SYM_XY
SYM_XZ = _vsp_g.SYM_XZ
SYM_YZ = _vsp_g.SYM_YZ
SYM_ROT_X = _vsp_g.SYM_ROT_X
SYM_ROT_Y = _vsp_g.SYM_ROT_Y
SYM_ROT_Z = _vsp_g.SYM_ROT_Z
SYM_PLANAR_TYPES = _vsp_g.SYM_PLANAR_TYPES
SYM_NUM_TYPES = _vsp_g.SYM_NUM_TYPES
SYM_NONE = _vsp_g.SYM_NONE
SYM_RL = _vsp_g.SYM_RL
SYM_TB = _vsp_g.SYM_TB
SYM_ALL = _vsp_g.SYM_ALL
TEMP_UNIT_K = _vsp_g.TEMP_UNIT_K
TEMP_UNIT_C = _vsp_g.TEMP_UNIT_C
TEMP_UNIT_F = _vsp_g.TEMP_UNIT_F
TEMP_UNIT_R = _vsp_g.TEMP_UNIT_R
NUM_TEMP_UNIT = _vsp_g.NUM_TEMP_UNIT
TIRE_STATIC_LODED_CONTACT = _vsp_g.TIRE_STATIC_LODED_CONTACT
TIRE_NOMINAL_CONTACT = _vsp_g.TIRE_NOMINAL_CONTACT
TIRE_GROWTH_CONTACT = _vsp_g.TIRE_GROWTH_CONTACT
TIRE_FLAT_CONTACT = _vsp_g.TIRE_FLAT_CONTACT
NUM_TIRE_CONTACT_MODES = _vsp_g.NUM_TIRE_CONTACT_MODES
TIRE_DIM_IN = _vsp_g.TIRE_DIM_IN
TIRE_DIM_MODEL = _vsp_g.TIRE_DIM_MODEL
TIRE_DIM_FRAC = _vsp_g.TIRE_DIM_FRAC
NUM_TIRE_DIM_MODES = _vsp_g.NUM_TIRE_DIM_MODES
TIRE_TRA = _vsp_g.TIRE_TRA
TIRE_FAIR_FLANGE = _vsp_g.TIRE_FAIR_FLANGE
TIRE_FAIR_WHEEL = _vsp_g.TIRE_FAIR_WHEEL
TIRE_BALLOON = _vsp_g.TIRE_BALLOON
TIRE_BALLOON_WHEEL = _vsp_g.TIRE_BALLOON_WHEEL
TIRE_BALLOON_FAIR_WHEEL = _vsp_g.TIRE_BALLOON_FAIR_WHEEL
NUM_TIRE_MODES = _vsp_g.NUM_TIRE_MODES
V_UNIT_FT_S = _vsp_g.V_UNIT_FT_S
V_UNIT_M_S = _vsp_g.V_UNIT_M_S
V_UNIT_MPH = _vsp_g.V_UNIT_MPH
V_UNIT_KM_HR = _vsp_g.V_UNIT_KM_HR
V_UNIT_KEAS = _vsp_g.V_UNIT_KEAS
V_UNIT_KTAS = _vsp_g.V_UNIT_KTAS
V_UNIT_MACH = _vsp_g.V_UNIT_MACH
VIEW_1 = _vsp_g.VIEW_1
VIEW_2HOR = _vsp_g.VIEW_2HOR
VIEW_2VER = _vsp_g.VIEW_2VER
VIEW_4 = _vsp_g.VIEW_4
ROT_0 = _vsp_g.ROT_0
ROT_90 = _vsp_g.ROT_90
ROT_180 = _vsp_g.ROT_180
ROT_270 = _vsp_g.ROT_270
VIEW_LEFT = _vsp_g.VIEW_LEFT
VIEW_RIGHT = _vsp_g.VIEW_RIGHT
VIEW_TOP = _vsp_g.VIEW_TOP
VIEW_BOTTOM = _vsp_g.VIEW_BOTTOM
VIEW_FRONT = _vsp_g.VIEW_FRONT
VIEW_REAR = _vsp_g.VIEW_REAR
VIEW_NONE = _vsp_g.VIEW_NONE
VIEW_NUM_TYPES = _vsp_g.VIEW_NUM_TYPES
NOISE_FLYBY = _vsp_g.NOISE_FLYBY
NOISE_FOOTPRINT = _vsp_g.NOISE_FOOTPRINT
NOISE_STEADY = _vsp_g.NOISE_STEADY
NOISE_SI = _vsp_g.NOISE_SI
NOISE_ENGLISH = _vsp_g.NOISE_ENGLISH
VSPAERO_PROP_STATIC = _vsp_g.VSPAERO_PROP_STATIC
VSPAERO_PROP_UNSTEADY = _vsp_g.VSPAERO_PROP_UNSTEADY
VSPAERO_PROP_PSEUDO_STEADY = _vsp_g.VSPAERO_PROP_PSEUDO_STEADY
VSPAERO_PROP_NUM_MODES = _vsp_g.VSPAERO_PROP_NUM_MODES
STABILITY_OFF = _vsp_g.STABILITY_OFF
STABILITY_DEFAULT = _vsp_g.STABILITY_DEFAULT
STABILITY_P_ANALYSIS = _vsp_g.STABILITY_P_ANALYSIS
STABILITY_Q_ANALYSIS = _vsp_g.STABILITY_Q_ANALYSIS
STABILITY_R_ANALYSIS = _vsp_g.STABILITY_R_ANALYSIS
STABILITY_PITCH = _vsp_g.STABILITY_PITCH
STABILITY_ADJOINT = _vsp_g.STABILITY_ADJOINT
STABILITY_NUM_TYPES = _vsp_g.STABILITY_NUM_TYPES
STALL_OFF = _vsp_g.STALL_OFF
STALL_ON = _vsp_g.STALL_ON
CFD_NORMAL = _vsp_g.CFD_NORMAL
CFD_NEGATIVE = _vsp_g.CFD_NEGATIVE
CFD_TRANSPARENT = _vsp_g.CFD_TRANSPARENT
CFD_STRUCTURE = _vsp_g.CFD_STRUCTURE
CFD_STIFFENER = _vsp_g.CFD_STIFFENER
CFD_MEASURE_DUCT = _vsp_g.CFD_MEASURE_DUCT
CFD_NUM_TYPES = _vsp_g.CFD_NUM_TYPES
NORMAL_SURF = _vsp_g.NORMAL_SURF
WING_SURF = _vsp_g.WING_SURF
DISK_SURF = _vsp_g.DISK_SURF
NUM_SURF_TYPES = _vsp_g.NUM_SURF_TYPES
W_RIGHT_0 = _vsp_g.W_RIGHT_0
W_BOTTOM = _vsp_g.W_BOTTOM
W_LEFT = _vsp_g.W_LEFT
W_TOP = _vsp_g.W_TOP
W_RIGHT_1 = _vsp_g.W_RIGHT_1
W_FREE = _vsp_g.W_FREE
BLEND_FREE = _vsp_g.BLEND_FREE
BLEND_ANGLES = _vsp_g.BLEND_ANGLES
BLEND_MATCH_IN_LE_TRAP = _vsp_g.BLEND_MATCH_IN_LE_TRAP
BLEND_MATCH_IN_TE_TRAP = _vsp_g.BLEND_MATCH_IN_TE_TRAP
BLEND_MATCH_OUT_LE_TRAP = _vsp_g.BLEND_MATCH_OUT_LE_TRAP
BLEND_MATCH_OUT_TE_TRAP = _vsp_g.BLEND_MATCH_OUT_TE_TRAP
BLEND_MATCH_IN_ANGLES = _vsp_g.BLEND_MATCH_IN_ANGLES
BLEND_MATCH_LE_ANGLES = _vsp_g.BLEND_MATCH_LE_ANGLES
BLEND_NUM_TYPES = _vsp_g.BLEND_NUM_TYPES
AR_WSECT_DRIVER = _vsp_g.AR_WSECT_DRIVER
SPAN_WSECT_DRIVER = _vsp_g.SPAN_WSECT_DRIVER
AREA_WSECT_DRIVER = _vsp_g.AREA_WSECT_DRIVER
TAPER_WSECT_DRIVER = _vsp_g.TAPER_WSECT_DRIVER
AVEC_WSECT_DRIVER = _vsp_g.AVEC_WSECT_DRIVER
ROOTC_WSECT_DRIVER = _vsp_g.ROOTC_WSECT_DRIVER
TIPC_WSECT_DRIVER = _vsp_g.TIPC_WSECT_DRIVER
SECSWEEP_WSECT_DRIVER = _vsp_g.SECSWEEP_WSECT_DRIVER
NUM_WSECT_DRIVER = _vsp_g.NUM_WSECT_DRIVER
SWEEP_WSECT_DRIVER = _vsp_g.SWEEP_WSECT_DRIVER
SWEEPLOC_WSECT_DRIVER = _vsp_g.SWEEPLOC_WSECT_DRIVER
SECSWEEPLOC_WSECT_DRIVER = _vsp_g.SECSWEEPLOC_WSECT_DRIVER
XDDM_VAR = _vsp_g.XDDM_VAR
XDDM_CONST = _vsp_g.XDDM_CONST
CLOSE_NONE = _vsp_g.CLOSE_NONE
CLOSE_SKEWLOW = _vsp_g.CLOSE_SKEWLOW
CLOSE_SKEWUP = _vsp_g.CLOSE_SKEWUP
CLOSE_SKEWBOTH = _vsp_g.CLOSE_SKEWBOTH
CLOSE_EXTRAP = _vsp_g.CLOSE_EXTRAP
CLOSE_NUM_TYPES = _vsp_g.CLOSE_NUM_TYPES
XS_UNDEFINED = _vsp_g.XS_UNDEFINED
XS_POINT = _vsp_g.XS_POINT
XS_CIRCLE = _vsp_g.XS_CIRCLE
XS_ELLIPSE = _vsp_g.XS_ELLIPSE
XS_SUPER_ELLIPSE = _vsp_g.XS_SUPER_ELLIPSE
XS_ROUNDED_RECTANGLE = _vsp_g.XS_ROUNDED_RECTANGLE
XS_GENERAL_FUSE = _vsp_g.XS_GENERAL_FUSE
XS_FILE_FUSE = _vsp_g.XS_FILE_FUSE
XS_FOUR_SERIES = _vsp_g.XS_FOUR_SERIES
XS_SIX_SERIES = _vsp_g.XS_SIX_SERIES
XS_BICONVEX = _vsp_g.XS_BICONVEX
XS_WEDGE = _vsp_g.XS_WEDGE
XS_EDIT_CURVE = _vsp_g.XS_EDIT_CURVE
XS_FILE_AIRFOIL = _vsp_g.XS_FILE_AIRFOIL
XS_CST_AIRFOIL = _vsp_g.XS_CST_AIRFOIL
XS_VKT_AIRFOIL = _vsp_g.XS_VKT_AIRFOIL
XS_FOUR_DIGIT_MOD = _vsp_g.XS_FOUR_DIGIT_MOD
XS_FIVE_DIGIT = _vsp_g.XS_FIVE_DIGIT
XS_FIVE_DIGIT_MOD = _vsp_g.XS_FIVE_DIGIT_MOD
XS_ONE_SIX_SERIES = _vsp_g.XS_ONE_SIX_SERIES
XS_AC25_773 = _vsp_g.XS_AC25_773
XS_NUM_TYPES = _vsp_g.XS_NUM_TYPES
WIDTH_XSEC_DRIVER = _vsp_g.WIDTH_XSEC_DRIVER
AREA_XSEC_DRIVER = _vsp_g.AREA_XSEC_DRIVER
HEIGHT_XSEC_DRIVER = _vsp_g.HEIGHT_XSEC_DRIVER
HWRATIO_XSEC_DRIVER = _vsp_g.HWRATIO_XSEC_DRIVER
NUM_XSEC_DRIVER = _vsp_g.NUM_XSEC_DRIVER
CIRCLE_NUM_XSEC_DRIVER = _vsp_g.CIRCLE_NUM_XSEC_DRIVER
FLAP_NONE = _vsp_g.FLAP_NONE
FLAP_PLAIN = _vsp_g.FLAP_PLAIN
FLAP_NUM_TYPES = _vsp_g.FLAP_NUM_TYPES
XSEC_BOTH_SIDES = _vsp_g.XSEC_BOTH_SIDES
XSEC_LEFT_SIDE = _vsp_g.XSEC_LEFT_SIDE
XSEC_RIGHT_SIDE = _vsp_g.XSEC_RIGHT_SIDE
TRIM_NONE = _vsp_g.TRIM_NONE
TRIM_X = _vsp_g.TRIM_X
TRIM_THICK = _vsp_g.TRIM_THICK
TRIM_NUM_TYPES = _vsp_g.TRIM_NUM_TYPES
XSEC_FUSE = _vsp_g.XSEC_FUSE
XSEC_STACK = _vsp_g.XSEC_STACK
XSEC_WING = _vsp_g.XSEC_WING
XSEC_CUSTOM = _vsp_g.XSEC_CUSTOM
XSEC_PROP = _vsp_g.XSEC_PROP
XSEC_NUM_TYPES = _vsp_g.XSEC_NUM_TYPES
XS_SHIFT_LE = _vsp_g.XS_SHIFT_LE
XS_SHIFT_MID = _vsp_g.XS_SHIFT_MID
XS_SHIFT_TE = _vsp_g.XS_SHIFT_TE
class ErrorObj(object):
    r"""Proxy of C++ vsp::ErrorObj class."""

    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        r"""
        __init__(ErrorObj self) -> ErrorObj
        __init__(ErrorObj self, vsp::ERROR_CODE err_code, string const & err_str) -> ErrorObj
        __init__(ErrorObj self, ErrorObj _from) -> ErrorObj
        """
        _vsp_g.ErrorObj_swiginit(self, _vsp_g.new_ErrorObj(*args))
    __swig_destroy__ = _vsp_g.delete_ErrorObj

    def GetErrorCode(self):
        r"""GetErrorCode(ErrorObj self) -> vsp::ERROR_CODE"""
        return _vsp_g.ErrorObj_GetErrorCode(self)

    def GetErrorString(self):
        r"""GetErrorString(ErrorObj self) -> string"""
        return _vsp_g.ErrorObj_GetErrorString(self)
    m_ErrorCode = property(_vsp_g.ErrorObj_m_ErrorCode_get, _vsp_g.ErrorObj_m_ErrorCode_set, doc=r"""m_ErrorCode : vsp::ERROR_CODE""")
    m_ErrorString = property(_vsp_g.ErrorObj_m_ErrorString_get, _vsp_g.ErrorObj_m_ErrorString_set, doc=r"""m_ErrorString : string""")

    def NoError(self):
        r"""NoError(ErrorObj self)"""
        return _vsp_g.ErrorObj_NoError(self)

# Register ErrorObj in _vsp_g:
_vsp_g.ErrorObj_swigregister(ErrorObj)
class ErrorMgrSingleton(object):
    r"""Proxy of C++ vsp::ErrorMgrSingleton class."""

    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")

    def __init__(self, *args, **kwargs):
        raise AttributeError("No constructor defined")
    __repr__ = _swig_repr

    def GetErrorLastCallFlag(self):
        r"""GetErrorLastCallFlag(ErrorMgrSingleton self) -> bool"""
        return _vsp_g.ErrorMgrSingleton_GetErrorLastCallFlag(self)

    def GetNumTotalErrors(self):
        r"""GetNumTotalErrors(ErrorMgrSingleton self) -> int"""
        return _vsp_g.ErrorMgrSingleton_GetNumTotalErrors(self)

    def PopLastError(self):
        r"""PopLastError(ErrorMgrSingleton self) -> ErrorObj"""
        return _vsp_g.ErrorMgrSingleton_PopLastError(self)

    def GetLastError(self):
        r"""GetLastError(ErrorMgrSingleton self) -> ErrorObj"""
        return _vsp_g.ErrorMgrSingleton_GetLastError(self)

    def PopErrorAndPrint(self, stream):
        r"""PopErrorAndPrint(ErrorMgrSingleton self, FILE * stream) -> bool"""
        return _vsp_g.ErrorMgrSingleton_PopErrorAndPrint(self, stream)

    def SilenceErrors(self):
        r"""SilenceErrors(ErrorMgrSingleton self)"""
        return _vsp_g.ErrorMgrSingleton_SilenceErrors(self)

    def PrintOnErrors(self):
        r"""PrintOnErrors(ErrorMgrSingleton self)"""
        return _vsp_g.ErrorMgrSingleton_PrintOnErrors(self)

    def AddError(self, code, desc):
        r"""AddError(ErrorMgrSingleton self, vsp::ERROR_CODE code, string const & desc)"""
        return _vsp_g.ErrorMgrSingleton_AddError(self, code, desc)

    def NoError(self):
        r"""NoError(ErrorMgrSingleton self)"""
        return _vsp_g.ErrorMgrSingleton_NoError(self)

    def MessageCallback(self, _from, data):
        r"""MessageCallback(ErrorMgrSingleton self, MessageBase const * _from, MessageData const & data)"""
        return _vsp_g.ErrorMgrSingleton_MessageCallback(self, _from, data)

    @staticmethod
    def getInstance():
        r"""getInstance() -> ErrorMgrSingleton"""
        return _vsp_g.ErrorMgrSingleton_getInstance()

# Register ErrorMgrSingleton in _vsp_g:
_vsp_g.ErrorMgrSingleton_swigregister(ErrorMgrSingleton)

def VSPCheckSetup():
    r"""VSPCheckSetup()"""
    return _vsp_g.VSPCheckSetup()

def VSPRenew():
    r"""VSPRenew()"""
    return _vsp_g.VSPRenew()

def Update(update_managers=True):
    r"""Update(bool update_managers=True)"""
    return _vsp_g.Update(update_managers)

def VSPExit(error_code):
    r"""VSPExit(int error_code)"""
    return _vsp_g.VSPExit(error_code)

def VSPCrash(crash_type):
    r"""VSPCrash(int crash_type)"""
    return _vsp_g.VSPCrash(crash_type)

def GetAndResetUpdateCount():
    r"""GetAndResetUpdateCount() -> int"""
    return _vsp_g.GetAndResetUpdateCount()

def GetVSPVersion():
    r"""GetVSPVersion() -> std::string"""
    return _vsp_g.GetVSPVersion()

def GetVSPVersionMajor():
    r"""GetVSPVersionMajor() -> int"""
    return _vsp_g.GetVSPVersionMajor()

def GetVSPVersionMinor():
    r"""GetVSPVersionMinor() -> int"""
    return _vsp_g.GetVSPVersionMinor()

def GetVSPVersionChange():
    r"""GetVSPVersionChange() -> int"""
    return _vsp_g.GetVSPVersionChange()

def GetVSPExePath():
    r"""GetVSPExePath() -> std::string"""
    return _vsp_g.GetVSPExePath()

def SetVSPAEROPath(path):
    r"""SetVSPAEROPath(std::string const & path) -> bool"""
    return _vsp_g.SetVSPAEROPath(path)

def GetVSPAEROPath():
    r"""GetVSPAEROPath() -> std::string"""
    return _vsp_g.GetVSPAEROPath()

def CheckForVSPAERO(path):
    r"""CheckForVSPAERO(std::string const & path) -> bool"""
    return _vsp_g.CheckForVSPAERO(path)

def SetVSPHelpPath(path):
    r"""SetVSPHelpPath(std::string const & path) -> bool"""
    return _vsp_g.SetVSPHelpPath(path)

def GetVSPHelpPath():
    r"""GetVSPHelpPath() -> std::string"""
    return _vsp_g.GetVSPHelpPath()

def CheckForVSPHelp(path):
    r"""CheckForVSPHelp(std::string const & path) -> bool"""
    return _vsp_g.CheckForVSPHelp(path)

def RegisterCFDMeshAnalyses():
    r"""RegisterCFDMeshAnalyses()"""
    return _vsp_g.RegisterCFDMeshAnalyses()

def ReadVSPFile(file_name):
    r"""ReadVSPFile(std::string const & file_name)"""
    return _vsp_g.ReadVSPFile(file_name)

def WriteVSPFile(*args):
    r"""WriteVSPFile(std::string const & file_name, int set=SET_ALL)"""
    return _vsp_g.WriteVSPFile(*args)

def SetVSP3FileName(file_name):
    r"""SetVSP3FileName(std::string const & file_name)"""
    return _vsp_g.SetVSP3FileName(file_name)

def GetVSPFileName():
    r"""GetVSPFileName() -> std::string"""
    return _vsp_g.GetVSPFileName()

def ClearVSPModel():
    r"""ClearVSPModel()"""
    return _vsp_g.ClearVSPModel()

def InsertVSPFile(file_name, parent_geom_id):
    r"""InsertVSPFile(std::string const & file_name, std::string const & parent_geom_id)"""
    return _vsp_g.InsertVSPFile(file_name, parent_geom_id)

def ExportFile(*args):
    r"""ExportFile(std::string const & file_name, int thick_set, int file_type, int subsFlag=1, int thin_set=SET_NONE, bool useMode=False, string const & modeID="") -> std::string"""
    return _vsp_g.ExportFile(*args)

def ImportFile(file_name, file_type, parent):
    r"""ImportFile(std::string const & file_name, int file_type, std::string const & parent) -> std::string"""
    return _vsp_g.ImportFile(file_name, file_type, parent)

def SetBEMPropID(prop_id):
    r"""SetBEMPropID(string const & prop_id)"""
    return _vsp_g.SetBEMPropID(prop_id)

def ReadApplyDESFile(file_name):
    r"""ReadApplyDESFile(std::string const & file_name)"""
    return _vsp_g.ReadApplyDESFile(file_name)

def WriteDESFile(file_name):
    r"""WriteDESFile(std::string const & file_name)"""
    return _vsp_g.WriteDESFile(file_name)

def ReadApplyXDDMFile(file_name):
    r"""ReadApplyXDDMFile(std::string const & file_name)"""
    return _vsp_g.ReadApplyXDDMFile(file_name)

def WriteXDDMFile(file_name):
    r"""WriteXDDMFile(std::string const & file_name)"""
    return _vsp_g.WriteXDDMFile(file_name)

def GetNumDesignVars():
    r"""GetNumDesignVars() -> int"""
    return _vsp_g.GetNumDesignVars()

def AddDesignVar(parm_id, type):
    r"""AddDesignVar(std::string const & parm_id, int type)"""
    return _vsp_g.AddDesignVar(parm_id, type)

def DeleteAllDesignVars():
    r"""DeleteAllDesignVars()"""
    return _vsp_g.DeleteAllDesignVars()

def GetDesignVar(index):
    r"""GetDesignVar(int index) -> std::string"""
    return _vsp_g.GetDesignVar(index)

def GetDesignVarType(index):
    r"""GetDesignVarType(int index) -> int"""
    return _vsp_g.GetDesignVarType(index)

def SetComputationFileName(file_type, file_name):
    r"""SetComputationFileName(int file_type, std::string const & file_name)"""
    return _vsp_g.SetComputationFileName(file_type, file_name)

def ComputeMassProps(set, num_slices, idir):
    r"""ComputeMassProps(int set, int num_slices, int idir) -> std::string"""
    return _vsp_g.ComputeMassProps(set, num_slices, idir)

def ComputeCompGeom(set, half_mesh, file_export_types):
    r"""ComputeCompGeom(int set, bool half_mesh, int file_export_types) -> std::string"""
    return _vsp_g.ComputeCompGeom(set, half_mesh, file_export_types)

def ComputePlaneSlice(set, num_slices, norm, auto_bnd, start_bnd=0, end_bnd=0, measureduct=False):
    r"""ComputePlaneSlice(int set, int num_slices, vec3d norm, bool auto_bnd, double start_bnd=0, double end_bnd=0, bool measureduct=False) -> std::string"""
    return _vsp_g.ComputePlaneSlice(set, num_slices, norm, auto_bnd, start_bnd, end_bnd, measureduct)

def ComputeDegenGeom(set, file_export_types):
    r"""ComputeDegenGeom(int set, int file_export_types)"""
    return _vsp_g.ComputeDegenGeom(set, file_export_types)

def ComputeCFDMesh(set, degenset, file_export_types):
    r"""ComputeCFDMesh(int set, int degenset, int file_export_types)"""
    return _vsp_g.ComputeCFDMesh(set, degenset, file_export_types)

def SetCFDMeshVal(type, val):
    r"""SetCFDMeshVal(int type, double val)"""
    return _vsp_g.SetCFDMeshVal(type, val)

def SetCFDWakeFlag(geom_id, flag):
    r"""SetCFDWakeFlag(std::string const & geom_id, bool flag)"""
    return _vsp_g.SetCFDWakeFlag(geom_id, flag)

def DeleteAllCFDSources():
    r"""DeleteAllCFDSources()"""
    return _vsp_g.DeleteAllCFDSources()

def AddDefaultSources():
    r"""AddDefaultSources()"""
    return _vsp_g.AddDefaultSources()

def AddCFDSource(type, geom_id, surf_index, l1, r1, u1, w1, l2=0, r2=0, u2=0, w2=0):
    r"""AddCFDSource(int type, std::string const & geom_id, int surf_index, double l1, double r1, double u1, double w1, double l2=0, double r2=0, double u2=0, double w2=0)"""
    return _vsp_g.AddCFDSource(type, geom_id, surf_index, l1, r1, u1, w1, l2, r2, u2, w2)

def GetVSPAERORefWingID():
    r"""GetVSPAERORefWingID() -> string"""
    return _vsp_g.GetVSPAERORefWingID()

def SetVSPAERORefWingID(geom_id):
    r"""SetVSPAERORefWingID(std::string const & geom_id) -> string"""
    return _vsp_g.SetVSPAERORefWingID(geom_id)

def GetNumAnalysis():
    r"""GetNumAnalysis() -> int"""
    return _vsp_g.GetNumAnalysis()

def ListAnalysis():
    r"""ListAnalysis() -> StringVector"""
    return _vsp_g.ListAnalysis()

def GetAnalysisInputNames(analysis):
    r"""GetAnalysisInputNames(std::string const & analysis) -> StringVector"""
    return _vsp_g.GetAnalysisInputNames(analysis)

def GetAnalysisDoc(analysis):
    r"""GetAnalysisDoc(std::string const & analysis) -> std::string"""
    return _vsp_g.GetAnalysisDoc(analysis)

def GetAnalysisInputDoc(analysis, name):
    r"""GetAnalysisInputDoc(std::string const & analysis, std::string const & name) -> std::string"""
    return _vsp_g.GetAnalysisInputDoc(analysis, name)

def ExecAnalysis(analysis):
    r"""ExecAnalysis(std::string const & analysis) -> std::string"""
    return _vsp_g.ExecAnalysis(analysis)

def GetNumAnalysisInputData(analysis, name):
    r"""GetNumAnalysisInputData(std::string const & analysis, std::string const & name) -> int"""
    return _vsp_g.GetNumAnalysisInputData(analysis, name)

def GetAnalysisInputType(analysis, name):
    r"""GetAnalysisInputType(std::string const & analysis, std::string const & name) -> int"""
    return _vsp_g.GetAnalysisInputType(analysis, name)

def GetIntAnalysisInput(analysis, name, index=0):
    r"""GetIntAnalysisInput(std::string const & analysis, std::string const & name, int index=0) -> IntVector"""
    return _vsp_g.GetIntAnalysisInput(analysis, name, index)

def GetDoubleAnalysisInput(analysis, name, index=0):
    r"""GetDoubleAnalysisInput(std::string const & analysis, std::string const & name, int index=0) -> DoubleVector"""
    return _vsp_g.GetDoubleAnalysisInput(analysis, name, index)

def GetStringAnalysisInput(analysis, name, index=0):
    r"""GetStringAnalysisInput(std::string const & analysis, std::string const & name, int index=0) -> StringVector"""
    return _vsp_g.GetStringAnalysisInput(analysis, name, index)

def GetVec3dAnalysisInput(analysis, name, index=0):
    r"""GetVec3dAnalysisInput(std::string const & analysis, std::string const & name, int index=0) -> Vec3dVec"""
    return _vsp_g.GetVec3dAnalysisInput(analysis, name, index)

def SetAnalysisInputDefaults(analysis):
    r"""SetAnalysisInputDefaults(std::string const & analysis)"""
    return _vsp_g.SetAnalysisInputDefaults(analysis)

def SetIntAnalysisInput(analysis, name, indata, index=0):
    r"""SetIntAnalysisInput(std::string const & analysis, std::string const & name, IntVector indata, int index=0)"""
    return _vsp_g.SetIntAnalysisInput(analysis, name, indata, index)

def SetDoubleAnalysisInput(analysis, name, indata, index=0):
    r"""SetDoubleAnalysisInput(std::string const & analysis, std::string const & name, DoubleVector indata, int index=0)"""
    return _vsp_g.SetDoubleAnalysisInput(analysis, name, indata, index)

def SetStringAnalysisInput(analysis, name, indata, index=0):
    r"""SetStringAnalysisInput(std::string const & analysis, std::string const & name, StringVector indata, int index=0)"""
    return _vsp_g.SetStringAnalysisInput(analysis, name, indata, index)

def SetVec3dAnalysisInput(analysis, name, indata, index=0):
    r"""SetVec3dAnalysisInput(std::string const & analysis, std::string const & name, Vec3dVec indata, int index=0)"""
    return _vsp_g.SetVec3dAnalysisInput(analysis, name, indata, index)

def PrintAnalysisInputs(analysis_name):
    r"""PrintAnalysisInputs(std::string const & analysis_name)"""
    return _vsp_g.PrintAnalysisInputs(analysis_name)

def PrintAnalysisDocs(analysis_name):
    r"""PrintAnalysisDocs(std::string const & analysis_name)"""
    return _vsp_g.PrintAnalysisDocs(analysis_name)

def SummarizeAttributes():
    r"""SummarizeAttributes() -> string"""
    return _vsp_g.SummarizeAttributes()

def SummarizeAttributesAsTree():
    r"""SummarizeAttributesAsTree() -> string"""
    return _vsp_g.SummarizeAttributesAsTree()

def FindAllAttributes():
    r"""FindAllAttributes() -> StringVector"""
    return _vsp_g.FindAllAttributes()

def FindAttributesByName(search_str):
    r"""FindAttributesByName(string const & search_str) -> StringVector"""
    return _vsp_g.FindAttributesByName(search_str)

def FindAttributeByName(search_str, index):
    r"""FindAttributeByName(string const & search_str, int index) -> string"""
    return _vsp_g.FindAttributeByName(search_str, index)

def FindAttributeInCollection(obj_id, search_str, index):
    r"""FindAttributeInCollection(string const & obj_id, string const & search_str, int index) -> string"""
    return _vsp_g.FindAttributeInCollection(obj_id, search_str, index)

def FindAttributeNamesInCollection(collID):
    r"""FindAttributeNamesInCollection(string const & collID) -> StringVector"""
    return _vsp_g.FindAttributeNamesInCollection(collID)

def FindAttributesInCollection(collID):
    r"""FindAttributesInCollection(string const & collID) -> StringVector"""
    return _vsp_g.FindAttributesInCollection(collID)

def FindAttributedObjects():
    r"""FindAttributedObjects() -> StringVector"""
    return _vsp_g.FindAttributedObjects()

def GetObjectType(attachID):
    r"""GetObjectType(string const & attachID) -> int"""
    return _vsp_g.GetObjectType(attachID)

def GetObjectTypeName(attachID):
    r"""GetObjectTypeName(string const & attachID) -> string"""
    return _vsp_g.GetObjectTypeName(attachID)

def GetObjectName(attachID):
    r"""GetObjectName(string const & attachID) -> string"""
    return _vsp_g.GetObjectName(attachID)

def GetObjectParent(id):
    r"""GetObjectParent(string const & id) -> string"""
    return _vsp_g.GetObjectParent(id)

def GetChildCollection(attachID):
    r"""GetChildCollection(string const & attachID) -> string"""
    return _vsp_g.GetChildCollection(attachID)

def GetGeomSetCollection(index):
    r"""GetGeomSetCollection(int const & index) -> string"""
    return _vsp_g.GetGeomSetCollection(index)

def GetAttributeName(attrID):
    r"""GetAttributeName(string const & attrID) -> string"""
    return _vsp_g.GetAttributeName(attrID)

def GetAttributeID(collID, attributeName, index):
    r"""GetAttributeID(string const & collID, string const & attributeName, int index) -> string"""
    return _vsp_g.GetAttributeID(collID, attributeName, index)

def GetAttributeDoc(attrID):
    r"""GetAttributeDoc(string const & attrID) -> string"""
    return _vsp_g.GetAttributeDoc(attrID)

def GetAttributeType(attrID):
    r"""GetAttributeType(string const & attrID) -> int"""
    return _vsp_g.GetAttributeType(attrID)

def GetAttributeTypeName(attrID):
    r"""GetAttributeTypeName(string const & attrID) -> string"""
    return _vsp_g.GetAttributeTypeName(attrID)

def GetAttributeBoolVal(attrID):
    r"""GetAttributeBoolVal(string const & attrID) -> IntVector"""
    return _vsp_g.GetAttributeBoolVal(attrID)

def GetAttributeIntVal(attrID):
    r"""GetAttributeIntVal(string const & attrID) -> IntVector"""
    return _vsp_g.GetAttributeIntVal(attrID)

def GetAttributeDoubleVal(attrID):
    r"""GetAttributeDoubleVal(string const & attrID) -> DoubleVector"""
    return _vsp_g.GetAttributeDoubleVal(attrID)

def GetAttributeStringVal(attrID):
    r"""GetAttributeStringVal(string const & attrID) -> StringVector"""
    return _vsp_g.GetAttributeStringVal(attrID)

def GetAttributeParmID(attrID):
    r"""GetAttributeParmID(string const & attrID) -> StringVector"""
    return _vsp_g.GetAttributeParmID(attrID)

def GetAttributeParmVal(attrID):
    r"""GetAttributeParmVal(string const & attrID) -> DoubleVector"""
    return _vsp_g.GetAttributeParmVal(attrID)

def GetAttributeParmName(attrID):
    r"""GetAttributeParmName(string const & attrID) -> StringVector"""
    return _vsp_g.GetAttributeParmName(attrID)

def GetAttributeVec3dVal(attrID):
    r"""GetAttributeVec3dVal(string const & attrID) -> Vec3dVec"""
    return _vsp_g.GetAttributeVec3dVal(attrID)

def GetAttributeIntMatrixVal(attrID):
    r"""GetAttributeIntMatrixVal(string const & attrID) -> IntVecVec"""
    return _vsp_g.GetAttributeIntMatrixVal(attrID)

def GetAttributeDoubleMatrixVal(attrID):
    r"""GetAttributeDoubleMatrixVal(string const & attrID) -> DoubleVecVec"""
    return _vsp_g.GetAttributeDoubleMatrixVal(attrID)

def SetAttributeName(attrID, name):
    r"""SetAttributeName(string const & attrID, string const & name)"""
    return _vsp_g.SetAttributeName(attrID, name)

def SetAttributeDoc(attrID, doc):
    r"""SetAttributeDoc(string const & attrID, string const & doc)"""
    return _vsp_g.SetAttributeDoc(attrID, doc)

def SetAttributeBool(attrID, value):
    r"""SetAttributeBool(string const & attrID, bool value)"""
    return _vsp_g.SetAttributeBool(attrID, value)

def SetAttributeInt(attrID, value):
    r"""SetAttributeInt(string const & attrID, int value)"""
    return _vsp_g.SetAttributeInt(attrID, value)

def SetAttributeDouble(attrID, value):
    r"""SetAttributeDouble(string const & attrID, double value)"""
    return _vsp_g.SetAttributeDouble(attrID, value)

def SetAttributeString(attrID, value):
    r"""SetAttributeString(string const & attrID, string const & value)"""
    return _vsp_g.SetAttributeString(attrID, value)

def SetAttributeParmID(attrID, value):
    r"""SetAttributeParmID(string const & attrID, string const & value)"""
    return _vsp_g.SetAttributeParmID(attrID, value)

def SetAttributeVec3d(attrID, value):
    r"""SetAttributeVec3d(string const & attrID, Vec3dVec value)"""
    return _vsp_g.SetAttributeVec3d(attrID, value)

def SetAttributeIntMatrix(attrID, value):
    r"""SetAttributeIntMatrix(string const & attrID, IntVecVec value)"""
    return _vsp_g.SetAttributeIntMatrix(attrID, value)

def SetAttributeDoubleMatrix(attrID, value):
    r"""SetAttributeDoubleMatrix(string const & attrID, DoubleVecVec value)"""
    return _vsp_g.SetAttributeDoubleMatrix(attrID, value)

def DeleteAttribute(attrID):
    r"""DeleteAttribute(string const & attrID)"""
    return _vsp_g.DeleteAttribute(attrID)

def AddAttributeBool(collID, attributeName, value):
    r"""AddAttributeBool(string const & collID, string const & attributeName, bool value) -> string"""
    return _vsp_g.AddAttributeBool(collID, attributeName, value)

def AddAttributeInt(collID, attributeName, value):
    r"""AddAttributeInt(string const & collID, string const & attributeName, int value) -> string"""
    return _vsp_g.AddAttributeInt(collID, attributeName, value)

def AddAttributeDouble(collID, attributeName, value):
    r"""AddAttributeDouble(string const & collID, string const & attributeName, double value) -> string"""
    return _vsp_g.AddAttributeDouble(collID, attributeName, value)

def AddAttributeString(collID, attributeName, value):
    r"""AddAttributeString(string const & collID, string const & attributeName, string const & value) -> string"""
    return _vsp_g.AddAttributeString(collID, attributeName, value)

def AddAttributeParm(collID, attributeName, parmID):
    r"""AddAttributeParm(string const & collID, string const & attributeName, string const & parmID) -> string"""
    return _vsp_g.AddAttributeParm(collID, attributeName, parmID)

def AddAttributeVec3d(collID, attributeName, value):
    r"""AddAttributeVec3d(string const & collID, string const & attributeName, Vec3dVec value) -> string"""
    return _vsp_g.AddAttributeVec3d(collID, attributeName, value)

def AddAttributeIntMatrix(collID, attributeName, value):
    r"""AddAttributeIntMatrix(string const & collID, string const & attributeName, IntVecVec value) -> string"""
    return _vsp_g.AddAttributeIntMatrix(collID, attributeName, value)

def AddAttributeDoubleMatrix(collID, attributeName, value):
    r"""AddAttributeDoubleMatrix(string const & collID, string const & attributeName, DoubleVecVec value) -> string"""
    return _vsp_g.AddAttributeDoubleMatrix(collID, attributeName, value)

def AddAttributeGroup(collID, attributeName):
    r"""AddAttributeGroup(string const & collID, string const & attributeName) -> string"""
    return _vsp_g.AddAttributeGroup(collID, attributeName)

def CopyAttribute(attrID):
    r"""CopyAttribute(string const & attrID) -> int"""
    return _vsp_g.CopyAttribute(attrID)

def CutAttribute(attrID):
    r"""CutAttribute(string const & attrID)"""
    return _vsp_g.CutAttribute(attrID)

def PasteAttribute(coll_id):
    r"""PasteAttribute(string const & coll_id) -> StringVector"""
    return _vsp_g.PasteAttribute(coll_id)

def GetAllResultsNames():
    r"""GetAllResultsNames() -> StringVector"""
    return _vsp_g.GetAllResultsNames()

def GetAllDataNames(results_id):
    r"""GetAllDataNames(std::string const & results_id) -> StringVector"""
    return _vsp_g.GetAllDataNames(results_id)

def GetNumResults(name):
    r"""GetNumResults(std::string const & name) -> int"""
    return _vsp_g.GetNumResults(name)

def GetResultsName(results_id):
    r"""GetResultsName(std::string const & results_id) -> std::string"""
    return _vsp_g.GetResultsName(results_id)

def GetResultsSetDoc(results_id):
    r"""GetResultsSetDoc(std::string const & results_id) -> std::string"""
    return _vsp_g.GetResultsSetDoc(results_id)

def GetResultsEntryDoc(results_id, data_name):
    r"""GetResultsEntryDoc(std::string const & results_id, std::string const & data_name) -> std::string"""
    return _vsp_g.GetResultsEntryDoc(results_id, data_name)

def FindResultsID(name, index=0):
    r"""FindResultsID(std::string const & name, int index=0) -> std::string"""
    return _vsp_g.FindResultsID(name, index)

def FindLatestResultsID(name):
    r"""FindLatestResultsID(std::string const & name) -> std::string"""
    return _vsp_g.FindLatestResultsID(name)

def GetNumData(results_id, data_name):
    r"""GetNumData(std::string const & results_id, std::string const & data_name) -> int"""
    return _vsp_g.GetNumData(results_id, data_name)

def GetResultsType(results_id, data_name):
    r"""GetResultsType(std::string const & results_id, std::string const & data_name) -> int"""
    return _vsp_g.GetResultsType(results_id, data_name)

def GetIntResults(id, name, index=0):
    r"""GetIntResults(std::string const & id, std::string const & name, int index=0) -> IntVector"""
    return _vsp_g.GetIntResults(id, name, index)

def GetDoubleResults(id, name, index=0):
    r"""GetDoubleResults(std::string const & id, std::string const & name, int index=0) -> DoubleVector"""
    return _vsp_g.GetDoubleResults(id, name, index)

def GetDoubleMatResults(id, name, index=0):
    r"""GetDoubleMatResults(std::string const & id, std::string const & name, int index=0) -> DoubleVecVec"""
    return _vsp_g.GetDoubleMatResults(id, name, index)

def GetStringResults(id, name, index=0):
    r"""GetStringResults(std::string const & id, std::string const & name, int index=0) -> StringVector"""
    return _vsp_g.GetStringResults(id, name, index)

def GetVec3dResults(id, name, index=0):
    r"""GetVec3dResults(std::string const & id, std::string const & name, int index=0) -> Vec3dVec"""
    return _vsp_g.GetVec3dResults(id, name, index)

def CreateGeomResults(geom_id, name):
    r"""CreateGeomResults(std::string const & geom_id, std::string const & name) -> std::string"""
    return _vsp_g.CreateGeomResults(geom_id, name)

def DeleteAllResults():
    r"""DeleteAllResults()"""
    return _vsp_g.DeleteAllResults()

def DeleteResult(id):
    r"""DeleteResult(std::string const & id)"""
    return _vsp_g.DeleteResult(id)

def WriteResultsCSVFile(id, file_name):
    r"""WriteResultsCSVFile(std::string const & id, std::string const & file_name)"""
    return _vsp_g.WriteResultsCSVFile(id, file_name)

def PrintResults(results_id):
    r"""PrintResults(std::string const & results_id)"""
    return _vsp_g.PrintResults(results_id)

def PrintResultsDocs(results_id):
    r"""PrintResultsDocs(std::string const & results_id)"""
    return _vsp_g.PrintResultsDocs(results_id)

def WriteTestResults():
    r"""WriteTestResults()"""
    return _vsp_g.WriteTestResults()

def InitGUI():
    r"""InitGUI()"""
    return _vsp_g.InitGUI()

def StartGUI():
    r"""StartGUI()"""
    return _vsp_g.StartGUI()

def EnableStopGUIMenuItem():
    r"""EnableStopGUIMenuItem()"""
    return _vsp_g.EnableStopGUIMenuItem()

def DisableStopGUIMenuItem():
    r"""DisableStopGUIMenuItem()"""
    return _vsp_g.DisableStopGUIMenuItem()

def StopGUI():
    r"""StopGUI()"""
    return _vsp_g.StopGUI()

def PopupMsg(msg):
    r"""PopupMsg(std::string const & msg)"""
    return _vsp_g.PopupMsg(msg)

def UpdateGUI():
    r"""UpdateGUI()"""
    return _vsp_g.UpdateGUI()

def IsGUIBuild():
    r"""IsGUIBuild() -> bool"""
    return _vsp_g.IsGUIBuild()

def Lock():
    r"""Lock()"""
    return _vsp_g.Lock()

def Unlock():
    r"""Unlock()"""
    return _vsp_g.Unlock()

def IsEventLoopRunning():
    r"""IsEventLoopRunning() -> bool"""
    return _vsp_g.IsEventLoopRunning()

def ScreenGrab(fname, w, h, transparentBG, autocrop=False):
    r"""ScreenGrab(string const & fname, int w, int h, bool transparentBG, bool autocrop=False)"""
    return _vsp_g.ScreenGrab(fname, w, h, transparentBG, autocrop)

def SetViewAxis(vaxis):
    r"""SetViewAxis(bool vaxis)"""
    return _vsp_g.SetViewAxis(vaxis)

def SetShowBorders(brdr):
    r"""SetShowBorders(bool brdr)"""
    return _vsp_g.SetShowBorders(brdr)

def SetGeomDrawType(geom_id, type):
    r"""SetGeomDrawType(string const & geom_id, int type)"""
    return _vsp_g.SetGeomDrawType(geom_id, type)

def SetGeomWireColor(geom_id, r, g, b):
    r"""SetGeomWireColor(string const & geom_id, int r, int g, int b)"""
    return _vsp_g.SetGeomWireColor(geom_id, r, g, b)

def SetGeomDisplayType(geom_id, type):
    r"""SetGeomDisplayType(string const & geom_id, int type)"""
    return _vsp_g.SetGeomDisplayType(geom_id, type)

def SetGeomMaterialName(geom_id, name):
    r"""SetGeomMaterialName(string const & geom_id, string const & name)"""
    return _vsp_g.SetGeomMaterialName(geom_id, name)

def AddMaterial(name, ambient, diffuse, specular, emissive, alpha, shininess):
    r"""AddMaterial(string const & name, vec3d ambient, vec3d diffuse, vec3d specular, vec3d emissive, double const & alpha, double const & shininess)"""
    return _vsp_g.AddMaterial(name, ambient, diffuse, specular, emissive, alpha, shininess)

def GetMaterialNames():
    r"""GetMaterialNames() -> StringVector"""
    return _vsp_g.GetMaterialNames()

def SetBackground(r, g, b):
    r"""SetBackground(double r, double g, double b)"""
    return _vsp_g.SetBackground(r, g, b)

def SetAllViews(view):
    r"""SetAllViews(int view)"""
    return _vsp_g.SetAllViews(view)

def SetView(viewport, view):
    r"""SetView(int viewport, int view)"""
    return _vsp_g.SetView(viewport, view)

def FitAllViews():
    r"""FitAllViews()"""
    return _vsp_g.FitAllViews()

def ResetViews():
    r"""ResetViews()"""
    return _vsp_g.ResetViews()

def SetWindowLayout(r, c):
    r"""SetWindowLayout(int r, int c)"""
    return _vsp_g.SetWindowLayout(r, c)

def SetGUIElementDisable(e, state):
    r"""SetGUIElementDisable(int e, bool state)"""
    return _vsp_g.SetGUIElementDisable(e, state)

def SetGUIScreenDisable(s, state):
    r"""SetGUIScreenDisable(int s, bool state)"""
    return _vsp_g.SetGUIScreenDisable(s, state)

def SetGeomScreenDisable(s, state):
    r"""SetGeomScreenDisable(int s, bool state)"""
    return _vsp_g.SetGeomScreenDisable(s, state)

def HideScreen(s):
    r"""HideScreen(int s)"""
    return _vsp_g.HideScreen(s)

def ShowScreen(s):
    r"""ShowScreen(int s)"""
    return _vsp_g.ShowScreen(s)

def GetGeomTypes():
    r"""GetGeomTypes() -> StringVector"""
    return _vsp_g.GetGeomTypes()

def AddGeom(*args):
    r"""AddGeom(std::string const & type, std::string const & parent=std::string()) -> std::string"""
    return _vsp_g.AddGeom(*args)

def UpdateGeom(geom_id):
    r"""UpdateGeom(std::string const & geom_id)"""
    return _vsp_g.UpdateGeom(geom_id)

def DeleteGeom(geom_id):
    r"""DeleteGeom(std::string const & geom_id)"""
    return _vsp_g.DeleteGeom(geom_id)

def DeleteGeomVec(del_vec):
    r"""DeleteGeomVec(StringVector del_vec)"""
    return _vsp_g.DeleteGeomVec(del_vec)

def CutGeomToClipboard(geom_id):
    r"""CutGeomToClipboard(std::string const & geom_id)"""
    return _vsp_g.CutGeomToClipboard(geom_id)

def CopyGeomToClipboard(geom_id):
    r"""CopyGeomToClipboard(std::string const & geom_id)"""
    return _vsp_g.CopyGeomToClipboard(geom_id)

def PasteGeomClipboard(*args):
    r"""PasteGeomClipboard(std::string const & parent=std::string()) -> StringVector"""
    return _vsp_g.PasteGeomClipboard(*args)

def FindGeoms():
    r"""FindGeoms() -> StringVector"""
    return _vsp_g.FindGeoms()

def FindGeomsWithName(name):
    r"""FindGeomsWithName(std::string const & name) -> StringVector"""
    return _vsp_g.FindGeomsWithName(name)

def FindGeom(name, index):
    r"""FindGeom(std::string const & name, int index) -> std::string"""
    return _vsp_g.FindGeom(name, index)

def SetGeomName(geom_id, name):
    r"""SetGeomName(std::string const & geom_id, std::string const & name)"""
    return _vsp_g.SetGeomName(geom_id, name)

def GetGeomName(geom_id):
    r"""GetGeomName(std::string const & geom_id) -> std::string"""
    return _vsp_g.GetGeomName(geom_id)

def GetGeomParmIDs(geom_id):
    r"""GetGeomParmIDs(std::string const & geom_id) -> StringVector"""
    return _vsp_g.GetGeomParmIDs(geom_id)

def GetGeomTypeName(geom_id):
    r"""GetGeomTypeName(std::string const & geom_id) -> std::string"""
    return _vsp_g.GetGeomTypeName(geom_id)

def GetParm(geom_id, name, group):
    r"""GetParm(std::string const & geom_id, std::string const & name, std::string const & group) -> std::string"""
    return _vsp_g.GetParm(geom_id, name, group)

def SetGeomParent(geom_id, parent_id):
    r"""SetGeomParent(std::string const & geom_id, std::string const & parent_id)"""
    return _vsp_g.SetGeomParent(geom_id, parent_id)

def GetGeomParent(geom_id):
    r"""GetGeomParent(std::string const & geom_id) -> std::string"""
    return _vsp_g.GetGeomParent(geom_id)

def GetGeomChildren(geom_id):
    r"""GetGeomChildren(std::string const & geom_id) -> StringVector"""
    return _vsp_g.GetGeomChildren(geom_id)

def GetNumXSecSurfs(geom_id):
    r"""GetNumXSecSurfs(std::string const & geom_id) -> int"""
    return _vsp_g.GetNumXSecSurfs(geom_id)

def GetNumMainSurfs(geom_id):
    r"""GetNumMainSurfs(std::string const & geom_id) -> int"""
    return _vsp_g.GetNumMainSurfs(geom_id)

def GetTotalNumSurfs(geom_id):
    r"""GetTotalNumSurfs(std::string const & geom_id) -> int"""
    return _vsp_g.GetTotalNumSurfs(geom_id)

def GetGeomVSPSurfType(geom_id, main_surf_ind=0):
    r"""GetGeomVSPSurfType(std::string const & geom_id, int main_surf_ind=0) -> int"""
    return _vsp_g.GetGeomVSPSurfType(geom_id, main_surf_ind)

def GetGeomVSPSurfCfdType(geom_id, main_surf_ind=0):
    r"""GetGeomVSPSurfCfdType(std::string const & geom_id, int main_surf_ind=0) -> int"""
    return _vsp_g.GetGeomVSPSurfCfdType(geom_id, main_surf_ind)

def GetGeomBBoxMax(geom_id, main_surf_ind=0, ref_frame_is_absolute=True):
    r"""GetGeomBBoxMax(std::string const & geom_id, int main_surf_ind=0, bool ref_frame_is_absolute=True) -> vec3d"""
    return _vsp_g.GetGeomBBoxMax(geom_id, main_surf_ind, ref_frame_is_absolute)

def GetGeomBBoxMin(geom_id, main_surf_ind=0, ref_frame_is_absolute=True):
    r"""GetGeomBBoxMin(std::string const & geom_id, int main_surf_ind=0, bool ref_frame_is_absolute=True) -> vec3d"""
    return _vsp_g.GetGeomBBoxMin(geom_id, main_surf_ind, ref_frame_is_absolute)

def AddSubSurf(geom_id, type, surfindex=0):
    r"""AddSubSurf(std::string const & geom_id, int type, int surfindex=0) -> std::string"""
    return _vsp_g.AddSubSurf(geom_id, type, surfindex)

def GetSubSurf(*args):
    r"""
    GetSubSurf(std::string const & geom_id, int index) -> std::string
    GetSubSurf(std::string const & geom_id, std::string const & name) -> StringVector
    """
    return _vsp_g.GetSubSurf(*args)

def DeleteSubSurf(*args):
    r"""
    DeleteSubSurf(std::string const & geom_id, std::string const & sub_id)
    DeleteSubSurf(std::string const & sub_id)
    """
    return _vsp_g.DeleteSubSurf(*args)

def SetSubSurfName(*args):
    r"""
    SetSubSurfName(std::string const & geom_id, std::string const & sub_id, std::string const & name)
    SetSubSurfName(std::string const & sub_id, std::string const & name)
    """
    return _vsp_g.SetSubSurfName(*args)

def GetSubSurfName(*args):
    r"""
    GetSubSurfName(std::string const & geom_id, std::string const & sub_id) -> std::string
    GetSubSurfName(std::string const & sub_id) -> std::string
    """
    return _vsp_g.GetSubSurfName(*args)

def GetSubSurfIndex(sub_id):
    r"""GetSubSurfIndex(std::string const & sub_id) -> int"""
    return _vsp_g.GetSubSurfIndex(sub_id)

def GetSubSurfIDVec(geom_id):
    r"""GetSubSurfIDVec(std::string const & geom_id) -> StringVector"""
    return _vsp_g.GetSubSurfIDVec(geom_id)

def GetAllSubSurfIDs():
    r"""GetAllSubSurfIDs() -> StringVector"""
    return _vsp_g.GetAllSubSurfIDs()

def GetNumSubSurf(geom_id):
    r"""GetNumSubSurf(std::string const & geom_id) -> int"""
    return _vsp_g.GetNumSubSurf(geom_id)

def GetSubSurfType(sub_id):
    r"""GetSubSurfType(std::string const & sub_id) -> int"""
    return _vsp_g.GetSubSurfType(sub_id)

def GetSubSurfParmIDs(sub_id):
    r"""GetSubSurfParmIDs(std::string const & sub_id) -> StringVector"""
    return _vsp_g.GetSubSurfParmIDs(sub_id)

def AddFeaStruct(geom_id, init_skin=True, surfindex=0):
    r"""AddFeaStruct(std::string const & geom_id, bool init_skin=True, int surfindex=0) -> int"""
    return _vsp_g.AddFeaStruct(geom_id, init_skin, surfindex)

def SetFeaMeshStructIndex(struct_index):
    r"""SetFeaMeshStructIndex(int struct_index)"""
    return _vsp_g.SetFeaMeshStructIndex(struct_index)

def DeleteFeaStruct(geom_id, fea_struct_ind):
    r"""DeleteFeaStruct(std::string const & geom_id, int fea_struct_ind)"""
    return _vsp_g.DeleteFeaStruct(geom_id, fea_struct_ind)

def GetFeaStructID(geom_id, fea_struct_ind):
    r"""GetFeaStructID(std::string const & geom_id, int fea_struct_ind) -> std::string"""
    return _vsp_g.GetFeaStructID(geom_id, fea_struct_ind)

def GetFeaStructIndex(struct_id):
    r"""GetFeaStructIndex(std::string const & struct_id) -> int"""
    return _vsp_g.GetFeaStructIndex(struct_id)

def GetFeaStructParentGeomID(struct_id):
    r"""GetFeaStructParentGeomID(std::string const & struct_id) -> std::string"""
    return _vsp_g.GetFeaStructParentGeomID(struct_id)

def GetFeaStructName(geom_id, fea_struct_ind):
    r"""GetFeaStructName(std::string const & geom_id, int fea_struct_ind) -> std::string"""
    return _vsp_g.GetFeaStructName(geom_id, fea_struct_ind)

def SetFeaStructName(geom_id, fea_struct_ind, name):
    r"""SetFeaStructName(std::string const & geom_id, int fea_struct_ind, std::string const & name)"""
    return _vsp_g.SetFeaStructName(geom_id, fea_struct_ind, name)

def GetFeaStructIDVec():
    r"""GetFeaStructIDVec() -> StringVector"""
    return _vsp_g.GetFeaStructIDVec()

def SetFeaPartName(part_id, name):
    r"""SetFeaPartName(std::string const & part_id, std::string const & name)"""
    return _vsp_g.SetFeaPartName(part_id, name)

def AddFeaPart(geom_id, fea_struct_ind, type):
    r"""AddFeaPart(std::string const & geom_id, int fea_struct_ind, int type) -> std::string"""
    return _vsp_g.AddFeaPart(geom_id, fea_struct_ind, type)

def DeleteFeaPart(geom_id, fea_struct_ind, part_id):
    r"""DeleteFeaPart(std::string const & geom_id, int fea_struct_ind, std::string const & part_id)"""
    return _vsp_g.DeleteFeaPart(geom_id, fea_struct_ind, part_id)

def GetFeaPartID(fea_struct_id, fea_part_index):
    r"""GetFeaPartID(std::string const & fea_struct_id, int fea_part_index) -> std::string"""
    return _vsp_g.GetFeaPartID(fea_struct_id, fea_part_index)

def GetFeaPartName(part_id):
    r"""GetFeaPartName(std::string const & part_id) -> std::string"""
    return _vsp_g.GetFeaPartName(part_id)

def GetFeaPartType(part_id):
    r"""GetFeaPartType(std::string const & part_id) -> int"""
    return _vsp_g.GetFeaPartType(part_id)

def GetFeaPartIDVec(fea_struct_id):
    r"""GetFeaPartIDVec(std::string const & fea_struct_id) -> StringVector"""
    return _vsp_g.GetFeaPartIDVec(fea_struct_id)

def GetFeaSubSurfIDVec(fea_struct_id):
    r"""GetFeaSubSurfIDVec(std::string const & fea_struct_id) -> StringVector"""
    return _vsp_g.GetFeaSubSurfIDVec(fea_struct_id)

def SetFeaPartPerpendicularSparID(part_id, perpendicular_spar_id):
    r"""SetFeaPartPerpendicularSparID(std::string const & part_id, std::string const & perpendicular_spar_id)"""
    return _vsp_g.SetFeaPartPerpendicularSparID(part_id, perpendicular_spar_id)

def GetFeaPartPerpendicularSparID(part_id):
    r"""GetFeaPartPerpendicularSparID(std::string const & part_id) -> std::string"""
    return _vsp_g.GetFeaPartPerpendicularSparID(part_id)

def SetFeaSubSurfName(subsurf_id, name):
    r"""SetFeaSubSurfName(std::string const & subsurf_id, std::string const & name)"""
    return _vsp_g.SetFeaSubSurfName(subsurf_id, name)

def GetFeaSubSurfName(subsurf_id):
    r"""GetFeaSubSurfName(std::string const & subsurf_id) -> std::string"""
    return _vsp_g.GetFeaSubSurfName(subsurf_id)

def AddFeaSubSurf(geom_id, fea_struct_ind, type):
    r"""AddFeaSubSurf(std::string const & geom_id, int fea_struct_ind, int type) -> std::string"""
    return _vsp_g.AddFeaSubSurf(geom_id, fea_struct_ind, type)

def DeleteFeaSubSurf(geom_id, fea_struct_ind, ss_id):
    r"""DeleteFeaSubSurf(std::string const & geom_id, int fea_struct_ind, std::string const & ss_id)"""
    return _vsp_g.DeleteFeaSubSurf(geom_id, fea_struct_ind, ss_id)

def GetFeaSubSurfIndex(ss_id):
    r"""GetFeaSubSurfIndex(string const & ss_id) -> int"""
    return _vsp_g.GetFeaSubSurfIndex(ss_id)

def NumFeaStructures():
    r"""NumFeaStructures() -> int"""
    return _vsp_g.NumFeaStructures()

def NumFeaParts(fea_struct_id):
    r"""NumFeaParts(std::string const & fea_struct_id) -> int"""
    return _vsp_g.NumFeaParts(fea_struct_id)

def NumFeaSubSurfs(fea_struct_id):
    r"""NumFeaSubSurfs(std::string const & fea_struct_id) -> int"""
    return _vsp_g.NumFeaSubSurfs(fea_struct_id)

def AddFeaBC(fea_struct_id, type=-1):
    r"""AddFeaBC(string const & fea_struct_id, int type=-1) -> std::string"""
    return _vsp_g.AddFeaBC(fea_struct_id, type)

def DelFeaBC(fea_struct_id, bc_id):
    r"""DelFeaBC(string const & fea_struct_id, std::string const & bc_id)"""
    return _vsp_g.DelFeaBC(fea_struct_id, bc_id)

def GetFeaBCIDVec(fea_struct_id):
    r"""GetFeaBCIDVec(string const & fea_struct_id) -> StringVector"""
    return _vsp_g.GetFeaBCIDVec(fea_struct_id)

def NumFeaBCs(fea_struct_id):
    r"""NumFeaBCs(string const & fea_struct_id) -> int"""
    return _vsp_g.NumFeaBCs(fea_struct_id)

def AddFeaMaterial():
    r"""AddFeaMaterial() -> std::string"""
    return _vsp_g.AddFeaMaterial()

def AddFeaProperty(property_type=0):
    r"""AddFeaProperty(int property_type=0) -> std::string"""
    return _vsp_g.AddFeaProperty(property_type)

def SetFeaMeshVal(geom_id, fea_struct_ind, type, val):
    r"""SetFeaMeshVal(std::string const & geom_id, int fea_struct_ind, int type, double val)"""
    return _vsp_g.SetFeaMeshVal(geom_id, fea_struct_ind, type, val)

def SetFeaMeshFileName(geom_id, fea_struct_ind, file_type, file_name):
    r"""SetFeaMeshFileName(std::string const & geom_id, int fea_struct_ind, int file_type, string const & file_name)"""
    return _vsp_g.SetFeaMeshFileName(geom_id, fea_struct_ind, file_type, file_name)

def ComputeFeaMesh(*args):
    r"""
    ComputeFeaMesh(std::string const & geom_id, int fea_struct_ind, int file_type)
    ComputeFeaMesh(std::string const & struct_id, int file_type)
    """
    return _vsp_g.ComputeFeaMesh(*args)

def SetXSecAlias(id, alias):
    r"""SetXSecAlias(string const & id, string const & alias)"""
    return _vsp_g.SetXSecAlias(id, alias)

def GetXSecAlias(id):
    r"""GetXSecAlias(string const & id) -> string"""
    return _vsp_g.GetXSecAlias(id)

def SetXSecCurveAlias(id, alias):
    r"""SetXSecCurveAlias(string const & id, string const & alias)"""
    return _vsp_g.SetXSecCurveAlias(id, alias)

def GetXSecCurveAlias(id):
    r"""GetXSecCurveAlias(string const & id) -> string"""
    return _vsp_g.GetXSecCurveAlias(id)

def CutXSec(geom_id, index):
    r"""CutXSec(std::string const & geom_id, int index)"""
    return _vsp_g.CutXSec(geom_id, index)

def CopyXSec(geom_id, index):
    r"""CopyXSec(std::string const & geom_id, int index)"""
    return _vsp_g.CopyXSec(geom_id, index)

def PasteXSec(geom_id, index):
    r"""PasteXSec(std::string const & geom_id, int index)"""
    return _vsp_g.PasteXSec(geom_id, index)

def InsertXSec(geom_id, index, type):
    r"""InsertXSec(std::string const & geom_id, int index, int type)"""
    return _vsp_g.InsertXSec(geom_id, index, type)

def SplitWingXSec(wing_id, section_index):
    r"""SplitWingXSec(string const & wing_id, int section_index)"""
    return _vsp_g.SplitWingXSec(wing_id, section_index)

def SetDriverGroup(geom_id, section_index, driver_0, driver_1=-1, driver_2=-1):
    r"""SetDriverGroup(std::string const & geom_id, int section_index, int driver_0, int driver_1=-1, int driver_2=-1)"""
    return _vsp_g.SetDriverGroup(geom_id, section_index, driver_0, driver_1, driver_2)

def GetXSecSurf(geom_id, index):
    r"""GetXSecSurf(std::string const & geom_id, int index) -> std::string"""
    return _vsp_g.GetXSecSurf(geom_id, index)

def GetNumXSec(xsec_surf_id):
    r"""GetNumXSec(std::string const & xsec_surf_id) -> int"""
    return _vsp_g.GetNumXSec(xsec_surf_id)

def GetXSec(xsec_surf_id, xsec_index):
    r"""GetXSec(std::string const & xsec_surf_id, int xsec_index) -> std::string"""
    return _vsp_g.GetXSec(xsec_surf_id, xsec_index)

def ChangeXSecShape(xsec_surf_id, xsec_index, type):
    r"""ChangeXSecShape(std::string const & xsec_surf_id, int xsec_index, int type)"""
    return _vsp_g.ChangeXSecShape(xsec_surf_id, xsec_index, type)

def SetXSecSurfGlobalXForm(xsec_surf_id, mat):
    r"""SetXSecSurfGlobalXForm(std::string const & xsec_surf_id, Matrix4d mat)"""
    return _vsp_g.SetXSecSurfGlobalXForm(xsec_surf_id, mat)

def GetXSecSurfGlobalXForm(xsec_surf_id):
    r"""GetXSecSurfGlobalXForm(std::string const & xsec_surf_id) -> Matrix4d"""
    return _vsp_g.GetXSecSurfGlobalXForm(xsec_surf_id)

def GetXSecShape(xsec_id):
    r"""GetXSecShape(std::string const & xsec_id) -> int"""
    return _vsp_g.GetXSecShape(xsec_id)

def GetXSecWidth(xsec_id):
    r"""GetXSecWidth(std::string const & xsec_id) -> double"""
    return _vsp_g.GetXSecWidth(xsec_id)

def GetXSecHeight(xsec_id):
    r"""GetXSecHeight(std::string const & xsec_id) -> double"""
    return _vsp_g.GetXSecHeight(xsec_id)

def SetXSecWidthHeight(xsec_id, w, h):
    r"""SetXSecWidthHeight(std::string const & xsec_id, double w, double h)"""
    return _vsp_g.SetXSecWidthHeight(xsec_id, w, h)

def SetXSecWidth(xsec_id, w):
    r"""SetXSecWidth(std::string const & xsec_id, double w)"""
    return _vsp_g.SetXSecWidth(xsec_id, w)

def SetXSecHeight(xsec_id, h):
    r"""SetXSecHeight(std::string const & xsec_id, double h)"""
    return _vsp_g.SetXSecHeight(xsec_id, h)

def GetXSecParmIDs(xsec_id):
    r"""GetXSecParmIDs(std::string const & xsec_id) -> StringVector"""
    return _vsp_g.GetXSecParmIDs(xsec_id)

def GetXSecParm(xsec_id, name):
    r"""GetXSecParm(std::string const & xsec_id, std::string const & name) -> std::string"""
    return _vsp_g.GetXSecParm(xsec_id, name)

def ReadFileXSec(xsec_id, file_name):
    r"""ReadFileXSec(std::string const & xsec_id, std::string const & file_name) -> Vec3dVec"""
    return _vsp_g.ReadFileXSec(xsec_id, file_name)

def SetXSecPnts(xsec_id, pnt_vec):
    r"""SetXSecPnts(std::string const & xsec_id, Vec3dVec pnt_vec)"""
    return _vsp_g.SetXSecPnts(xsec_id, pnt_vec)

def ComputeXSecPnt(xsec_id, fract):
    r"""ComputeXSecPnt(std::string const & xsec_id, double fract) -> vec3d"""
    return _vsp_g.ComputeXSecPnt(xsec_id, fract)

def ComputeXSecTan(xsec_id, fract):
    r"""ComputeXSecTan(std::string const & xsec_id, double fract) -> vec3d"""
    return _vsp_g.ComputeXSecTan(xsec_id, fract)

def ResetXSecSkinParms(xsec_id):
    r"""ResetXSecSkinParms(std::string const & xsec_id)"""
    return _vsp_g.ResetXSecSkinParms(xsec_id)

def SetXSecContinuity(xsec_id, cx):
    r"""SetXSecContinuity(std::string const & xsec_id, int cx)"""
    return _vsp_g.SetXSecContinuity(xsec_id, cx)

def SetXSecTanAngles(xsec_id, side, top, right, bottom, left):
    r"""SetXSecTanAngles(std::string const & xsec_id, int side, double top, double right, double bottom, double left)"""
    return _vsp_g.SetXSecTanAngles(xsec_id, side, top, right, bottom, left)

def SetXSecTanSlews(xsec_id, side, top, right, bottom, left):
    r"""SetXSecTanSlews(std::string const & xsec_id, int side, double top, double right, double bottom, double left)"""
    return _vsp_g.SetXSecTanSlews(xsec_id, side, top, right, bottom, left)

def SetXSecTanStrengths(xsec_id, side, top, right, bottom, left):
    r"""SetXSecTanStrengths(std::string const & xsec_id, int side, double top, double right, double bottom, double left)"""
    return _vsp_g.SetXSecTanStrengths(xsec_id, side, top, right, bottom, left)

def SetXSecCurvatures(xsec_id, side, top, right, bottom, left):
    r"""SetXSecCurvatures(std::string const & xsec_id, int side, double top, double right, double bottom, double left)"""
    return _vsp_g.SetXSecCurvatures(xsec_id, side, top, right, bottom, left)

def ReadFileAirfoil(xsec_id, file_name):
    r"""ReadFileAirfoil(std::string const & xsec_id, std::string const & file_name)"""
    return _vsp_g.ReadFileAirfoil(xsec_id, file_name)

def SetAirfoilUpperPnts(xsec_id, up_pnt_vec):
    r"""SetAirfoilUpperPnts(std::string const & xsec_id, Vec3dVec up_pnt_vec)"""
    return _vsp_g.SetAirfoilUpperPnts(xsec_id, up_pnt_vec)

def SetAirfoilLowerPnts(xsec_id, low_pnt_vec):
    r"""SetAirfoilLowerPnts(std::string const & xsec_id, Vec3dVec low_pnt_vec)"""
    return _vsp_g.SetAirfoilLowerPnts(xsec_id, low_pnt_vec)

def SetAirfoilPnts(xsec_id, up_pnt_vec, low_pnt_vec):
    r"""SetAirfoilPnts(std::string const & xsec_id, Vec3dVec up_pnt_vec, Vec3dVec low_pnt_vec)"""
    return _vsp_g.SetAirfoilPnts(xsec_id, up_pnt_vec, low_pnt_vec)

def GetHersheyBarLiftDist(npts, alpha, Vinf, span, full_span_flag=False):
    r"""GetHersheyBarLiftDist(int const & npts, double const & alpha, double const & Vinf, double const & span, bool full_span_flag=False) -> Vec3dVec"""
    return _vsp_g.GetHersheyBarLiftDist(npts, alpha, Vinf, span, full_span_flag)

def GetHersheyBarDragDist(npts, alpha, Vinf, span, full_span_flag=False):
    r"""GetHersheyBarDragDist(int const & npts, double const & alpha, double const & Vinf, double const & span, bool full_span_flag=False) -> Vec3dVec"""
    return _vsp_g.GetHersheyBarDragDist(npts, alpha, Vinf, span, full_span_flag)

def GetVKTAirfoilPnts(npts, alpha, epsilon, kappa, tau):
    r"""GetVKTAirfoilPnts(int const & npts, double const & alpha, double const & epsilon, double const & kappa, double const & tau) -> Vec3dVec"""
    return _vsp_g.GetVKTAirfoilPnts(npts, alpha, epsilon, kappa, tau)

def GetVKTAirfoilCpDist(alpha, epsilon, kappa, tau, xyz_data):
    r"""GetVKTAirfoilCpDist(double const & alpha, double const & epsilon, double const & kappa, double const & tau, Vec3dVec xyz_data) -> DoubleVector"""
    return _vsp_g.GetVKTAirfoilCpDist(alpha, epsilon, kappa, tau, xyz_data)

def GetEllipsoidSurfPnts(center, abc_rad, u_npts=20, w_npts=20):
    r"""GetEllipsoidSurfPnts(vec3d center, vec3d abc_rad, int u_npts=20, int w_npts=20) -> Vec3dVec"""
    return _vsp_g.GetEllipsoidSurfPnts(center, abc_rad, u_npts, w_npts)

def GetFeatureLinePnts(geom_id):
    r"""GetFeatureLinePnts(string const & geom_id) -> Vec3dVec"""
    return _vsp_g.GetFeatureLinePnts(geom_id)

def GetEllipsoidCpDist(surf_pnt_vec, abc_rad, V_inf):
    r"""GetEllipsoidCpDist(Vec3dVec surf_pnt_vec, vec3d abc_rad, vec3d V_inf) -> DoubleVector"""
    return _vsp_g.GetEllipsoidCpDist(surf_pnt_vec, abc_rad, V_inf)

def IntegrateEllipsoidFlow(abc_rad, abc_index):
    r"""IntegrateEllipsoidFlow(vec3d abc_rad, int const & abc_index) -> double"""
    return _vsp_g.IntegrateEllipsoidFlow(abc_rad, abc_index)

def GetAirfoilUpperPnts(xsec_id):
    r"""GetAirfoilUpperPnts(std::string const & xsec_id) -> Vec3dVec"""
    return _vsp_g.GetAirfoilUpperPnts(xsec_id)

def GetAirfoilLowerPnts(xsec_id):
    r"""GetAirfoilLowerPnts(std::string const & xsec_id) -> Vec3dVec"""
    return _vsp_g.GetAirfoilLowerPnts(xsec_id)

def GetUpperCSTCoefs(xsec_id):
    r"""GetUpperCSTCoefs(std::string const & xsec_id) -> DoubleVector"""
    return _vsp_g.GetUpperCSTCoefs(xsec_id)

def GetLowerCSTCoefs(xsec_id):
    r"""GetLowerCSTCoefs(std::string const & xsec_id) -> DoubleVector"""
    return _vsp_g.GetLowerCSTCoefs(xsec_id)

def GetUpperCSTDegree(xsec_id):
    r"""GetUpperCSTDegree(std::string const & xsec_id) -> int"""
    return _vsp_g.GetUpperCSTDegree(xsec_id)

def GetLowerCSTDegree(xsec_id):
    r"""GetLowerCSTDegree(std::string const & xsec_id) -> int"""
    return _vsp_g.GetLowerCSTDegree(xsec_id)

def SetUpperCST(xsec_id, deg, coefs):
    r"""SetUpperCST(std::string const & xsec_id, int deg, DoubleVector coefs)"""
    return _vsp_g.SetUpperCST(xsec_id, deg, coefs)

def SetLowerCST(xsec_id, deg, coefs):
    r"""SetLowerCST(std::string const & xsec_id, int deg, DoubleVector coefs)"""
    return _vsp_g.SetLowerCST(xsec_id, deg, coefs)

def PromoteCSTUpper(xsec_id):
    r"""PromoteCSTUpper(std::string const & xsec_id)"""
    return _vsp_g.PromoteCSTUpper(xsec_id)

def PromoteCSTLower(xsec_id):
    r"""PromoteCSTLower(std::string const & xsec_id)"""
    return _vsp_g.PromoteCSTLower(xsec_id)

def DemoteCSTUpper(xsec_id):
    r"""DemoteCSTUpper(std::string const & xsec_id)"""
    return _vsp_g.DemoteCSTUpper(xsec_id)

def DemoteCSTLower(xsec_id):
    r"""DemoteCSTLower(std::string const & xsec_id)"""
    return _vsp_g.DemoteCSTLower(xsec_id)

def FitAfCST(xsec_surf_id, xsec_index, deg):
    r"""FitAfCST(std::string const & xsec_surf_id, int xsec_index, int deg)"""
    return _vsp_g.FitAfCST(xsec_surf_id, xsec_index, deg)

def AddBackground3D():
    r"""AddBackground3D() -> string"""
    return _vsp_g.AddBackground3D()

def GetNumBackground3Ds():
    r"""GetNumBackground3Ds() -> int"""
    return _vsp_g.GetNumBackground3Ds()

def GetAllBackground3Ds():
    r"""GetAllBackground3Ds() -> StringVector"""
    return _vsp_g.GetAllBackground3Ds()

def ShowAllBackground3Ds():
    r"""ShowAllBackground3Ds()"""
    return _vsp_g.ShowAllBackground3Ds()

def HideAllBackground3Ds():
    r"""HideAllBackground3Ds()"""
    return _vsp_g.HideAllBackground3Ds()

def DelAllBackground3Ds():
    r"""DelAllBackground3Ds()"""
    return _vsp_g.DelAllBackground3Ds()

def DelBackground3D(id):
    r"""DelBackground3D(string const & id)"""
    return _vsp_g.DelBackground3D(id)

def GetAllBackground3DRelativePaths():
    r"""GetAllBackground3DRelativePaths() -> StringVector"""
    return _vsp_g.GetAllBackground3DRelativePaths()

def GetAllBackground3DAbsolutePaths():
    r"""GetAllBackground3DAbsolutePaths() -> StringVector"""
    return _vsp_g.GetAllBackground3DAbsolutePaths()

def GetBackground3DRelativePath(id):
    r"""GetBackground3DRelativePath(string const & id) -> string"""
    return _vsp_g.GetBackground3DRelativePath(id)

def GetBackground3DAbsolutePath(id):
    r"""GetBackground3DAbsolutePath(string const & id) -> string"""
    return _vsp_g.GetBackground3DAbsolutePath(id)

def SetBackground3DRelativePath(id, fname):
    r"""SetBackground3DRelativePath(string const & id, string const & fname)"""
    return _vsp_g.SetBackground3DRelativePath(id, fname)

def SetBackground3DAbsolutePath(id, fname):
    r"""SetBackground3DAbsolutePath(string const & id, string const & fname)"""
    return _vsp_g.SetBackground3DAbsolutePath(id, fname)

def GetNumRoutingPts(routing_id):
    r"""GetNumRoutingPts(string const & routing_id) -> int"""
    return _vsp_g.GetNumRoutingPts(routing_id)

def AddRoutingPt(routing_id, geom_id, surf_index):
    r"""AddRoutingPt(string const & routing_id, string const & geom_id, int surf_index) -> string"""
    return _vsp_g.AddRoutingPt(routing_id, geom_id, surf_index)

def InsertRoutingPt(routing_id, index, geom_id, surf_index):
    r"""InsertRoutingPt(string const & routing_id, int index, string const & geom_id, int surf_index) -> string"""
    return _vsp_g.InsertRoutingPt(routing_id, index, geom_id, surf_index)

def DelRoutingPt(routing_id, index):
    r"""DelRoutingPt(string const & routing_id, int index)"""
    return _vsp_g.DelRoutingPt(routing_id, index)

def DelAllRoutingPt(routing_id):
    r"""DelAllRoutingPt(string const & routing_id)"""
    return _vsp_g.DelAllRoutingPt(routing_id)

def MoveRoutingPt(routing_id, index, reorder_type):
    r"""MoveRoutingPt(string const & routing_id, int index, int reorder_type) -> int"""
    return _vsp_g.MoveRoutingPt(routing_id, index, reorder_type)

def GetRoutingPtID(routing_id, index):
    r"""GetRoutingPtID(string const & routing_id, int index) -> string"""
    return _vsp_g.GetRoutingPtID(routing_id, index)

def GetAllRoutingPtIds(routing_id):
    r"""GetAllRoutingPtIds(string const & routing_id) -> StringVector"""
    return _vsp_g.GetAllRoutingPtIds(routing_id)

def GetRoutingPtParentID(pt_id):
    r"""GetRoutingPtParentID(string const & pt_id) -> string"""
    return _vsp_g.GetRoutingPtParentID(pt_id)

def SetRoutingPtParentID(pt_id, parent_id):
    r"""SetRoutingPtParentID(string const & pt_id, string const & parent_id)"""
    return _vsp_g.SetRoutingPtParentID(pt_id, parent_id)

def GetMainRoutingPtCoord(pt_id):
    r"""GetMainRoutingPtCoord(string const & pt_id) -> vec3d"""
    return _vsp_g.GetMainRoutingPtCoord(pt_id)

def GetRoutingPtCoord(routing_id, index, symm_index):
    r"""GetRoutingPtCoord(string const & routing_id, int index, int symm_index) -> vec3d"""
    return _vsp_g.GetRoutingPtCoord(routing_id, index, symm_index)

def GetAllRoutingPtCoords(routing_id, symm_index):
    r"""GetAllRoutingPtCoords(string const & routing_id, int symm_index) -> Vec3dVec"""
    return _vsp_g.GetAllRoutingPtCoords(routing_id, symm_index)

def GetRoutingCurve(routing_id, symm_index):
    r"""GetRoutingCurve(string const & routing_id, int symm_index) -> Vec3dVec"""
    return _vsp_g.GetRoutingCurve(routing_id, symm_index)

def ChangeBORXSecShape(bor_id, type):
    r"""ChangeBORXSecShape(string const & bor_id, int type)"""
    return _vsp_g.ChangeBORXSecShape(bor_id, type)

def GetBORXSecShape(bor_id):
    r"""GetBORXSecShape(string const & bor_id) -> int"""
    return _vsp_g.GetBORXSecShape(bor_id)

def ReadBORFileXSec(bor_id, file_name):
    r"""ReadBORFileXSec(std::string const & bor_id, std::string const & file_name) -> Vec3dVec"""
    return _vsp_g.ReadBORFileXSec(bor_id, file_name)

def SetBORXSecPnts(bor_id, pnt_vec):
    r"""SetBORXSecPnts(std::string const & bor_id, Vec3dVec pnt_vec)"""
    return _vsp_g.SetBORXSecPnts(bor_id, pnt_vec)

def ComputeBORXSecPnt(bor_id, fract):
    r"""ComputeBORXSecPnt(std::string const & bor_id, double fract) -> vec3d"""
    return _vsp_g.ComputeBORXSecPnt(bor_id, fract)

def ComputeBORXSecTan(bor_id, fract):
    r"""ComputeBORXSecTan(std::string const & bor_id, double fract) -> vec3d"""
    return _vsp_g.ComputeBORXSecTan(bor_id, fract)

def ReadBORFileAirfoil(bor_id, file_name):
    r"""ReadBORFileAirfoil(std::string const & bor_id, std::string const & file_name)"""
    return _vsp_g.ReadBORFileAirfoil(bor_id, file_name)

def SetBORAirfoilUpperPnts(bor_id, up_pnt_vec):
    r"""SetBORAirfoilUpperPnts(std::string const & bor_id, Vec3dVec up_pnt_vec)"""
    return _vsp_g.SetBORAirfoilUpperPnts(bor_id, up_pnt_vec)

def SetBORAirfoilLowerPnts(bor_id, low_pnt_vec):
    r"""SetBORAirfoilLowerPnts(std::string const & bor_id, Vec3dVec low_pnt_vec)"""
    return _vsp_g.SetBORAirfoilLowerPnts(bor_id, low_pnt_vec)

def SetBORAirfoilPnts(bor_id, up_pnt_vec, low_pnt_vec):
    r"""SetBORAirfoilPnts(std::string const & bor_id, Vec3dVec up_pnt_vec, Vec3dVec low_pnt_vec)"""
    return _vsp_g.SetBORAirfoilPnts(bor_id, up_pnt_vec, low_pnt_vec)

def GetBORAirfoilUpperPnts(bor_id):
    r"""GetBORAirfoilUpperPnts(std::string const & bor_id) -> Vec3dVec"""
    return _vsp_g.GetBORAirfoilUpperPnts(bor_id)

def GetBORAirfoilLowerPnts(bor_id):
    r"""GetBORAirfoilLowerPnts(std::string const & bor_id) -> Vec3dVec"""
    return _vsp_g.GetBORAirfoilLowerPnts(bor_id)

def GetBORUpperCSTCoefs(bor_id):
    r"""GetBORUpperCSTCoefs(std::string const & bor_id) -> DoubleVector"""
    return _vsp_g.GetBORUpperCSTCoefs(bor_id)

def GetBORLowerCSTCoefs(bor_id):
    r"""GetBORLowerCSTCoefs(std::string const & bor_id) -> DoubleVector"""
    return _vsp_g.GetBORLowerCSTCoefs(bor_id)

def GetBORUpperCSTDegree(bor_id):
    r"""GetBORUpperCSTDegree(std::string const & bor_id) -> int"""
    return _vsp_g.GetBORUpperCSTDegree(bor_id)

def GetBORLowerCSTDegree(bor_id):
    r"""GetBORLowerCSTDegree(std::string const & bor_id) -> int"""
    return _vsp_g.GetBORLowerCSTDegree(bor_id)

def SetBORUpperCST(bor_id, deg, coefs):
    r"""SetBORUpperCST(std::string const & bor_id, int deg, DoubleVector coefs)"""
    return _vsp_g.SetBORUpperCST(bor_id, deg, coefs)

def SetBORLowerCST(bor_id, deg, coefs):
    r"""SetBORLowerCST(std::string const & bor_id, int deg, DoubleVector coefs)"""
    return _vsp_g.SetBORLowerCST(bor_id, deg, coefs)

def PromoteBORCSTUpper(bor_id):
    r"""PromoteBORCSTUpper(std::string const & bor_id)"""
    return _vsp_g.PromoteBORCSTUpper(bor_id)

def PromoteBORCSTLower(bor_id):
    r"""PromoteBORCSTLower(std::string const & bor_id)"""
    return _vsp_g.PromoteBORCSTLower(bor_id)

def DemoteBORCSTUpper(bor_id):
    r"""DemoteBORCSTUpper(std::string const & bor_id)"""
    return _vsp_g.DemoteBORCSTUpper(bor_id)

def DemoteBORCSTLower(bor_id):
    r"""DemoteBORCSTLower(std::string const & bor_id)"""
    return _vsp_g.DemoteBORCSTLower(bor_id)

def FitBORAfCST(bor_id, deg):
    r"""FitBORAfCST(std::string const & bor_id, int deg)"""
    return _vsp_g.FitBORAfCST(bor_id, deg)

def WriteBezierAirfoil(file_name, geom_id, foilsurf_u):
    r"""WriteBezierAirfoil(std::string const & file_name, std::string const & geom_id, double const & foilsurf_u)"""
    return _vsp_g.WriteBezierAirfoil(file_name, geom_id, foilsurf_u)

def WriteSeligAirfoil(file_name, geom_id, foilsurf_u):
    r"""WriteSeligAirfoil(std::string const & file_name, std::string const & geom_id, double const & foilsurf_u)"""
    return _vsp_g.WriteSeligAirfoil(file_name, geom_id, foilsurf_u)

def GetAirfoilCoordinates(geom_id, foilsurf_u):
    r"""GetAirfoilCoordinates(std::string const & geom_id, double const & foilsurf_u) -> Vec3dVec"""
    return _vsp_g.GetAirfoilCoordinates(geom_id, foilsurf_u)

def EditXSecInitShape(xsec_id):
    r"""EditXSecInitShape(std::string const & xsec_id)"""
    return _vsp_g.EditXSecInitShape(xsec_id)

def EditXSecConvertTo(xsec_id, newtype):
    r"""EditXSecConvertTo(std::string const & xsec_id, int const & newtype)"""
    return _vsp_g.EditXSecConvertTo(xsec_id, newtype)

def GetEditXSecUVec(xsec_id):
    r"""GetEditXSecUVec(std::string const & xsec_id) -> DoubleVector"""
    return _vsp_g.GetEditXSecUVec(xsec_id)

def GetEditXSecCtrlVec(xsec_id, non_dimensional=True):
    r"""GetEditXSecCtrlVec(std::string const & xsec_id, bool non_dimensional=True) -> Vec3dVec"""
    return _vsp_g.GetEditXSecCtrlVec(xsec_id, non_dimensional)

def SetEditXSecPnts(xsec_id, u_vec, control_pts, r_vec):
    r"""SetEditXSecPnts(std::string const & xsec_id, DoubleVector u_vec, Vec3dVec control_pts, DoubleVector r_vec)"""
    return _vsp_g.SetEditXSecPnts(xsec_id, u_vec, control_pts, r_vec)

def EditXSecDelPnt(xsec_id, indx):
    r"""EditXSecDelPnt(std::string const & xsec_id, int const & indx)"""
    return _vsp_g.EditXSecDelPnt(xsec_id, indx)

def EditXSecSplit01(xsec_id, u):
    r"""EditXSecSplit01(std::string const & xsec_id, double const & u) -> int"""
    return _vsp_g.EditXSecSplit01(xsec_id, u)

def MoveEditXSecPnt(xsec_id, indx, new_pnt):
    r"""MoveEditXSecPnt(std::string const & xsec_id, int const & indx, vec3d new_pnt)"""
    return _vsp_g.MoveEditXSecPnt(xsec_id, indx, new_pnt)

def ConvertXSecToEdit(geom_id, indx=0):
    r"""ConvertXSecToEdit(std::string const & geom_id, int const & indx=0)"""
    return _vsp_g.ConvertXSecToEdit(geom_id, indx)

def GetEditXSecFixedUVec(xsec_id):
    r"""GetEditXSecFixedUVec(std::string const & xsec_id) -> BoolVector"""
    return _vsp_g.GetEditXSecFixedUVec(xsec_id)

def SetEditXSecFixedUVec(xsec_id, fixed_u_vec):
    r"""SetEditXSecFixedUVec(std::string const & xsec_id, BoolVector fixed_u_vec)"""
    return _vsp_g.SetEditXSecFixedUVec(xsec_id, fixed_u_vec)

def ReparameterizeEditXSec(xsec_id):
    r"""ReparameterizeEditXSec(std::string const & xsec_id)"""
    return _vsp_g.ReparameterizeEditXSec(xsec_id)

def GetNumSets():
    r"""GetNumSets() -> int"""
    return _vsp_g.GetNumSets()

def SetSetName(index, name):
    r"""SetSetName(int index, std::string const & name)"""
    return _vsp_g.SetSetName(index, name)

def GetSetName(index):
    r"""GetSetName(int index) -> std::string"""
    return _vsp_g.GetSetName(index)

def GetGeomSetAtIndex(index):
    r"""GetGeomSetAtIndex(int index) -> StringVector"""
    return _vsp_g.GetGeomSetAtIndex(index)

def GetGeomSet(name):
    r"""GetGeomSet(std::string const & name) -> StringVector"""
    return _vsp_g.GetGeomSet(name)

def GetSetIndex(name):
    r"""GetSetIndex(std::string const & name) -> int"""
    return _vsp_g.GetSetIndex(name)

def GetSetFlag(geom_id, set_index):
    r"""GetSetFlag(std::string const & geom_id, int set_index) -> bool"""
    return _vsp_g.GetSetFlag(geom_id, set_index)

def SetSetFlag(geom_id, set_index, flag):
    r"""SetSetFlag(std::string const & geom_id, int set_index, bool flag)"""
    return _vsp_g.SetSetFlag(geom_id, set_index, flag)

def CopyPasteSet(copyIndex, pasteIndex):
    r"""CopyPasteSet(int copyIndex, int pasteIndex)"""
    return _vsp_g.CopyPasteSet(copyIndex, pasteIndex)

def GetBBoxSet(set):
    r"""GetBBoxSet(int set) -> bool"""
    return _vsp_g.GetBBoxSet(set)

def GetScaleIndependentBBoxSet(set):
    r"""GetScaleIndependentBBoxSet(int set) -> bool"""
    return _vsp_g.GetScaleIndependentBBoxSet(set)

def ScaleSet(set_index, scale):
    r"""ScaleSet(int set_index, double scale)"""
    return _vsp_g.ScaleSet(set_index, scale)

def RotateSet(set_index, x_rot_deg, y_rot_deg, z_rot_deg):
    r"""RotateSet(int set_index, double x_rot_deg, double y_rot_deg, double z_rot_deg)"""
    return _vsp_g.RotateSet(set_index, x_rot_deg, y_rot_deg, z_rot_deg)

def TranslateSet(set_index, translation_vec):
    r"""TranslateSet(int set_index, vec3d translation_vec)"""
    return _vsp_g.TranslateSet(set_index, translation_vec)

def TransformSet(set_index, translation_vec, x_rot_deg, y_rot_deg, z_rot_deg, scale, scale_translations_flag):
    r"""TransformSet(int set_index, vec3d translation_vec, double x_rot_deg, double y_rot_deg, double z_rot_deg, double scale, bool scale_translations_flag)"""
    return _vsp_g.TransformSet(set_index, translation_vec, x_rot_deg, y_rot_deg, z_rot_deg, scale, scale_translations_flag)

def ValidParm(id):
    r"""ValidParm(std::string const & id) -> bool"""
    return _vsp_g.ValidParm(id)

def SetParmVal(*args):
    r"""
    SetParmVal(std::string const & parm_id, double val) -> double
    SetParmVal(std::string const & geom_id, std::string const & name, std::string const & group, double val) -> double
    """
    return _vsp_g.SetParmVal(*args)

def SetParmValLimits(parm_id, val, lower_limit, upper_limit):
    r"""SetParmValLimits(std::string const & parm_id, double val, double lower_limit, double upper_limit) -> double"""
    return _vsp_g.SetParmValLimits(parm_id, val, lower_limit, upper_limit)

def SetParmValUpdate(*args):
    r"""
    SetParmValUpdate(std::string const & parm_id, double val) -> double
    SetParmValUpdate(std::string const & geom_id, std::string const & parm_name, std::string const & parm_group_name, double val) -> double
    """
    return _vsp_g.SetParmValUpdate(*args)

def GetParmVal(*args):
    r"""
    GetParmVal(std::string const & parm_id) -> double
    GetParmVal(std::string const & geom_id, std::string const & name, std::string const & group) -> double
    """
    return _vsp_g.GetParmVal(*args)

def GetIntParmVal(parm_id):
    r"""GetIntParmVal(std::string const & parm_id) -> int"""
    return _vsp_g.GetIntParmVal(parm_id)

def GetBoolParmVal(parm_id):
    r"""GetBoolParmVal(std::string const & parm_id) -> bool"""
    return _vsp_g.GetBoolParmVal(parm_id)

def SetParmUpperLimit(parm_id, val):
    r"""SetParmUpperLimit(std::string const & parm_id, double val)"""
    return _vsp_g.SetParmUpperLimit(parm_id, val)

def GetParmUpperLimit(parm_id):
    r"""GetParmUpperLimit(std::string const & parm_id) -> double"""
    return _vsp_g.GetParmUpperLimit(parm_id)

def SetParmLowerLimit(parm_id, val):
    r"""SetParmLowerLimit(std::string const & parm_id, double val)"""
    return _vsp_g.SetParmLowerLimit(parm_id, val)

def GetParmLowerLimit(parm_id):
    r"""GetParmLowerLimit(std::string const & parm_id) -> double"""
    return _vsp_g.GetParmLowerLimit(parm_id)

def GetParmType(parm_id):
    r"""GetParmType(std::string const & parm_id) -> int"""
    return _vsp_g.GetParmType(parm_id)

def GetParmName(parm_id):
    r"""GetParmName(std::string const & parm_id) -> std::string"""
    return _vsp_g.GetParmName(parm_id)

def GetParmGroupName(parm_id):
    r"""GetParmGroupName(std::string const & parm_id) -> std::string"""
    return _vsp_g.GetParmGroupName(parm_id)

def GetParmDisplayGroupName(parm_id):
    r"""GetParmDisplayGroupName(std::string const & parm_id) -> std::string"""
    return _vsp_g.GetParmDisplayGroupName(parm_id)

def GetParmContainer(parm_id):
    r"""GetParmContainer(std::string const & parm_id) -> std::string"""
    return _vsp_g.GetParmContainer(parm_id)

def SetParmDescript(parm_id, desc):
    r"""SetParmDescript(std::string const & parm_id, std::string const & desc)"""
    return _vsp_g.SetParmDescript(parm_id, desc)

def GetParmDescript(parm_id):
    r"""GetParmDescript(std::string const & parm_id) -> std::string"""
    return _vsp_g.GetParmDescript(parm_id)

def FindParm(parm_container_id, parm_name, group_name):
    r"""FindParm(std::string const & parm_container_id, std::string const & parm_name, std::string const & group_name) -> std::string"""
    return _vsp_g.FindParm(parm_container_id, parm_name, group_name)

def FindContainers():
    r"""FindContainers() -> StringVector"""
    return _vsp_g.FindContainers()

def FindContainersWithName(name):
    r"""FindContainersWithName(std::string const & name) -> StringVector"""
    return _vsp_g.FindContainersWithName(name)

def FindContainer(name, index):
    r"""FindContainer(std::string const & name, int index) -> std::string"""
    return _vsp_g.FindContainer(name, index)

def GetContainerName(parm_container_id):
    r"""GetContainerName(std::string const & parm_container_id) -> std::string"""
    return _vsp_g.GetContainerName(parm_container_id)

def FindContainerGroupNames(parm_container_id):
    r"""FindContainerGroupNames(std::string const & parm_container_id) -> StringVector"""
    return _vsp_g.FindContainerGroupNames(parm_container_id)

def FindContainerParmIDs(parm_container_id):
    r"""FindContainerParmIDs(std::string const & parm_container_id) -> StringVector"""
    return _vsp_g.FindContainerParmIDs(parm_container_id)

def GetVehicleID():
    r"""GetVehicleID() -> std::string"""
    return _vsp_g.GetVehicleID()

def GetNumUserParms():
    r"""GetNumUserParms() -> int"""
    return _vsp_g.GetNumUserParms()

def GetNumPredefinedUserParms():
    r"""GetNumPredefinedUserParms() -> int"""
    return _vsp_g.GetNumPredefinedUserParms()

def GetAllUserParms():
    r"""GetAllUserParms() -> StringVector"""
    return _vsp_g.GetAllUserParms()

def GetUserParmContainer():
    r"""GetUserParmContainer() -> std::string"""
    return _vsp_g.GetUserParmContainer()

def AddUserParm(type, name, group):
    r"""AddUserParm(int type, string const & name, string const & group) -> string"""
    return _vsp_g.AddUserParm(type, name, group)

def DeleteUserParm(id):
    r"""DeleteUserParm(std::string const & id)"""
    return _vsp_g.DeleteUserParm(id)

def DeleteAllUserParm():
    r"""DeleteAllUserParm()"""
    return _vsp_g.DeleteAllUserParm()

def ComputeMinClearanceDistance(*args):
    r"""ComputeMinClearanceDistance(std::string const & geom_id, int set=SET_ALL, bool useMode=False, string const & modeID=std::string()) -> double"""
    return _vsp_g.ComputeMinClearanceDistance(*args)

def SnapParm(*args):
    r"""SnapParm(std::string const & parm_id, double target_min_dist, bool inc_flag, int set=SET_ALL, bool useMode=False, string const & modeID=std::string()) -> double"""
    return _vsp_g.SnapParm(*args)

def AddVarPresetGroup(group_name):
    r"""AddVarPresetGroup(std::string const & group_name) -> string"""
    return _vsp_g.AddVarPresetGroup(group_name)

def AddVarPresetSetting(group_id, setting_name):
    r"""AddVarPresetSetting(std::string const & group_id, std::string const & setting_name) -> string"""
    return _vsp_g.AddVarPresetSetting(group_id, setting_name)

def AddVarPresetParm(group_id, parm_id):
    r"""AddVarPresetParm(std::string const & group_id, std::string const & parm_id)"""
    return _vsp_g.AddVarPresetParm(group_id, parm_id)

def DeleteVarPresetGroup(group_id):
    r"""DeleteVarPresetGroup(std::string const & group_id)"""
    return _vsp_g.DeleteVarPresetGroup(group_id)

def DeleteVarPresetSetting(group_id, setting_id):
    r"""DeleteVarPresetSetting(std::string const & group_id, std::string const & setting_id)"""
    return _vsp_g.DeleteVarPresetSetting(group_id, setting_id)

def DeleteVarPresetParm(group_id, parm_id):
    r"""DeleteVarPresetParm(std::string const & group_id, std::string const & parm_id)"""
    return _vsp_g.DeleteVarPresetParm(group_id, parm_id)

def SetVarPresetParmVal(group_id, setting_id, parm_id, parm_val):
    r"""SetVarPresetParmVal(std::string const & group_id, std::string const & setting_id, std::string const & parm_id, double parm_val)"""
    return _vsp_g.SetVarPresetParmVal(group_id, setting_id, parm_id, parm_val)

def GetVarPresetParmVal(group_id, setting_id, parm_id):
    r"""GetVarPresetParmVal(std::string const & group_id, std::string const & setting_id, std::string const & parm_id) -> double"""
    return _vsp_g.GetVarPresetParmVal(group_id, setting_id, parm_id)

def GetGroupName(group_id):
    r"""GetGroupName(std::string const & group_id) -> std::string"""
    return _vsp_g.GetGroupName(group_id)

def GetSettingName(setting_id):
    r"""GetSettingName(std::string const & setting_id) -> std::string"""
    return _vsp_g.GetSettingName(setting_id)

def SetGroupName(group_id, group_name):
    r"""SetGroupName(std::string const & group_id, std::string const & group_name)"""
    return _vsp_g.SetGroupName(group_id, group_name)

def SetSettingName(setting_id, setting_name):
    r"""SetSettingName(std::string const & setting_id, std::string const & setting_name)"""
    return _vsp_g.SetSettingName(setting_id, setting_name)

def GetVarPresetGroups():
    r"""GetVarPresetGroups() -> StringVector"""
    return _vsp_g.GetVarPresetGroups()

def GetVarPresetSettings(group_id):
    r"""GetVarPresetSettings(std::string const & group_id) -> StringVector"""
    return _vsp_g.GetVarPresetSettings(group_id)

def GetVarPresetParmIDs(group_id):
    r"""GetVarPresetParmIDs(std::string const & group_id) -> StringVector"""
    return _vsp_g.GetVarPresetParmIDs(group_id)

def GetVarPresetParmVals(setting_id):
    r"""GetVarPresetParmVals(std::string const & setting_id) -> DoubleVector"""
    return _vsp_g.GetVarPresetParmVals(setting_id)

def SetVarPresetParmVals(setting_id, parm_vals):
    r"""SetVarPresetParmVals(std::string const & setting_id, DoubleVector parm_vals)"""
    return _vsp_g.SetVarPresetParmVals(setting_id, parm_vals)

def SaveVarPresetParmVals(group_id, setting_id):
    r"""SaveVarPresetParmVals(std::string const & group_id, std::string const & setting_id)"""
    return _vsp_g.SaveVarPresetParmVals(group_id, setting_id)

def ApplyVarPresetSetting(group_id, setting_id):
    r"""ApplyVarPresetSetting(std::string const & group_id, std::string const & setting_id)"""
    return _vsp_g.ApplyVarPresetSetting(group_id, setting_id)

def CreateAndAddMode(name, normal_set, degen_set):
    r"""CreateAndAddMode(string const & name, int normal_set, int degen_set) -> string"""
    return _vsp_g.CreateAndAddMode(name, normal_set, degen_set)

def GetNumModes():
    r"""GetNumModes() -> int"""
    return _vsp_g.GetNumModes()

def GetAllModes():
    r"""GetAllModes() -> StringVector"""
    return _vsp_g.GetAllModes()

def DelMode(mid):
    r"""DelMode(string const & mid)"""
    return _vsp_g.DelMode(mid)

def DelAllModes():
    r"""DelAllModes()"""
    return _vsp_g.DelAllModes()

def ApplyModeSettings(mid):
    r"""ApplyModeSettings(string const & mid)"""
    return _vsp_g.ApplyModeSettings(mid)

def ShowOnlyMode(mid):
    r"""ShowOnlyMode(string const & mid)"""
    return _vsp_g.ShowOnlyMode(mid)

def ModeAddGroupSetting(mid, gid, sid):
    r"""ModeAddGroupSetting(string const & mid, string const & gid, string const & sid)"""
    return _vsp_g.ModeAddGroupSetting(mid, gid, sid)

def ModeGetGroup(mid, indx):
    r"""ModeGetGroup(string const & mid, int indx) -> string"""
    return _vsp_g.ModeGetGroup(mid, indx)

def ModeGetSetting(mid, indx):
    r"""ModeGetSetting(string const & mid, int indx) -> string"""
    return _vsp_g.ModeGetSetting(mid, indx)

def ModeGetAllGroups(mid):
    r"""ModeGetAllGroups(string const & mid) -> StringVector"""
    return _vsp_g.ModeGetAllGroups(mid)

def ModeGetAllSettings(mid):
    r"""ModeGetAllSettings(string const & mid) -> StringVector"""
    return _vsp_g.ModeGetAllSettings(mid)

def RemoveGroupSetting(mid, indx):
    r"""RemoveGroupSetting(string const & mid, int indx)"""
    return _vsp_g.RemoveGroupSetting(mid, indx)

def RemoveAllGroupSettings(mid):
    r"""RemoveAllGroupSettings(string const & mid)"""
    return _vsp_g.RemoveAllGroupSettings(mid)

def SetPCurve(geom_id, pcurveid, tvec, valvec, newtype):
    r"""SetPCurve(std::string const & geom_id, int const & pcurveid, DoubleVector tvec, DoubleVector valvec, int const & newtype)"""
    return _vsp_g.SetPCurve(geom_id, pcurveid, tvec, valvec, newtype)

def PCurveConvertTo(geom_id, pcurveid, newtype):
    r"""PCurveConvertTo(std::string const & geom_id, int const & pcurveid, int const & newtype)"""
    return _vsp_g.PCurveConvertTo(geom_id, pcurveid, newtype)

def PCurveGetType(geom_id, pcurveid):
    r"""PCurveGetType(std::string const & geom_id, int const & pcurveid) -> int"""
    return _vsp_g.PCurveGetType(geom_id, pcurveid)

def PCurveGetTVec(geom_id, pcurveid):
    r"""PCurveGetTVec(std::string const & geom_id, int const & pcurveid) -> DoubleVector"""
    return _vsp_g.PCurveGetTVec(geom_id, pcurveid)

def PCurveGetValVec(geom_id, pcurveid):
    r"""PCurveGetValVec(std::string const & geom_id, int const & pcurveid) -> DoubleVector"""
    return _vsp_g.PCurveGetValVec(geom_id, pcurveid)

def PCurveDeletePt(geom_id, pcurveid, indx):
    r"""PCurveDeletePt(std::string const & geom_id, int const & pcurveid, int const & indx)"""
    return _vsp_g.PCurveDeletePt(geom_id, pcurveid, indx)

def PCurveSplit(geom_id, pcurveid, tsplit):
    r"""PCurveSplit(std::string const & geom_id, int const & pcurveid, double const & tsplit) -> int"""
    return _vsp_g.PCurveSplit(geom_id, pcurveid, tsplit)

def ApproximateAllPropellerPCurves(geom_id):
    r"""ApproximateAllPropellerPCurves(std::string const & geom_id)"""
    return _vsp_g.ApproximateAllPropellerPCurves(geom_id)

def ResetPropellerThicknessCurve(geom_id):
    r"""ResetPropellerThicknessCurve(std::string const & geom_id)"""
    return _vsp_g.ResetPropellerThicknessCurve(geom_id)

def AutoGroupVSPAEROControlSurfaces():
    r"""AutoGroupVSPAEROControlSurfaces()"""
    return _vsp_g.AutoGroupVSPAEROControlSurfaces()

def CreateVSPAEROControlSurfaceGroup():
    r"""CreateVSPAEROControlSurfaceGroup() -> int"""
    return _vsp_g.CreateVSPAEROControlSurfaceGroup()

def AddAllToVSPAEROControlSurfaceGroup(CSGroupIndex):
    r"""AddAllToVSPAEROControlSurfaceGroup(int CSGroupIndex)"""
    return _vsp_g.AddAllToVSPAEROControlSurfaceGroup(CSGroupIndex)

def RemoveAllFromVSPAEROControlSurfaceGroup(CSGroupIndex):
    r"""RemoveAllFromVSPAEROControlSurfaceGroup(int CSGroupIndex)"""
    return _vsp_g.RemoveAllFromVSPAEROControlSurfaceGroup(CSGroupIndex)

def GetActiveCSNameVec(CSGroupIndex):
    r"""GetActiveCSNameVec(int CSGroupIndex) -> StringVector"""
    return _vsp_g.GetActiveCSNameVec(CSGroupIndex)

def GetCompleteCSNameVec():
    r"""GetCompleteCSNameVec() -> StringVector"""
    return _vsp_g.GetCompleteCSNameVec()

def GetAvailableCSNameVec(CSGroupIndex):
    r"""GetAvailableCSNameVec(int CSGroupIndex) -> StringVector"""
    return _vsp_g.GetAvailableCSNameVec(CSGroupIndex)

def SetVSPAEROControlGroupName(name, CSGroupIndex):
    r"""SetVSPAEROControlGroupName(string const & name, int CSGroupIndex)"""
    return _vsp_g.SetVSPAEROControlGroupName(name, CSGroupIndex)

def GetVSPAEROControlGroupName(CSGroupIndex):
    r"""GetVSPAEROControlGroupName(int CSGroupIndex) -> std::string"""
    return _vsp_g.GetVSPAEROControlGroupName(CSGroupIndex)

def AddSelectedToCSGroup(selected, CSGroupIndex):
    r"""AddSelectedToCSGroup(IntVector selected, int CSGroupIndex)"""
    return _vsp_g.AddSelectedToCSGroup(selected, CSGroupIndex)

def RemoveSelectedFromCSGroup(selected, CSGroupIndex):
    r"""RemoveSelectedFromCSGroup(IntVector selected, int CSGroupIndex)"""
    return _vsp_g.RemoveSelectedFromCSGroup(selected, CSGroupIndex)

def GetNumControlSurfaceGroups():
    r"""GetNumControlSurfaceGroups() -> int"""
    return _vsp_g.GetNumControlSurfaceGroups()

def FindActuatorDisk(disk_index):
    r"""FindActuatorDisk(int disk_index) -> std::string"""
    return _vsp_g.FindActuatorDisk(disk_index)

def GetNumActuatorDisks():
    r"""GetNumActuatorDisks() -> int"""
    return _vsp_g.GetNumActuatorDisks()

def FindUnsteadyGroup(group_index):
    r"""FindUnsteadyGroup(int group_index) -> std::string"""
    return _vsp_g.FindUnsteadyGroup(group_index)

def GetUnsteadyGroupName(group_index):
    r"""GetUnsteadyGroupName(int group_index) -> std::string"""
    return _vsp_g.GetUnsteadyGroupName(group_index)

def GetUnsteadyGroupCompIDs(group_index):
    r"""GetUnsteadyGroupCompIDs(int group_index) -> StringVector"""
    return _vsp_g.GetUnsteadyGroupCompIDs(group_index)

def GetUnsteadyGroupSurfIndexes(group_index):
    r"""GetUnsteadyGroupSurfIndexes(int group_index) -> IntVector"""
    return _vsp_g.GetUnsteadyGroupSurfIndexes(group_index)

def GetNumUnsteadyGroups():
    r"""GetNumUnsteadyGroups() -> int"""
    return _vsp_g.GetNumUnsteadyGroups()

def GetNumUnsteadyRotorGroups():
    r"""GetNumUnsteadyRotorGroups() -> int"""
    return _vsp_g.GetNumUnsteadyRotorGroups()

def AddExcrescence(excresName, excresType, excresVal):
    r"""AddExcrescence(std::string const & excresName, int const & excresType, double const & excresVal)"""
    return _vsp_g.AddExcrescence(excresName, excresType, excresVal)

def DeleteExcrescence(index):
    r"""DeleteExcrescence(int const & index)"""
    return _vsp_g.DeleteExcrescence(index)

def UpdateParasiteDrag():
    r"""UpdateParasiteDrag()"""
    return _vsp_g.UpdateParasiteDrag()

def WriteAtmosphereCSVFile(file_name, atmos_type):
    r"""WriteAtmosphereCSVFile(std::string const & file_name, int const & atmos_type)"""
    return _vsp_g.WriteAtmosphereCSVFile(file_name, atmos_type)

def CalcAtmosphere(alt, delta_temp, atmos_type):
    r"""CalcAtmosphere(double const & alt, double const & delta_temp, int const & atmos_type)"""
    return _vsp_g.CalcAtmosphere(alt, delta_temp, atmos_type)

def WriteBodyFFCSVFile(file_name):
    r"""WriteBodyFFCSVFile(std::string const & file_name)"""
    return _vsp_g.WriteBodyFFCSVFile(file_name)

def WriteWingFFCSVFile(file_name):
    r"""WriteWingFFCSVFile(std::string const & file_name)"""
    return _vsp_g.WriteWingFFCSVFile(file_name)

def WriteCfEqnCSVFile(file_name):
    r"""WriteCfEqnCSVFile(std::string const & file_name)"""
    return _vsp_g.WriteCfEqnCSVFile(file_name)

def WritePartialCfMethodCSVFile(file_name):
    r"""WritePartialCfMethodCSVFile(std::string const & file_name)"""
    return _vsp_g.WritePartialCfMethodCSVFile(file_name)

def CompPnt01(geom_id, surf_indx, u, w):
    r"""CompPnt01(std::string const & geom_id, int const & surf_indx, double const & u, double const & w) -> vec3d"""
    return _vsp_g.CompPnt01(geom_id, surf_indx, u, w)

def CompNorm01(geom_id, surf_indx, u, w):
    r"""CompNorm01(std::string const & geom_id, int const & surf_indx, double const & u, double const & w) -> vec3d"""
    return _vsp_g.CompNorm01(geom_id, surf_indx, u, w)

def CompTanU01(geom_id, surf_indx, u, w):
    r"""CompTanU01(std::string const & geom_id, int const & surf_indx, double const & u, double const & w) -> vec3d"""
    return _vsp_g.CompTanU01(geom_id, surf_indx, u, w)

def CompTanW01(geom_id, surf_indx, u, w):
    r"""CompTanW01(std::string const & geom_id, int const & surf_indx, double const & u, double const & w) -> vec3d"""
    return _vsp_g.CompTanW01(geom_id, surf_indx, u, w)

def CompCurvature01(geom_id, surf_indx, u, w):
    r"""CompCurvature01(std::string const & geom_id, int const & surf_indx, double const & u, double const & w)"""
    return _vsp_g.CompCurvature01(geom_id, surf_indx, u, w)

def ProjPnt01(geom_id, surf_indx, pt):
    r"""ProjPnt01(std::string const & geom_id, int const & surf_indx, vec3d pt) -> double"""
    return _vsp_g.ProjPnt01(geom_id, surf_indx, pt)

def ProjPnt01I(geom_id, pt):
    r"""ProjPnt01I(std::string const & geom_id, vec3d pt) -> double"""
    return _vsp_g.ProjPnt01I(geom_id, pt)

def ProjPnt01Guess(geom_id, surf_indx, pt, u0, w0):
    r"""ProjPnt01Guess(std::string const & geom_id, int const & surf_indx, vec3d pt, double const & u0, double const & w0) -> double"""
    return _vsp_g.ProjPnt01Guess(geom_id, surf_indx, pt, u0, w0)

def AxisProjPnt01(geom_id, surf_indx, iaxis, pt):
    r"""AxisProjPnt01(std::string const & geom_id, int const & surf_indx, int const & iaxis, vec3d pt) -> double"""
    return _vsp_g.AxisProjPnt01(geom_id, surf_indx, iaxis, pt)

def AxisProjPnt01I(geom_id, iaxis, pt):
    r"""AxisProjPnt01I(std::string const & geom_id, int const & iaxis, vec3d pt) -> double"""
    return _vsp_g.AxisProjPnt01I(geom_id, iaxis, pt)

def AxisProjPnt01Guess(geom_id, surf_indx, iaxis, pt, u0, w0):
    r"""AxisProjPnt01Guess(std::string const & geom_id, int const & surf_indx, int const & iaxis, vec3d pt, double const & u0, double const & w0) -> double"""
    return _vsp_g.AxisProjPnt01Guess(geom_id, surf_indx, iaxis, pt, u0, w0)

def InsideSurf(geom_id, surf_indx, pt):
    r"""InsideSurf(std::string const & geom_id, int const & surf_indx, vec3d pt) -> bool"""
    return _vsp_g.InsideSurf(geom_id, surf_indx, pt)

def CompPntRST(geom_id, surf_indx, r, s, t):
    r"""CompPntRST(std::string const & geom_id, int const & surf_indx, double const & r, double const & s, double const & t) -> vec3d"""
    return _vsp_g.CompPntRST(geom_id, surf_indx, r, s, t)

def FindRST(geom_id, surf_indx, pt):
    r"""FindRST(std::string const & geom_id, int const & surf_indx, vec3d pt) -> double"""
    return _vsp_g.FindRST(geom_id, surf_indx, pt)

def FindRSTGuess(geom_id, surf_indx, pt, r0, s0, t0):
    r"""FindRSTGuess(std::string const & geom_id, int const & surf_indx, vec3d pt, double const & r0, double const & s0, double const & t0) -> double"""
    return _vsp_g.FindRSTGuess(geom_id, surf_indx, pt, r0, s0, t0)

def ConvertRSTtoLMN(geom_id, surf_indx, r, s, t):
    r"""ConvertRSTtoLMN(std::string const & geom_id, int const & surf_indx, double const & r, double const & s, double const & t)"""
    return _vsp_g.ConvertRSTtoLMN(geom_id, surf_indx, r, s, t)

def ConvertRtoL(geom_id, surf_indx, r):
    r"""ConvertRtoL(std::string const & geom_id, int const & surf_indx, double const & r)"""
    return _vsp_g.ConvertRtoL(geom_id, surf_indx, r)

def ConvertLMNtoRST(geom_id, surf_indx, l, m, n):
    r"""ConvertLMNtoRST(std::string const & geom_id, int const & surf_indx, double const & l, double const & m, double const & n)"""
    return _vsp_g.ConvertLMNtoRST(geom_id, surf_indx, l, m, n)

def ConvertLtoR(geom_id, surf_indx, l):
    r"""ConvertLtoR(std::string const & geom_id, int const & surf_indx, double const & l)"""
    return _vsp_g.ConvertLtoR(geom_id, surf_indx, l)

def ConvertUtoEta(geom_id, u):
    r"""ConvertUtoEta(std::string const & geom_id, double const & u)"""
    return _vsp_g.ConvertUtoEta(geom_id, u)

def ConvertEtatoU(geom_id, eta):
    r"""ConvertEtatoU(std::string const & geom_id, double const & eta)"""
    return _vsp_g.ConvertEtatoU(geom_id, eta)

def CompVecPnt01(geom_id, surf_indx, u_in_vec, w_in_vec):
    r"""CompVecPnt01(std::string const & geom_id, int const & surf_indx, DoubleVector u_in_vec, DoubleVector w_in_vec) -> Vec3dVec"""
    return _vsp_g.CompVecPnt01(geom_id, surf_indx, u_in_vec, w_in_vec)

def CompVecDegenPnt01(geom_id, surf_indx, degen_type, u_in_vec, w_in_vec):
    r"""CompVecDegenPnt01(std::string const & geom_id, int const & surf_indx, int const & degen_type, DoubleVector u_in_vec, DoubleVector w_in_vec) -> Vec3dVec"""
    return _vsp_g.CompVecDegenPnt01(geom_id, surf_indx, degen_type, u_in_vec, w_in_vec)

def CompVecNorm01(geom_id, surf_indx, us, ws):
    r"""CompVecNorm01(std::string const & geom_id, int const & surf_indx, DoubleVector us, DoubleVector ws) -> Vec3dVec"""
    return _vsp_g.CompVecNorm01(geom_id, surf_indx, us, ws)

def CompVecCurvature01(geom_id, surf_indx, us, ws):
    r"""CompVecCurvature01(std::string const & geom_id, int const & surf_indx, DoubleVector us, DoubleVector ws)"""
    return _vsp_g.CompVecCurvature01(geom_id, surf_indx, us, ws)

def ProjVecPnt01(geom_id, surf_indx, pts):
    r"""ProjVecPnt01(std::string const & geom_id, int const & surf_indx, Vec3dVec pts)"""
    return _vsp_g.ProjVecPnt01(geom_id, surf_indx, pts)

def ProjVecPnt01Guess(geom_id, surf_indx, pts, u0s, w0s):
    r"""ProjVecPnt01Guess(std::string const & geom_id, int const & surf_indx, Vec3dVec pts, DoubleVector u0s, DoubleVector w0s)"""
    return _vsp_g.ProjVecPnt01Guess(geom_id, surf_indx, pts, u0s, w0s)

def AxisProjVecPnt01(geom_id, surf_indx, iaxis, pts):
    r"""AxisProjVecPnt01(std::string const & geom_id, int const & surf_indx, int const & iaxis, Vec3dVec pts)"""
    return _vsp_g.AxisProjVecPnt01(geom_id, surf_indx, iaxis, pts)

def AxisProjVecPnt01Guess(geom_id, surf_indx, iaxis, pts, u0s, w0s):
    r"""AxisProjVecPnt01Guess(std::string const & geom_id, int const & surf_indx, int const & iaxis, Vec3dVec pts, DoubleVector u0s, DoubleVector w0s)"""
    return _vsp_g.AxisProjVecPnt01Guess(geom_id, surf_indx, iaxis, pts, u0s, w0s)

def VecInsideSurf(geom_id, surf_indx, pts):
    r"""VecInsideSurf(std::string const & geom_id, int const & surf_indx, Vec3dVec pts) -> BoolVector"""
    return _vsp_g.VecInsideSurf(geom_id, surf_indx, pts)

def CompVecPntRST(geom_id, surf_indx, r_in_vec, s_in_vec, t_in_vec):
    r"""CompVecPntRST(std::string const & geom_id, int const & surf_indx, DoubleVector r_in_vec, DoubleVector s_in_vec, DoubleVector t_in_vec) -> Vec3dVec"""
    return _vsp_g.CompVecPntRST(geom_id, surf_indx, r_in_vec, s_in_vec, t_in_vec)

def FindRSTVec(geom_id, surf_indx, pts):
    r"""FindRSTVec(std::string const & geom_id, int const & surf_indx, Vec3dVec pts)"""
    return _vsp_g.FindRSTVec(geom_id, surf_indx, pts)

def FindRSTVecGuess(geom_id, surf_indx, pts, r0s, s0s, t0s):
    r"""FindRSTVecGuess(std::string const & geom_id, int const & surf_indx, Vec3dVec pts, DoubleVector r0s, DoubleVector s0s, DoubleVector t0s)"""
    return _vsp_g.FindRSTVecGuess(geom_id, surf_indx, pts, r0s, s0s, t0s)

def ConvertRSTtoLMNVec(geom_id, surf_indx, r_vec, s_vec, t_vec):
    r"""ConvertRSTtoLMNVec(std::string const & geom_id, int const & surf_indx, DoubleVector r_vec, DoubleVector s_vec, DoubleVector t_vec)"""
    return _vsp_g.ConvertRSTtoLMNVec(geom_id, surf_indx, r_vec, s_vec, t_vec)

def ConvertLMNtoRSTVec(geom_id, surf_indx, l_vec, m_vec, n_vec):
    r"""ConvertLMNtoRSTVec(std::string const & geom_id, int const & surf_indx, DoubleVector l_vec, DoubleVector m_vec, DoubleVector n_vec)"""
    return _vsp_g.ConvertLMNtoRSTVec(geom_id, surf_indx, l_vec, m_vec, n_vec)

def GetUWTess01(geom_id, surf_indx):
    r"""GetUWTess01(std::string const & geom_id, int const & surf_indx)"""
    return _vsp_g.GetUWTess01(geom_id, surf_indx)

def AddRuler(startgeomid, startsurfindx, startu, startw, endgeomid, endsurfindx, endu, endw, name):
    r"""AddRuler(string const & startgeomid, int startsurfindx, double startu, double startw, string const & endgeomid, int endsurfindx, double endu, double endw, string const & name) -> string"""
    return _vsp_g.AddRuler(startgeomid, startsurfindx, startu, startw, endgeomid, endsurfindx, endu, endw, name)

def GetAllRulers():
    r"""GetAllRulers() -> StringVector"""
    return _vsp_g.GetAllRulers()

def DelRuler(id):
    r"""DelRuler(string const & id)"""
    return _vsp_g.DelRuler(id)

def DeleteAllRulers():
    r"""DeleteAllRulers()"""
    return _vsp_g.DeleteAllRulers()

def AddProbe(geomid, surfindx, u, w, name):
    r"""AddProbe(string const & geomid, int surfindx, double u, double w, string const & name) -> string"""
    return _vsp_g.AddProbe(geomid, surfindx, u, w, name)

def GetAllProbes():
    r"""GetAllProbes() -> StringVector"""
    return _vsp_g.GetAllProbes()

def DelProbe(id):
    r"""DelProbe(string const & id)"""
    return _vsp_g.DelProbe(id)

def DeleteAllProbes():
    r"""DeleteAllProbes()"""
    return _vsp_g.DeleteAllProbes()

def GetAdvLinkNames():
    r"""GetAdvLinkNames() -> StringVector"""
    return _vsp_g.GetAdvLinkNames()

def GetLinkIndex(name):
    r"""GetLinkIndex(string const & name) -> int"""
    return _vsp_g.GetLinkIndex(name)

def DelAdvLink(index):
    r"""DelAdvLink(int index)"""
    return _vsp_g.DelAdvLink(index)

def DelAllAdvLinks():
    r"""DelAllAdvLinks()"""
    return _vsp_g.DelAllAdvLinks()

def AddAdvLink(name):
    r"""AddAdvLink(string const & name)"""
    return _vsp_g.AddAdvLink(name)

def AddAdvLinkInput(index, parm_id, var_name):
    r"""AddAdvLinkInput(int index, string const & parm_id, string const & var_name)"""
    return _vsp_g.AddAdvLinkInput(index, parm_id, var_name)

def AddAdvLinkOutput(index, parm_id, var_name):
    r"""AddAdvLinkOutput(int index, string const & parm_id, string const & var_name)"""
    return _vsp_g.AddAdvLinkOutput(index, parm_id, var_name)

def DelAdvLinkInput(index, var_name):
    r"""DelAdvLinkInput(int index, string const & var_name)"""
    return _vsp_g.DelAdvLinkInput(index, var_name)

def DelAdvLinkOutput(index, var_name):
    r"""DelAdvLinkOutput(int index, string const & var_name)"""
    return _vsp_g.DelAdvLinkOutput(index, var_name)

def GetAdvLinkInputNames(index):
    r"""GetAdvLinkInputNames(int index) -> StringVector"""
    return _vsp_g.GetAdvLinkInputNames(index)

def GetAdvLinkInputParms(index):
    r"""GetAdvLinkInputParms(int index) -> StringVector"""
    return _vsp_g.GetAdvLinkInputParms(index)

def GetAdvLinkOutputNames(index):
    r"""GetAdvLinkOutputNames(int index) -> StringVector"""
    return _vsp_g.GetAdvLinkOutputNames(index)

def GetAdvLinkOutputParms(index):
    r"""GetAdvLinkOutputParms(int index) -> StringVector"""
    return _vsp_g.GetAdvLinkOutputParms(index)

def ValidateAdvLinkParms(index):
    r"""ValidateAdvLinkParms(int index) -> bool"""
    return _vsp_g.ValidateAdvLinkParms(index)

def SetAdvLinkCode(index, code):
    r"""SetAdvLinkCode(int index, string const & code)"""
    return _vsp_g.SetAdvLinkCode(index, code)

def GetAdvLinkCode(index):
    r"""GetAdvLinkCode(int index) -> std::string"""
    return _vsp_g.GetAdvLinkCode(index)

def SearchReplaceAdvLinkCode(index, _from, to):
    r"""SearchReplaceAdvLinkCode(int index, string const & _from, string const & to)"""
    return _vsp_g.SearchReplaceAdvLinkCode(index, _from, to)

def BuildAdvLinkScript(index):
    r"""BuildAdvLinkScript(int index) -> bool"""
    return _vsp_g.BuildAdvLinkScript(index)

def AddVec3D(INOUT, x, y, z):
    r"""AddVec3D(Vec3dVec INOUT, double x, double y, double z)"""
    return _vsp_g.AddVec3D(INOUT, x, y, z)
class vec3d(object):
    r"""Proxy of C++ vec3d class."""

    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    v = property(_vsp_g.vec3d_v_get, _vsp_g.vec3d_v_set, doc=r"""v : a(3).double""")
    __swig_destroy__ = _vsp_g.delete_vec3d

    def __init__(self, *args):
        r"""
        __init__(vec3d self) -> vec3d
        __init__(vec3d self, double xx, double yy, double zz) -> vec3d
        __init__(vec3d self, vec3d a) -> vec3d
        __init__(vec3d self, threed_point_type const & a) -> vec3d
        __init__(vec3d self, double const [3] a) -> vec3d
        __init__(vec3d self, float const [3] a) -> vec3d
        __init__(vec3d self, DoubleVector a) -> vec3d
        """
        _vsp_g.vec3d_swiginit(self, _vsp_g.new_vec3d(*args))

    def as_vec2d_xy(self):
        r"""as_vec2d_xy(vec3d self) -> vec2d"""
        return _vsp_g.vec3d_as_vec2d_xy(self)

    def set_xyz(self, xx, yy, zz):
        r"""set_xyz(vec3d self, double xx, double yy, double zz) -> vec3d"""
        return _vsp_g.vec3d_set_xyz(self, xx, yy, zz)

    def set_vec(self, a):
        r"""set_vec(vec3d self, DoubleVector a) -> vec3d"""
        return _vsp_g.vec3d_set_vec(self, a)

    def set_arr(self, *args):
        r"""
        set_arr(vec3d self, double const [] a) -> vec3d
        set_arr(vec3d self, float const [] a) -> vec3d
        """
        return _vsp_g.vec3d_set_arr(self, *args)

    def set_x(self, xx):
        r"""set_x(vec3d self, double xx) -> vec3d"""
        return _vsp_g.vec3d_set_x(self, xx)

    def set_y(self, yy):
        r"""set_y(vec3d self, double yy) -> vec3d"""
        return _vsp_g.vec3d_set_y(self, yy)

    def set_z(self, zz):
        r"""set_z(vec3d self, double zz) -> vec3d"""
        return _vsp_g.vec3d_set_z(self, zz)

    def set_refx(self, a):
        r"""set_refx(vec3d self, vec3d a) -> vec3d"""
        return _vsp_g.vec3d_set_refx(self, a)

    def set_refy(self, a):
        r"""set_refy(vec3d self, vec3d a) -> vec3d"""
        return _vsp_g.vec3d_set_refy(self, a)

    def set_refz(self, a):
        r"""set_refz(vec3d self, vec3d a) -> vec3d"""
        return _vsp_g.vec3d_set_refz(self, a)

    def get_pnt(self, *args):
        r"""
        get_pnt(vec3d self, double [3] pnt)
        get_pnt(vec3d self, float [3] pnt)
        get_pnt(vec3d self, threed_point_type & pnt)
        """
        return _vsp_g.vec3d_get_pnt(self, *args)

    def x(self):
        r"""x(vec3d self) -> double"""
        return _vsp_g.vec3d_x(self)

    def y(self):
        r"""y(vec3d self) -> double"""
        return _vsp_g.vec3d_y(self)

    def z(self):
        r"""z(vec3d self) -> double"""
        return _vsp_g.vec3d_z(self)

    def data(self):
        r"""data(vec3d self) -> double *"""
        return _vsp_g.vec3d_data(self)

    def Transform(self, m):
        r"""Transform(vec3d self, Matrix4d m)"""
        return _vsp_g.vec3d_Transform(self, m)

    def FlipNormal(self):
        r"""FlipNormal(vec3d self)"""
        return _vsp_g.vec3d_FlipNormal(self)

    def rotate_x(self, theta):
        r"""rotate_x(vec3d self, double theta)"""
        return _vsp_g.vec3d_rotate_x(self, theta)

    def rotate_y(self, theta):
        r"""rotate_y(vec3d self, double theta)"""
        return _vsp_g.vec3d_rotate_y(self, theta)

    def rotate_z(self, theta):
        r"""rotate_z(vec3d self, double theta)"""
        return _vsp_g.vec3d_rotate_z(self, theta)

    def scale_x(self, scale):
        r"""scale_x(vec3d self, double scale)"""
        return _vsp_g.vec3d_scale_x(self, scale)

    def scale_y(self, scale):
        r"""scale_y(vec3d self, double scale)"""
        return _vsp_g.vec3d_scale_y(self, scale)

    def scale_z(self, scale):
        r"""scale_z(vec3d self, double scale)"""
        return _vsp_g.vec3d_scale_z(self, scale)

    def offset_x(self, offset):
        r"""offset_x(vec3d self, double offset)"""
        return _vsp_g.vec3d_offset_x(self, offset)

    def offset_y(self, offset):
        r"""offset_y(vec3d self, double offset)"""
        return _vsp_g.vec3d_offset_y(self, offset)

    def offset_z(self, offset):
        r"""offset_z(vec3d self, double offset)"""
        return _vsp_g.vec3d_offset_z(self, offset)

    def offset_i(self, offset, idir):
        r"""offset_i(vec3d self, double offset, int idir)"""
        return _vsp_g.vec3d_offset_i(self, offset, idir)

    def reflect_xy(self):
        r"""reflect_xy(vec3d self) -> vec3d"""
        return _vsp_g.vec3d_reflect_xy(self)

    def reflect_xz(self):
        r"""reflect_xz(vec3d self) -> vec3d"""
        return _vsp_g.vec3d_reflect_xz(self)

    def reflect_yz(self):
        r"""reflect_yz(vec3d self) -> vec3d"""
        return _vsp_g.vec3d_reflect_yz(self)

    def swap_xy(self):
        r"""swap_xy(vec3d self) -> vec3d"""
        return _vsp_g.vec3d_swap_xy(self)

    def swap_xz(self):
        r"""swap_xz(vec3d self) -> vec3d"""
        return _vsp_g.vec3d_swap_xz(self)

    def swap_yz(self):
        r"""swap_yz(vec3d self) -> vec3d"""
        return _vsp_g.vec3d_swap_yz(self)

    def __imul__(self, b):
        r"""__imul__(vec3d self, double b) -> vec3d"""
        return _vsp_g.vec3d___imul__(self, b)

    def __iadd__(self, *args):
        r"""
        __iadd__(vec3d self, vec3d b) -> vec3d
        __iadd__(vec3d self, double [] b) -> vec3d
        __iadd__(vec3d self, float [] b) -> vec3d
        """
        return _vsp_g.vec3d___iadd__(self, *args)

    def __isub__(self, *args):
        r"""
        __isub__(vec3d self, vec3d b) -> vec3d
        __isub__(vec3d self, double [] b) -> vec3d
        __isub__(vec3d self, float [] b) -> vec3d
        """
        return _vsp_g.vec3d___isub__(self, *args)

    def mag(self):
        r"""mag(vec3d self) -> double"""
        return _vsp_g.vec3d_mag(self)

    def magsq(self):
        r"""magsq(vec3d self) -> double"""
        return _vsp_g.vec3d_magsq(self)

    def normalize(self):
        r"""normalize(vec3d self)"""
        return _vsp_g.vec3d_normalize(self)

    def major_comp(self):
        r"""major_comp(vec3d self) -> int"""
        return _vsp_g.vec3d_major_comp(self)

    def minor_comp(self):
        r"""minor_comp(vec3d self) -> int"""
        return _vsp_g.vec3d_minor_comp(self)

    def isnan(self):
        r"""isnan(vec3d self) -> bool"""
        return _vsp_g.vec3d_isnan(self)

    def isinf(self):
        r"""isinf(vec3d self) -> bool"""
        return _vsp_g.vec3d_isinf(self)

    def isfinite(self):
        r"""isfinite(vec3d self) -> bool"""
        return _vsp_g.vec3d_isfinite(self)

    def _print(self, *args):
        r"""_print(vec3d self, char const * label="")"""
        return _vsp_g.vec3d__print(self, *args)

# Register vec3d in _vsp_g:
_vsp_g.vec3d_swigregister(vec3d)
cvar = _vsp_g.cvar

def signed_angle(a, b, ref):
    r"""signed_angle(vec3d a, vec3d b, vec3d ref) -> double"""
    return _vsp_g.signed_angle(a, b, ref)

def radius_of_circle(p1, p2, p3):
    r"""radius_of_circle(vec3d p1, vec3d p2, vec3d p3) -> double"""
    return _vsp_g.radius_of_circle(p1, p2, p3)

def center_of_circle(p1, p2, p3, center):
    r"""center_of_circle(vec3d p1, vec3d p2, vec3d p3, vec3d center)"""
    return _vsp_g.center_of_circle(p1, p2, p3, center)

def triangle_plane_intersect_test(org, norm, p1, p2, p3):
    r"""triangle_plane_intersect_test(vec3d org, vec3d norm, vec3d p1, vec3d p2, vec3d p3) -> bool"""
    return _vsp_g.triangle_plane_intersect_test(org, norm, p1, p2, p3)

def triangle_plane_minimum_dist(org, norm, p1, p2, p3, pa, pb):
    r"""triangle_plane_minimum_dist(vec3d org, vec3d norm, vec3d p1, vec3d p2, vec3d p3, vec3d pa, vec3d pb) -> double"""
    return _vsp_g.triangle_plane_minimum_dist(org, norm, p1, p2, p3, pa, pb)

def triangle_plane_maximum_dist(org, norm, p1, p2, p3, pa, pb):
    r"""triangle_plane_maximum_dist(vec3d org, vec3d norm, vec3d p1, vec3d p2, vec3d p3, vec3d pa, vec3d pb) -> double"""
    return _vsp_g.triangle_plane_maximum_dist(org, norm, p1, p2, p3, pa, pb)

def plane_plane_intersection(p0, n0, p1, n1, p, v):
    r"""plane_plane_intersection(vec3d p0, vec3d n0, vec3d p1, vec3d n1, vec3d p, vec3d v) -> bool"""
    return _vsp_g.plane_plane_intersection(p0, n0, p1, n1, p, v)

def angle_pnt_2_plane(ptplane, norm, ptaxis, axis, pt, ccw, prot):
    r"""angle_pnt_2_plane(vec3d ptplane, vec3d norm, vec3d ptaxis, vec3d axis, vec3d pt, int ccw, vec3d prot) -> double"""
    return _vsp_g.angle_pnt_2_plane(ptplane, norm, ptaxis, axis, pt, ccw, prot)

def signed_dist_pnt_2_plane(org, norm, pnt):
    r"""signed_dist_pnt_2_plane(vec3d org, vec3d norm, vec3d pnt) -> double"""
    return _vsp_g.signed_dist_pnt_2_plane(org, norm, pnt)

def dist_pnt_2_plane(org, norm, pnt):
    r"""dist_pnt_2_plane(vec3d org, vec3d norm, vec3d pnt) -> double"""
    return _vsp_g.dist_pnt_2_plane(org, norm, pnt)

def dist_pnt_2_line(line_pt1, line_pt2, pnt):
    r"""dist_pnt_2_line(vec3d line_pt1, vec3d line_pt2, vec3d pnt) -> double"""
    return _vsp_g.dist_pnt_2_line(line_pt1, line_pt2, pnt)

def dist_pnt_2_ray(line_pt1, dir_unit_vec, pnt):
    r"""dist_pnt_2_ray(vec3d line_pt1, vec3d dir_unit_vec, vec3d pnt) -> double"""
    return _vsp_g.dist_pnt_2_ray(line_pt1, dir_unit_vec, pnt)

def proj_u_on_v(u, v):
    r"""proj_u_on_v(vec3d u, vec3d v) -> vec3d"""
    return _vsp_g.proj_u_on_v(u, v)

def proj_pnt_on_ray(line_pt1, line_dir, pnt):
    r"""proj_pnt_on_ray(vec3d line_pt1, vec3d line_dir, vec3d pnt) -> vec3d"""
    return _vsp_g.proj_pnt_on_ray(line_pt1, line_dir, pnt)

def proj_pnt_on_line(line_pt1, line_pt2, pnt):
    r"""proj_pnt_on_line(vec3d line_pt1, vec3d line_pt2, vec3d pnt) -> vec3d"""
    return _vsp_g.proj_pnt_on_line(line_pt1, line_pt2, pnt)

def proj_pnt_to_plane(org, plane_ln1, plane_ln2, pnt):
    r"""proj_pnt_to_plane(vec3d org, vec3d plane_ln1, vec3d plane_ln2, vec3d pnt) -> vec3d"""
    return _vsp_g.proj_pnt_to_plane(org, plane_ln1, plane_ln2, pnt)

def proj_vec_to_plane(vec, norm):
    r"""proj_vec_to_plane(vec3d vec, vec3d norm) -> vec3d"""
    return _vsp_g.proj_vec_to_plane(vec, norm)

def tri_seg_intersect(A, B, C, D, E, u, w, t):
    r"""tri_seg_intersect(vec3d A, vec3d B, vec3d C, vec3d D, vec3d E, double & u, double & w, double & t) -> int"""
    return _vsp_g.tri_seg_intersect(A, B, C, D, E, u, w, t)

def tri_ray_intersect(A, B, C, D, E, u, w, t):
    r"""tri_ray_intersect(vec3d A, vec3d B, vec3d C, vec3d D, vec3d E, double & u, double & w, double & t) -> int"""
    return _vsp_g.tri_ray_intersect(A, B, C, D, E, u, w, t)

def plane_ray_intersect(*args):
    r"""
    plane_ray_intersect(vec3d A, vec3d B, vec3d C, vec3d D, vec3d E, double & t) -> int
    plane_ray_intersect(vec3d orig, vec3d norm, vec3d D, vec3d E, double & t) -> int
    """
    return _vsp_g.plane_ray_intersect(*args)

def ray_ray_intersect(A, B, C, D, int_pnt1, int_pnt2):
    r"""ray_ray_intersect(vec3d A, vec3d B, vec3d C, vec3d D, vec3d int_pnt1, vec3d int_pnt2) -> int"""
    return _vsp_g.ray_ray_intersect(A, B, C, D, int_pnt1, int_pnt2)

def tetra_volume(A, B, C):
    r"""tetra_volume(vec3d A, vec3d B, vec3d C) -> double"""
    return _vsp_g.tetra_volume(A, B, C)

def area(A, B, C):
    r"""area(vec3d A, vec3d B, vec3d C) -> double"""
    return _vsp_g.area(A, B, C)

def dist3D_Segment_to_Segment(*args):
    r"""
    dist3D_Segment_to_Segment(vec3d S1P0, vec3d S1P1, vec3d S2P0, vec3d S2P1) -> double
    dist3D_Segment_to_Segment(vec3d S1P0, vec3d S1P1, vec3d S2P0, vec3d S2P1, double * Lt, vec3d Ln, double * St, vec3d Sn) -> double
    """
    return _vsp_g.dist3D_Segment_to_Segment(*args)

def nearSegSeg(L0, L1, S0, S1, Lt, Ln, St, Sn):
    r"""nearSegSeg(vec3d L0, vec3d L1, vec3d S0, vec3d S1, double * Lt, vec3d Ln, double * St, vec3d Sn) -> double"""
    return _vsp_g.nearSegSeg(L0, L1, S0, S1, Lt, Ln, St, Sn)

def pointLineDistSquared(p, lp0, lp1, t, pon):
    r"""pointLineDistSquared(vec3d p, vec3d lp0, vec3d lp1, double & t, vec3d pon) -> double"""
    return _vsp_g.pointLineDistSquared(p, lp0, lp1, t, pon)

def pointSegDistSquared(p, sp0, sp1, t, pon):
    r"""pointSegDistSquared(vec3d p, vec3d sp0, vec3d sp1, double & t, vec3d pon) -> double"""
    return _vsp_g.pointSegDistSquared(p, sp0, sp1, t, pon)

def point_on_line(lp0, lp1, t):
    r"""point_on_line(vec3d lp0, vec3d lp1, double const & t) -> vec3d"""
    return _vsp_g.point_on_line(lp0, lp1, t)

def MapToPlane(p, planeOrig, planeVec1, planeVec2):
    r"""MapToPlane(vec3d p, vec3d planeOrig, vec3d planeVec1, vec3d planeVec2) -> vec2d"""
    return _vsp_g.MapToPlane(p, planeOrig, planeVec1, planeVec2)

def MapFromPlane(uw, planeOrig, planeVec1, planeVec2):
    r"""MapFromPlane(vec2d uw, vec3d planeOrig, vec3d planeVec1, vec3d planeVec2) -> vec3d"""
    return _vsp_g.MapFromPlane(uw, planeOrig, planeVec1, planeVec2)

def plane_half_space(planeOrig, planeNorm, pnt):
    r"""plane_half_space(vec3d planeOrig, vec3d planeNorm, vec3d pnt) -> int"""
    return _vsp_g.plane_half_space(planeOrig, planeNorm, pnt)

def line_line_intersect(p1, p2, p3, p4, s, t):
    r"""line_line_intersect(vec3d p1, vec3d p2, vec3d p3, vec3d p4, double * s, double * t) -> bool"""
    return _vsp_g.line_line_intersect(p1, p2, p3, p4, s, t)

def RotateArbAxis(p, theta, r):
    r"""RotateArbAxis(vec3d p, double theta, vec3d r) -> vec3d"""
    return _vsp_g.RotateArbAxis(p, theta, r)

def PtInTri(v0, v1, v2, p):
    r"""PtInTri(vec3d v0, vec3d v1, vec3d v2, vec3d p) -> bool"""
    return _vsp_g.PtInTri(v0, v1, v2, p)

def BarycentricWeights(v0, v1, v2, p):
    r"""BarycentricWeights(vec3d v0, vec3d v1, vec3d v2, vec3d p) -> vec3d"""
    return _vsp_g.BarycentricWeights(v0, v1, v2, p)

def BilinearWeights(p0, p1, p, weights):
    r"""BilinearWeights(vec3d p0, vec3d p1, vec3d p, DoubleVector weights)"""
    return _vsp_g.BilinearWeights(p0, p1, p, weights)

def tri_tri_min_dist(v0, v1, v2, v3, v4, v5, p1, p2):
    r"""tri_tri_min_dist(vec3d v0, vec3d v1, vec3d v2, vec3d v3, vec3d v4, vec3d v5, vec3d p1, vec3d p2) -> double"""
    return _vsp_g.tri_tri_min_dist(v0, v1, v2, v3, v4, v5, p1, p2)

def pnt_tri_min_dist(v0, v1, v2, pnt, pnearest):
    r"""pnt_tri_min_dist(vec3d v0, vec3d v1, vec3d v2, vec3d pnt, vec3d pnearest) -> double"""
    return _vsp_g.pnt_tri_min_dist(v0, v1, v2, pnt, pnearest)

def slerp(a, b, t):
    r"""slerp(vec3d a, vec3d b, double const & t) -> vec3d"""
    return _vsp_g.slerp(a, b, t)

def printpt(v):
    r"""printpt(vec3d v)"""
    return _vsp_g.printpt(v)

def ToSpherical(v):
    r"""ToSpherical(vec3d v) -> vec3d"""
    return _vsp_g.ToSpherical(v)

def ToSpherical2(v, vdet):
    r"""ToSpherical2(vec3d v, vec3d vdet) -> vec3d"""
    return _vsp_g.ToSpherical2(v, vdet)

def ToCartesian(v):
    r"""ToCartesian(vec3d v) -> vec3d"""
    return _vsp_g.ToCartesian(v)

def FitPlane(pts, cen, norm):
    r"""FitPlane(Vec3dVec pts, vec3d cen, vec3d norm)"""
    return _vsp_g.FitPlane(pts, cen, norm)


def to_string(v):
    r"""to_string(vec3d v) -> std::string"""
    return _vsp_g.to_string(v)

def compsum(x):
    r"""compsum(Vec3dVec x) -> vec3d"""
    return _vsp_g.compsum(x)
class vec2d(object):
    r"""Proxy of C++ vec2d class."""

    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    v = property(_vsp_g.vec2d_v_get, _vsp_g.vec2d_v_set, doc=r"""v : a(2).double""")
    __swig_destroy__ = _vsp_g.delete_vec2d

    def __init__(self, *args):
        r"""
        __init__(vec2d self) -> vec2d
        __init__(vec2d self, double xx, double yy) -> vec2d
        __init__(vec2d self, vec2d a) -> vec2d
        """
        _vsp_g.vec2d_swiginit(self, _vsp_g.new_vec2d(*args))

    def set_xy(self, xx, yy):
        r"""set_xy(vec2d self, double xx, double yy) -> vec2d"""
        return _vsp_g.vec2d_set_xy(self, xx, yy)

    def set_x(self, xx):
        r"""set_x(vec2d self, double xx) -> vec2d"""
        return _vsp_g.vec2d_set_x(self, xx)

    def set_y(self, yy):
        r"""set_y(vec2d self, double yy) -> vec2d"""
        return _vsp_g.vec2d_set_y(self, yy)

    def x(self):
        r"""x(vec2d self) -> double"""
        return _vsp_g.vec2d_x(self)

    def y(self):
        r"""y(vec2d self) -> double"""
        return _vsp_g.vec2d_y(self)

    def data(self):
        r"""data(vec2d self) -> double *"""
        return _vsp_g.vec2d_data(self)

    def transform(self, *args):
        r"""
        transform(vec2d self, float [3][3] mat) -> vec2d
        transform(vec2d self, double [3][3] mat) -> vec2d
        """
        return _vsp_g.vec2d_transform(self, *args)

    def __iadd__(self, b):
        r"""__iadd__(vec2d self, vec2d b) -> vec2d"""
        return _vsp_g.vec2d___iadd__(self, b)

    def __isub__(self, b):
        r"""__isub__(vec2d self, vec2d b) -> vec2d"""
        return _vsp_g.vec2d___isub__(self, b)

    def __imul__(self, b):
        r"""__imul__(vec2d self, double b) -> vec2d"""
        return _vsp_g.vec2d___imul__(self, b)

    def mag(self):
        r"""mag(vec2d self) -> double"""
        return _vsp_g.vec2d_mag(self)

    def normalize(self):
        r"""normalize(vec2d self)"""
        return _vsp_g.vec2d_normalize(self)

# Register vec2d in _vsp_g:
_vsp_g.vec2d_swigregister(vec2d)

def dist(*args):
    r"""
    dist(vec3d a, vec3d b) -> double
    dist(vec2d a, vec2d b) -> double
    """
    return _vsp_g.dist(*args)

def dist_squared(*args):
    r"""
    dist_squared(vec3d a, vec3d b) -> double
    dist_squared(vec2d a, vec2d b) -> double
    """
    return _vsp_g.dist_squared(*args)

def cross(*args):
    r"""
    cross(vec3d a, vec3d b) -> vec3d
    cross(vec2d a, vec2d b) -> double
    """
    return _vsp_g.cross(*args)

def dot(*args):
    r"""
    dot(vec3d a, vec3d b) -> double
    dot(vec2d a, vec2d b) -> double
    """
    return _vsp_g.dot(*args)

def angle(*args):
    r"""
    angle(vec3d a, vec3d b) -> double
    angle(vec2d a, vec2d b) -> double
    """
    return _vsp_g.angle(*args)

def cos_angle(*args):
    r"""
    cos_angle(vec3d a, vec3d b) -> double
    cos_angle(vec2d a, vec2d b) -> double
    """
    return _vsp_g.cos_angle(*args)

def seg_seg_intersect(pnt_A, pnt_B, pnt_C, pnt_D, int_pnt, t1, t2):
    r"""seg_seg_intersect(vec2d pnt_A, vec2d pnt_B, vec2d pnt_C, vec2d pnt_D, vec2d int_pnt, double & t1, double & t2) -> int"""
    return _vsp_g.seg_seg_intersect(pnt_A, pnt_B, pnt_C, pnt_D, int_pnt, t1, t2)

def proj_pnt_on_line_seg(*args):
    r"""
    proj_pnt_on_line_seg(vec3d line_pt1, vec3d line_pt2, vec3d pnt) -> vec3d
    proj_pnt_on_line_seg(vec2d line_A, vec2d line_B, vec2d pnt) -> vec2d
    """
    return _vsp_g.proj_pnt_on_line_seg(*args)

def proj_pnt_on_line_u(line_A, line_B, pnt):
    r"""proj_pnt_on_line_u(vec2d line_A, vec2d line_B, vec2d pnt) -> double"""
    return _vsp_g.proj_pnt_on_line_u(line_A, line_B, pnt)

def encode(x_min, y_min, x_max, y_max, pnt, code):
    r"""encode(double x_min, double y_min, double x_max, double y_max, vec2d pnt, int [4] code)"""
    return _vsp_g.encode(x_min, y_min, x_max, y_max, pnt, code)

def clip_seg_rect(x_min, y_min, x_max, y_max, pnt1, pnt2, visible):
    r"""clip_seg_rect(double x_min, double y_min, double x_max, double y_max, vec2d pnt1, vec2d pnt2, int & visible)"""
    return _vsp_g.clip_seg_rect(x_min, y_min, x_max, y_max, pnt1, pnt2, visible)

def PointInPolygon(R, pnts):
    r"""PointInPolygon(vec2d R, std::vector< vec2d,std::allocator< vec2d > > const & pnts) -> bool"""
    return _vsp_g.PointInPolygon(R, pnts)

def det(p0, p1, offset):
    r"""det(vec2d p0, vec2d p1, vec2d offset) -> double"""
    return _vsp_g.det(p0, p1, offset)

def poly_area(*args):
    r"""
    poly_area(Vec3dVec pnt_vec) -> double
    poly_area(std::vector< vec2d,std::allocator< vec2d > > const & pnt_vec) -> double
    """
    return _vsp_g.poly_area(*args)

def poly_centroid(pnt_vec):
    r"""poly_centroid(std::vector< vec2d,std::allocator< vec2d > > const & pnt_vec) -> vec2d"""
    return _vsp_g.poly_centroid(pnt_vec)

def orient2d(p0, p1, p):
    r"""orient2d(vec2d p0, vec2d p1, vec2d p) -> double"""
    return _vsp_g.orient2d(p0, p1, p)

def bi_lin_interp(p0, p1, p2, p3, s, t, p):
    r"""bi_lin_interp(vec2d p0, vec2d p1, vec2d p2, vec2d p3, double s, double t, vec2d p)"""
    return _vsp_g.bi_lin_interp(p0, p1, p2, p3, s, t, p)

def inverse_bi_lin_interp(p0, p1, p2, p3, p, s, t, s2, t2):
    r"""inverse_bi_lin_interp(vec2d p0, vec2d p1, vec2d p2, vec2d p3, vec2d p, double & s, double & t, double & s2, double & t2) -> int"""
    return _vsp_g.inverse_bi_lin_interp(p0, p1, p2, p3, p, s, t, s2, t2)

class Matrix4d(object):
    r"""Proxy of C++ Matrix4d class."""

    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self):
        r"""__init__(Matrix4d self) -> Matrix4d"""
        _vsp_g.Matrix4d_swiginit(self, _vsp_g.new_Matrix4d())

    def loadIdentity(self):
        r"""loadIdentity(Matrix4d self)"""
        return _vsp_g.Matrix4d_loadIdentity(self)

    @staticmethod
    def setIdentity(m):
        r"""setIdentity(double * m)"""
        return _vsp_g.Matrix4d_setIdentity(m)

    def translatef(self, x, y, z):
        r"""translatef(Matrix4d self, double const & x, double const & y, double const & z)"""
        return _vsp_g.Matrix4d_translatef(self, x, y, z)

    def translatev(self, v):
        r"""translatev(Matrix4d self, vec3d v)"""
        return _vsp_g.Matrix4d_translatev(self, v)

    def rotateX(self, ang):
        r"""rotateX(Matrix4d self, double const & ang)"""
        return _vsp_g.Matrix4d_rotateX(self, ang)

    def rotateY(self, ang):
        r"""rotateY(Matrix4d self, double const & ang)"""
        return _vsp_g.Matrix4d_rotateY(self, ang)

    def rotateZ(self, ang):
        r"""rotateZ(Matrix4d self, double const & ang)"""
        return _vsp_g.Matrix4d_rotateZ(self, ang)

    def rotate(self, angle, axis):
        r"""rotate(Matrix4d self, double const & angle, vec3d axis)"""
        return _vsp_g.Matrix4d_rotate(self, angle, axis)

    def rotatealongX(self, dir1):
        r"""rotatealongX(Matrix4d self, vec3d dir1)"""
        return _vsp_g.Matrix4d_rotatealongX(self, dir1)

    def zeroTranslations(self):
        r"""zeroTranslations(Matrix4d self)"""
        return _vsp_g.Matrix4d_zeroTranslations(self)

    def affineInverse(self):
        r"""affineInverse(Matrix4d self)"""
        return _vsp_g.Matrix4d_affineInverse(self)

    def scale(self, scale):
        r"""scale(Matrix4d self, double const & scale)"""
        return _vsp_g.Matrix4d_scale(self, scale)

    def scalex(self, scalex):
        r"""scalex(Matrix4d self, double const & scalex)"""
        return _vsp_g.Matrix4d_scalex(self, scalex)

    def scaley(self, scaley):
        r"""scaley(Matrix4d self, double const & scaley)"""
        return _vsp_g.Matrix4d_scaley(self, scaley)

    def scalez(self, scalez):
        r"""scalez(Matrix4d self, double const & scalez)"""
        return _vsp_g.Matrix4d_scalez(self, scalez)

    def mirrory(self):
        r"""mirrory(Matrix4d self)"""
        return _vsp_g.Matrix4d_mirrory(self)

    def flipx(self):
        r"""flipx(Matrix4d self)"""
        return _vsp_g.Matrix4d_flipx(self)

    def getMat(self, m):
        r"""getMat(Matrix4d self, double * m)"""
        return _vsp_g.Matrix4d_getMat(self, m)

    def matMult(self, *args):
        r"""
        matMult(Matrix4d self, double const * m)
        matMult(Matrix4d self, Matrix4d m)
        """
        return _vsp_g.Matrix4d_matMult(self, *args)

    def postMult(self, *args):
        r"""
        postMult(Matrix4d self, double const * m)
        postMult(Matrix4d self, Matrix4d m)
        """
        return _vsp_g.Matrix4d_postMult(self, *args)

    def initMat(self, *args):
        r"""
        initMat(Matrix4d self, double const * m)
        initMat(Matrix4d self, Matrix4d m)
        """
        return _vsp_g.Matrix4d_initMat(self, *args)

    def mult(self, _in, out):
        r"""mult(Matrix4d self, double const [4] _in, double [4] out)"""
        return _vsp_g.Matrix4d_mult(self, _in, out)

    def data(self):
        r"""data(Matrix4d self) -> double *"""
        return _vsp_g.Matrix4d_data(self)

    def loadXZRef(self):
        r"""loadXZRef(Matrix4d self)"""
        return _vsp_g.Matrix4d_loadXZRef(self)

    def loadXYRef(self):
        r"""loadXYRef(Matrix4d self)"""
        return _vsp_g.Matrix4d_loadXYRef(self)

    def loadYZRef(self):
        r"""loadYZRef(Matrix4d self)"""
        return _vsp_g.Matrix4d_loadYZRef(self)

    def xform(self, _in):
        r"""xform(Matrix4d self, vec3d _in) -> vec3d"""
        return _vsp_g.Matrix4d_xform(self, _in)

    def xformvec(self, _in):
        r"""xformvec(Matrix4d self, Vec3dVec _in)"""
        return _vsp_g.Matrix4d_xformvec(self, _in)

    def xformmat(self, _in):
        r"""xformmat(Matrix4d self, std::vector< std::vector< vec3d,std::allocator< vec3d > >,std::allocator< std::vector< vec3d,std::allocator< vec3d > > > > & _in)"""
        return _vsp_g.Matrix4d_xformmat(self, _in)

    def xformnorm(self, _in):
        r"""xformnorm(Matrix4d self, vec3d _in) -> vec3d"""
        return _vsp_g.Matrix4d_xformnorm(self, _in)

    def xformnormvec(self, _in):
        r"""xformnormvec(Matrix4d self, Vec3dVec _in)"""
        return _vsp_g.Matrix4d_xformnormvec(self, _in)

    def xformnormmat(self, _in):
        r"""xformnormmat(Matrix4d self, std::vector< std::vector< vec3d,std::allocator< vec3d > >,std::allocator< std::vector< vec3d,std::allocator< vec3d > > > > & _in)"""
        return _vsp_g.Matrix4d_xformnormmat(self, _in)

    def getAngles(self):
        r"""getAngles(Matrix4d self) -> vec3d"""
        return _vsp_g.Matrix4d_getAngles(self)

    def getArcballAngles(self):
        r"""getArcballAngles(Matrix4d self) -> vec3d"""
        return _vsp_g.Matrix4d_getArcballAngles(self)

    def getTranslation(self):
        r"""getTranslation(Matrix4d self) -> vec3d"""
        return _vsp_g.Matrix4d_getTranslation(self)

    def buildXForm(self, pos, rot, cent_rot):
        r"""buildXForm(Matrix4d self, vec3d pos, vec3d rot, vec3d cent_rot)"""
        return _vsp_g.Matrix4d_buildXForm(self, pos, rot, cent_rot)

    def getBasis(self, xdir, ydir, zdir):
        r"""getBasis(Matrix4d self, vec3d xdir, vec3d ydir, vec3d zdir)"""
        return _vsp_g.Matrix4d_getBasis(self, xdir, ydir, zdir)

    def setBasis(self, xdir, ydir, zdir):
        r"""setBasis(Matrix4d self, vec3d xdir, vec3d ydir, vec3d zdir)"""
        return _vsp_g.Matrix4d_setBasis(self, xdir, ydir, zdir)

    def toQuat(self, qw, qx, qy, qz, tx, ty, tz):
        r"""toQuat(Matrix4d self, double & qw, double & qx, double & qy, double & qz, double & tx, double & ty, double & tz)"""
        return _vsp_g.Matrix4d_toQuat(self, qw, qx, qy, qz, tx, ty, tz)
    __swig_destroy__ = _vsp_g.delete_Matrix4d

# Register Matrix4d in _vsp_g:
_vsp_g.Matrix4d_swigregister(Matrix4d)

# **Placeholder start**
def IsFacade():
    """
    Returns True if the facade API is in use.


    .. code-block:: python

        is_facade = IsFacade()

    """

    return False
def IsGUIRunning():
    """
    Returns True if the GUI event loop is running.


    .. code-block:: python

        is_gui_active = IsGUIRunning()

    """

    return False
