# This file was automatically generated by SWIG (http://www.swig.org).
# Version 4.0.2
#
# 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
if _swig_python_version_info < (2, 7, 0):
    raise RuntimeError("Python 2.7 or later required")

# 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 == "thisown":
            self.this.own(value)
        elif name == "this":
            set(self, name, 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 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
r""" Absolute position"""
REL = _vsp_g.REL
r""" Relative position"""
SELIG_AF_EXPORT = _vsp_g.SELIG_AF_EXPORT
r""" Selig airfoil file format"""
BEZIER_AF_EXPORT = _vsp_g.BEZIER_AF_EXPORT
r""" Bezier airfoil file format"""
ANG_RAD = _vsp_g.ANG_RAD
r""" Radians"""
ANG_DEG = _vsp_g.ANG_DEG
r""" Degrees"""
ATMOS_TYPE_US_STANDARD_1976 = _vsp_g.ATMOS_TYPE_US_STANDARD_1976
r""" US Standard Atmosphere 1976 (default)"""
ATMOS_TYPE_HERRINGTON_1966 = _vsp_g.ATMOS_TYPE_HERRINGTON_1966
r""" USAF 1966"""
ATMOS_TYPE_MANUAL_P_R = _vsp_g.ATMOS_TYPE_MANUAL_P_R
r""" Manual: pressure and density control"""
ATMOS_TYPE_MANUAL_P_T = _vsp_g.ATMOS_TYPE_MANUAL_P_T
r""" Manual: pressure and temperature control"""
ATMOS_TYPE_MANUAL_R_T = _vsp_g.ATMOS_TYPE_MANUAL_R_T
r""" Manual: density and temperature control"""
ATMOS_TYPE_MANUAL_RE_L = _vsp_g.ATMOS_TYPE_MANUAL_RE_L
r""" Manual: Reynolds number and length control"""
ATTACH_TRANS_NONE = _vsp_g.ATTACH_TRANS_NONE
r""" No parent attachment for translations"""
ATTACH_TRANS_COMP = _vsp_g.ATTACH_TRANS_COMP
r""" Translation relative to parent body axes"""
ATTACH_TRANS_UV = _vsp_g.ATTACH_TRANS_UV
r""" Translation relative to parent surface coordinate frame"""
ATTACH_TRANS_RST = _vsp_g.ATTACH_TRANS_RST
r""" Translation relative to parent per-section volume coordinate frame"""
ATTACH_TRANS_LMN = _vsp_g.ATTACH_TRANS_LMN
r""" Translation relative to parent uniform volume coordinate frame"""
ATTACH_TRANS_EtaMN = _vsp_g.ATTACH_TRANS_EtaMN
r""" Translation relative to wing parent uniform eta volume coordinate frame"""
ATTACH_TRANS_NUM_TYPES = _vsp_g.ATTACH_TRANS_NUM_TYPES
r""" Number of translation attachment types"""
ATTACH_ROT_NONE = _vsp_g.ATTACH_ROT_NONE
r""" No parent attachment for rotations"""
ATTACH_ROT_COMP = _vsp_g.ATTACH_ROT_COMP
r""" Rotation relative to parent body axes"""
ATTACH_ROT_UV = _vsp_g.ATTACH_ROT_UV
r""" Rotation relative to parent surface coordinate frame"""
ATTACH_ROT_RST = _vsp_g.ATTACH_ROT_RST
r""" Rotation relative to parent per-section volume coordinate frame"""
ATTACH_ROT_LMN = _vsp_g.ATTACH_ROT_LMN
r""" Rotation relative to parent uniform volume coordinate frame"""
ATTACH_ROT_EtaMN = _vsp_g.ATTACH_ROT_EtaMN
r""" Rotation relative to wing parent eta volume coordinate frame"""
ATTACH_ROT_NUM_TYPES = _vsp_g.ATTACH_ROT_NUM_TYPES
r""" Number of rotation attachment types"""
BOR_FLOWTHROUGH = _vsp_g.BOR_FLOWTHROUGH
r""" Flowthrough mode (default)"""
BOR_UPPER = _vsp_g.BOR_UPPER
r""" Upper surface mode"""
BOR_LOWER = _vsp_g.BOR_LOWER
r""" Lower surface mode"""
BOR_NUM_MODES = _vsp_g.BOR_NUM_MODES
r""" Number of Body of Revolution modes"""
MAX_CAMB = _vsp_g.MAX_CAMB
r""" Input maximum camber, calculate ideal lift coefficient"""
DESIGN_CL = _vsp_g.DESIGN_CL
r""" Input ideal lift coefficient, calculate maximum camber"""
NO_END_CAP = _vsp_g.NO_END_CAP
r""" No end cap"""
FLAT_END_CAP = _vsp_g.FLAT_END_CAP
r""" Flat end cap"""
ROUND_END_CAP = _vsp_g.ROUND_END_CAP
r""" Round end cap"""
EDGE_END_CAP = _vsp_g.EDGE_END_CAP
r""" Edge end cap"""
SHARP_END_CAP = _vsp_g.SHARP_END_CAP
r""" Sharp end cap"""
POINT_END_CAP = _vsp_g.POINT_END_CAP
ROUND_EXT_END_CAP_NONE = _vsp_g.ROUND_EXT_END_CAP_NONE
r""" Extended round end cap, but not extended"""
ROUND_EXT_END_CAP_LE = _vsp_g.ROUND_EXT_END_CAP_LE
r""" Extended round end cap, extend LE"""
ROUND_EXT_END_CAP_TE = _vsp_g.ROUND_EXT_END_CAP_TE
r""" Extended round end cap, extend TE"""
ROUND_EXT_END_CAP_BOTH = _vsp_g.ROUND_EXT_END_CAP_BOTH
r""" Extended round end cap, extend both"""
NUM_END_CAP_OPTIONS = _vsp_g.NUM_END_CAP_OPTIONS
r""" Number of end cap options"""
CFD_MIN_EDGE_LEN = _vsp_g.CFD_MIN_EDGE_LEN
r""" Minimum mesh edge length"""
CFD_MAX_EDGE_LEN = _vsp_g.CFD_MAX_EDGE_LEN
r""" Maximum mesh edge length"""
CFD_MAX_GAP = _vsp_g.CFD_MAX_GAP
r""" Maximum mesh edge gap"""
CFD_NUM_CIRCLE_SEGS = _vsp_g.CFD_NUM_CIRCLE_SEGS
r""" Number of edge segments to resolve circle"""
CFD_GROWTH_RATIO = _vsp_g.CFD_GROWTH_RATIO
r""" Maximum allowed edge growth ratio"""
CFD_LIMIT_GROWTH_FLAG = _vsp_g.CFD_LIMIT_GROWTH_FLAG
r""" Rigorous 3D growth limiting flag"""
CFD_INTERSECT_SUBSURFACE_FLAG = _vsp_g.CFD_INTERSECT_SUBSURFACE_FLAG
r""" Flag to intersect sub-surfaces"""
CFD_HALF_MESH_FLAG = _vsp_g.CFD_HALF_MESH_FLAG
r""" Flag to generate a half mesh"""
CFD_FAR_FIELD_FLAG = _vsp_g.CFD_FAR_FIELD_FLAG
r""" Flag to generate a far field mesh"""
CFD_FAR_MAX_EDGE_LEN = _vsp_g.CFD_FAR_MAX_EDGE_LEN
r""" Maximum far field mesh edge length"""
CFD_FAR_MAX_GAP = _vsp_g.CFD_FAR_MAX_GAP
r""" Maximum far field mesh edge gap"""
CFD_FAR_NUM_CIRCLE_SEGS = _vsp_g.CFD_FAR_NUM_CIRCLE_SEGS
r""" Number of far field edge segments to resolve circle"""
CFD_FAR_SIZE_ABS_FLAG = _vsp_g.CFD_FAR_SIZE_ABS_FLAG
r""" Relative or absolute size flag"""
CFD_FAR_LENGTH = _vsp_g.CFD_FAR_LENGTH
r""" Far field length"""
CFD_FAR_WIDTH = _vsp_g.CFD_FAR_WIDTH
r""" Far field width"""
CFD_FAR_HEIGHT = _vsp_g.CFD_FAR_HEIGHT
r""" Far field height"""
CFD_FAR_X_SCALE = _vsp_g.CFD_FAR_X_SCALE
r"""  Far field X scale"""
CFD_FAR_Y_SCALE = _vsp_g.CFD_FAR_Y_SCALE
r"""  Far field Y scale"""
CFD_FAR_Z_SCALE = _vsp_g.CFD_FAR_Z_SCALE
r"""  Far field Z scale"""
CFD_FAR_LOC_MAN_FLAG = _vsp_g.CFD_FAR_LOC_MAN_FLAG
r""" Far field location flag: centered or manual"""
CFD_FAR_LOC_X = _vsp_g.CFD_FAR_LOC_X
r""" Far field X location"""
CFD_FAR_LOC_Y = _vsp_g.CFD_FAR_LOC_Y
r""" Far field Y location"""
CFD_FAR_LOC_Z = _vsp_g.CFD_FAR_LOC_Z
r""" Far field Z location"""
CFD_SRF_XYZ_FLAG = _vsp_g.CFD_SRF_XYZ_FLAG
r""" Flag to include X,Y,Z intersection curves in export files"""
CFD_STL_FILE_NAME = _vsp_g.CFD_STL_FILE_NAME
r""" STL export type"""
CFD_POLY_FILE_NAME = _vsp_g.CFD_POLY_FILE_NAME
r""" POLY export type"""
CFD_TRI_FILE_NAME = _vsp_g.CFD_TRI_FILE_NAME
r""" TRI export type"""
CFD_OBJ_FILE_NAME = _vsp_g.CFD_OBJ_FILE_NAME
r""" OBJ export type"""
CFD_DAT_FILE_NAME = _vsp_g.CFD_DAT_FILE_NAME
r""" DAT export type"""
CFD_KEY_FILE_NAME = _vsp_g.CFD_KEY_FILE_NAME
r""" KEY export type"""
CFD_GMSH_FILE_NAME = _vsp_g.CFD_GMSH_FILE_NAME
r""" GMSH export type"""
CFD_TKEY_FILE_NAME = _vsp_g.CFD_TKEY_FILE_NAME
r""" TKEY export type"""
CFD_FACET_FILE_NAME = _vsp_g.CFD_FACET_FILE_NAME
r""" FACET export type"""
CFD_VSPGEOM_FILE_NAME = _vsp_g.CFD_VSPGEOM_FILE_NAME
r""" VSPGEOM export type"""
CFD_NUM_FILE_NAMES = _vsp_g.CFD_NUM_FILE_NAMES
r""" Number of CFD Mesh export file types"""
POINT_SOURCE = _vsp_g.POINT_SOURCE
r""" Point source"""
LINE_SOURCE = _vsp_g.LINE_SOURCE
r""" Line source"""
BOX_SOURCE = _vsp_g.BOX_SOURCE
r""" Box source"""
ULINE_SOURCE = _vsp_g.ULINE_SOURCE
r""" Constant U Line source"""
WLINE_SOURCE = _vsp_g.WLINE_SOURCE
r""" Constant W Line source"""
NUM_SOURCE_TYPES = _vsp_g.NUM_SOURCE_TYPES
r""" Number of CFD Mesh source types"""
TAG = _vsp_g.TAG
r""" Color mesh by tag value (component, subsurface, part, etc)"""
REASON = _vsp_g.REASON
r""" Color mesh by local edge length reason"""
CF_LAM_BLASIUS = _vsp_g.CF_LAM_BLASIUS
r""" Blasius laminar Cf equation"""
CF_LAM_BLASIUS_W_HEAT = _vsp_g.CF_LAM_BLASIUS_W_HEAT
r""" Blasius laminar Cf equation with heat (NOT IMPLEMENTED)"""
CF_TURB_EXPLICIT_FIT_SPALDING = _vsp_g.CF_TURB_EXPLICIT_FIT_SPALDING
r""" Explicit Fit of Spalding turbulent Cf equation"""
CF_TURB_EXPLICIT_FIT_SPALDING_CHI = _vsp_g.CF_TURB_EXPLICIT_FIT_SPALDING_CHI
r""" Explicit Fit of Spalding and Chi turbulent Cf equation"""
CF_TURB_EXPLICIT_FIT_SCHOENHERR = _vsp_g.CF_TURB_EXPLICIT_FIT_SCHOENHERR
r""" Explicit Fit of Schoenherr turbulent Cf equation"""
DO_NOT_USE_CF_TURB_IMPLICIT_KARMAN = _vsp_g.DO_NOT_USE_CF_TURB_IMPLICIT_KARMAN
r""" Implicit Karman turbulent Cf equation (DO NOT USE)"""
CF_TURB_IMPLICIT_SCHOENHERR = _vsp_g.CF_TURB_IMPLICIT_SCHOENHERR
r""" Implicit Schoenherr turbulent Cf equation"""
CF_TURB_IMPLICIT_KARMAN_SCHOENHERR = _vsp_g.CF_TURB_IMPLICIT_KARMAN_SCHOENHERR
r""" Implicit Karman-Schoenherr turbulent Cf equation"""
CF_TURB_POWER_LAW_BLASIUS = _vsp_g.CF_TURB_POWER_LAW_BLASIUS
r""" Power Law Blasius turbulent Cf equation"""
CF_TURB_POWER_LAW_PRANDTL_LOW_RE = _vsp_g.CF_TURB_POWER_LAW_PRANDTL_LOW_RE
r"""Power Law Prandtl Low Re turbulent Cf equation"""
CF_TURB_POWER_LAW_PRANDTL_MEDIUM_RE = _vsp_g.CF_TURB_POWER_LAW_PRANDTL_MEDIUM_RE
r""" Power Law Prandtl Medium Re turbulent Cf equation"""
CF_TURB_POWER_LAW_PRANDTL_HIGH_RE = _vsp_g.CF_TURB_POWER_LAW_PRANDTL_HIGH_RE
r""" Power Law Prandtl High Re turbulent Cf equation"""
CF_TURB_SCHLICHTING_COMPRESSIBLE = _vsp_g.CF_TURB_SCHLICHTING_COMPRESSIBLE
r""" Schlichting Compressible turbulent Cf equation"""
DO_NOT_USE_CF_TURB_SCHLICHTING_INCOMPRESSIBLE = _vsp_g.DO_NOT_USE_CF_TURB_SCHLICHTING_INCOMPRESSIBLE
r""" Schlichting Incompressible turbulent Cf equation (DO NOT USE)"""
DO_NOT_USE_CF_TURB_SCHLICHTING_PRANDTL = _vsp_g.DO_NOT_USE_CF_TURB_SCHLICHTING_PRANDTL
r""" Schlichting-Prandtl turbulent Cf equation (DO NOT USE)"""
DO_NOT_USE_CF_TURB_SCHULTZ_GRUNOW_HIGH_RE = _vsp_g.DO_NOT_USE_CF_TURB_SCHULTZ_GRUNOW_HIGH_RE
r""" Schultz-Grunow High Re turbulent Cf equation (DO NOT USE)"""
CF_TURB_SCHULTZ_GRUNOW_SCHOENHERR = _vsp_g.CF_TURB_SCHULTZ_GRUNOW_SCHOENHERR
r""" Schultz-Grunow Estimate of Schoenherr turbulent Cf equation."""
DO_NOT_USE_CF_TURB_WHITE_CHRISTOPH_COMPRESSIBLE = _vsp_g.DO_NOT_USE_CF_TURB_WHITE_CHRISTOPH_COMPRESSIBLE
r""" White-Christoph Compressible turbulent Cf equation (DO NOT USE)"""
CF_TURB_ROUGHNESS_SCHLICHTING_AVG = _vsp_g.CF_TURB_ROUGHNESS_SCHLICHTING_AVG
r""" Roughness Schlichting Avg turbulent Cf equation."""
DO_NOT_USE_CF_TURB_ROUGHNESS_SCHLICHTING_LOCAL = _vsp_g.DO_NOT_USE_CF_TURB_ROUGHNESS_SCHLICHTING_LOCAL
r""" Roughness Schlichting Local turbulent Cf equation (DO NOT USE)"""
DO_NOT_USE_CF_TURB_ROUGHNESS_WHITE = _vsp_g.DO_NOT_USE_CF_TURB_ROUGHNESS_WHITE
r""" Roughness White turbulent Cf equation (DO NOT USE)"""
CF_TURB_ROUGHNESS_SCHLICHTING_AVG_FLOW_CORRECTION = _vsp_g.CF_TURB_ROUGHNESS_SCHLICHTING_AVG_FLOW_CORRECTION
r""" Roughness Schlichting Avg Compressible turbulent Cf equation."""
CF_TURB_HEATTRANSFER_WHITE_CHRISTOPH = _vsp_g.CF_TURB_HEATTRANSFER_WHITE_CHRISTOPH
r""" Heat Transfer White-Christoph turbulent Cf equation."""
CHEVRON_NONE = _vsp_g.CHEVRON_NONE
r""" No chevron."""
CHEVRON_PARTIAL = _vsp_g.CHEVRON_PARTIAL
r""" One or more chevrons of limited extent."""
CHEVRON_FULL = _vsp_g.CHEVRON_FULL
r""" Full period of chevrons."""
CHEVRON_NUM_TYPES = _vsp_g.CHEVRON_NUM_TYPES
r""" Number of chevron 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
r""" Number of chevron W parameter mode types."""
COLLISION_OK = _vsp_g.COLLISION_OK
r""" No Error."""
COLLISION_INTERSECT_NO_SOLUTION = _vsp_g.COLLISION_INTERSECT_NO_SOLUTION
r""" Touching, no solution"""
COLLISION_CLEAR_NO_SOLUTION = _vsp_g.COLLISION_CLEAR_NO_SOLUTION
r""" Not touching, no solution"""
NO_FILE_TYPE = _vsp_g.NO_FILE_TYPE
r""" No export 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
r""" Trim by U coordinate"""
L_TRIM = _vsp_g.L_TRIM
r""" Trim by L coordinate"""
ETA_TRIM = _vsp_g.ETA_TRIM
r""" Trim by Eta coordinate"""
NUM_TRIM_TYPES = _vsp_g.NUM_TRIM_TYPES
r""" Number of conformal component trim types"""
DELIM_COMMA = _vsp_g.DELIM_COMMA
r""" Comma delimiter"""
DELIM_USCORE = _vsp_g.DELIM_USCORE
r""" Underscore delimiter"""
DELIM_SPACE = _vsp_g.DELIM_SPACE
r""" Space delimiter"""
DELIM_NONE = _vsp_g.DELIM_NONE
r""" No delimiter"""
DELIM_NUM_TYPES = _vsp_g.DELIM_NUM_TYPES
r""" Number of delimiter types"""
SET_3D = _vsp_g.SET_3D
r""" 3D DXF export (default)"""
SET_2D = _vsp_g.SET_2D
r""" 2D DXF export"""
X_DIR = _vsp_g.X_DIR
r""" X direction"""
Y_DIR = _vsp_g.Y_DIR
Z_DIR = _vsp_g.Z_DIR
ALL_DIR = _vsp_g.ALL_DIR
DISPLAY_BEZIER = _vsp_g.DISPLAY_BEZIER
r""" Display the normal Bezier surface (default)"""
DISPLAY_DEGEN_SURF = _vsp_g.DISPLAY_DEGEN_SURF
r""" Display as surface Degen Geom"""
DISPLAY_DEGEN_PLATE = _vsp_g.DISPLAY_DEGEN_PLATE
r""" Display as plate Degen Geom"""
DISPLAY_DEGEN_CAMBER = _vsp_g.DISPLAY_DEGEN_CAMBER
r""" Display as camber Degen Geom"""
GEOM_DRAW_WIRE = _vsp_g.GEOM_DRAW_WIRE
r""" Draw the wireframe mesh (see through)"""
GEOM_DRAW_HIDDEN = _vsp_g.GEOM_DRAW_HIDDEN
r""" Draw the hidden mesh"""
GEOM_DRAW_SHADE = _vsp_g.GEOM_DRAW_SHADE
r""" Draw the shaded mesh"""
GEOM_DRAW_TEXTURE = _vsp_g.GEOM_DRAW_TEXTURE
r""" Draw the textured mesh"""
GEOM_DRAW_NONE = _vsp_g.GEOM_DRAW_NONE
r""" Do not draw anything"""
ENGINE_GEOM_NONE = _vsp_g.ENGINE_GEOM_NONE
r""" Component is not an integrated flowpath component."""
ENGINE_GEOM_INLET = _vsp_g.ENGINE_GEOM_INLET
r""" Component represents integrated flowpath inlet."""
ENGINE_GEOM_INLET_OUTLET = _vsp_g.ENGINE_GEOM_INLET_OUTLET
r""" Component represents integrated flowpath inlet and outlet."""
ENGINE_GEOM_OUTLET = _vsp_g.ENGINE_GEOM_OUTLET
r""" Component represents integrated flowpath outlet."""
ENGINE_GEOM_IO_NUM_TYPES = _vsp_g.ENGINE_GEOM_IO_NUM_TYPES
r""" Number of integrated flowpath component types."""
ENGINE_GEOM_FLOWTHROUGH = _vsp_g.ENGINE_GEOM_FLOWTHROUGH
r""" Component is modeled as flowthrough engine."""
ENGINE_GEOM_TO_LIP = _vsp_g.ENGINE_GEOM_TO_LIP
r""" Component is modeled to the lip."""
ENGINE_GEOM_FLOWPATH = _vsp_g.ENGINE_GEOM_FLOWPATH
r""" Component flowpath is modeled."""
ENGINE_GEOM_TO_FACE = _vsp_g.ENGINE_GEOM_TO_FACE
r""" Component is modeled to face."""
ENGINE_GEOM_NUM_TYPES = _vsp_g.ENGINE_GEOM_NUM_TYPES
r""" Number of integrated flowpath modeling types."""
ENGINE_LOC_INDEX = _vsp_g.ENGINE_LOC_INDEX
r""" Integrated flowpath key point identified by XSec index."""
ENGINE_LOC_U = _vsp_g.ENGINE_LOC_U
r""" Integrated flowpath key point identified by U parameter."""
ENGINE_LOC_INLET_LIP = _vsp_g.ENGINE_LOC_INLET_LIP
r""" Integrated flowpath key point is inlet lip."""
ENGINE_LOC_INLET_FACE = _vsp_g.ENGINE_LOC_INLET_FACE
r""" Integrated flowpath key point is inlet face."""
ENGINE_LOC_OUTLET_LIP = _vsp_g.ENGINE_LOC_OUTLET_LIP
r""" Integrated flowpath key point is outlet lip."""
ENGINE_LOC_OUTLET_FACE = _vsp_g.ENGINE_LOC_OUTLET_FACE
r""" Integrated flowpath key point is outlet face."""
ENGINE_LOC_NUM = _vsp_g.ENGINE_LOC_NUM
r""" Number of integrated flowpath key point locations."""
ENGINE_MODE_FLOWTHROUGH = _vsp_g.ENGINE_MODE_FLOWTHROUGH
r""" Represent integrated flowpath as flowthrough engine."""
ENGINE_MODE_FLOWTHROUGH_NEG = _vsp_g.ENGINE_MODE_FLOWTHROUGH_NEG
r""" Represent integrated flowpath as flowthrough engine with negative flowpath."""
ENGINE_MODE_TO_LIP = _vsp_g.ENGINE_MODE_TO_LIP
r""" Represent integrated flowpath to the lip."""
ENGINE_MODE_TO_FACE = _vsp_g.ENGINE_MODE_TO_FACE
r""" Represent integrated flowpath to the face."""
ENGINE_MODE_TO_FACE_NEG = _vsp_g.ENGINE_MODE_TO_FACE_NEG
r""" Represent integrated flowpath to the face with negative flowpath to the face."""
ENGINE_MODE_EXTEND = _vsp_g.ENGINE_MODE_EXTEND
r""" Represent integrated flowpath with farfield extensions."""
ENGINE_MODE_NUM_TYPES = _vsp_g.ENGINE_MODE_NUM_TYPES
r""" Number of integrated flowpath representations."""
VSP_OK = _vsp_g.VSP_OK
r""" No error"""
VSP_INVALID_PTR = _vsp_g.VSP_INVALID_PTR
r""" Invalid pointer error"""
VSP_INVALID_TYPE = _vsp_g.VSP_INVALID_TYPE
r""" Invalid type error"""
VSP_CANT_FIND_TYPE = _vsp_g.VSP_CANT_FIND_TYPE
r""" Can't find type error"""
VSP_CANT_FIND_PARM = _vsp_g.VSP_CANT_FIND_PARM
r""" Can't find parm error"""
VSP_CANT_FIND_NAME = _vsp_g.VSP_CANT_FIND_NAME
r""" Can't find name error"""
VSP_INVALID_GEOM_ID = _vsp_g.VSP_INVALID_GEOM_ID
r""" Invalid Geom ID error"""
VSP_FILE_DOES_NOT_EXIST = _vsp_g.VSP_FILE_DOES_NOT_EXIST
r""" File does not exist error"""
VSP_FILE_WRITE_FAILURE = _vsp_g.VSP_FILE_WRITE_FAILURE
r""" File write failure error"""
VSP_FILE_READ_FAILURE = _vsp_g.VSP_FILE_READ_FAILURE
r""" File read failure error"""
VSP_WRONG_GEOM_TYPE = _vsp_g.VSP_WRONG_GEOM_TYPE
r""" Wrong Geom type error"""
VSP_WRONG_XSEC_TYPE = _vsp_g.VSP_WRONG_XSEC_TYPE
r""" Wrong XSec type error"""
VSP_WRONG_FILE_TYPE = _vsp_g.VSP_WRONG_FILE_TYPE
r""" Wrong file type error"""
VSP_INDEX_OUT_RANGE = _vsp_g.VSP_INDEX_OUT_RANGE
r""" Index out of range error"""
VSP_INVALID_XSEC_ID = _vsp_g.VSP_INVALID_XSEC_ID
r""" Invalid XSec ID error"""
VSP_INVALID_ID = _vsp_g.VSP_INVALID_ID
r""" Invalid ID error"""
VSP_CANT_SET_NOT_EQ_PARM = _vsp_g.VSP_CANT_SET_NOT_EQ_PARM
r""" Can't set NotEqParm error"""
VSP_AMBIGUOUS_SUBSURF = _vsp_g.VSP_AMBIGUOUS_SUBSURF
r""" Ambiguous flow-through sub-surface error"""
VSP_INVALID_VARPRESET_SETNAME = _vsp_g.VSP_INVALID_VARPRESET_SETNAME
r""" Invalid Variable Preset set name error"""
VSP_INVALID_VARPRESET_GROUPNAME = _vsp_g.VSP_INVALID_VARPRESET_GROUPNAME
r""" Invalid Variable Preset group name error"""
VSP_CONFORMAL_PARENT_UNSUPPORTED = _vsp_g.VSP_CONFORMAL_PARENT_UNSUPPORTED
r""" Unsupported Conformal Geom parent error"""
VSP_UNEXPECTED_RESET_REMAP_ID = _vsp_g.VSP_UNEXPECTED_RESET_REMAP_ID
r""" Unexpected reset remap ID error"""
VSP_INVALID_INPUT_VAL = _vsp_g.VSP_INVALID_INPUT_VAL
r""" Invalid input value error"""
VSP_INVALID_CF_EQN = _vsp_g.VSP_INVALID_CF_EQN
r""" Invalid friction coefficient equation error"""
VSP_INVALID_DRIVERS = _vsp_g.VSP_INVALID_DRIVERS
r""" Invalid drivers for driver group"""
VSP_ADV_LINK_BUILD_FAIL = _vsp_g.VSP_ADV_LINK_BUILD_FAIL
r""" Advanced link build failure"""
VSP_DEPRECATED = _vsp_g.VSP_DEPRECATED
r""" This capability has been deprecated and is not longer supported"""
VSP_LINK_LOOP_DETECTED = _vsp_g.VSP_LINK_LOOP_DETECTED
r""" A parameter link loop was detected and stopped"""
VSP_DUPLICATE_NAME = _vsp_g.VSP_DUPLICATE_NAME
r""" A duplicate name has been provided"""
VSP_GUI_DEVICE_DEACTIVATED = _vsp_g.VSP_GUI_DEVICE_DEACTIVATED
r""" A deactivated GUI device was touched"""
VSP_NUM_ERROR_CODE = _vsp_g.VSP_NUM_ERROR_CODE
r""" Total number of VSP error codes"""
EXCRESCENCE_COUNT = _vsp_g.EXCRESCENCE_COUNT
r""" Drag counts excressence type"""
EXCRESCENCE_CD = _vsp_g.EXCRESCENCE_CD
r""" Drag coefficient excressence type"""
EXCRESCENCE_PERCENT_GEOM = _vsp_g.EXCRESCENCE_PERCENT_GEOM
r""" Percent of parent Geom drag coefficient excressence type"""
EXCRESCENCE_MARGIN = _vsp_g.EXCRESCENCE_MARGIN
r""" Percent margin excressence type"""
EXCRESCENCE_DRAGAREA = _vsp_g.EXCRESCENCE_DRAGAREA
r""" Drag area (D/q) excressence type"""
EXPORT_FELISA = _vsp_g.EXPORT_FELISA
r""" FELISA export type (NOT IMPLEMENTED)"""
EXPORT_XSEC = _vsp_g.EXPORT_XSEC
r""" XSec (*.hrm) export type"""
EXPORT_STL = _vsp_g.EXPORT_STL
r""" Stereolith (*.stl) export type"""
EXPORT_AWAVE = _vsp_g.EXPORT_AWAVE
r""" AWAVE export type (NOT IMPLEMENTED)"""
EXPORT_NASCART = _vsp_g.EXPORT_NASCART
r""" NASCART (*.dat) export type"""
EXPORT_POVRAY = _vsp_g.EXPORT_POVRAY
r""" POVRAY (*.pov) export type"""
EXPORT_CART3D = _vsp_g.EXPORT_CART3D
r""" Cart3D (*.tri) export type"""
EXPORT_VSPGEOM = _vsp_g.EXPORT_VSPGEOM
r""" VSPGeom (*.vspgeom) export type"""
EXPORT_VORXSEC = _vsp_g.EXPORT_VORXSEC
r""" VORXSEC  export type (NOT IMPLEMENTED)"""
EXPORT_XSECGEOM = _vsp_g.EXPORT_XSECGEOM
r""" XSECGEOM export type (NOT IMPLEMENTED)"""
EXPORT_GMSH = _vsp_g.EXPORT_GMSH
r""" Gmsh (*.msh) export type"""
EXPORT_X3D = _vsp_g.EXPORT_X3D
r""" X3D (*.x3d) export type"""
EXPORT_STEP = _vsp_g.EXPORT_STEP
r""" STEP (*.stp) export type"""
EXPORT_PLOT3D = _vsp_g.EXPORT_PLOT3D
r""" PLOT3D (*.p3d) export type"""
EXPORT_IGES = _vsp_g.EXPORT_IGES
r""" IGES (*.igs) export type"""
EXPORT_BEM = _vsp_g.EXPORT_BEM
r""" Blade Element (*.bem) export type"""
EXPORT_DXF = _vsp_g.EXPORT_DXF
r""" AutoCAD (*.dxf) export type"""
EXPORT_FACET = _vsp_g.EXPORT_FACET
r""" Xpatch (*.facet) export type"""
EXPORT_SVG = _vsp_g.EXPORT_SVG
r""" SVG (*.svg) export type"""
EXPORT_PMARC = _vsp_g.EXPORT_PMARC
r""" PMARC 12 (*.pmin) export type"""
EXPORT_OBJ = _vsp_g.EXPORT_OBJ
r""" OBJ (*.obj) export type"""
EXPORT_SELIG_AIRFOIL = _vsp_g.EXPORT_SELIG_AIRFOIL
r""" Airfoil points (*.dat) export type"""
EXPORT_BEZIER_AIRFOIL = _vsp_g.EXPORT_BEZIER_AIRFOIL
r""" Airfoil curves (*.bz) export type"""
EXPORT_IGES_STRUCTURE = _vsp_g.EXPORT_IGES_STRUCTURE
r""" IGES structure (*.igs) export type"""
EXPORT_STEP_STRUCTURE = _vsp_g.EXPORT_STEP_STRUCTURE
r""" STEP structure (*.stp) export type"""
FEA_BC_STRUCTURE = _vsp_g.FEA_BC_STRUCTURE
r""" FEA boundary condition assigned to structure."""
FEA_BC_PART = _vsp_g.FEA_BC_PART
r""" FEA boundary condition assigned to part."""
FEA_BC_SUBSURF = _vsp_g.FEA_BC_SUBSURF
r""" FEA boundary condition assigned to subsurface."""
FEA_NUM_BC_TYPES = _vsp_g.FEA_NUM_BC_TYPES
r""" Number of FEA boundary condition definition types."""
FEA_BCM_USER = _vsp_g.FEA_BCM_USER
r""" FEA boundary condition constraints user defined."""
FEA_BCM_ALL = _vsp_g.FEA_BCM_ALL
r""" FEA boundary condition constrains all DOF."""
FEA_BCM_PIN = _vsp_g.FEA_BCM_PIN
r""" FEA boundary condition pin constraints."""
FEA_BCM_SYMM = _vsp_g.FEA_BCM_SYMM
r""" FEA boundary condition symmetrical constraints."""
FEA_BCM_ASYMM = _vsp_g.FEA_BCM_ASYMM
r""" FEA boundary condition antisymmetrical constraints."""
FEA_NUM_BCM_MODES = _vsp_g.FEA_NUM_BCM_MODES
r""" Number of FEA boundary condition constraint types."""
FEA_XSEC_GENERAL = _vsp_g.FEA_XSEC_GENERAL
r""" General XSec type"""
FEA_XSEC_CIRC = _vsp_g.FEA_XSEC_CIRC
r""" Circle XSec type"""
FEA_XSEC_PIPE = _vsp_g.FEA_XSEC_PIPE
r""" Pipe XSec type"""
FEA_XSEC_I = _vsp_g.FEA_XSEC_I
r""" I XSec type"""
FEA_XSEC_RECT = _vsp_g.FEA_XSEC_RECT
r""" Rectangle XSec type"""
FEA_XSEC_BOX = _vsp_g.FEA_XSEC_BOX
r""" Box XSec type"""
FEA_MASS_FILE_NAME = _vsp_g.FEA_MASS_FILE_NAME
r""" FEA Mesh mass export type"""
FEA_NASTRAN_FILE_NAME = _vsp_g.FEA_NASTRAN_FILE_NAME
r""" FEA Mesh NASTRAN export type"""
FEA_NKEY_FILE_NAME = _vsp_g.FEA_NKEY_FILE_NAME
r""" FEA Mesh NKey export type"""
FEA_CALCULIX_FILE_NAME = _vsp_g.FEA_CALCULIX_FILE_NAME
r""" FEA Mesh Calculix export type"""
FEA_STL_FILE_NAME = _vsp_g.FEA_STL_FILE_NAME
r""" FEA Mesh STL export type"""
FEA_GMSH_FILE_NAME = _vsp_g.FEA_GMSH_FILE_NAME
r""" FEA Mesh GMSH export type"""
FEA_SRF_FILE_NAME = _vsp_g.FEA_SRF_FILE_NAME
r""" FEA Mesh SRF export type"""
FEA_CURV_FILE_NAME = _vsp_g.FEA_CURV_FILE_NAME
r""" FEA Mesh CURV export type"""
FEA_PLOT3D_FILE_NAME = _vsp_g.FEA_PLOT3D_FILE_NAME
r""" FEA Mesh PLOT3D export type"""
FEA_IGES_FILE_NAME = _vsp_g.FEA_IGES_FILE_NAME
r""" FEA Mesh trimmed IGES export type"""
FEA_STEP_FILE_NAME = _vsp_g.FEA_STEP_FILE_NAME
r""" FEA Mesh trimmed STEP export type"""
FEA_NUM_FILE_NAMES = _vsp_g.FEA_NUM_FILE_NAMES
r""" Number of FEA Mesh export type."""
FEA_FIX_PT_ON_BODY = _vsp_g.FEA_FIX_PT_ON_BODY
r""" On body fixed point type"""
FEA_FIX_PT_GLOBAL_XYZ = _vsp_g.FEA_FIX_PT_GLOBAL_XYZ
r""" Global XYZ off body fixed point type"""
FEA_FIX_PT_DELTA_XYZ = _vsp_g.FEA_FIX_PT_DELTA_XYZ
r""" Delta XYZ off body fixed point type"""
FEA_FIX_PT_DELTA_UVN = _vsp_g.FEA_FIX_PT_DELTA_UVN
r""" Delta UVN off body fixed point type"""
FEA_FIX_PT_GEOM_ORIGIN = _vsp_g.FEA_FIX_PT_GEOM_ORIGIN
r""" Geom origin off body fixed point type"""
FEA_FIX_PT_GEOM_CG = _vsp_g.FEA_FIX_PT_GEOM_CG
r""" Geom CG off body fixed point type"""
FEA_NUM_FIX_PT_TYPES = _vsp_g.FEA_NUM_FIX_PT_TYPES
r""" Number of off body fixed point types"""
FEA_ISOTROPIC = _vsp_g.FEA_ISOTROPIC
r""" Isotropic material"""
FEA_ENG_ORTHO = _vsp_g.FEA_ENG_ORTHO
r""" Orthotropic material in engineering parameters"""
FEA_ENG_ORTHO_TRANS_ISO = _vsp_g.FEA_ENG_ORTHO_TRANS_ISO
r""" Orthotropic material with transverse isotropy assumed in engineering parameters"""
FEA_LAMINATE = _vsp_g.FEA_LAMINATE
r""" Laminate buildup material"""
FEA_NUM_MAT_TYPES = _vsp_g.FEA_NUM_MAT_TYPES
r""" Number of FEA material types"""
FEA_ORIENT_GLOBAL_X = _vsp_g.FEA_ORIENT_GLOBAL_X
r""" FEA Global X material orientation"""
FEA_ORIENT_GLOBAL_Y = _vsp_g.FEA_ORIENT_GLOBAL_Y
r""" FEA Global Y material orientation"""
FEA_ORIENT_GLOBAL_Z = _vsp_g.FEA_ORIENT_GLOBAL_Z
r""" FEA Global Z material orientation"""
FEA_ORIENT_COMP_X = _vsp_g.FEA_ORIENT_COMP_X
r""" FEA Comp X material orientation"""
FEA_ORIENT_COMP_Y = _vsp_g.FEA_ORIENT_COMP_Y
r""" FEA Comp Y material orientation"""
FEA_ORIENT_COMP_Z = _vsp_g.FEA_ORIENT_COMP_Z
r""" FEA Comp Z material orientation"""
FEA_ORIENT_PART_U = _vsp_g.FEA_ORIENT_PART_U
r""" FEA Part U material orientation"""
FEA_ORIENT_PART_V = _vsp_g.FEA_ORIENT_PART_V
r""" FEA Part V material orientation"""
FEA_ORIENT_OML_U = _vsp_g.FEA_ORIENT_OML_U
r""" FEA OML U material orientation"""
FEA_ORIENT_OML_V = _vsp_g.FEA_ORIENT_OML_V
r""" FEA OML V material orientation"""
FEA_ORIENT_OML_R = _vsp_g.FEA_ORIENT_OML_R
r""" FEA OML R material orientation"""
FEA_ORIENT_OML_S = _vsp_g.FEA_ORIENT_OML_S
r""" FEA OML S material orientation"""
FEA_ORIENT_OML_T = _vsp_g.FEA_ORIENT_OML_T
r""" FEA OML T material orientation"""
FEA_NUM_ORIENT_TYPES = _vsp_g.FEA_NUM_ORIENT_TYPES
r""" Number of FEA material orientation types"""
FEA_DEPRECATED = _vsp_g.FEA_DEPRECATED
r""" Flag for deprecated element type option"""
FEA_SHELL = _vsp_g.FEA_SHELL
r""" Shell (tris) FEA element type"""
FEA_BEAM = _vsp_g.FEA_BEAM
r""" Beam FEA element type"""
FEA_SHELL_AND_BEAM = _vsp_g.FEA_SHELL_AND_BEAM
r""" Both Shell and Beam FEA element types"""
FEA_NO_ELEMENTS = _vsp_g.FEA_NO_ELEMENTS
r""" FEA part with no elements"""
FEA_NUM_ELEMENT_TYPES = _vsp_g.FEA_NUM_ELEMENT_TYPES
r""" Number of FEA element type choices"""
FEA_KEEP = _vsp_g.FEA_KEEP
r""" Keep shell elements"""
FEA_DELETE = _vsp_g.FEA_DELETE
r""" Delete shell elements"""
FEA_NUM_SHELL_TREATMENT_TYPES = _vsp_g.FEA_NUM_SHELL_TREATMENT_TYPES
r""" Number of FEA subsurface treatment choices"""
FEA_SLICE = _vsp_g.FEA_SLICE
r""" Slice FEA Part type"""
FEA_RIB = _vsp_g.FEA_RIB
r""" Rib FEA Part type"""
FEA_SPAR = _vsp_g.FEA_SPAR
r""" Spar FEA Part type"""
FEA_FIX_POINT = _vsp_g.FEA_FIX_POINT
r""" Fixed Point FEA Part type"""
FEA_DOME = _vsp_g.FEA_DOME
r""" Dome FEA Part type"""
FEA_RIB_ARRAY = _vsp_g.FEA_RIB_ARRAY
r""" Rib array FEA Part type"""
FEA_SLICE_ARRAY = _vsp_g.FEA_SLICE_ARRAY
r""" Slice array FEA Part type"""
FEA_SKIN = _vsp_g.FEA_SKIN
r""" Skin FEA Part type"""
FEA_TRIM = _vsp_g.FEA_TRIM
r""" Trim FEA Part type"""
FEA_NUM_TYPES = _vsp_g.FEA_NUM_TYPES
r""" Number of FEA Part types"""
XY_BODY = _vsp_g.XY_BODY
r""" Slice is parallel to parent Geom body XY plane"""
YZ_BODY = _vsp_g.YZ_BODY
r""" Slice is parallel to parent Geom body YZ plane"""
XZ_BODY = _vsp_g.XZ_BODY
r""" Slice is parallel to parent Geom body XZ plane"""
XY_ABS = _vsp_g.XY_ABS
r""" Slice is parallel to absolute XY plane"""
YZ_ABS = _vsp_g.YZ_ABS
r""" Slice is parallel to absolute YZ plane"""
XZ_ABS = _vsp_g.XZ_ABS
r""" Slice is parallel to absolute XZ plane"""
SPINE_NORMAL = _vsp_g.SPINE_NORMAL
r""" Slice is perpendicular to thespine of the parent Geom"""
SI_UNIT = _vsp_g.SI_UNIT
r""" FEA Files output in (m, kg)"""
CGS_UNIT = _vsp_g.CGS_UNIT
r""" FEA Files output in (cm, g)"""
MPA_UNIT = _vsp_g.MPA_UNIT
r""" FEA Files output in (mm, tonne)"""
BFT_UNIT = _vsp_g.BFT_UNIT
r""" FEA Files output in (ft, slug)"""
BIN_UNIT = _vsp_g.BIN_UNIT
r""" FEA Files output in (in, lbf*sec^2/in)"""
NO_NORMAL = _vsp_g.NO_NORMAL
r""" FEA Rib or Rib Array has no set perpendicular edge"""
LE_NORMAL = _vsp_g.LE_NORMAL
r""" FEA Rib or Rib Array is set perpendicular to the leading edge"""
TE_NORMAL = _vsp_g.TE_NORMAL
r""" FEA Rib or Rib Array is set perpendicular to the trailing edge"""
SPAR_NORMAL = _vsp_g.SPAR_NORMAL
r""" FEA Rib or Rib Array is set perpendicular to an FEA Spar"""
FF_B_MANUAL = _vsp_g.FF_B_MANUAL
r""" Manual FF equation"""
FF_B_SCHEMENSKY_FUSE = _vsp_g.FF_B_SCHEMENSKY_FUSE
r""" Schemensky Fuselage FF equation"""
FF_B_SCHEMENSKY_NACELLE = _vsp_g.FF_B_SCHEMENSKY_NACELLE
r""" Schemensky Nacelle FF equation"""
FF_B_HOERNER_STREAMBODY = _vsp_g.FF_B_HOERNER_STREAMBODY
r""" Hoerner Streamlined Body FF equation"""
FF_B_TORENBEEK = _vsp_g.FF_B_TORENBEEK
r""" Torenbeek FF equation"""
FF_B_SHEVELL = _vsp_g.FF_B_SHEVELL
r""" Shevell FF equation"""
FF_B_COVERT = _vsp_g.FF_B_COVERT
r""" Covert FF equation"""
FF_B_JENKINSON_FUSE = _vsp_g.FF_B_JENKINSON_FUSE
r""" Jenkinson Fuselage FF equation"""
FF_B_JENKINSON_WING_NACELLE = _vsp_g.FF_B_JENKINSON_WING_NACELLE
r""" Jenkinson Wing Nacelle FF equation"""
FF_B_JENKINSON_AFT_FUSE_NACELLE = _vsp_g.FF_B_JENKINSON_AFT_FUSE_NACELLE
r""" Jenkinson Aft Fuselage Nacelle FF equation"""
FF_W_MANUAL = _vsp_g.FF_W_MANUAL
r""" Manual FF equation"""
FF_W_EDET_CONV = _vsp_g.FF_W_EDET_CONV
r""" EDET Conventional Airfoil FF equation"""
FF_W_EDET_ADV = _vsp_g.FF_W_EDET_ADV
r""" EDET Advanced Airfoil FF equation"""
FF_W_HOERNER = _vsp_g.FF_W_HOERNER
r""" Hoerner FF equation"""
FF_W_COVERT = _vsp_g.FF_W_COVERT
r""" Covert FF equation"""
FF_W_SHEVELL = _vsp_g.FF_W_SHEVELL
r""" Shevell FF equation"""
FF_W_KROO = _vsp_g.FF_W_KROO
r""" Kroo FF equation"""
FF_W_TORENBEEK = _vsp_g.FF_W_TORENBEEK
r""" Torenbeek FF equation"""
FF_W_DATCOM = _vsp_g.FF_W_DATCOM
r""" DATCOM FF equation"""
FF_W_SCHEMENSKY_6_SERIES_AF = _vsp_g.FF_W_SCHEMENSKY_6_SERIES_AF
r""" Schemensky 6 Series Airfoil FF equation"""
FF_W_SCHEMENSKY_4_SERIES_AF = _vsp_g.FF_W_SCHEMENSKY_4_SERIES_AF
r""" Schemensky 4 Series Airfoil FF equation"""
FF_W_JENKINSON_WING = _vsp_g.FF_W_JENKINSON_WING
r""" Jenkinson Wing FF equation"""
FF_W_JENKINSON_TAIL = _vsp_g.FF_W_JENKINSON_TAIL
r""" Jenkinson Tail FF equation"""
FF_W_SCHEMENSKY_SUPERCRITICAL_AF = _vsp_g.FF_W_SCHEMENSKY_SUPERCRITICAL_AF
r""" Schemensky Supercritical Airfoil FF equation"""
PD_UNITS_IMPERIAL = _vsp_g.PD_UNITS_IMPERIAL
r""" Imperial unit system"""
PD_UNITS_METRIC = _vsp_g.PD_UNITS_METRIC
r""" Metric unit system"""
OPEN = _vsp_g.OPEN
r""" Browse files that already exist"""
SAVE = _vsp_g.SAVE
r""" Browse file system and enter file name"""
NUM_FILE_CHOOSER_MODES = _vsp_g.NUM_FILE_CHOOSER_MODES
r""" Number of file chooser modes"""
FC_OPENVSP = _vsp_g.FC_OPENVSP
r""" OpenVSP's own file chooser with directory preferences."""
FC_NATIVE = _vsp_g.FC_NATIVE
r""" Operating system's native file chooser"""
NUM_FILE_CHOOSER_TYPES = _vsp_g.NUM_FILE_CHOOSER_TYPES
r""" Number of file chooser types"""
GDEV_TAB = _vsp_g.GDEV_TAB
r""" Custom GUI Tab"""
GDEV_SCROLL_TAB = _vsp_g.GDEV_SCROLL_TAB
r""" Custom GUI Fl_Scroll and Tab"""
GDEV_GROUP = _vsp_g.GDEV_GROUP
r""" Custom GUI Group"""
GDEV_PARM_BUTTON = _vsp_g.GDEV_PARM_BUTTON
r""" Custom GUI ParmButton"""
GDEV_INPUT = _vsp_g.GDEV_INPUT
r""" Custom GUI Input"""
GDEV_OUTPUT = _vsp_g.GDEV_OUTPUT
r""" Custom GUI Output"""
GDEV_SLIDER = _vsp_g.GDEV_SLIDER
r""" Custom GUI Slider"""
GDEV_SLIDER_ADJ_RANGE = _vsp_g.GDEV_SLIDER_ADJ_RANGE
r""" Custom GUI SliderAdjRangeInput"""
GDEV_CHECK_BUTTON = _vsp_g.GDEV_CHECK_BUTTON
r""" Custom GUI CheckButton"""
GDEV_CHECK_BUTTON_BIT = _vsp_g.GDEV_CHECK_BUTTON_BIT
r""" Custom GUI CheckButtonBit"""
GDEV_RADIO_BUTTON = _vsp_g.GDEV_RADIO_BUTTON
r""" Custom GUI RadioButton"""
GDEV_TOGGLE_BUTTON = _vsp_g.GDEV_TOGGLE_BUTTON
r""" Custom GUI ToggleButton"""
GDEV_TOGGLE_RADIO_GROUP = _vsp_g.GDEV_TOGGLE_RADIO_GROUP
r""" Custom GUI ToggleRadioGroup (NOT IMPLEMENTED)"""
GDEV_TRIGGER_BUTTON = _vsp_g.GDEV_TRIGGER_BUTTON
r""" Custom GUI TriggerButton"""
GDEV_COUNTER = _vsp_g.GDEV_COUNTER
r""" Custom GUI Counter"""
GDEV_CHOICE = _vsp_g.GDEV_CHOICE
r""" Custom GUI Choice"""
GDEV_ADD_CHOICE_ITEM = _vsp_g.GDEV_ADD_CHOICE_ITEM
r""" Add item to custom GUI Choice"""
GDEV_SLIDER_INPUT = _vsp_g.GDEV_SLIDER_INPUT
r""" Custom GUI SliderInput"""
GDEV_SLIDER_ADJ_RANGE_INPUT = _vsp_g.GDEV_SLIDER_ADJ_RANGE_INPUT
r""" Custom GUI SliderAdjRangeInput"""
GDEV_SLIDER_ADJ_RANGE_TWO_INPUT = _vsp_g.GDEV_SLIDER_ADJ_RANGE_TWO_INPUT
r""" Custom GUI SliderAdjRangeInput with two inputs (NOT IMPLEMENTED)"""
GDEV_FRACT_PARM_SLIDER = _vsp_g.GDEV_FRACT_PARM_SLIDER
r""" Custom GUI FractParmSlider"""
GDEV_STRING_INPUT = _vsp_g.GDEV_STRING_INPUT
r""" Custom GUI StringInput"""
GDEV_INDEX_SELECTOR = _vsp_g.GDEV_INDEX_SELECTOR
r""" Custom GUI IndexSelector"""
GDEV_COLOR_PICKER = _vsp_g.GDEV_COLOR_PICKER
r""" Custom GUI ColorPicker"""
GDEV_YGAP = _vsp_g.GDEV_YGAP
r""" Custom GUI Y gap"""
GDEV_DIVIDER_BOX = _vsp_g.GDEV_DIVIDER_BOX
r""" Custom GUI divider box"""
GDEV_BEGIN_SAME_LINE = _vsp_g.GDEV_BEGIN_SAME_LINE
r""" Set begin same line flag for custom GUI"""
GDEV_END_SAME_LINE = _vsp_g.GDEV_END_SAME_LINE
r""" Set end same line flag for custom GUI"""
GDEV_FORCE_WIDTH = _vsp_g.GDEV_FORCE_WIDTH
r""" Set forced width for custom GUI"""
GDEV_SET_FORMAT = _vsp_g.GDEV_SET_FORMAT
r""" Set format label for custom GUI"""
NUM_GDEV_TYPES = _vsp_g.NUM_GDEV_TYPES
r""" Number of GDEV types"""
ALL_GDEV_TYPES = _vsp_g.ALL_GDEV_TYPES
r""" Flag for all GDEV types"""
MALE = _vsp_g.MALE
r""" Male Human component"""
FEMALE = _vsp_g.FEMALE
r""" Female Human component"""
POD_GEOM_SCREEN = _vsp_g.POD_GEOM_SCREEN
r""" Pod geom screen"""
FUSELAGE_GEOM_SCREEN = _vsp_g.FUSELAGE_GEOM_SCREEN
r""" Fuselage geom screen"""
MS_WING_GEOM_SCREEN = _vsp_g.MS_WING_GEOM_SCREEN
r""" Wing geom screen"""
BLANK_GEOM_SCREEN = _vsp_g.BLANK_GEOM_SCREEN
r""" Blank geom screen"""
MESH_GEOM_SCREEN = _vsp_g.MESH_GEOM_SCREEN
r""" Mesh geom screen"""
STACK_GEOM_SCREEN = _vsp_g.STACK_GEOM_SCREEN
r""" Stack geom screen"""
CUSTOM_GEOM_SCREEN = _vsp_g.CUSTOM_GEOM_SCREEN
r""" Custom geom screen"""
PT_CLOUD_GEOM_SCREEN = _vsp_g.PT_CLOUD_GEOM_SCREEN
r""" Point cloud geom screen"""
PROP_GEOM_SCREEN = _vsp_g.PROP_GEOM_SCREEN
r""" Propeller geom screen"""
HINGE_GEOM_SCREEN = _vsp_g.HINGE_GEOM_SCREEN
r""" Hinge geom screen"""
MULT_GEOM_SCREEN = _vsp_g.MULT_GEOM_SCREEN
r""" Multiple geom screen"""
CONFORMAL_SCREEN = _vsp_g.CONFORMAL_SCREEN
r""" Conformal geom screen"""
ELLIPSOID_GEOM_SCREEN = _vsp_g.ELLIPSOID_GEOM_SCREEN
r""" Ellipsoid geom screen"""
BOR_GEOM_SCREEN = _vsp_g.BOR_GEOM_SCREEN
r""" Body of revolution geom screen"""
WIRE_FRAME_GEOM_SCREEN = _vsp_g.WIRE_FRAME_GEOM_SCREEN
r""" Wireframe geom screen"""
HUMAN_GEOM_SCREEN = _vsp_g.HUMAN_GEOM_SCREEN
r""" Human geom screen"""
NUM_GEOM_SCREENS = _vsp_g.NUM_GEOM_SCREENS
r""" Number of geom screens"""
ALL_GEOM_SCREENS = _vsp_g.ALL_GEOM_SCREENS
r""" All geom screens"""
VSP_ADV_LINK_SCREEN = _vsp_g.VSP_ADV_LINK_SCREEN
r""" Advanced linking screen"""
VSP_ADV_LINK_VAR_RENAME_SCREEN = _vsp_g.VSP_ADV_LINK_VAR_RENAME_SCREEN
r""" Advanced link variable rename screen"""
VSP_AERO_STRUCT_SCREEN = _vsp_g.VSP_AERO_STRUCT_SCREEN
r""" Aero / structural analysis screen"""
VSP_AIRFOIL_CURVES_EXPORT_SCREEN = _vsp_g.VSP_AIRFOIL_CURVES_EXPORT_SCREEN
r""" Airfoil curves export screen"""
VSP_AIRFOIL_POINTS_EXPORT_SCREEN = _vsp_g.VSP_AIRFOIL_POINTS_EXPORT_SCREEN
r""" Airfoil points screen"""
VSP_BACKGROUND_SCREEN = _vsp_g.VSP_BACKGROUND_SCREEN
r""" Background control screen"""
VSP_BEM_OPTIONS_SCREEN = _vsp_g.VSP_BEM_OPTIONS_SCREEN
r""" Blade element method options screen"""
VSP_CFD_MESH_SCREEN = _vsp_g.VSP_CFD_MESH_SCREEN
r""" CFD Mesh screen"""
VSP_CLIPPING_SCREEN = _vsp_g.VSP_CLIPPING_SCREEN
r""" Clipping screen"""
VSP_COMP_GEOM_SCREEN = _vsp_g.VSP_COMP_GEOM_SCREEN
r""" CompGeom screen"""
VSP_COR_SCREEN = _vsp_g.VSP_COR_SCREEN
r""" Center of rotation screen"""
VSP_CURVE_EDIT_SCREEN = _vsp_g.VSP_CURVE_EDIT_SCREEN
r""" Curve edit screen"""
VSP_DEGEN_GEOM_SCREEN = _vsp_g.VSP_DEGEN_GEOM_SCREEN
r""" Degen geom screen"""
VSP_DESIGN_VAR_SCREEN = _vsp_g.VSP_DESIGN_VAR_SCREEN
r""" Design variables screen"""
VSP_DXF_OPTIONS_SCREEN = _vsp_g.VSP_DXF_OPTIONS_SCREEN
r""" DXF options screen"""
VSP_EXPORT_SCREEN = _vsp_g.VSP_EXPORT_SCREEN
r""" Export screen"""
VSP_FEA_PART_EDIT_SCREEN = _vsp_g.VSP_FEA_PART_EDIT_SCREEN
r""" FEA Part edit screen"""
VSP_FEA_XSEC_SCREEN = _vsp_g.VSP_FEA_XSEC_SCREEN
r""" FEA XSec screen"""
VSP_FIT_MODEL_SCREEN = _vsp_g.VSP_FIT_MODEL_SCREEN
r""" Fit model screen"""
VSP_IGES_OPTIONS_SCREEN = _vsp_g.VSP_IGES_OPTIONS_SCREEN
r""" IGES options screen"""
VSP_IGES_STRUCTURE_OPTIONS_SCREEN = _vsp_g.VSP_IGES_STRUCTURE_OPTIONS_SCREEN
r""" IGES structure options screen"""
VSP_EXPORT_CUSTOM_SCRIPT = _vsp_g.VSP_EXPORT_CUSTOM_SCRIPT
r""" Custom geom export screen"""
VSP_IMPORT_SCREEN = _vsp_g.VSP_IMPORT_SCREEN
r""" Import screen"""
VSP_LIGHTING_SCREEN = _vsp_g.VSP_LIGHTING_SCREEN
r""" Lighting screen"""
VSP_MANAGE_GEOM_SCREEN = _vsp_g.VSP_MANAGE_GEOM_SCREEN
r""" Manage geom screen"""
VSP_MANAGE_TEXTURE_SCREEN = _vsp_g.VSP_MANAGE_TEXTURE_SCREEN
r""" Texture mapping screen"""
VSP_MASS_PROP_SCREEN = _vsp_g.VSP_MASS_PROP_SCREEN
r""" Mass properties screen"""
VSP_MATERIAL_EDIT_SCREEN = _vsp_g.VSP_MATERIAL_EDIT_SCREEN
r""" Material edit screen"""
VSP_MEASURE_SCREEN = _vsp_g.VSP_MEASURE_SCREEN
r""" Measure screen"""
VSP_NERF_MANAGE_GEOM_SCREEN = _vsp_g.VSP_NERF_MANAGE_GEOM_SCREEN
r""" NERF'ed (limited to make safe) Manage geom screen"""
VSP_SNAP_TO_SCREEN = _vsp_g.VSP_SNAP_TO_SCREEN
r""" Snap to screen"""
VSP_PARASITE_DRAG_SCREEN = _vsp_g.VSP_PARASITE_DRAG_SCREEN
r""" Parasite drg screen"""
VSP_PARM_DEBUG_SCREEN = _vsp_g.VSP_PARM_DEBUG_SCREEN
r""" Parameter debug screen"""
VSP_PARM_LINK_SCREEN = _vsp_g.VSP_PARM_LINK_SCREEN
r""" Parameter linking screen"""
VSP_PARM_SCREEN = _vsp_g.VSP_PARM_SCREEN
r""" Parameter screen"""
VSP_PICK_SET_SCREEN = _vsp_g.VSP_PICK_SET_SCREEN
r""" Pick set screen"""
VSP_PREFERENCES_SCREEN = _vsp_g.VSP_PREFERENCES_SCREEN
r""" Preferences screen"""
VSP_PROJECTION_SCREEN = _vsp_g.VSP_PROJECTION_SCREEN
r""" Projected area screen"""
VSP_PSLICE_SCREEN = _vsp_g.VSP_PSLICE_SCREEN
r""" Planar slicing screen"""
VSP_SCREENSHOT_SCREEN = _vsp_g.VSP_SCREENSHOT_SCREEN
r""" Screenshot screen"""
VSP_SELECT_FILE_SCREEN = _vsp_g.VSP_SELECT_FILE_SCREEN
r""" Select file screen"""
VSP_SET_EDITOR_SCREEN = _vsp_g.VSP_SET_EDITOR_SCREEN
r""" Set editor screen"""
VSP_STEP_OPTIONS_SCREEN = _vsp_g.VSP_STEP_OPTIONS_SCREEN
r""" STEP options screen"""
VSP_STEP_STRUCTURE_OPTIONS_SCREEN = _vsp_g.VSP_STEP_STRUCTURE_OPTIONS_SCREEN
r""" STEP structure options screen"""
VSP_STL_OPTIONS_SCREEN = _vsp_g.VSP_STL_OPTIONS_SCREEN
r""" STL options screen"""
VSP_STRUCT_SCREEN = _vsp_g.VSP_STRUCT_SCREEN
r""" Structure definition screen"""
VSP_STRUCT_ASSEMBLY_SCREEN = _vsp_g.VSP_STRUCT_ASSEMBLY_SCREEN
r""" Structure assembly screen"""
VSP_SURFACE_INTERSECTION_SCREEN = _vsp_g.VSP_SURFACE_INTERSECTION_SCREEN
r""" Surface intersection screen"""
VSP_SVG_OPTIONS_SCREEN = _vsp_g.VSP_SVG_OPTIONS_SCREEN
r""" SVG options screen"""
VSP_USER_PARM_SCREEN = _vsp_g.VSP_USER_PARM_SCREEN
r""" User parameter screen"""
VSP_VAR_PRESET_SCREEN = _vsp_g.VSP_VAR_PRESET_SCREEN
r""" Variable presets screen"""
VSP_VIEW_SCREEN = _vsp_g.VSP_VIEW_SCREEN
r""" Adjust viewpoint screen"""
VSP_VSPAERO_PLOT_SCREEN = _vsp_g.VSP_VSPAERO_PLOT_SCREEN
r""" VSPAERO results manager screen"""
VSP_VSPAERO_SCREEN = _vsp_g.VSP_VSPAERO_SCREEN
r""" VSPAERO screen"""
VSP_XSEC_SCREEN = _vsp_g.VSP_XSEC_SCREEN
r""" XSec screen"""
VSP_WAVEDRAG_SCREEN = _vsp_g.VSP_WAVEDRAG_SCREEN
r""" Wave drag screen"""
VSP_MAIN_SCREEN = _vsp_g.VSP_MAIN_SCREEN
r""" Main screen"""
VSP_NUM_SCREENS = _vsp_g.VSP_NUM_SCREENS
r""" Number of screens"""
VSP_ALL_SCREENS = _vsp_g.VSP_ALL_SCREENS
r""" Flag for all screens"""
EDIT_XSEC_CIRCLE = _vsp_g.EDIT_XSEC_CIRCLE
r""" Circle initialized as cubic Bezier type"""
EDIT_XSEC_ELLIPSE = _vsp_g.EDIT_XSEC_ELLIPSE
r""" Ellipse initialized as PCHIP type"""
EDIT_XSEC_RECTANGLE = _vsp_g.EDIT_XSEC_RECTANGLE
r""" Rectangle initialized as linear type"""
IMPORT_STL = _vsp_g.IMPORT_STL
r""" Stereolith (*.stl) import"""
IMPORT_NASCART = _vsp_g.IMPORT_NASCART
r""" NASCART (*.dat) import"""
IMPORT_CART3D_TRI = _vsp_g.IMPORT_CART3D_TRI
r""" Cart3D (*.try) import"""
IMPORT_XSEC_MESH = _vsp_g.IMPORT_XSEC_MESH
r""" XSec as Tri Mesh (*.hrm) import"""
IMPORT_PTS = _vsp_g.IMPORT_PTS
r""" Point Cloud (*.pts) import"""
IMPORT_V2 = _vsp_g.IMPORT_V2
r""" OpenVSP v2 (*.vsp) import"""
IMPORT_BEM = _vsp_g.IMPORT_BEM
r""" Blade Element (*.bem) import"""
IMPORT_XSEC_WIRE = _vsp_g.IMPORT_XSEC_WIRE
r""" XSec as Wireframe (*.hrm) import"""
IMPORT_P3D_WIRE = _vsp_g.IMPORT_P3D_WIRE
r""" Plot3D as Wireframe (*.p3d) import"""
INTERSECT_SRF_FILE_NAME = _vsp_g.INTERSECT_SRF_FILE_NAME
r""" SRF intersection file type"""
INTERSECT_CURV_FILE_NAME = _vsp_g.INTERSECT_CURV_FILE_NAME
r""" CURV intersection file type"""
INTERSECT_PLOT3D_FILE_NAME = _vsp_g.INTERSECT_PLOT3D_FILE_NAME
r""" PLOT3D intersection file type"""
INTERSECT_IGES_FILE_NAME = _vsp_g.INTERSECT_IGES_FILE_NAME
r""" IGES intersection file type"""
INTERSECT_STEP_FILE_NAME = _vsp_g.INTERSECT_STEP_FILE_NAME
r""" STEP intersection file type"""
INTERSECT_NUM_FILE_NAMES = _vsp_g.INTERSECT_NUM_FILE_NAMES
r""" Number of surface intersection file types"""
LEN_MM = _vsp_g.LEN_MM
r""" Millimeter"""
LEN_CM = _vsp_g.LEN_CM
r""" Centimeter"""
LEN_M = _vsp_g.LEN_M
r""" Meter"""
LEN_IN = _vsp_g.LEN_IN
r""" Inch"""
LEN_FT = _vsp_g.LEN_FT
r""" Feet"""
LEN_YD = _vsp_g.LEN_YD
r""" Yard"""
LEN_UNITLESS = _vsp_g.LEN_UNITLESS
r""" Unitless"""
NUM_LEN_UNIT = _vsp_g.NUM_LEN_UNIT
r""" Number of length unit types"""
MASS_UNIT_G = _vsp_g.MASS_UNIT_G
r""" Gram"""
MASS_UNIT_KG = _vsp_g.MASS_UNIT_KG
r""" Kilogram"""
MASS_UNIT_TONNE = _vsp_g.MASS_UNIT_TONNE
r""" Tonne"""
MASS_UNIT_LBM = _vsp_g.MASS_UNIT_LBM
r""" Pound-mass"""
MASS_UNIT_SLUG = _vsp_g.MASS_UNIT_SLUG
r""" Slug"""
MASS_LBFSEC2IN = _vsp_g.MASS_LBFSEC2IN
r""" lbf*sec^2/in"""
NUM_MASS_UNIT = _vsp_g.NUM_MASS_UNIT
r""" Number of mass unit types"""
NO_REASON = _vsp_g.NO_REASON
r""" No reason determined."""
MAX_LEN_CONSTRAINT = _vsp_g.MAX_LEN_CONSTRAINT
r""" Maximum edge length."""
CURV_GAP = _vsp_g.CURV_GAP
r""" Maximum gap curvature based criteria."""
CURV_NCIRCSEG = _vsp_g.CURV_NCIRCSEG
r""" Minimum number of segments to define a circle curvature based criteria."""
SOURCES = _vsp_g.SOURCES
r""" Mesh sources."""
MIN_LEN_CONSTRAINT = _vsp_g.MIN_LEN_CONSTRAINT
r""" Minimum edge length."""
MIN_LEN_CONSTRAINT_CURV_GAP = _vsp_g.MIN_LEN_CONSTRAINT_CURV_GAP
r""" Maximum gap constrained by minimum length."""
MIN_LEN_CONSTRAINT_CURV_NCIRCSEG = _vsp_g.MIN_LEN_CONSTRAINT_CURV_NCIRCSEG
r""" Number of segments to define a circle constrained by minimum length."""
MIN_LEN_CONSTRAINT_SOURCES = _vsp_g.MIN_LEN_CONSTRAINT_SOURCES
r""" Mesh sources constrained by minimum length (not applied)."""
GROW_LIMIT_MAX_LEN_CONSTRAINT = _vsp_g.GROW_LIMIT_MAX_LEN_CONSTRAINT
r""" Maximum growth limit from maximum edge length (not used, growth limited small to large)."""
GROW_LIMIT_CURV_GAP = _vsp_g.GROW_LIMIT_CURV_GAP
r""" Maximum growth limit from maximum gap."""
GROW_LIMIT_CURV_NCIRCSEG = _vsp_g.GROW_LIMIT_CURV_NCIRCSEG
r""" Maximum growth limit from number of segments to define a circle."""
GROW_LIMIT_SOURCES = _vsp_g.GROW_LIMIT_SOURCES
r""" Maximum growth limit from mesh sources."""
GROW_LIMIT_MIN_LEN_CONSTRAINT = _vsp_g.GROW_LIMIT_MIN_LEN_CONSTRAINT
r""" Maximum growth limit from minimum length constraint."""
GROW_LIMIT_MIN_LEN_CONSTRAINT_CURV_GAP = _vsp_g.GROW_LIMIT_MIN_LEN_CONSTRAINT_CURV_GAP
r""" Maximum growth limit from maximum gap constrained by minimum length."""
GROW_LIMIT_MIN_LEN_CONSTRAINT_CURV_NCIRCSEG = _vsp_g.GROW_LIMIT_MIN_LEN_CONSTRAINT_CURV_NCIRCSEG
r""" Maximum growth limit from number of segments to define a circle constrained by minimum length."""
GROW_LIMIT_MIN_LEN_CONSTRAINT_SOURCES = _vsp_g.GROW_LIMIT_MIN_LEN_CONSTRAINT_SOURCES
r""" Maximum growth limit from sources constrained by minimum length."""
NUM_MESH_REASON = _vsp_g.NUM_MESH_REASON
r""" Number of reasons that can set the mesh local minimum edge length."""
MIN_LEN_INCREMENT = _vsp_g.MIN_LEN_INCREMENT
r""" Reason increment when adding minimum length constraint."""
GROW_LIMIT_INCREMENT = _vsp_g.GROW_LIMIT_INCREMENT
r""" Reason increment when adding growth limit constraint."""
MIN_GROW_LIMIT = _vsp_g.MIN_GROW_LIMIT
r""" Reason marker for minimum reason to apply growth limit."""
PARM_DOUBLE_TYPE = _vsp_g.PARM_DOUBLE_TYPE
r""" Double Parm type (Parm)"""
PARM_INT_TYPE = _vsp_g.PARM_INT_TYPE
r""" Integer Parm type (IntParm)"""
PARM_BOOL_TYPE = _vsp_g.PARM_BOOL_TYPE
r""" Bool Parm type (BoolParm)"""
PARM_FRACTION_TYPE = _vsp_g.PARM_FRACTION_TYPE
r""" Fraction Parm type (FractionParm)"""
PARM_LIMITED_INT_TYPE = _vsp_g.PARM_LIMITED_INT_TYPE
r""" Limited integer Parm type (LimIntParm)"""
PARM_NOTEQ_TYPE = _vsp_g.PARM_NOTEQ_TYPE
r""" Not equal Parm type (NotEqParm)"""
PARM_POWER_INT_TYPE = _vsp_g.PARM_POWER_INT_TYPE
r""" Power integer Parm type (PowIntParm)"""
PATCH_NONE = _vsp_g.PATCH_NONE
r""" No patch"""
PATCH_POINT = _vsp_g.PATCH_POINT
r""" Point patch type"""
PATCH_LINE = _vsp_g.PATCH_LINE
r""" Line patch type"""
PATCH_COPY = _vsp_g.PATCH_COPY
r""" Copy patch type"""
PATCH_HALFWAY = _vsp_g.PATCH_HALFWAY
r""" Halfway patch type"""
PATCH_NUM_TYPES = _vsp_g.PATCH_NUM_TYPES
r""" Number of patch types"""
LINEAR = _vsp_g.LINEAR
r""" Linear curve type"""
PCHIP = _vsp_g.PCHIP
r""" Piecewise Cubic Hermite Interpolating Polynomial curve type"""
CEDIT = _vsp_g.CEDIT
r""" Cubic Bezier curve type"""
APPROX_CEDIT = _vsp_g.APPROX_CEDIT
r""" Approximate curve as Cubic Bezier"""
NUM_PCURV_TYPE = _vsp_g.NUM_PCURV_TYPE
r""" Number of curve types"""
PRES_UNIT_PSF = _vsp_g.PRES_UNIT_PSF
r""" Pounds per square foot"""
PRES_UNIT_PSI = _vsp_g.PRES_UNIT_PSI
r""" Pounds per square inch"""
PRES_UNIT_BA = _vsp_g.PRES_UNIT_BA
r""" Barye"""
PRES_UNIT_PA = _vsp_g.PRES_UNIT_PA
r""" Pascal"""
PRES_UNIT_KPA = _vsp_g.PRES_UNIT_KPA
r""" Kilopascal"""
PRES_UNIT_MPA = _vsp_g.PRES_UNIT_MPA
r""" Megapascal"""
PRES_UNIT_INCHHG = _vsp_g.PRES_UNIT_INCHHG
r""" Inch of mercury"""
PRES_UNIT_MMHG = _vsp_g.PRES_UNIT_MMHG
r""" Millimeter of mercury"""
PRES_UNIT_MMH20 = _vsp_g.PRES_UNIT_MMH20
r""" Millimeter of water"""
PRES_UNIT_MB = _vsp_g.PRES_UNIT_MB
r""" Millibar"""
PRES_UNIT_ATM = _vsp_g.PRES_UNIT_ATM
r""" Atmosphere"""
NUM_PRES_UNIT = _vsp_g.NUM_PRES_UNIT
r""" Number of pressure unit choices"""
NO_BOUNDARY = _vsp_g.NO_BOUNDARY
r""" No boundary"""
SET_BOUNDARY = _vsp_g.SET_BOUNDARY
r""" Set boundary"""
GEOM_BOUNDARY = _vsp_g.GEOM_BOUNDARY
r""" Geom boundary"""
NUM_PROJ_BNDY_OPTIONS = _vsp_g.NUM_PROJ_BNDY_OPTIONS
r""" Number of projected area boundary options"""
X_PROJ = _vsp_g.X_PROJ
r""" Project in X axis direction"""
Y_PROJ = _vsp_g.Y_PROJ
r""" Project in Y axis direction"""
Z_PROJ = _vsp_g.Z_PROJ
r""" Project in Z axis direction"""
GEOM_PROJ = _vsp_g.GEOM_PROJ
r""" Project toward a Geom"""
VEC_PROJ = _vsp_g.VEC_PROJ
r""" Project along a 3D vector"""
NUM_PROJ_DIR_OPTIONS = _vsp_g.NUM_PROJ_DIR_OPTIONS
r""" Number of Projected Area direction types"""
SET_TARGET = _vsp_g.SET_TARGET
r""" Set target type"""
GEOM_TARGET = _vsp_g.GEOM_TARGET
r""" Geom target type"""
NUM_PROJ_TGT_OPTIONS = _vsp_g.NUM_PROJ_TGT_OPTIONS
r""" Number of Projected Area target types"""
PROP_BLADES = _vsp_g.PROP_BLADES
r""" Propeller Geom is defined by individual propeller blades"""
PROP_BOTH = _vsp_g.PROP_BOTH
r""" Propeller Geom is defined by blades and a disk together"""
PROP_DISK = _vsp_g.PROP_DISK
r""" Propeller Geom is defined by a flat circular disk"""
PROP_CHORD = _vsp_g.PROP_CHORD
r""" Chord parameterization"""
PROP_TWIST = _vsp_g.PROP_TWIST
r""" Twist parameterization"""
PROP_RAKE = _vsp_g.PROP_RAKE
r""" Rake parameterization"""
PROP_SKEW = _vsp_g.PROP_SKEW
r""" Skew parameterization"""
PROP_SWEEP = _vsp_g.PROP_SWEEP
r""" Sweep parameterization"""
PROP_THICK = _vsp_g.PROP_THICK
r""" Thickness parameterization"""
PROP_CLI = _vsp_g.PROP_CLI
r""" Induced lift coefficient parameterization"""
PROP_AXIAL = _vsp_g.PROP_AXIAL
r""" Axial parameterization"""
PROP_TANGENTIAL = _vsp_g.PROP_TANGENTIAL
r""" Tangential parameterization"""
NUM_PROP_PCURVE = _vsp_g.NUM_PROP_PCURVE
r""" Number of propeller blade curve parameterization options"""
REORDER_MOVE_UP = _vsp_g.REORDER_MOVE_UP
r""" Move up one position"""
REORDER_MOVE_DOWN = _vsp_g.REORDER_MOVE_DOWN
r""" Move down one position"""
REORDER_MOVE_TOP = _vsp_g.REORDER_MOVE_TOP
r""" Move to top"""
REORDER_MOVE_BOTTOM = _vsp_g.REORDER_MOVE_BOTTOM
r""" Move to bottom"""
NUM_REORDER_TYPES = _vsp_g.NUM_REORDER_TYPES
r""" Number reordering instructions"""
MANUAL_REF = _vsp_g.MANUAL_REF
r""" Manually specify the reference areas and lengths"""
COMPONENT_REF = _vsp_g.COMPONENT_REF
r""" Use a particular wing to calculate the reference area and lengths"""
NUM_REF_TYPES = _vsp_g.NUM_REF_TYPES
r""" Number of wing reference types"""
INVALID_TYPE = _vsp_g.INVALID_TYPE
r""" Invalid result data type"""
INT_DATA = _vsp_g.INT_DATA
r""" Integer result data type"""
DOUBLE_DATA = _vsp_g.DOUBLE_DATA
r""" Double result data type"""
STRING_DATA = _vsp_g.STRING_DATA
r""" String result data type"""
VEC3D_DATA = _vsp_g.VEC3D_DATA
r""" Vec3d result data type"""
DOUBLE_MATRIX_DATA = _vsp_g.DOUBLE_MATRIX_DATA
r""" Double matrix result data type"""
MESH_INDEXED_TRI = _vsp_g.MESH_INDEXED_TRI
r""" Indexed triangulated mesh Geom type"""
MESH_SLICE_TRI = _vsp_g.MESH_SLICE_TRI
r""" Sliced Triangulated mesh Geom type"""
GEOM_XSECS = _vsp_g.GEOM_XSECS
r""" GeomXSec Geom type"""
MESH_INDEX_AND_SLICE_TRI = _vsp_g.MESH_INDEX_AND_SLICE_TRI
r""" Both indexed and sliced triangulated mesh Geom type"""
RHO_UNIT_SLUG_FT3 = _vsp_g.RHO_UNIT_SLUG_FT3
r""" Slug per cubic foot"""
RHO_UNIT_G_CM3 = _vsp_g.RHO_UNIT_G_CM3
r""" Gram per cubic centimeter"""
RHO_UNIT_KG_M3 = _vsp_g.RHO_UNIT_KG_M3
r""" Kilogram per cubic meter"""
RHO_UNIT_TONNE_MM3 = _vsp_g.RHO_UNIT_TONNE_MM3
r""" Tonne per cubic millimeter"""
RHO_UNIT_LBM_FT3 = _vsp_g.RHO_UNIT_LBM_FT3
r""" Pound-mass per cubic foot"""
RHO_UNIT_LBFSEC2_IN4 = _vsp_g.RHO_UNIT_LBFSEC2_IN4
r""" Pound-force-second squared per inch to the fourth"""
RHO_UNIT_LBM_IN3 = _vsp_g.RHO_UNIT_LBM_IN3
r""" Pound-mass per cubic inch"""
NUM_RHO_UNIT = _vsp_g.NUM_RHO_UNIT
r""" Number of density unit options"""
SET_NONE = _vsp_g.SET_NONE
r""" None set"""
SET_ALL = _vsp_g.SET_ALL
r""" All set"""
SET_SHOWN = _vsp_g.SET_SHOWN
r""" Shown set"""
SET_NOT_SHOWN = _vsp_g.SET_NOT_SHOWN
r""" Not shown set"""
SET_FIRST_USER = _vsp_g.SET_FIRST_USER
r""" First user-defined set"""
STEP_SHELL = _vsp_g.STEP_SHELL
r""" Manifold shell surface STEP file representation"""
STEP_BREP = _vsp_g.STEP_BREP
r""" Manifold solid BREP STEP file representation"""
SS_INC_TREAT_AS_PARENT = _vsp_g.SS_INC_TREAT_AS_PARENT
r""" Treat the sub-surface the same as the parent"""
SS_INC_SEPARATE_TREATMENT = _vsp_g.SS_INC_SEPARATE_TREATMENT
r""" Treat the sub-surface separately from the parent"""
SS_INC_ZERO_DRAG = _vsp_g.SS_INC_ZERO_DRAG
r""" No drag contribution for the sub-surface"""
INSIDE = _vsp_g.INSIDE
r""" The interior of the sub-surface is its surface"""
OUTSIDE = _vsp_g.OUTSIDE
r""" The exterior of the sub-surface is its surface"""
NONE = _vsp_g.NONE
r""" No part of the parent surface belongs to the sub-surface"""
CONST_U = _vsp_g.CONST_U
r""" Constant U sub-surface"""
CONST_W = _vsp_g.CONST_W
r""" Constant W sub-surface"""
SS_LINE = _vsp_g.SS_LINE
r""" Line sub-surface type"""
SS_RECTANGLE = _vsp_g.SS_RECTANGLE
r""" Rectangle sub-surface type"""
SS_ELLIPSE = _vsp_g.SS_ELLIPSE
r""" Ellipse sub-surface type"""
SS_CONTROL = _vsp_g.SS_CONTROL
r""" Control sub-surface type"""
SS_LINE_ARRAY = _vsp_g.SS_LINE_ARRAY
r""" Line array sub-surface type"""
SS_FINITE_LINE = _vsp_g.SS_FINITE_LINE
r""" Finite line sub-surface type"""
SS_NUM_TYPES = _vsp_g.SS_NUM_TYPES
r""" Number of sub-surface types"""
SYM_XY = _vsp_g.SYM_XY
r""" XY planar symmetry."""
SYM_XZ = _vsp_g.SYM_XZ
r""" XZ planar symmetry."""
SYM_YZ = _vsp_g.SYM_YZ
r""" YZ planar symmetry."""
SYM_ROT_X = _vsp_g.SYM_ROT_X
r""" X rotational symmetry."""
SYM_ROT_Y = _vsp_g.SYM_ROT_Y
r""" Y rotational symmetry."""
SYM_ROT_Z = _vsp_g.SYM_ROT_Z
r""" Z rotational symmetry."""
SYM_PLANAR_TYPES = _vsp_g.SYM_PLANAR_TYPES
r""" Number of planar symmetry types."""
SYM_NUM_TYPES = _vsp_g.SYM_NUM_TYPES
r""" Number of symmetry types."""
SYM_NONE = _vsp_g.SYM_NONE
r""" No cross section symmetry."""
SYM_RL = _vsp_g.SYM_RL
r""" Right/left cross section symmetry."""
SYM_TB = _vsp_g.SYM_TB
r""" Top/bottom cross section symmetry."""
SYM_ALL = _vsp_g.SYM_ALL
r""" All cross section symmetry."""
TEMP_UNIT_K = _vsp_g.TEMP_UNIT_K
r""" Kelvin"""
TEMP_UNIT_C = _vsp_g.TEMP_UNIT_C
r""" Celsius"""
TEMP_UNIT_F = _vsp_g.TEMP_UNIT_F
r""" Fahrenheit"""
TEMP_UNIT_R = _vsp_g.TEMP_UNIT_R
r""" Rankine"""
NUM_TEMP_UNIT = _vsp_g.NUM_TEMP_UNIT
r""" Number of temperature unit choices"""
V_UNIT_FT_S = _vsp_g.V_UNIT_FT_S
r""" Feet per second"""
V_UNIT_M_S = _vsp_g.V_UNIT_M_S
r""" Meter per second"""
V_UNIT_MPH = _vsp_g.V_UNIT_MPH
r""" Mile per hour"""
V_UNIT_KM_HR = _vsp_g.V_UNIT_KM_HR
r""" Kilometer per hour"""
V_UNIT_KEAS = _vsp_g.V_UNIT_KEAS
r""" Knots equivalent airspeed"""
V_UNIT_KTAS = _vsp_g.V_UNIT_KTAS
r""" Knots true airspeed"""
V_UNIT_MACH = _vsp_g.V_UNIT_MACH
r""" Mach"""
VIEW_1 = _vsp_g.VIEW_1
r""" One 2D view"""
VIEW_2HOR = _vsp_g.VIEW_2HOR
r""" Two horizontal 2D views"""
VIEW_2VER = _vsp_g.VIEW_2VER
r""" Two vertical 2D views"""
VIEW_4 = _vsp_g.VIEW_4
r""" Four 2D views"""
ROT_0 = _vsp_g.ROT_0
r""" No rotation"""
ROT_90 = _vsp_g.ROT_90
r""" 90 degree rotation"""
ROT_180 = _vsp_g.ROT_180
r""" 180 degree rotation"""
ROT_270 = _vsp_g.ROT_270
r""" 270 degree rotation"""
VIEW_LEFT = _vsp_g.VIEW_LEFT
r""" Left 2D view type"""
VIEW_RIGHT = _vsp_g.VIEW_RIGHT
r""" Right 2D view type"""
VIEW_TOP = _vsp_g.VIEW_TOP
r""" Top 2D view type"""
VIEW_BOTTOM = _vsp_g.VIEW_BOTTOM
r""" Bottom 2D view type"""
VIEW_FRONT = _vsp_g.VIEW_FRONT
r""" Front 2D view type"""
VIEW_REAR = _vsp_g.VIEW_REAR
r""" Rear 2D view type"""
VIEW_NONE = _vsp_g.VIEW_NONE
r""" No 2D view type"""
VIEW_NUM_TYPES = _vsp_g.VIEW_NUM_TYPES
r""" Number of 2D view types"""
VORTEX_LATTICE = _vsp_g.VORTEX_LATTICE
r""" VSPAERO vortex lattice method"""
PANEL = _vsp_g.PANEL
r""" VSPAERO panel method"""
NOISE_FLYBY = _vsp_g.NOISE_FLYBY
r""" Set up fly by noise analysis in VSPAERO for PSU-WOPWOP"""
NOISE_FOOTPRINT = _vsp_g.NOISE_FOOTPRINT
r""" Set up footprint noise analysis in VSPAERO for PSU-WOPWOP"""
NOISE_STEADY = _vsp_g.NOISE_STEADY
r""" Set up steady state noise analysis in VSPAERO for PSU-WOPWOP"""
NOISE_SI = _vsp_g.NOISE_SI
r""" Assume geometry and VSPAERO inputs in SI (m N kg s) for PSU-WOPWOP"""
NOISE_ENGLISH = _vsp_g.NOISE_ENGLISH
r""" Assume geometry and VSPAERO inputs in english (ft lbf slug s) units, will convert to SI (m N kg s) for PSU-WOPWOP"""
PRECON_MATRIX = _vsp_g.PRECON_MATRIX
r""" Matrix preconditioner"""
PRECON_JACOBI = _vsp_g.PRECON_JACOBI
r""" Jacobi preconditioner"""
PRECON_SSOR = _vsp_g.PRECON_SSOR
r""" Symmetric successive over-relaxation preconditioner"""
STABILITY_OFF = _vsp_g.STABILITY_OFF
r""" No stability analysis (off)"""
STABILITY_DEFAULT = _vsp_g.STABILITY_DEFAULT
r""" Steady 6DOF stability analysis"""
STABILITY_P_ANALYSIS = _vsp_g.STABILITY_P_ANALYSIS
r""" Unsteady roll stability analysis"""
STABILITY_Q_ANALYSIS = _vsp_g.STABILITY_Q_ANALYSIS
r""" Unsteady pitch stability analysis"""
STABILITY_R_ANALYSIS = _vsp_g.STABILITY_R_ANALYSIS
r""" Unsteady yaw stability analysis"""
STABILITY_PITCH = _vsp_g.STABILITY_PITCH
r""" Simplified pitch stability analysis"""
STABILITY_NUM_TYPES = _vsp_g.STABILITY_NUM_TYPES
r""" Number of stability analysis types"""
CLMAX_OFF = _vsp_g.CLMAX_OFF
r""" Stall modeling off (Cl Max = 0)"""
CLMAX_2D = _vsp_g.CLMAX_2D
r""" 2D Cl Max stall modeling with user defined value"""
CLMAX_CARLSON = _vsp_g.CLMAX_CARLSON
r""" Carlson's Pressure Correlation"""
CFD_NORMAL = _vsp_g.CFD_NORMAL
r""" Normal CFD Mesh surface"""
CFD_NEGATIVE = _vsp_g.CFD_NEGATIVE
r""" Negative volume CFD Mesh surface"""
CFD_TRANSPARENT = _vsp_g.CFD_TRANSPARENT
r""" Transparent CFD Mesh surface"""
CFD_STRUCTURE = _vsp_g.CFD_STRUCTURE
r""" FEA structure CFD Mesh surface"""
CFD_STIFFENER = _vsp_g.CFD_STIFFENER
r""" FEA stiffener CFD Mesh surface"""
CFD_MEASURE_DUCT = _vsp_g.CFD_MEASURE_DUCT
r""" Measure duct cross sectional area surface"""
CFD_NUM_TYPES = _vsp_g.CFD_NUM_TYPES
r""" Number of CFD Mesh surface types"""
NORMAL_SURF = _vsp_g.NORMAL_SURF
r""" Normal VSP surface"""
WING_SURF = _vsp_g.WING_SURF
r""" Wing VSP surface"""
DISK_SURF = _vsp_g.DISK_SURF
r""" Disk VSP surface"""
NUM_SURF_TYPES = _vsp_g.NUM_SURF_TYPES
r""" Number of VSP surface types"""
W_RIGHT_0 = _vsp_g.W_RIGHT_0
r""" Chevron start/ends at right (W = 0) of cross section"""
W_BOTTOM = _vsp_g.W_BOTTOM
r""" Chevron start/ends at bottom of cross section"""
W_LEFT = _vsp_g.W_LEFT
r""" Chevron start/ends at left of cross section"""
W_TOP = _vsp_g.W_TOP
r""" Chevron start/ends at top of cross section"""
W_RIGHT_1 = _vsp_g.W_RIGHT_1
r""" Chevron start/ends at right (W = 1) of cross section"""
W_FREE = _vsp_g.W_FREE
r""" Chevron start/ends at user specified point on cross section"""
BLEND_FREE = _vsp_g.BLEND_FREE
r""" Free blending"""
BLEND_ANGLES = _vsp_g.BLEND_ANGLES
r""" Blend based on angles (sweep & dihedral)"""
BLEND_MATCH_IN_LE_TRAP = _vsp_g.BLEND_MATCH_IN_LE_TRAP
r""" Match inboard leading edge trapezoid"""
BLEND_MATCH_IN_TE_TRAP = _vsp_g.BLEND_MATCH_IN_TE_TRAP
r""" Match inboard trailing edge trapezoid"""
BLEND_MATCH_OUT_LE_TRAP = _vsp_g.BLEND_MATCH_OUT_LE_TRAP
r""" Match outboard leading edge trapezoid"""
BLEND_MATCH_OUT_TE_TRAP = _vsp_g.BLEND_MATCH_OUT_TE_TRAP
r""" Match outboard trailing edge trapezoid"""
BLEND_MATCH_IN_ANGLES = _vsp_g.BLEND_MATCH_IN_ANGLES
r""" Match inboard angles"""
BLEND_MATCH_LE_ANGLES = _vsp_g.BLEND_MATCH_LE_ANGLES
r""" Match leading edge angles"""
BLEND_NUM_TYPES = _vsp_g.BLEND_NUM_TYPES
r""" Number of blending types"""
AR_WSECT_DRIVER = _vsp_g.AR_WSECT_DRIVER
r""" Aspect ratio driver"""
SPAN_WSECT_DRIVER = _vsp_g.SPAN_WSECT_DRIVER
r""" Span driver"""
AREA_WSECT_DRIVER = _vsp_g.AREA_WSECT_DRIVER
r""" Area driver"""
TAPER_WSECT_DRIVER = _vsp_g.TAPER_WSECT_DRIVER
r""" Taper driver"""
AVEC_WSECT_DRIVER = _vsp_g.AVEC_WSECT_DRIVER
r""" Average chord driver"""
ROOTC_WSECT_DRIVER = _vsp_g.ROOTC_WSECT_DRIVER
r""" Root chord driver"""
TIPC_WSECT_DRIVER = _vsp_g.TIPC_WSECT_DRIVER
r""" Tip chord driver"""
SECSWEEP_WSECT_DRIVER = _vsp_g.SECSWEEP_WSECT_DRIVER
r""" Section sweep driver"""
NUM_WSECT_DRIVER = _vsp_g.NUM_WSECT_DRIVER
r""" Number of wing section drivers"""
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
r""" Variable XDDM type"""
XDDM_CONST = _vsp_g.XDDM_CONST
r""" Constant XDDM type"""
CLOSE_NONE = _vsp_g.CLOSE_NONE
r""" No closure"""
CLOSE_SKEWLOW = _vsp_g.CLOSE_SKEWLOW
r""" Skew lower closure"""
CLOSE_SKEWUP = _vsp_g.CLOSE_SKEWUP
r""" Skew upper closure"""
CLOSE_SKEWBOTH = _vsp_g.CLOSE_SKEWBOTH
r""" Skew both closure"""
CLOSE_EXTRAP = _vsp_g.CLOSE_EXTRAP
r""" Extrapolate closure"""
CLOSE_NUM_TYPES = _vsp_g.CLOSE_NUM_TYPES
r""" Number of XSec closure types"""
XS_UNDEFINED = _vsp_g.XS_UNDEFINED
XS_POINT = _vsp_g.XS_POINT
r""" Point XSec"""
XS_CIRCLE = _vsp_g.XS_CIRCLE
r""" Circle XSec"""
XS_ELLIPSE = _vsp_g.XS_ELLIPSE
r""" Ellipse XSec"""
XS_SUPER_ELLIPSE = _vsp_g.XS_SUPER_ELLIPSE
r""" Super ellipse XSec"""
XS_ROUNDED_RECTANGLE = _vsp_g.XS_ROUNDED_RECTANGLE
r""" Rounded rectangle XSec"""
XS_GENERAL_FUSE = _vsp_g.XS_GENERAL_FUSE
r""" General fuselage XSec"""
XS_FILE_FUSE = _vsp_g.XS_FILE_FUSE
r""" Fuselage file XSec"""
XS_FOUR_SERIES = _vsp_g.XS_FOUR_SERIES
r""" Four series XSec"""
XS_SIX_SERIES = _vsp_g.XS_SIX_SERIES
r""" Six series XSec"""
XS_BICONVEX = _vsp_g.XS_BICONVEX
r""" Biconvex XSec"""
XS_WEDGE = _vsp_g.XS_WEDGE
r""" Wedge XSec"""
XS_EDIT_CURVE = _vsp_g.XS_EDIT_CURVE
r""" Generic Edit Curve XSec"""
XS_FILE_AIRFOIL = _vsp_g.XS_FILE_AIRFOIL
r""" Airfoil file XSec"""
XS_CST_AIRFOIL = _vsp_g.XS_CST_AIRFOIL
r""" CST airfoil XSec"""
XS_VKT_AIRFOIL = _vsp_g.XS_VKT_AIRFOIL
r""" VKT airfoil XSec"""
XS_FOUR_DIGIT_MOD = _vsp_g.XS_FOUR_DIGIT_MOD
r""" Four digit modified XSec"""
XS_FIVE_DIGIT = _vsp_g.XS_FIVE_DIGIT
r""" Five digit XSec"""
XS_FIVE_DIGIT_MOD = _vsp_g.XS_FIVE_DIGIT_MOD
r""" Five digit modified XSec"""
XS_ONE_SIX_SERIES = _vsp_g.XS_ONE_SIX_SERIES
r""" One six series XSec"""
XS_NUM_TYPES = _vsp_g.XS_NUM_TYPES
r""" Number of XSec 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
r""" Height driver"""
HWRATIO_XSEC_DRIVER = _vsp_g.HWRATIO_XSEC_DRIVER
r""" Height/width ratio driver"""
NUM_XSEC_DRIVER = _vsp_g.NUM_XSEC_DRIVER
r""" Number of XSec drivers"""
CIRCLE_NUM_XSEC_DRIVER = _vsp_g.CIRCLE_NUM_XSEC_DRIVER
XSEC_BOTH_SIDES = _vsp_g.XSEC_BOTH_SIDES
r""" Both sides"""
XSEC_LEFT_SIDE = _vsp_g.XSEC_LEFT_SIDE
r""" Left side"""
XSEC_RIGHT_SIDE = _vsp_g.XSEC_RIGHT_SIDE
r""" Right side"""
TRIM_NONE = _vsp_g.TRIM_NONE
r""" No trimming"""
TRIM_X = _vsp_g.TRIM_X
r""" Trim XSec by X"""
TRIM_THICK = _vsp_g.TRIM_THICK
r""" Trim XSec by thickness"""
TRIM_NUM_TYPES = _vsp_g.TRIM_NUM_TYPES
r""" Number of trimming types"""
XSEC_FUSE = _vsp_g.XSEC_FUSE
r""" Fuselage XSec Geom"""
XSEC_STACK = _vsp_g.XSEC_STACK
r""" Stack XSec Geom"""
XSEC_WING = _vsp_g.XSEC_WING
r""" Wing XSec Geom"""
XSEC_CUSTOM = _vsp_g.XSEC_CUSTOM
r""" Custom XSec Geom"""
XSEC_PROP = _vsp_g.XSEC_PROP
r""" Propeller XSec Geom"""
XSEC_NUM_TYPES = _vsp_g.XSEC_NUM_TYPES
r""" Number of XSec types"""
XS_SHIFT_LE = _vsp_g.XS_SHIFT_LE
r""" Shift leading edge"""
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 ErrorMgrSingleton_getInstance():
    r"""ErrorMgrSingleton_getInstance() -> ErrorMgrSingleton"""
    return _vsp_g.ErrorMgrSingleton_getInstance()


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 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 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) -> 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 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 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 SetGeomDisplayType(geom_id, type):
    r"""SetGeomDisplayType(string const & geom_id, int type)"""
    return _vsp_g.SetGeomDisplayType(geom_id, type)

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

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 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 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 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 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 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 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 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 const 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 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) -> 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) -> double"""
    return _vsp_g.SnapParm(*args)

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

def AddVarPresetSetting(setting_name):
    r"""AddVarPresetSetting(std::string const & setting_name)"""
    return _vsp_g.AddVarPresetSetting(setting_name)

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

def EditVarPresetParm(*args):
    r"""
    EditVarPresetParm(std::string const & parm_id, double parm_val)
    EditVarPresetParm(std::string const & parm_id, double parm_val, std::string const & group_name, std::string const & setting_name)
    """
    return _vsp_g.EditVarPresetParm(*args)

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

def SwitchVarPreset(group_name, setting_name):
    r"""SwitchVarPreset(std::string const & group_name, std::string const & setting_name)"""
    return _vsp_g.SwitchVarPreset(group_name, setting_name)

def DeleteVarPresetSet(group_name, setting_name):
    r"""DeleteVarPresetSet(std::string const & group_name, std::string const & setting_name) -> bool"""
    return _vsp_g.DeleteVarPresetSet(group_name, setting_name)

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

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

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

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

def GetVarPresetSettingNamesWIndex(group_index):
    r"""GetVarPresetSettingNamesWIndex(int group_index) -> StringVector"""
    return _vsp_g.GetVarPresetSettingNamesWIndex(group_index)

def GetVarPresetParmVals():
    r"""GetVarPresetParmVals() -> DoubleVector"""
    return _vsp_g.GetVarPresetParmVals()

def GetVarPresetParmValsWNames(group_name, setting_name):
    r"""GetVarPresetParmValsWNames(std::string const & group_name, std::string const & setting_name) -> DoubleVector"""
    return _vsp_g.GetVarPresetParmValsWNames(group_name, setting_name)

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

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

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 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 rotate_x(self, cos_alpha, sin_alpha):
        r"""rotate_x(vec3d self, double cos_alpha, double sin_alpha)"""
        return _vsp_g.vec3d_rotate_x(self, cos_alpha, sin_alpha)

    def rotate_y(self, cos_alpha, sin_alpha):
        r"""rotate_y(vec3d self, double cos_alpha, double sin_alpha)"""
        return _vsp_g.vec3d_rotate_y(self, cos_alpha, sin_alpha)

    def rotate_z(self, cos_alpha, sin_alpha):
        r"""rotate_z(vec3d self, double cos_alpha, double sin_alpha)"""
        return _vsp_g.vec3d_rotate_z(self, cos_alpha, sin_alpha)

    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 rotate_z_zero_x(self, cos_alpha, sin_alpha):
        r"""rotate_z_zero_x(vec3d self, double cos_alpha, double sin_alpha)"""
        return _vsp_g.vec3d_rotate_z_zero_x(self, cos_alpha, sin_alpha)

    def rotate_z_zero_y(self, cos_alpha, sin_alpha):
        r"""rotate_z_zero_y(vec3d self, double cos_alpha, double sin_alpha)"""
        return _vsp_g.vec3d_rotate_z_zero_y(self, cos_alpha, sin_alpha)

    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 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)

# Register vec3d in _vsp_g:
_vsp_g.vec3d_swigregister(vec3d)
cvar = _vsp_g.cvar

def dist(a, b):
    r"""dist(vec3d a, vec3d b) -> double"""
    return _vsp_g.dist(a, b)

def dist_squared(a, b):
    r"""dist_squared(vec3d a, vec3d b) -> double"""
    return _vsp_g.dist_squared(a, b)

def dot(a, b):
    r"""dot(vec3d a, vec3d b) -> double"""
    return _vsp_g.dot(a, b)

def cross(a, b):
    r"""cross(vec3d a, vec3d b) -> vec3d"""
    return _vsp_g.cross(a, b)

def angle(a, b):
    r"""angle(vec3d a, vec3d b) -> double"""
    return _vsp_g.angle(a, b)

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 cos_angle(a, b):
    r"""cos_angle(vec3d a, vec3d b) -> double"""
    return _vsp_g.cos_angle(a, b)

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 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 proj_pnt_on_line_seg(line_pt1, line_pt2, pnt):
    r"""proj_pnt_on_line_seg(vec3d line_pt1, vec3d line_pt2, vec3d pnt) -> vec3d"""
    return _vsp_g.proj_pnt_on_line_seg(line_pt1, line_pt2, pnt)

def proj_pnt_on_ray(line_pt1, line_pt2, pnt):
    r"""proj_pnt_on_ray(vec3d line_pt1, vec3d line_pt2, vec3d pnt) -> vec3d"""
    return _vsp_g.proj_pnt_on_ray(line_pt1, line_pt2, 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 poly_area(pnt_vec):
    r"""poly_area(Vec3dVec pnt_vec) -> double"""
    return _vsp_g.poly_area(pnt_vec)

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):
    r"""pointLineDistSquared(vec3d p, vec3d lp0, vec3d lp1, double * t) -> double"""
    return _vsp_g.pointLineDistSquared(p, lp0, lp1, t)

def pointSegDistSquared(p, sp0, sp1, t):
    r"""pointSegDistSquared(vec3d p, vec3d sp0, vec3d sp1, double * t) -> double"""
    return _vsp_g.pointSegDistSquared(p, sp0, sp1, t)

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 const & 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):
    r"""tri_tri_min_dist(vec3d v0, vec3d v1, vec3d v2, vec3d v3, vec3d v4, vec3d v5) -> double"""
    return _vsp_g.tri_tri_min_dist(v0, v1, v2, v3, v4, v5)

def pnt_tri_min_dist(v0, v1, v2, pnt):
    r"""pnt_tri_min_dist(vec3d v0, vec3d v1, vec3d v2, vec3d pnt) -> double"""
    return _vsp_g.pnt_tri_min_dist(v0, v1, v2, pnt)

def slerp(a, b, t):
    r"""slerp(vec3d a, vec3d b, double const & t) -> vec3d"""
    return _vsp_g.slerp(a, b, t)


def to_string(v):
    r"""to_string(vec3d v) -> std::string"""
    return _vsp_g.to_string(v)
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 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 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 getAngles(self):
        r"""getAngles(Matrix4d self) -> vec3d"""
        return _vsp_g.Matrix4d_getAngles(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)

def Matrix4d_setIdentity(m):
    r"""Matrix4d_setIdentity(double * m)"""
    return _vsp_g.Matrix4d_setIdentity(m)



