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

from sys import version_info as _swig_python_version_info
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
else:
    import _vsp

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.delete_SwigPyIterator

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

# Register SwigPyIterator in _vsp:
_vsp.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.IntVector_iterator(self)
    def __iter__(self):
        return self.iterator()

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

# Register IntVector in _vsp:
_vsp.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.DoubleVector_iterator(self)
    def __iter__(self):
        return self.iterator()

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

# Register DoubleVector in _vsp:
_vsp.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.StringVector_iterator(self)
    def __iter__(self):
        return self.iterator()

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

# Register StringVector in _vsp:
_vsp.StringVector_swigregister(StringVector)

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.DoubleVecVec_iterator(self)
    def __iter__(self):
        return self.iterator()

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

# Register DoubleVecVec in _vsp:
_vsp.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.Vec3dVec_iterator(self)
    def __iter__(self):
        return self.iterator()

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

# Register Vec3dVec in _vsp:
_vsp.Vec3dVec_swigregister(Vec3dVec)

ABS = _vsp.ABS
REL = _vsp.REL
SELIG_AF_EXPORT = _vsp.SELIG_AF_EXPORT
BEZIER_AF_EXPORT = _vsp.BEZIER_AF_EXPORT
ANG_RAD = _vsp.ANG_RAD
ANG_DEG = _vsp.ANG_DEG
ATMOS_TYPE_US_STANDARD_1976 = _vsp.ATMOS_TYPE_US_STANDARD_1976
ATMOS_TYPE_HERRINGTON_1966 = _vsp.ATMOS_TYPE_HERRINGTON_1966
ATMOS_TYPE_MANUAL_P_R = _vsp.ATMOS_TYPE_MANUAL_P_R
ATMOS_TYPE_MANUAL_P_T = _vsp.ATMOS_TYPE_MANUAL_P_T
ATMOS_TYPE_MANUAL_R_T = _vsp.ATMOS_TYPE_MANUAL_R_T
ATMOS_TYPE_MANUAL_RE_L = _vsp.ATMOS_TYPE_MANUAL_RE_L
ATTACH_TRANS_NONE = _vsp.ATTACH_TRANS_NONE
ATTACH_TRANS_COMP = _vsp.ATTACH_TRANS_COMP
ATTACH_TRANS_UV = _vsp.ATTACH_TRANS_UV
ATTACH_ROT_NONE = _vsp.ATTACH_ROT_NONE
ATTACH_ROT_COMP = _vsp.ATTACH_ROT_COMP
ATTACH_ROT_UV = _vsp.ATTACH_ROT_UV
BOR_FLOWTHROUGH = _vsp.BOR_FLOWTHROUGH
BOR_UPPER = _vsp.BOR_UPPER
BOR_LOWER = _vsp.BOR_LOWER
BOR_NUM_MODES = _vsp.BOR_NUM_MODES
MAX_CAMB = _vsp.MAX_CAMB
DESIGN_CL = _vsp.DESIGN_CL
NO_END_CAP = _vsp.NO_END_CAP
FLAT_END_CAP = _vsp.FLAT_END_CAP
ROUND_END_CAP = _vsp.ROUND_END_CAP
EDGE_END_CAP = _vsp.EDGE_END_CAP
SHARP_END_CAP = _vsp.SHARP_END_CAP
NUM_END_CAP_OPTIONS = _vsp.NUM_END_CAP_OPTIONS
CFD_MIN_EDGE_LEN = _vsp.CFD_MIN_EDGE_LEN
CFD_MAX_EDGE_LEN = _vsp.CFD_MAX_EDGE_LEN
CFD_MAX_GAP = _vsp.CFD_MAX_GAP
CFD_NUM_CIRCLE_SEGS = _vsp.CFD_NUM_CIRCLE_SEGS
CFD_GROWTH_RATIO = _vsp.CFD_GROWTH_RATIO
CFD_LIMIT_GROWTH_FLAG = _vsp.CFD_LIMIT_GROWTH_FLAG
CFD_INTERSECT_SUBSURFACE_FLAG = _vsp.CFD_INTERSECT_SUBSURFACE_FLAG
CFD_HALF_MESH_FLAG = _vsp.CFD_HALF_MESH_FLAG
CFD_FAR_FIELD_FLAG = _vsp.CFD_FAR_FIELD_FLAG
CFD_FAR_MAX_EDGE_LEN = _vsp.CFD_FAR_MAX_EDGE_LEN
CFD_FAR_MAX_GAP = _vsp.CFD_FAR_MAX_GAP
CFD_FAR_NUM_CIRCLE_SEGS = _vsp.CFD_FAR_NUM_CIRCLE_SEGS
CFD_FAR_SIZE_ABS_FLAG = _vsp.CFD_FAR_SIZE_ABS_FLAG
CFD_FAR_LENGTH = _vsp.CFD_FAR_LENGTH
CFD_FAR_WIDTH = _vsp.CFD_FAR_WIDTH
CFD_FAR_HEIGHT = _vsp.CFD_FAR_HEIGHT
CFD_FAR_X_SCALE = _vsp.CFD_FAR_X_SCALE
CFD_FAR_Y_SCALE = _vsp.CFD_FAR_Y_SCALE
CFD_FAR_Z_SCALE = _vsp.CFD_FAR_Z_SCALE
CFD_FAR_LOC_MAN_FLAG = _vsp.CFD_FAR_LOC_MAN_FLAG
CFD_FAR_LOC_X = _vsp.CFD_FAR_LOC_X
CFD_FAR_LOC_Y = _vsp.CFD_FAR_LOC_Y
CFD_FAR_LOC_Z = _vsp.CFD_FAR_LOC_Z
CFD_WAKE_SCALE = _vsp.CFD_WAKE_SCALE
CFD_WAKE_ANGLE = _vsp.CFD_WAKE_ANGLE
CFD_SRF_XYZ_FLAG = _vsp.CFD_SRF_XYZ_FLAG
CFD_STL_FILE_NAME = _vsp.CFD_STL_FILE_NAME
CFD_POLY_FILE_NAME = _vsp.CFD_POLY_FILE_NAME
CFD_TRI_FILE_NAME = _vsp.CFD_TRI_FILE_NAME
CFD_OBJ_FILE_NAME = _vsp.CFD_OBJ_FILE_NAME
CFD_DAT_FILE_NAME = _vsp.CFD_DAT_FILE_NAME
CFD_KEY_FILE_NAME = _vsp.CFD_KEY_FILE_NAME
CFD_GMSH_FILE_NAME = _vsp.CFD_GMSH_FILE_NAME
CFD_SRF_FILE_NAME = _vsp.CFD_SRF_FILE_NAME
CFD_TKEY_FILE_NAME = _vsp.CFD_TKEY_FILE_NAME
CFD_FACET_FILE_NAME = _vsp.CFD_FACET_FILE_NAME
CFD_CURV_FILE_NAME = _vsp.CFD_CURV_FILE_NAME
CFD_PLOT3D_FILE_NAME = _vsp.CFD_PLOT3D_FILE_NAME
CFD_NUM_FILE_NAMES = _vsp.CFD_NUM_FILE_NAMES
POINT_SOURCE = _vsp.POINT_SOURCE
LINE_SOURCE = _vsp.LINE_SOURCE
BOX_SOURCE = _vsp.BOX_SOURCE
ULINE_SOURCE = _vsp.ULINE_SOURCE
WLINE_SOURCE = _vsp.WLINE_SOURCE
NUM_SOURCE_TYPES = _vsp.NUM_SOURCE_TYPES
CF_LAM_BLASIUS = _vsp.CF_LAM_BLASIUS
CF_LAM_BLASIUS_W_HEAT = _vsp.CF_LAM_BLASIUS_W_HEAT
CF_TURB_EXPLICIT_FIT_SPALDING = _vsp.CF_TURB_EXPLICIT_FIT_SPALDING
CF_TURB_EXPLICIT_FIT_SPALDING_CHI = _vsp.CF_TURB_EXPLICIT_FIT_SPALDING_CHI
CF_TURB_EXPLICIT_FIT_SCHOENHERR = _vsp.CF_TURB_EXPLICIT_FIT_SCHOENHERR
DO_NOT_USE_CF_TURB_IMPLICIT_KARMAN = _vsp.DO_NOT_USE_CF_TURB_IMPLICIT_KARMAN
CF_TURB_IMPLICIT_SCHOENHERR = _vsp.CF_TURB_IMPLICIT_SCHOENHERR
CF_TURB_IMPLICIT_KARMAN_SCHOENHERR = _vsp.CF_TURB_IMPLICIT_KARMAN_SCHOENHERR
CF_TURB_POWER_LAW_BLASIUS = _vsp.CF_TURB_POWER_LAW_BLASIUS
CF_TURB_POWER_LAW_PRANDTL_LOW_RE = _vsp.CF_TURB_POWER_LAW_PRANDTL_LOW_RE
CF_TURB_POWER_LAW_PRANDTL_MEDIUM_RE = _vsp.CF_TURB_POWER_LAW_PRANDTL_MEDIUM_RE
CF_TURB_POWER_LAW_PRANDTL_HIGH_RE = _vsp.CF_TURB_POWER_LAW_PRANDTL_HIGH_RE
CF_TURB_SCHLICHTING_COMPRESSIBLE = _vsp.CF_TURB_SCHLICHTING_COMPRESSIBLE
DO_NOT_USE_CF_TURB_SCHLICHTING_INCOMPRESSIBLE = _vsp.DO_NOT_USE_CF_TURB_SCHLICHTING_INCOMPRESSIBLE
DO_NOT_USE_CF_TURB_SCHLICHTING_PRANDTL = _vsp.DO_NOT_USE_CF_TURB_SCHLICHTING_PRANDTL
DO_NOT_USE_CF_TURB_SCHULTZ_GRUNOW_HIGH_RE = _vsp.DO_NOT_USE_CF_TURB_SCHULTZ_GRUNOW_HIGH_RE
CF_TURB_SCHULTZ_GRUNOW_SCHOENHERR = _vsp.CF_TURB_SCHULTZ_GRUNOW_SCHOENHERR
DO_NOT_USE_CF_TURB_WHITE_CHRISTOPH_COMPRESSIBLE = _vsp.DO_NOT_USE_CF_TURB_WHITE_CHRISTOPH_COMPRESSIBLE
CF_TURB_ROUGHNESS_SCHLICHTING_AVG = _vsp.CF_TURB_ROUGHNESS_SCHLICHTING_AVG
DO_NOT_USE_CF_TURB_ROUGHNESS_SCHLICHTING_LOCAL = _vsp.DO_NOT_USE_CF_TURB_ROUGHNESS_SCHLICHTING_LOCAL
DO_NOT_USE_CF_TURB_ROUGHNESS_WHITE = _vsp.DO_NOT_USE_CF_TURB_ROUGHNESS_WHITE
CF_TURB_ROUGHNESS_SCHLICHTING_AVG_FLOW_CORRECTION = _vsp.CF_TURB_ROUGHNESS_SCHLICHTING_AVG_FLOW_CORRECTION
CF_TURB_HEATTRANSFER_WHITE_CHRISTOPH = _vsp.CF_TURB_HEATTRANSFER_WHITE_CHRISTOPH
COLLISION_OK = _vsp.COLLISION_OK
COLLISION_INTERSECT_NO_SOLUTION = _vsp.COLLISION_INTERSECT_NO_SOLUTION
COLLISION_CLEAR_NO_SOLUTION = _vsp.COLLISION_CLEAR_NO_SOLUTION
NO_FILE_TYPE = _vsp.NO_FILE_TYPE
COMP_GEOM_TXT_TYPE = _vsp.COMP_GEOM_TXT_TYPE
COMP_GEOM_CSV_TYPE = _vsp.COMP_GEOM_CSV_TYPE
DRAG_BUILD_TSV_TYPE = _vsp.DRAG_BUILD_TSV_TYPE
SLICE_TXT_TYPE = _vsp.SLICE_TXT_TYPE
MASS_PROP_TXT_TYPE = _vsp.MASS_PROP_TXT_TYPE
DEGEN_GEOM_CSV_TYPE = _vsp.DEGEN_GEOM_CSV_TYPE
DEGEN_GEOM_M_TYPE = _vsp.DEGEN_GEOM_M_TYPE
CFD_STL_TYPE = _vsp.CFD_STL_TYPE
CFD_POLY_TYPE = _vsp.CFD_POLY_TYPE
CFD_TRI_TYPE = _vsp.CFD_TRI_TYPE
CFD_OBJ_TYPE = _vsp.CFD_OBJ_TYPE
CFD_DAT_TYPE = _vsp.CFD_DAT_TYPE
CFD_KEY_TYPE = _vsp.CFD_KEY_TYPE
CFD_GMSH_TYPE = _vsp.CFD_GMSH_TYPE
CFD_SRF_TYPE = _vsp.CFD_SRF_TYPE
CFD_TKEY_TYPE = _vsp.CFD_TKEY_TYPE
PROJ_AREA_CSV_TYPE = _vsp.PROJ_AREA_CSV_TYPE
WAVE_DRAG_TXT_TYPE = _vsp.WAVE_DRAG_TXT_TYPE
VSPAERO_PANEL_TRI_TYPE = _vsp.VSPAERO_PANEL_TRI_TYPE
DRAG_BUILD_CSV_TYPE = _vsp.DRAG_BUILD_CSV_TYPE
CFD_FACET_TYPE = _vsp.CFD_FACET_TYPE
CFD_CURV_TYPE = _vsp.CFD_CURV_TYPE
CFD_PLOT3D_TYPE = _vsp.CFD_PLOT3D_TYPE
DELIM_COMMA = _vsp.DELIM_COMMA
DELIM_USCORE = _vsp.DELIM_USCORE
DELIM_SPACE = _vsp.DELIM_SPACE
DELIM_NONE = _vsp.DELIM_NONE
DELIM_NUM_TYPES = _vsp.DELIM_NUM_TYPES
SET_3D = _vsp.SET_3D
SET_2D = _vsp.SET_2D
X_DIR = _vsp.X_DIR
Y_DIR = _vsp.Y_DIR
Z_DIR = _vsp.Z_DIR
DISPLAY_BEZIER = _vsp.DISPLAY_BEZIER
DISPLAY_DEGEN_SURF = _vsp.DISPLAY_DEGEN_SURF
DISPLAY_DEGEN_PLATE = _vsp.DISPLAY_DEGEN_PLATE
DISPLAY_DEGEN_CAMBER = _vsp.DISPLAY_DEGEN_CAMBER
GEOM_DRAW_WIRE = _vsp.GEOM_DRAW_WIRE
GEOM_DRAW_HIDDEN = _vsp.GEOM_DRAW_HIDDEN
GEOM_DRAW_SHADE = _vsp.GEOM_DRAW_SHADE
GEOM_DRAW_TEXTURE = _vsp.GEOM_DRAW_TEXTURE
GEOM_DRAW_NONE = _vsp.GEOM_DRAW_NONE
VSP_OK = _vsp.VSP_OK
VSP_INVALID_PTR = _vsp.VSP_INVALID_PTR
VSP_INVALID_TYPE = _vsp.VSP_INVALID_TYPE
VSP_CANT_FIND_TYPE = _vsp.VSP_CANT_FIND_TYPE
VSP_CANT_FIND_PARM = _vsp.VSP_CANT_FIND_PARM
VSP_CANT_FIND_NAME = _vsp.VSP_CANT_FIND_NAME
VSP_INVALID_GEOM_ID = _vsp.VSP_INVALID_GEOM_ID
VSP_FILE_DOES_NOT_EXIST = _vsp.VSP_FILE_DOES_NOT_EXIST
VSP_FILE_WRITE_FAILURE = _vsp.VSP_FILE_WRITE_FAILURE
VSP_FILE_READ_FAILURE = _vsp.VSP_FILE_READ_FAILURE
VSP_WRONG_XSEC_TYPE = _vsp.VSP_WRONG_XSEC_TYPE
VSP_WRONG_FILE_TYPE = _vsp.VSP_WRONG_FILE_TYPE
VSP_INDEX_OUT_RANGE = _vsp.VSP_INDEX_OUT_RANGE
VSP_INVALID_XSEC_ID = _vsp.VSP_INVALID_XSEC_ID
VSP_INVALID_ID = _vsp.VSP_INVALID_ID
VSP_CANT_SET_NOT_EQ_PARM = _vsp.VSP_CANT_SET_NOT_EQ_PARM
VSP_AMBIGUOUS_SUBSURF = _vsp.VSP_AMBIGUOUS_SUBSURF
VSP_INVALID_VARPRESET_SETNAME = _vsp.VSP_INVALID_VARPRESET_SETNAME
VSP_INVALID_VARPRESET_GROUPNAME = _vsp.VSP_INVALID_VARPRESET_GROUPNAME
VSP_CONFORMAL_PARENT_UNSUPPORTED = _vsp.VSP_CONFORMAL_PARENT_UNSUPPORTED
VSP_UNEXPECTED_RESET_REMAP_ID = _vsp.VSP_UNEXPECTED_RESET_REMAP_ID
VSP_INVALID_INPUT_VAL = _vsp.VSP_INVALID_INPUT_VAL
VSP_INVALID_CF_EQN = _vsp.VSP_INVALID_CF_EQN
EXCRESCENCE_COUNT = _vsp.EXCRESCENCE_COUNT
EXCRESCENCE_CD = _vsp.EXCRESCENCE_CD
EXCRESCENCE_PERCENT_GEOM = _vsp.EXCRESCENCE_PERCENT_GEOM
EXCRESCENCE_MARGIN = _vsp.EXCRESCENCE_MARGIN
EXCRESCENCE_DRAGAREA = _vsp.EXCRESCENCE_DRAGAREA
EXPORT_FELISA = _vsp.EXPORT_FELISA
EXPORT_XSEC = _vsp.EXPORT_XSEC
EXPORT_STL = _vsp.EXPORT_STL
EXPORT_AWAVE = _vsp.EXPORT_AWAVE
EXPORT_NASCART = _vsp.EXPORT_NASCART
EXPORT_POVRAY = _vsp.EXPORT_POVRAY
EXPORT_CART3D = _vsp.EXPORT_CART3D
EXPORT_VORXSEC = _vsp.EXPORT_VORXSEC
EXPORT_XSECGEOM = _vsp.EXPORT_XSECGEOM
EXPORT_GMSH = _vsp.EXPORT_GMSH
EXPORT_X3D = _vsp.EXPORT_X3D
EXPORT_STEP = _vsp.EXPORT_STEP
EXPORT_PLOT3D = _vsp.EXPORT_PLOT3D
EXPORT_IGES = _vsp.EXPORT_IGES
EXPORT_BEM = _vsp.EXPORT_BEM
EXPORT_DXF = _vsp.EXPORT_DXF
EXPORT_FACET = _vsp.EXPORT_FACET
EXPORT_SVG = _vsp.EXPORT_SVG
EXPORT_PMARC = _vsp.EXPORT_PMARC
EXPORT_OBJ = _vsp.EXPORT_OBJ
EXPORT_SELIG_AIRFOIL = _vsp.EXPORT_SELIG_AIRFOIL
EXPORT_BEZIER_AIRFOIL = _vsp.EXPORT_BEZIER_AIRFOIL
EXPORT_IGES_STRUCTURE = _vsp.EXPORT_IGES_STRUCTURE
EXPORT_STEP_STRUCTURE = _vsp.EXPORT_STEP_STRUCTURE
FEA_XSEC_GENERAL = _vsp.FEA_XSEC_GENERAL
FEA_XSEC_CIRC = _vsp.FEA_XSEC_CIRC
FEA_XSEC_PIPE = _vsp.FEA_XSEC_PIPE
FEA_XSEC_I = _vsp.FEA_XSEC_I
FEA_XSEC_RECT = _vsp.FEA_XSEC_RECT
FEA_XSEC_BOX = _vsp.FEA_XSEC_BOX
FEA_MASS_FILE_NAME = _vsp.FEA_MASS_FILE_NAME
FEA_NASTRAN_FILE_NAME = _vsp.FEA_NASTRAN_FILE_NAME
FEA_NKEY_FILE_NAME = _vsp.FEA_NKEY_FILE_NAME
FEA_CALCULIX_FILE_NAME = _vsp.FEA_CALCULIX_FILE_NAME
FEA_STL_FILE_NAME = _vsp.FEA_STL_FILE_NAME
FEA_GMSH_FILE_NAME = _vsp.FEA_GMSH_FILE_NAME
FEA_SRF_FILE_NAME = _vsp.FEA_SRF_FILE_NAME
FEA_CURV_FILE_NAME = _vsp.FEA_CURV_FILE_NAME
FEA_PLOT3D_FILE_NAME = _vsp.FEA_PLOT3D_FILE_NAME
FEA_NUM_FILE_NAMES = _vsp.FEA_NUM_FILE_NAMES
FEA_SHELL = _vsp.FEA_SHELL
FEA_BEAM = _vsp.FEA_BEAM
FEA_SHELL_AND_BEAM = _vsp.FEA_SHELL_AND_BEAM
FEA_SLICE = _vsp.FEA_SLICE
FEA_RIB = _vsp.FEA_RIB
FEA_SPAR = _vsp.FEA_SPAR
FEA_FIX_POINT = _vsp.FEA_FIX_POINT
FEA_DOME = _vsp.FEA_DOME
FEA_RIB_ARRAY = _vsp.FEA_RIB_ARRAY
FEA_SLICE_ARRAY = _vsp.FEA_SLICE_ARRAY
FEA_SKIN = _vsp.FEA_SKIN
FEA_NUM_TYPES = _vsp.FEA_NUM_TYPES
XY_BODY = _vsp.XY_BODY
YZ_BODY = _vsp.YZ_BODY
XZ_BODY = _vsp.XZ_BODY
XY_ABS = _vsp.XY_ABS
YZ_ABS = _vsp.YZ_ABS
XZ_ABS = _vsp.XZ_ABS
SPINE_NORMAL = _vsp.SPINE_NORMAL
SI_UNIT = _vsp.SI_UNIT
CGS_UNIT = _vsp.CGS_UNIT
MPA_UNIT = _vsp.MPA_UNIT
BFT_UNIT = _vsp.BFT_UNIT
BIN_UNIT = _vsp.BIN_UNIT
FF_B_MANUAL = _vsp.FF_B_MANUAL
FF_B_SCHEMENSKY_FUSE = _vsp.FF_B_SCHEMENSKY_FUSE
FF_B_SCHEMENSKY_NACELLE = _vsp.FF_B_SCHEMENSKY_NACELLE
FF_B_HOERNER_STREAMBODY = _vsp.FF_B_HOERNER_STREAMBODY
FF_B_TORENBEEK = _vsp.FF_B_TORENBEEK
FF_B_SHEVELL = _vsp.FF_B_SHEVELL
FF_B_COVERT = _vsp.FF_B_COVERT
FF_B_JENKINSON_FUSE = _vsp.FF_B_JENKINSON_FUSE
FF_B_JENKINSON_WING_NACELLE = _vsp.FF_B_JENKINSON_WING_NACELLE
FF_B_JENKINSON_AFT_FUSE_NACELLE = _vsp.FF_B_JENKINSON_AFT_FUSE_NACELLE
FF_W_MANUAL = _vsp.FF_W_MANUAL
FF_W_EDET_CONV = _vsp.FF_W_EDET_CONV
FF_W_EDET_ADV = _vsp.FF_W_EDET_ADV
FF_W_HOERNER = _vsp.FF_W_HOERNER
FF_W_COVERT = _vsp.FF_W_COVERT
FF_W_SHEVELL = _vsp.FF_W_SHEVELL
FF_W_KROO = _vsp.FF_W_KROO
FF_W_TORENBEEK = _vsp.FF_W_TORENBEEK
FF_W_DATCOM = _vsp.FF_W_DATCOM
FF_W_SCHEMENSKY_6_SERIES_AF = _vsp.FF_W_SCHEMENSKY_6_SERIES_AF
FF_W_SCHEMENSKY_4_SERIES_AF = _vsp.FF_W_SCHEMENSKY_4_SERIES_AF
FF_W_JENKINSON_WING = _vsp.FF_W_JENKINSON_WING
FF_W_JENKINSON_TAIL = _vsp.FF_W_JENKINSON_TAIL
FF_W_SCHEMENSKY_SUPERCRITICAL_AF = _vsp.FF_W_SCHEMENSKY_SUPERCRITICAL_AF
PD_UNITS_IMPERIAL = _vsp.PD_UNITS_IMPERIAL
PD_UNITS_METRIC = _vsp.PD_UNITS_METRIC
MALE = _vsp.MALE
FEMALE = _vsp.FEMALE
EDIT_XSEC_CIRCLE = _vsp.EDIT_XSEC_CIRCLE
EDIT_XSEC_ELLIPSE = _vsp.EDIT_XSEC_ELLIPSE
EDIT_XSEC_RECTANGLE = _vsp.EDIT_XSEC_RECTANGLE
IMPORT_STL = _vsp.IMPORT_STL
IMPORT_NASCART = _vsp.IMPORT_NASCART
IMPORT_CART3D_TRI = _vsp.IMPORT_CART3D_TRI
IMPORT_XSEC_MESH = _vsp.IMPORT_XSEC_MESH
IMPORT_PTS = _vsp.IMPORT_PTS
IMPORT_V2 = _vsp.IMPORT_V2
IMPORT_BEM = _vsp.IMPORT_BEM
IMPORT_XSEC_WIRE = _vsp.IMPORT_XSEC_WIRE
INTERSECT_SRF_FILE_NAME = _vsp.INTERSECT_SRF_FILE_NAME
INTERSECT_CURV_FILE_NAME = _vsp.INTERSECT_CURV_FILE_NAME
INTERSECT_PLOT3D_FILE_NAME = _vsp.INTERSECT_PLOT3D_FILE_NAME
INTERSECT_NUM_FILE_NAMES = _vsp.INTERSECT_NUM_FILE_NAMES
LEN_MM = _vsp.LEN_MM
LEN_CM = _vsp.LEN_CM
LEN_M = _vsp.LEN_M
LEN_IN = _vsp.LEN_IN
LEN_FT = _vsp.LEN_FT
LEN_YD = _vsp.LEN_YD
LEN_UNITLESS = _vsp.LEN_UNITLESS
MASS_UNIT_G = _vsp.MASS_UNIT_G
MASS_UNIT_KG = _vsp.MASS_UNIT_KG
MASS_UNIT_TONNE = _vsp.MASS_UNIT_TONNE
MASS_UNIT_LBM = _vsp.MASS_UNIT_LBM
MASS_UNIT_SLUG = _vsp.MASS_UNIT_SLUG
MASS_LBFSEC2IN = _vsp.MASS_LBFSEC2IN
PARM_DOUBLE_TYPE = _vsp.PARM_DOUBLE_TYPE
PARM_INT_TYPE = _vsp.PARM_INT_TYPE
PARM_BOOL_TYPE = _vsp.PARM_BOOL_TYPE
PARM_FRACTION_TYPE = _vsp.PARM_FRACTION_TYPE
PARM_LIMITED_INT_TYPE = _vsp.PARM_LIMITED_INT_TYPE
PARM_NOTEQ_TYPE = _vsp.PARM_NOTEQ_TYPE
PARM_POWER_INT_TYPE = _vsp.PARM_POWER_INT_TYPE
PATCH_NONE = _vsp.PATCH_NONE
PATCH_POINT = _vsp.PATCH_POINT
PATCH_LINE = _vsp.PATCH_LINE
PATCH_COPY = _vsp.PATCH_COPY
PATCH_HALFWAY = _vsp.PATCH_HALFWAY
PATCH_NUM_TYPES = _vsp.PATCH_NUM_TYPES
LINEAR = _vsp.LINEAR
PCHIP = _vsp.PCHIP
CEDIT = _vsp.CEDIT
NUM_PCURV_TYPE = _vsp.NUM_PCURV_TYPE
PRES_UNIT_PSF = _vsp.PRES_UNIT_PSF
PRES_UNIT_PSI = _vsp.PRES_UNIT_PSI
PRES_UNIT_BA = _vsp.PRES_UNIT_BA
PRES_UNIT_PA = _vsp.PRES_UNIT_PA
PRES_UNIT_KPA = _vsp.PRES_UNIT_KPA
PRES_UNIT_MPA = _vsp.PRES_UNIT_MPA
PRES_UNIT_INCHHG = _vsp.PRES_UNIT_INCHHG
PRES_UNIT_MMHG = _vsp.PRES_UNIT_MMHG
PRES_UNIT_MMH20 = _vsp.PRES_UNIT_MMH20
PRES_UNIT_MB = _vsp.PRES_UNIT_MB
PRES_UNIT_ATM = _vsp.PRES_UNIT_ATM
NO_BOUNDARY = _vsp.NO_BOUNDARY
SET_BOUNDARY = _vsp.SET_BOUNDARY
GEOM_BOUNDARY = _vsp.GEOM_BOUNDARY
NUM_PROJ_BNDY_OPTIONS = _vsp.NUM_PROJ_BNDY_OPTIONS
X_PROJ = _vsp.X_PROJ
Y_PROJ = _vsp.Y_PROJ
Z_PROJ = _vsp.Z_PROJ
GEOM_PROJ = _vsp.GEOM_PROJ
VEC_PROJ = _vsp.VEC_PROJ
NUM_PROJ_DIR_OPTIONS = _vsp.NUM_PROJ_DIR_OPTIONS
SET_TARGET = _vsp.SET_TARGET
GEOM_TARGET = _vsp.GEOM_TARGET
NUM_PROJ_TGT_OPTIONS = _vsp.NUM_PROJ_TGT_OPTIONS
PROP_BLADES = _vsp.PROP_BLADES
PROP_BOTH = _vsp.PROP_BOTH
PROP_DISK = _vsp.PROP_DISK
PROP_CHORD = _vsp.PROP_CHORD
PROP_TWIST = _vsp.PROP_TWIST
PROP_RAKE = _vsp.PROP_RAKE
PROP_SKEW = _vsp.PROP_SKEW
PROP_SWEEP = _vsp.PROP_SWEEP
PROP_THICK = _vsp.PROP_THICK
PROP_CLI = _vsp.PROP_CLI
NUM_PROP_PCURVE = _vsp.NUM_PROP_PCURVE
MANUAL_REF = _vsp.MANUAL_REF
COMPONENT_REF = _vsp.COMPONENT_REF
NUM_REF_TYPES = _vsp.NUM_REF_TYPES
INVALID_TYPE = _vsp.INVALID_TYPE
INT_DATA = _vsp.INT_DATA
DOUBLE_DATA = _vsp.DOUBLE_DATA
STRING_DATA = _vsp.STRING_DATA
VEC3D_DATA = _vsp.VEC3D_DATA
DOUBLE_MATRIX_DATA = _vsp.DOUBLE_MATRIX_DATA
MESH_INDEXED_TRI = _vsp.MESH_INDEXED_TRI
MESH_SLICE_TRI = _vsp.MESH_SLICE_TRI
GEOM_XSECS = _vsp.GEOM_XSECS
MESH_INDEX_AND_SLICE_TRI = _vsp.MESH_INDEX_AND_SLICE_TRI
RHO_UNIT_SLUG_FT3 = _vsp.RHO_UNIT_SLUG_FT3
RHO_UNIT_G_CM3 = _vsp.RHO_UNIT_G_CM3
RHO_UNIT_KG_M3 = _vsp.RHO_UNIT_KG_M3
RHO_UNIT_TONNE_MM3 = _vsp.RHO_UNIT_TONNE_MM3
RHO_UNIT_LBF_FT3 = _vsp.RHO_UNIT_LBF_FT3
RHO_UNIT_LBFSEC2_IN4 = _vsp.RHO_UNIT_LBFSEC2_IN4
SET_ALL = _vsp.SET_ALL
SET_SHOWN = _vsp.SET_SHOWN
SET_NOT_SHOWN = _vsp.SET_NOT_SHOWN
SET_FIRST_USER = _vsp.SET_FIRST_USER
SS_INC_TREAT_AS_PARENT = _vsp.SS_INC_TREAT_AS_PARENT
SS_INC_SEPARATE_TREATMENT = _vsp.SS_INC_SEPARATE_TREATMENT
SS_INC_ZERO_DRAG = _vsp.SS_INC_ZERO_DRAG
INSIDE = _vsp.INSIDE
OUTSIDE = _vsp.OUTSIDE
NONE = _vsp.NONE
CONST_U = _vsp.CONST_U
CONST_W = _vsp.CONST_W
SS_LINE = _vsp.SS_LINE
SS_RECTANGLE = _vsp.SS_RECTANGLE
SS_ELLIPSE = _vsp.SS_ELLIPSE
SS_CONTROL = _vsp.SS_CONTROL
SS_LINE_ARRAY = _vsp.SS_LINE_ARRAY
SS_NUM_TYPES = _vsp.SS_NUM_TYPES
SYM_XY = _vsp.SYM_XY
SYM_XZ = _vsp.SYM_XZ
SYM_YZ = _vsp.SYM_YZ
SYM_ROT_X = _vsp.SYM_ROT_X
SYM_ROT_Y = _vsp.SYM_ROT_Y
SYM_ROT_Z = _vsp.SYM_ROT_Z
SYM_PLANAR_TYPES = _vsp.SYM_PLANAR_TYPES
SYM_NUM_TYPES = _vsp.SYM_NUM_TYPES
SYM_NONE = _vsp.SYM_NONE
SYM_RL = _vsp.SYM_RL
TEMP_UNIT_K = _vsp.TEMP_UNIT_K
TEMP_UNIT_C = _vsp.TEMP_UNIT_C
TEMP_UNIT_F = _vsp.TEMP_UNIT_F
TEMP_UNIT_R = _vsp.TEMP_UNIT_R
V_UNIT_FT_S = _vsp.V_UNIT_FT_S
V_UNIT_M_S = _vsp.V_UNIT_M_S
V_UNIT_MPH = _vsp.V_UNIT_MPH
V_UNIT_KM_HR = _vsp.V_UNIT_KM_HR
V_UNIT_KEAS = _vsp.V_UNIT_KEAS
V_UNIT_KTAS = _vsp.V_UNIT_KTAS
V_UNIT_MACH = _vsp.V_UNIT_MACH
VIEW_1 = _vsp.VIEW_1
VIEW_2HOR = _vsp.VIEW_2HOR
VIEW_2VER = _vsp.VIEW_2VER
VIEW_4 = _vsp.VIEW_4
ROT_0 = _vsp.ROT_0
ROT_90 = _vsp.ROT_90
ROT_180 = _vsp.ROT_180
ROT_270 = _vsp.ROT_270
VIEW_LEFT = _vsp.VIEW_LEFT
VIEW_RIGHT = _vsp.VIEW_RIGHT
VIEW_TOP = _vsp.VIEW_TOP
VIEW_BOTTOM = _vsp.VIEW_BOTTOM
VIEW_FRONT = _vsp.VIEW_FRONT
VIEW_REAR = _vsp.VIEW_REAR
VIEW_NONE = _vsp.VIEW_NONE
VORTEX_LATTICE = _vsp.VORTEX_LATTICE
PANEL = _vsp.PANEL
PRECON_MATRIX = _vsp.PRECON_MATRIX
PRECON_JACOBI = _vsp.PRECON_JACOBI
PRECON_SSOR = _vsp.PRECON_SSOR
STABILITY_DEFAULT = _vsp.STABILITY_DEFAULT
STABILITY_P_ANALYSIS = _vsp.STABILITY_P_ANALYSIS
STABILITY_Q_ANALYSIS = _vsp.STABILITY_Q_ANALYSIS
STABILITY_R_ANALYSIS = _vsp.STABILITY_R_ANALYSIS
STABILITY_UNSTEADY = _vsp.STABILITY_UNSTEADY
STABILITY_HEAVE = _vsp.STABILITY_HEAVE
STABILITY_IMPULSE = _vsp.STABILITY_IMPULSE
CFD_NORMAL = _vsp.CFD_NORMAL
CFD_NEGATIVE = _vsp.CFD_NEGATIVE
CFD_TRANSPARENT = _vsp.CFD_TRANSPARENT
CFD_STRUCTURE = _vsp.CFD_STRUCTURE
CFD_STIFFENER = _vsp.CFD_STIFFENER
CFD_NUM_TYPES = _vsp.CFD_NUM_TYPES
NORMAL_SURF = _vsp.NORMAL_SURF
WING_SURF = _vsp.WING_SURF
DISK_SURF = _vsp.DISK_SURF
PROP_SURF = _vsp.PROP_SURF
NUM_SURF_TYPES = _vsp.NUM_SURF_TYPES
BLEND_FREE = _vsp.BLEND_FREE
BLEND_ANGLES = _vsp.BLEND_ANGLES
BLEND_MATCH_IN_LE_TRAP = _vsp.BLEND_MATCH_IN_LE_TRAP
BLEND_MATCH_IN_TE_TRAP = _vsp.BLEND_MATCH_IN_TE_TRAP
BLEND_MATCH_OUT_LE_TRAP = _vsp.BLEND_MATCH_OUT_LE_TRAP
BLEND_MATCH_OUT_TE_TRAP = _vsp.BLEND_MATCH_OUT_TE_TRAP
BLEND_MATCH_IN_ANGLES = _vsp.BLEND_MATCH_IN_ANGLES
BLEND_MATCH_LE_ANGLES = _vsp.BLEND_MATCH_LE_ANGLES
BLEND_NUM_TYPES = _vsp.BLEND_NUM_TYPES
AR_WSECT_DRIVER = _vsp.AR_WSECT_DRIVER
SPAN_WSECT_DRIVER = _vsp.SPAN_WSECT_DRIVER
AREA_WSECT_DRIVER = _vsp.AREA_WSECT_DRIVER
TAPER_WSECT_DRIVER = _vsp.TAPER_WSECT_DRIVER
AVEC_WSECT_DRIVER = _vsp.AVEC_WSECT_DRIVER
ROOTC_WSECT_DRIVER = _vsp.ROOTC_WSECT_DRIVER
TIPC_WSECT_DRIVER = _vsp.TIPC_WSECT_DRIVER
SECSWEEP_WSECT_DRIVER = _vsp.SECSWEEP_WSECT_DRIVER
NUM_WSECT_DRIVER = _vsp.NUM_WSECT_DRIVER
SWEEP_WSECT_DRIVER = _vsp.SWEEP_WSECT_DRIVER
SWEEPLOC_WSECT_DRIVER = _vsp.SWEEPLOC_WSECT_DRIVER
SECSWEEPLOC_WSECT_DRIVER = _vsp.SECSWEEPLOC_WSECT_DRIVER
XDDM_VAR = _vsp.XDDM_VAR
XDDM_CONST = _vsp.XDDM_CONST
CLOSE_NONE = _vsp.CLOSE_NONE
CLOSE_SKEWLOW = _vsp.CLOSE_SKEWLOW
CLOSE_SKEWUP = _vsp.CLOSE_SKEWUP
CLOSE_SKEWBOTH = _vsp.CLOSE_SKEWBOTH
CLOSE_EXTRAP = _vsp.CLOSE_EXTRAP
CLOSE_NUM_TYPES = _vsp.CLOSE_NUM_TYPES
XS_UNDEFINED = _vsp.XS_UNDEFINED
XS_POINT = _vsp.XS_POINT
XS_CIRCLE = _vsp.XS_CIRCLE
XS_ELLIPSE = _vsp.XS_ELLIPSE
XS_SUPER_ELLIPSE = _vsp.XS_SUPER_ELLIPSE
XS_ROUNDED_RECTANGLE = _vsp.XS_ROUNDED_RECTANGLE
XS_GENERAL_FUSE = _vsp.XS_GENERAL_FUSE
XS_FILE_FUSE = _vsp.XS_FILE_FUSE
XS_FOUR_SERIES = _vsp.XS_FOUR_SERIES
XS_SIX_SERIES = _vsp.XS_SIX_SERIES
XS_BICONVEX = _vsp.XS_BICONVEX
XS_WEDGE = _vsp.XS_WEDGE
XS_EDIT_CURVE = _vsp.XS_EDIT_CURVE
XS_FILE_AIRFOIL = _vsp.XS_FILE_AIRFOIL
XS_CST_AIRFOIL = _vsp.XS_CST_AIRFOIL
XS_VKT_AIRFOIL = _vsp.XS_VKT_AIRFOIL
XS_FOUR_DIGIT_MOD = _vsp.XS_FOUR_DIGIT_MOD
XS_FIVE_DIGIT = _vsp.XS_FIVE_DIGIT
XS_FIVE_DIGIT_MOD = _vsp.XS_FIVE_DIGIT_MOD
XS_ONE_SIX_SERIES = _vsp.XS_ONE_SIX_SERIES
XS_NUM_TYPES = _vsp.XS_NUM_TYPES
XSEC_BOTH_SIDES = _vsp.XSEC_BOTH_SIDES
XSEC_LEFT_SIDE = _vsp.XSEC_LEFT_SIDE
XSEC_RIGHT_SIDE = _vsp.XSEC_RIGHT_SIDE
TRIM_NONE = _vsp.TRIM_NONE
TRIM_X = _vsp.TRIM_X
TRIM_THICK = _vsp.TRIM_THICK
TRIM_NUM_TYPES = _vsp.TRIM_NUM_TYPES
XSEC_FUSE = _vsp.XSEC_FUSE
XSEC_STACK = _vsp.XSEC_STACK
XSEC_WING = _vsp.XSEC_WING
XSEC_CUSTOM = _vsp.XSEC_CUSTOM
XSEC_PROP = _vsp.XSEC_PROP
XSEC_NUM_TYPES = _vsp.XSEC_NUM_TYPES
XS_SHIFT_LE = _vsp.XS_SHIFT_LE
XS_SHIFT_MID = _vsp.XS_SHIFT_MID
XS_SHIFT_TE = _vsp.XS_SHIFT_TE
class ErrorObj(object):
    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):
        _vsp.ErrorObj_swiginit(self, _vsp.new_ErrorObj(*args))
    __swig_destroy__ = _vsp.delete_ErrorObj

    def GetErrorCode(self):
        return _vsp.ErrorObj_GetErrorCode(self)

    def GetErrorString(self):
        return _vsp.ErrorObj_GetErrorString(self)
    m_ErrorCode = property(_vsp.ErrorObj_m_ErrorCode_get, _vsp.ErrorObj_m_ErrorCode_set)
    m_ErrorString = property(_vsp.ErrorObj_m_ErrorString_get, _vsp.ErrorObj_m_ErrorString_set)

    def NoError(self):
        return _vsp.ErrorObj_NoError(self)

# Register ErrorObj in _vsp:
_vsp.ErrorObj_swigregister(ErrorObj)

class ErrorMgrSingleton(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")
    __repr__ = _swig_repr

    def GetErrorLastCallFlag(self):
        return _vsp.ErrorMgrSingleton_GetErrorLastCallFlag(self)

    def GetNumTotalErrors(self):
        return _vsp.ErrorMgrSingleton_GetNumTotalErrors(self)

    def PopLastError(self):
        return _vsp.ErrorMgrSingleton_PopLastError(self)

    def GetLastError(self):
        return _vsp.ErrorMgrSingleton_GetLastError(self)

    def PopErrorAndPrint(self, stream):
        return _vsp.ErrorMgrSingleton_PopErrorAndPrint(self, stream)

    def AddError(self, code, desc):
        return _vsp.ErrorMgrSingleton_AddError(self, code, desc)

    def NoError(self):
        return _vsp.ErrorMgrSingleton_NoError(self)

    def MessageCallback(self, _from, data):
        return _vsp.ErrorMgrSingleton_MessageCallback(self, _from, data)

    @staticmethod
    def getInstance():
        return _vsp.ErrorMgrSingleton_getInstance()

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

def ErrorMgrSingleton_getInstance():
    return _vsp.ErrorMgrSingleton_getInstance()


def VSPCheckSetup():
    return _vsp.VSPCheckSetup()

def VSPRenew():
    return _vsp.VSPRenew()

def Update():
    return _vsp.Update()

def VSPExit(error_code):
    return _vsp.VSPExit(error_code)

def GetVSPExePath():
    return _vsp.GetVSPExePath()

def ReadVSPFile(file_name):
    return _vsp.ReadVSPFile(file_name)

def WriteVSPFile(*args):
    return _vsp.WriteVSPFile(*args)

def SetVSP3FileName(file_name):
    return _vsp.SetVSP3FileName(file_name)

def GetVSPFileName():
    return _vsp.GetVSPFileName()

def ClearVSPModel():
    return _vsp.ClearVSPModel()

def InsertVSPFile(file_name, parent_geom_id):
    return _vsp.InsertVSPFile(file_name, parent_geom_id)

def ExportFile(file_name, write_set_index, file_type):
    return _vsp.ExportFile(file_name, write_set_index, file_type)

def ImportFile(file_name, file_type, parent):
    return _vsp.ImportFile(file_name, file_type, parent)

def ReadApplyDESFile(file_name):
    return _vsp.ReadApplyDESFile(file_name)

def WriteDESFile(file_name):
    return _vsp.WriteDESFile(file_name)

def ReadApplyXDDMFile(file_name):
    return _vsp.ReadApplyXDDMFile(file_name)

def WriteXDDMFile(file_name):
    return _vsp.WriteXDDMFile(file_name)

def GetNumDesignVars():
    return _vsp.GetNumDesignVars()

def AddDesignVar(parm_id, type):
    return _vsp.AddDesignVar(parm_id, type)

def DeleteAllDesignVars():
    return _vsp.DeleteAllDesignVars()

def GetDesignVar(index):
    return _vsp.GetDesignVar(index)

def GetDesignVarType(index):
    return _vsp.GetDesignVarType(index)

def SetComputationFileName(file_type, file_name):
    return _vsp.SetComputationFileName(file_type, file_name)

def ComputeMassProps(set, num_slices):
    return _vsp.ComputeMassProps(set, num_slices)

def ComputeCompGeom(set, half_mesh, file_export_types):
    return _vsp.ComputeCompGeom(set, half_mesh, file_export_types)

def ComputePlaneSlice(set, num_slices, norm, auto_bnd, start_bnd=0, end_bnd=0):
    return _vsp.ComputePlaneSlice(set, num_slices, norm, auto_bnd, start_bnd, end_bnd)

def ComputeDegenGeom(set, file_export_types):
    return _vsp.ComputeDegenGeom(set, file_export_types)

def ComputeCFDMesh(set, file_export_types):
    return _vsp.ComputeCFDMesh(set, file_export_types)

def SetCFDMeshVal(type, val):
    return _vsp.SetCFDMeshVal(type, val)

def SetCFDWakeFlag(geom_id, flag):
    return _vsp.SetCFDWakeFlag(geom_id, flag)

def DeleteAllCFDSources():
    return _vsp.DeleteAllCFDSources()

def AddDefaultSources():
    return _vsp.AddDefaultSources()

def AddCFDSource(type, geom_id, surf_index, l1, r1, u1, w1, l2=0, r2=0, u2=0, w2=0):
    return _vsp.AddCFDSource(type, geom_id, surf_index, l1, r1, u1, w1, l2, r2, u2, w2)

def GetVSPAERORefWingID():
    return _vsp.GetVSPAERORefWingID()

def SetVSPAERORefWingID(geom_id):
    return _vsp.SetVSPAERORefWingID(geom_id)

def GetNumAnalysis():
    return _vsp.GetNumAnalysis()

def ListAnalysis():
    return _vsp.ListAnalysis()

def GetAnalysisInputNames(analysis):
    return _vsp.GetAnalysisInputNames(analysis)

def ExecAnalysis(analysis):
    return _vsp.ExecAnalysis(analysis)

def GetNumAnalysisInputData(analysis, name):
    return _vsp.GetNumAnalysisInputData(analysis, name)

def GetAnalysisInputType(analysis, name):
    return _vsp.GetAnalysisInputType(analysis, name)

def GetIntAnalysisInput(analysis, name, index=0):
    return _vsp.GetIntAnalysisInput(analysis, name, index)

def GetDoubleAnalysisInput(analysis, name, index=0):
    return _vsp.GetDoubleAnalysisInput(analysis, name, index)

def GetStringAnalysisInput(analysis, name, index=0):
    return _vsp.GetStringAnalysisInput(analysis, name, index)

def GetVec3dAnalysisInput(analysis, name, index=0):
    return _vsp.GetVec3dAnalysisInput(analysis, name, index)

def SetAnalysisInputDefaults(analysis):
    return _vsp.SetAnalysisInputDefaults(analysis)

def SetIntAnalysisInput(analysis, name, indata, index=0):
    return _vsp.SetIntAnalysisInput(analysis, name, indata, index)

def SetDoubleAnalysisInput(analysis, name, indata, index=0):
    return _vsp.SetDoubleAnalysisInput(analysis, name, indata, index)

def SetStringAnalysisInput(analysis, name, indata, index=0):
    return _vsp.SetStringAnalysisInput(analysis, name, indata, index)

def SetVec3dAnalysisInput(analysis, name, indata, index=0):
    return _vsp.SetVec3dAnalysisInput(analysis, name, indata, index)

def PrintAnalysisInputs(analysis_name):
    return _vsp.PrintAnalysisInputs(analysis_name)

def GetAllResultsNames():
    return _vsp.GetAllResultsNames()

def GetAllDataNames(results_id):
    return _vsp.GetAllDataNames(results_id)

def GetNumResults(name):
    return _vsp.GetNumResults(name)

def GetResultsName(results_id):
    return _vsp.GetResultsName(results_id)

def FindResultsID(name, index=0):
    return _vsp.FindResultsID(name, index)

def FindLatestResultsID(name):
    return _vsp.FindLatestResultsID(name)

def GetNumData(results_id, data_name):
    return _vsp.GetNumData(results_id, data_name)

def GetResultsType(results_id, data_name):
    return _vsp.GetResultsType(results_id, data_name)

def GetIntResults(id, name, index=0):
    return _vsp.GetIntResults(id, name, index)

def GetDoubleResults(id, name, index=0):
    return _vsp.GetDoubleResults(id, name, index)

def GetDoubleMatResults(id, name, index=0):
    return _vsp.GetDoubleMatResults(id, name, index)

def GetStringResults(id, name, index=0):
    return _vsp.GetStringResults(id, name, index)

def GetVec3dResults(id, name, index=0):
    return _vsp.GetVec3dResults(id, name, index)

def CreateGeomResults(geom_id, name):
    return _vsp.CreateGeomResults(geom_id, name)

def DeleteAllResults():
    return _vsp.DeleteAllResults()

def DeleteResult(id):
    return _vsp.DeleteResult(id)

def WriteResultsCSVFile(id, file_name):
    return _vsp.WriteResultsCSVFile(id, file_name)

def PrintResults(results_id):
    return _vsp.PrintResults(results_id)

def StartGui():
    return _vsp.StartGui()

def ScreenGrab(fname, w, h, transparentBG):
    return _vsp.ScreenGrab(fname, w, h, transparentBG)

def SetViewAxis(vaxis):
    return _vsp.SetViewAxis(vaxis)

def SetShowBorders(brdr):
    return _vsp.SetShowBorders(brdr)

def SetGeomDrawType(geom_id, type):
    return _vsp.SetGeomDrawType(geom_id, type)

def SetGeomDisplayType(geom_id, type):
    return _vsp.SetGeomDisplayType(geom_id, type)

def SetBackground(r, g, b):
    return _vsp.SetBackground(r, g, b)

def GetGeomTypes():
    return _vsp.GetGeomTypes()

def AddGeom(*args):
    return _vsp.AddGeom(*args)

def UpdateGeom(geom_id):
    return _vsp.UpdateGeom(geom_id)

def DeleteGeom(geom_id):
    return _vsp.DeleteGeom(geom_id)

def DeleteGeomVec(del_vec):
    return _vsp.DeleteGeomVec(del_vec)

def CutGeomToClipboard(geom_id):
    return _vsp.CutGeomToClipboard(geom_id)

def CopyGeomToClipboard(geom_id):
    return _vsp.CopyGeomToClipboard(geom_id)

def PasteGeomClipboard(*args):
    return _vsp.PasteGeomClipboard(*args)

def FindGeoms():
    return _vsp.FindGeoms()

def FindGeomsWithName(name):
    return _vsp.FindGeomsWithName(name)

def FindGeom(name, index):
    return _vsp.FindGeom(name, index)

def SetGeomName(geom_id, name):
    return _vsp.SetGeomName(geom_id, name)

def GetGeomName(geom_id):
    return _vsp.GetGeomName(geom_id)

def GetGeomParmIDs(geom_id):
    return _vsp.GetGeomParmIDs(geom_id)

def GetGeomTypeName(geom_id):
    return _vsp.GetGeomTypeName(geom_id)

def GetParm(geom_id, name, group):
    return _vsp.GetParm(geom_id, name, group)

def GetGeomParent(geom_id):
    return _vsp.GetGeomParent(geom_id)

def GetGeomChildren(geom_id):
    return _vsp.GetGeomChildren(geom_id)

def GetNumXSecSurfs(geom_id):
    return _vsp.GetNumXSecSurfs(geom_id)

def GetNumMainSurfs(geom_id):
    return _vsp.GetNumMainSurfs(geom_id)

def AddSubSurf(geom_id, type, surfindex=0):
    return _vsp.AddSubSurf(geom_id, type, surfindex)

def GetSubSurf(*args):
    return _vsp.GetSubSurf(*args)

def DeleteSubSurf(*args):
    return _vsp.DeleteSubSurf(*args)

def SetSubSurfName(*args):
    return _vsp.SetSubSurfName(*args)

def GetSubSurfName(*args):
    return _vsp.GetSubSurfName(*args)

def GetSubSurfIndex(sub_id):
    return _vsp.GetSubSurfIndex(sub_id)

def GetSubSurfIDVec(geom_id):
    return _vsp.GetSubSurfIDVec(geom_id)

def GetAllSubSurfIDs():
    return _vsp.GetAllSubSurfIDs()

def GetNumSubSurf(geom_id):
    return _vsp.GetNumSubSurf(geom_id)

def GetSubSurfType(sub_id):
    return _vsp.GetSubSurfType(sub_id)

def GetSubSurfParmIDs(sub_id):
    return _vsp.GetSubSurfParmIDs(sub_id)

def AddFeaStruct(geom_id, init_skin=True, surfindex=0):
    return _vsp.AddFeaStruct(geom_id, init_skin, surfindex)

def DeleteFeaStruct(geom_id, fea_struct_ind):
    return _vsp.DeleteFeaStruct(geom_id, fea_struct_ind)

def GetFeaStructID(geom_id, fea_struct_ind):
    return _vsp.GetFeaStructID(geom_id, fea_struct_ind)

def GetFeaStructIndex(struct_id):
    return _vsp.GetFeaStructIndex(struct_id)

def GetFeaStructParentGeomID(struct_id):
    return _vsp.GetFeaStructParentGeomID(struct_id)

def GetFeaStructName(geom_id, fea_struct_ind):
    return _vsp.GetFeaStructName(geom_id, fea_struct_ind)

def SetFeaStructName(geom_id, fea_struct_ind, name):
    return _vsp.SetFeaStructName(geom_id, fea_struct_ind, name)

def SetFeaPartName(part_id, name):
    return _vsp.SetFeaPartName(part_id, name)

def AddFeaPart(geom_id, fea_struct_ind, type):
    return _vsp.AddFeaPart(geom_id, fea_struct_ind, type)

def DeleteFeaPart(geom_id, fea_struct_ind, part_id):
    return _vsp.DeleteFeaPart(geom_id, fea_struct_ind, part_id)

def AddFeaSubSurf(geom_id, fea_struct_ind, type):
    return _vsp.AddFeaSubSurf(geom_id, fea_struct_ind, type)

def DeleteFeaSubSurf(geom_id, fea_struct_ind, ss_id):
    return _vsp.DeleteFeaSubSurf(geom_id, fea_struct_ind, ss_id)

def AddFeaMaterial():
    return _vsp.AddFeaMaterial()

def AddFeaProperty(property_type=0):
    return _vsp.AddFeaProperty(property_type)

def SetFeaMeshVal(geom_id, fea_struct_ind, type, val):
    return _vsp.SetFeaMeshVal(geom_id, fea_struct_ind, type, val)

def SetFeaMeshFileName(geom_id, fea_struct_ind, file_type, file_name):
    return _vsp.SetFeaMeshFileName(geom_id, fea_struct_ind, file_type, file_name)

def ComputeFeaMesh(*args):
    return _vsp.ComputeFeaMesh(*args)

def CutXSec(geom_id, index):
    return _vsp.CutXSec(geom_id, index)

def CopyXSec(geom_id, index):
    return _vsp.CopyXSec(geom_id, index)

def PasteXSec(geom_id, index):
    return _vsp.PasteXSec(geom_id, index)

def InsertXSec(geom_id, index, type):
    return _vsp.InsertXSec(geom_id, index, type)

def SetDriverGroup(geom_id, section_index, driver_0, driver_1, driver_2):
    return _vsp.SetDriverGroup(geom_id, section_index, driver_0, driver_1, driver_2)

def GetXSecSurf(geom_id, index):
    return _vsp.GetXSecSurf(geom_id, index)

def GetNumXSec(xsec_surf_id):
    return _vsp.GetNumXSec(xsec_surf_id)

def GetXSec(xsec_surf_id, xsec_index):
    return _vsp.GetXSec(xsec_surf_id, xsec_index)

def ChangeXSecShape(xsec_surf_id, xsec_index, type):
    return _vsp.ChangeXSecShape(xsec_surf_id, xsec_index, type)

def SetXSecSurfGlobalXForm(xsec_surf_id, mat):
    return _vsp.SetXSecSurfGlobalXForm(xsec_surf_id, mat)

def GetXSecSurfGlobalXForm(xsec_surf_id):
    return _vsp.GetXSecSurfGlobalXForm(xsec_surf_id)

def GetXSecShape(xsec_id):
    return _vsp.GetXSecShape(xsec_id)

def GetXSecWidth(xsec_id):
    return _vsp.GetXSecWidth(xsec_id)

def GetXSecHeight(xsec_id):
    return _vsp.GetXSecHeight(xsec_id)

def SetXSecWidthHeight(xsec_id, w, h):
    return _vsp.SetXSecWidthHeight(xsec_id, w, h)

def GetXSecParmIDs(xsec_id):
    return _vsp.GetXSecParmIDs(xsec_id)

def GetXSecParm(xsec_id, name):
    return _vsp.GetXSecParm(xsec_id, name)

def ReadFileXSec(xsec_id, file_name):
    return _vsp.ReadFileXSec(xsec_id, file_name)

def SetXSecPnts(xsec_id, pnt_vec):
    return _vsp.SetXSecPnts(xsec_id, pnt_vec)

def ComputeXSecPnt(xsec_id, fract):
    return _vsp.ComputeXSecPnt(xsec_id, fract)

def ComputeXSecTan(xsec_id, fract):
    return _vsp.ComputeXSecTan(xsec_id, fract)

def ResetXSecSkinParms(xsec_id):
    return _vsp.ResetXSecSkinParms(xsec_id)

def SetXSecContinuity(xsec_id, cx):
    return _vsp.SetXSecContinuity(xsec_id, cx)

def SetXSecTanAngles(xsec_id, side, top, right, bottom, left):
    return _vsp.SetXSecTanAngles(xsec_id, side, top, right, bottom, left)

def SetXSecTanSlews(xsec_id, side, top, right, bottom, left):
    return _vsp.SetXSecTanSlews(xsec_id, side, top, right, bottom, left)

def SetXSecTanStrengths(xsec_id, side, top, right, bottom, left):
    return _vsp.SetXSecTanStrengths(xsec_id, side, top, right, bottom, left)

def SetXSecCurvatures(xsec_id, side, top, right, bottom, left):
    return _vsp.SetXSecCurvatures(xsec_id, side, top, right, bottom, left)

def ChangeBORXSecShape(geom_id, type):
    return _vsp.ChangeBORXSecShape(geom_id, type)

def GetBORXSecShape(geom_id):
    return _vsp.GetBORXSecShape(geom_id)

def ReadFileAirfoil(xsec_id, file_name):
    return _vsp.ReadFileAirfoil(xsec_id, file_name)

def SetAirfoilPnts(xsec_id, up_pnt_vec, low_pnt_vec):
    return _vsp.SetAirfoilPnts(xsec_id, up_pnt_vec, low_pnt_vec)

def GetHersheyBarLiftDist(npts, alpha, Vinf, span, full_span_flag=False):
    return _vsp.GetHersheyBarLiftDist(npts, alpha, Vinf, span, full_span_flag)

def GetHersheyBarDragDist(npts, alpha, Vinf, span, full_span_flag=False):
    return _vsp.GetHersheyBarDragDist(npts, alpha, Vinf, span, full_span_flag)

def GetVKTAirfoilPnts(npts, alpha, epsilon, kappa, tau):
    return _vsp.GetVKTAirfoilPnts(npts, alpha, epsilon, kappa, tau)

def GetVKTAirfoilCpDist(alpha, epsilon, kappa, tau, xyz_data):
    return _vsp.GetVKTAirfoilCpDist(alpha, epsilon, kappa, tau, xyz_data)

def GetEllipsoidSurfPnts(center, abc_rad, u_npts=20, w_npts=20):
    return _vsp.GetEllipsoidSurfPnts(center, abc_rad, u_npts, w_npts)

def GetFeatureLinePnts(geom_id):
    return _vsp.GetFeatureLinePnts(geom_id)

def GetEllipsoidCpDist(surf_pnt_vec, abc_rad, V_inf):
    return _vsp.GetEllipsoidCpDist(surf_pnt_vec, abc_rad, V_inf)

def IntegrateEllipsoidFlow(abc_rad, abc_index):
    return _vsp.IntegrateEllipsoidFlow(abc_rad, abc_index)

def GetAirfoilUpperPnts(xsec_id):
    return _vsp.GetAirfoilUpperPnts(xsec_id)

def GetAirfoilLowerPnts(xsec_id):
    return _vsp.GetAirfoilLowerPnts(xsec_id)

def GetUpperCSTCoefs(xsec_id):
    return _vsp.GetUpperCSTCoefs(xsec_id)

def GetLowerCSTCoefs(xsec_id):
    return _vsp.GetLowerCSTCoefs(xsec_id)

def GetUpperCSTDegree(xsec_id):
    return _vsp.GetUpperCSTDegree(xsec_id)

def GetLowerCSTDegree(xsec_id):
    return _vsp.GetLowerCSTDegree(xsec_id)

def SetUpperCST(xsec_id, deg, coefs):
    return _vsp.SetUpperCST(xsec_id, deg, coefs)

def SetLowerCST(xsec_id, deg, coefs):
    return _vsp.SetLowerCST(xsec_id, deg, coefs)

def PromoteCSTUpper(xsec_id):
    return _vsp.PromoteCSTUpper(xsec_id)

def PromoteCSTLower(xsec_id):
    return _vsp.PromoteCSTLower(xsec_id)

def DemoteCSTUpper(xsec_id):
    return _vsp.DemoteCSTUpper(xsec_id)

def DemoteCSTLower(xsec_id):
    return _vsp.DemoteCSTLower(xsec_id)

def FitAfCST(xsec_surf_id, xsec_index, deg):
    return _vsp.FitAfCST(xsec_surf_id, xsec_index, deg)

def WriteBezierAirfoil(file_name, geom_id, foilsurf_u):
    return _vsp.WriteBezierAirfoil(file_name, geom_id, foilsurf_u)

def WriteSeligAirfoil(file_name, geom_id, foilsurf_u):
    return _vsp.WriteSeligAirfoil(file_name, geom_id, foilsurf_u)

def GetAirfoilCoordinates(geom_id, foilsurf_u):
    return _vsp.GetAirfoilCoordinates(geom_id, foilsurf_u)

def EditXSecInitShape(xsec_id):
    return _vsp.EditXSecInitShape(xsec_id)

def EditXSecConvertTo(xsec_id, newtype):
    return _vsp.EditXSecConvertTo(xsec_id, newtype)

def GetEditXSecUVec(xsec_id):
    return _vsp.GetEditXSecUVec(xsec_id)

def GetEditXSecCtrlVec(xsec_id, non_dimensional=True):
    return _vsp.GetEditXSecCtrlVec(xsec_id, non_dimensional)

def SetEditXSecPnts(xsec_id, u_vec, control_pts):
    return _vsp.SetEditXSecPnts(xsec_id, u_vec, control_pts)

def EditXSecDelPnt(xsec_id, indx):
    return _vsp.EditXSecDelPnt(xsec_id, indx)

def EditXSecSplit01(xsec_id, u):
    return _vsp.EditXSecSplit01(xsec_id, u)

def MoveEditXSecPnt(xsec_id, indx, new_pnt):
    return _vsp.MoveEditXSecPnt(xsec_id, indx, new_pnt)

def ConvertXSecToEdit(geom_id, indx=0):
    return _vsp.ConvertXSecToEdit(geom_id, indx)

def GetNumSets():
    return _vsp.GetNumSets()

def SetSetName(index, name):
    return _vsp.SetSetName(index, name)

def GetSetName(index):
    return _vsp.GetSetName(index)

def GetGeomSetAtIndex(index):
    return _vsp.GetGeomSetAtIndex(index)

def GetGeomSet(name):
    return _vsp.GetGeomSet(name)

def GetSetIndex(name):
    return _vsp.GetSetIndex(name)

def GetSetFlag(geom_id, set_index):
    return _vsp.GetSetFlag(geom_id, set_index)

def SetSetFlag(geom_id, set_index, flag):
    return _vsp.SetSetFlag(geom_id, set_index, flag)

def ScaleSet(set_index, scale):
    return _vsp.ScaleSet(set_index, scale)

def RotateSet(set_index, x_rot_deg, y_rot_deg, z_rot_deg):
    return _vsp.RotateSet(set_index, x_rot_deg, y_rot_deg, z_rot_deg)

def TranslateSet(set_index, translation_vec):
    return _vsp.TranslateSet(set_index, translation_vec)

def TransformSet(set_index, translation_vec, x_rot_deg, y_rot_deg, z_rot_deg, scale, scale_translations_flag):
    return _vsp.TransformSet(set_index, translation_vec, x_rot_deg, y_rot_deg, z_rot_deg, scale, scale_translations_flag)

def ValidParm(id):
    return _vsp.ValidParm(id)

def SetParmVal(*args):
    return _vsp.SetParmVal(*args)

def SetParmValLimits(parm_id, val, lower_limit, upper_limit):
    return _vsp.SetParmValLimits(parm_id, val, lower_limit, upper_limit)

def SetParmValUpdate(*args):
    return _vsp.SetParmValUpdate(*args)

def GetParmVal(*args):
    return _vsp.GetParmVal(*args)

def GetIntParmVal(parm_id):
    return _vsp.GetIntParmVal(parm_id)

def GetBoolParmVal(parm_id):
    return _vsp.GetBoolParmVal(parm_id)

def SetParmUpperLimit(parm_id, val):
    return _vsp.SetParmUpperLimit(parm_id, val)

def GetParmUpperLimit(parm_id):
    return _vsp.GetParmUpperLimit(parm_id)

def SetParmLowerLimit(parm_id, val):
    return _vsp.SetParmLowerLimit(parm_id, val)

def GetParmLowerLimit(parm_id):
    return _vsp.GetParmLowerLimit(parm_id)

def GetParmType(parm_id):
    return _vsp.GetParmType(parm_id)

def GetParmName(parm_id):
    return _vsp.GetParmName(parm_id)

def GetParmGroupName(parm_id):
    return _vsp.GetParmGroupName(parm_id)

def GetParmDisplayGroupName(parm_id):
    return _vsp.GetParmDisplayGroupName(parm_id)

def GetParmContainer(parm_id):
    return _vsp.GetParmContainer(parm_id)

def SetParmDescript(parm_id, desc):
    return _vsp.SetParmDescript(parm_id, desc)

def FindParm(parm_container_id, parm_name, group_name):
    return _vsp.FindParm(parm_container_id, parm_name, group_name)

def FindContainers():
    return _vsp.FindContainers()

def FindContainersWithName(name):
    return _vsp.FindContainersWithName(name)

def FindContainer(name, index):
    return _vsp.FindContainer(name, index)

def GetContainerName(parm_container_id):
    return _vsp.GetContainerName(parm_container_id)

def FindContainerGroupNames(parm_container_id):
    return _vsp.FindContainerGroupNames(parm_container_id)

def FindContainerParmIDs(parm_container_id):
    return _vsp.FindContainerParmIDs(parm_container_id)

def ComputeMinClearanceDistance(*args):
    return _vsp.ComputeMinClearanceDistance(*args)

def SnapParm(*args):
    return _vsp.SnapParm(*args)

def AddVarPresetGroup(group_name):
    return _vsp.AddVarPresetGroup(group_name)

def AddVarPresetSetting(setting_name):
    return _vsp.AddVarPresetSetting(setting_name)

def AddVarPresetParm(*args):
    return _vsp.AddVarPresetParm(*args)

def EditVarPresetParm(*args):
    return _vsp.EditVarPresetParm(*args)

def DeleteVarPresetParm(*args):
    return _vsp.DeleteVarPresetParm(*args)

def SwitchVarPreset(group_name, setting_name):
    return _vsp.SwitchVarPreset(group_name, setting_name)

def DeleteVarPresetSet(group_name, setting_name):
    return _vsp.DeleteVarPresetSet(group_name, setting_name)

def GetCurrentGroupName():
    return _vsp.GetCurrentGroupName()

def GetCurrentSettingName():
    return _vsp.GetCurrentSettingName()

def GetVarPresetGroupNames():
    return _vsp.GetVarPresetGroupNames()

def GetVarPresetSettingNamesWName(group_name):
    return _vsp.GetVarPresetSettingNamesWName(group_name)

def GetVarPresetSettingNamesWIndex(group_index):
    return _vsp.GetVarPresetSettingNamesWIndex(group_index)

def GetVarPresetParmVals():
    return _vsp.GetVarPresetParmVals()

def GetVarPresetParmValsWNames(group_name, setting_name):
    return _vsp.GetVarPresetParmValsWNames(group_name, setting_name)

def GetVarPresetParmIDs():
    return _vsp.GetVarPresetParmIDs()

def GetVarPresetParmIDsWName(group_name):
    return _vsp.GetVarPresetParmIDsWName(group_name)

def SetPCurve(geom_id, pcurveid, tvec, valvec, newtype):
    return _vsp.SetPCurve(geom_id, pcurveid, tvec, valvec, newtype)

def PCurveConvertTo(geom_id, pcurveid, newtype):
    return _vsp.PCurveConvertTo(geom_id, pcurveid, newtype)

def PCurveGetType(geom_id, pcurveid):
    return _vsp.PCurveGetType(geom_id, pcurveid)

def PCurveGetTVec(geom_id, pcurveid):
    return _vsp.PCurveGetTVec(geom_id, pcurveid)

def PCurveGetValVec(geom_id, pcurveid):
    return _vsp.PCurveGetValVec(geom_id, pcurveid)

def PCurveDeletePt(geom_id, pcurveid, indx):
    return _vsp.PCurveDeletePt(geom_id, pcurveid, indx)

def PCurveSplit(geom_id, pcurveid, tsplit):
    return _vsp.PCurveSplit(geom_id, pcurveid, tsplit)

def AutoGroupVSPAEROControlSurfaces():
    return _vsp.AutoGroupVSPAEROControlSurfaces()

def CreateVSPAEROControlSurfaceGroup():
    return _vsp.CreateVSPAEROControlSurfaceGroup()

def AddAllToVSPAEROControlSurfaceGroup(CSGroupIndex):
    return _vsp.AddAllToVSPAEROControlSurfaceGroup(CSGroupIndex)

def RemoveAllFromVSPAEROControlSurfaceGroup(CSGroupIndex):
    return _vsp.RemoveAllFromVSPAEROControlSurfaceGroup(CSGroupIndex)

def GetActiveCSNameVec(CSGroupIndex):
    return _vsp.GetActiveCSNameVec(CSGroupIndex)

def GetCompleteCSNameVec():
    return _vsp.GetCompleteCSNameVec()

def GetAvailableCSNameVec(CSGroupIndex):
    return _vsp.GetAvailableCSNameVec(CSGroupIndex)

def SetVSPAEROControlGroupName(name, CSGroupIndex):
    return _vsp.SetVSPAEROControlGroupName(name, CSGroupIndex)

def GetVSPAEROControlGroupName(CSGroupIndex):
    return _vsp.GetVSPAEROControlGroupName(CSGroupIndex)

def AddSelectedToCSGroup(selected, CSGroupIndex):
    return _vsp.AddSelectedToCSGroup(selected, CSGroupIndex)

def RemoveSelectedFromCSGroup(selected, CSGroupIndex):
    return _vsp.RemoveSelectedFromCSGroup(selected, CSGroupIndex)

def GetNumControlSurfaceGroups():
    return _vsp.GetNumControlSurfaceGroups()

def AddExcrescence(excresName, excresType, excresVal):
    return _vsp.AddExcrescence(excresName, excresType, excresVal)

def DeleteExcrescence(index):
    return _vsp.DeleteExcrescence(index)

def UpdateParasiteDrag():
    return _vsp.UpdateParasiteDrag()

def WriteAtmosphereCSVFile(file_name, atmos_type):
    return _vsp.WriteAtmosphereCSVFile(file_name, atmos_type)

def CalcAtmosphere(alt, delta_temp, atmos_type, temp, pres, pres_ratio, rho_ratio):
    return _vsp.CalcAtmosphere(alt, delta_temp, atmos_type, temp, pres, pres_ratio, rho_ratio)

def WriteBodyFFCSVFile(file_name):
    return _vsp.WriteBodyFFCSVFile(file_name)

def WriteWingFFCSVFile(file_name):
    return _vsp.WriteWingFFCSVFile(file_name)

def WriteCfEqnCSVFile(file_name):
    return _vsp.WriteCfEqnCSVFile(file_name)

def WritePartialCfMethodCSVFile(file_name):
    return _vsp.WritePartialCfMethodCSVFile(file_name)

def CompPnt01(geom_id, surf_indx, u, w):
    return _vsp.CompPnt01(geom_id, surf_indx, u, w)

def CompNorm01(geom_id, surf_indx, u, w):
    return _vsp.CompNorm01(geom_id, surf_indx, u, w)

def CompTanU01(geom_id, surf_indx, u, w):
    return _vsp.CompTanU01(geom_id, surf_indx, u, w)

def CompTanW01(geom_id, surf_indx, u, w):
    return _vsp.CompTanW01(geom_id, surf_indx, u, w)

def CompCurvature01(geom_id, surf_indx, u, w):
    return _vsp.CompCurvature01(geom_id, surf_indx, u, w)

def ProjPnt01(geom_id, surf_indx, pt):
    return _vsp.ProjPnt01(geom_id, surf_indx, pt)

def ProjPnt01I(geom_id, pt):
    return _vsp.ProjPnt01I(geom_id, pt)

def ProjPnt01Guess(geom_id, surf_indx, pt, u0, w0):
    return _vsp.ProjPnt01Guess(geom_id, surf_indx, pt, u0, w0)

def CompVecPnt01(geom_id, surf_indx, u_in_vec, w_in_vec):
    return _vsp.CompVecPnt01(geom_id, surf_indx, u_in_vec, w_in_vec)

def CompVecNorm01(geom_id, surf_indx, us, ws):
    return _vsp.CompVecNorm01(geom_id, surf_indx, us, ws)

def CompVecCurvature01(geom_id, surf_indx, us, ws):
    return _vsp.CompVecCurvature01(geom_id, surf_indx, us, ws)

def ProjVecPnt01(geom_id, surf_indx, pts):
    return _vsp.ProjVecPnt01(geom_id, surf_indx, pts)

def ProjVecPnt01Guess(geom_id, surf_indx, pts, u0s, w0s):
    return _vsp.ProjVecPnt01Guess(geom_id, surf_indx, pts, u0s, w0s)

def GetUWTess01(geom_id, surf_indx):
    return _vsp.GetUWTess01(geom_id, surf_indx)

def AddRuler(startgeomid, startsurfindx, startu, startw, endgeomid, endsurfindx, endu, endw, name):
    return _vsp.AddRuler(startgeomid, startsurfindx, startu, startw, endgeomid, endsurfindx, endu, endw, name)

def GetAllRulers():
    return _vsp.GetAllRulers()

def DelRuler(id):
    return _vsp.DelRuler(id)

def DeleteAllRulers():
    return _vsp.DeleteAllRulers()

def AddProbe(geomid, surfindx, u, w, name):
    return _vsp.AddProbe(geomid, surfindx, u, w, name)

def GetAllProbes():
    return _vsp.GetAllProbes()

def DelProbe(id):
    return _vsp.DelProbe(id)

def DeleteAllProbes():
    return _vsp.DeleteAllProbes()

def AddVec3D(INOUT, x, y, z):
    return _vsp.AddVec3D(INOUT, x, y, z)
class vec3d(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    v = property(_vsp.vec3d_v_get, _vsp.vec3d_v_set)
    __swig_destroy__ = _vsp.delete_vec3d

    def __init__(self, *args):
        _vsp.vec3d_swiginit(self, _vsp.new_vec3d(*args))

    def set_xyz(self, xx, yy, zz):
        return _vsp.vec3d_set_xyz(self, xx, yy, zz)

    def set_vec(self, a):
        return _vsp.vec3d_set_vec(self, a)

    def set_arr(self, *args):
        return _vsp.vec3d_set_arr(self, *args)

    def set_x(self, xx):
        return _vsp.vec3d_set_x(self, xx)

    def set_y(self, yy):
        return _vsp.vec3d_set_y(self, yy)

    def set_z(self, zz):
        return _vsp.vec3d_set_z(self, zz)

    def set_refx(self, a):
        return _vsp.vec3d_set_refx(self, a)

    def set_refy(self, a):
        return _vsp.vec3d_set_refy(self, a)

    def set_refz(self, a):
        return _vsp.vec3d_set_refz(self, a)

    def get_pnt(self, *args):
        return _vsp.vec3d_get_pnt(self, *args)

    def x(self):
        return _vsp.vec3d_x(self)

    def y(self):
        return _vsp.vec3d_y(self)

    def z(self):
        return _vsp.vec3d_z(self)

    def data(self):
        return _vsp.vec3d_data(self)

    def rotate_x(self, cos_alpha, sin_alpha):
        return _vsp.vec3d_rotate_x(self, cos_alpha, sin_alpha)

    def rotate_y(self, cos_alpha, sin_alpha):
        return _vsp.vec3d_rotate_y(self, cos_alpha, sin_alpha)

    def rotate_z(self, cos_alpha, sin_alpha):
        return _vsp.vec3d_rotate_z(self, cos_alpha, sin_alpha)

    def scale_x(self, scale):
        return _vsp.vec3d_scale_x(self, scale)

    def scale_y(self, scale):
        return _vsp.vec3d_scale_y(self, scale)

    def scale_z(self, scale):
        return _vsp.vec3d_scale_z(self, scale)

    def offset_x(self, offset):
        return _vsp.vec3d_offset_x(self, offset)

    def offset_y(self, offset):
        return _vsp.vec3d_offset_y(self, offset)

    def offset_z(self, offset):
        return _vsp.vec3d_offset_z(self, offset)

    def rotate_z_zero_x(self, cos_alpha, sin_alpha):
        return _vsp.vec3d_rotate_z_zero_x(self, cos_alpha, sin_alpha)

    def rotate_z_zero_y(self, cos_alpha, sin_alpha):
        return _vsp.vec3d_rotate_z_zero_y(self, cos_alpha, sin_alpha)

    def reflect_xy(self):
        return _vsp.vec3d_reflect_xy(self)

    def reflect_xz(self):
        return _vsp.vec3d_reflect_xz(self)

    def reflect_yz(self):
        return _vsp.vec3d_reflect_yz(self)

    def swap_xy(self):
        return _vsp.vec3d_swap_xy(self)

    def swap_xz(self):
        return _vsp.vec3d_swap_xz(self)

    def swap_yz(self):
        return _vsp.vec3d_swap_yz(self)

    def __imul__(self, b):
        return _vsp.vec3d___imul__(self, b)

    def __iadd__(self, *args):
        return _vsp.vec3d___iadd__(self, *args)

    def __isub__(self, *args):
        return _vsp.vec3d___isub__(self, *args)

    def mag(self):
        return _vsp.vec3d_mag(self)

    def normalize(self):
        return _vsp.vec3d_normalize(self)

    def major_comp(self):
        return _vsp.vec3d_major_comp(self)

    def minor_comp(self):
        return _vsp.vec3d_minor_comp(self)

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

def dist(a, b):
    return _vsp.dist(a, b)

def dist_squared(a, b):
    return _vsp.dist_squared(a, b)

def dot(a, b):
    return _vsp.dot(a, b)

def cross(a, b):
    return _vsp.cross(a, b)

def angle(a, b):
    return _vsp.angle(a, b)

def signed_angle(a, b, ref):
    return _vsp.signed_angle(a, b, ref)

def cos_angle(a, b):
    return _vsp.cos_angle(a, b)

def radius_of_circle(p1, p2, p3):
    return _vsp.radius_of_circle(p1, p2, p3)

def center_of_circle(p1, p2, p3, center):
    return _vsp.center_of_circle(p1, p2, p3, center)

def dist_pnt_2_plane(org, norm, pnt):
    return _vsp.dist_pnt_2_plane(org, norm, pnt)

def dist_pnt_2_line(line_pt1, line_pt2, pnt):
    return _vsp.dist_pnt_2_line(line_pt1, line_pt2, pnt)

def proj_pnt_on_line_seg(line_pt1, line_pt2, pnt):
    return _vsp.proj_pnt_on_line_seg(line_pt1, line_pt2, pnt)

def proj_pnt_on_ray(line_pt1, line_pt2, pnt):
    return _vsp.proj_pnt_on_ray(line_pt1, line_pt2, pnt)

def proj_pnt_on_line(line_pt1, line_pt2, pnt):
    return _vsp.proj_pnt_on_line(line_pt1, line_pt2, pnt)

def proj_pnt_to_plane(org, plane_ln1, plane_ln2, pnt):
    return _vsp.proj_pnt_to_plane(org, plane_ln1, plane_ln2, pnt)

def tri_seg_intersect(A, B, C, D, E, u, w, t):
    return _vsp.tri_seg_intersect(A, B, C, D, E, u, w, t)

def tri_ray_intersect(A, B, C, D, E, u, w, t):
    return _vsp.tri_ray_intersect(A, B, C, D, E, u, w, t)

def plane_ray_intersect(*args):
    return _vsp.plane_ray_intersect(*args)

def ray_ray_intersect(A, B, C, D, int_pnt1, int_pnt2):
    return _vsp.ray_ray_intersect(A, B, C, D, int_pnt1, int_pnt2)

def tetra_volume(A, B, C):
    return _vsp.tetra_volume(A, B, C)

def area(A, B, C):
    return _vsp.area(A, B, C)

def poly_area(pnt_vec):
    return _vsp.poly_area(pnt_vec)

def dist3D_Segment_to_Segment(*args):
    return _vsp.dist3D_Segment_to_Segment(*args)

def nearSegSeg(L0, L1, S0, S1, Lt, Ln, St, Sn):
    return _vsp.nearSegSeg(L0, L1, S0, S1, Lt, Ln, St, Sn)

def pointLineDistSquared(p, lp0, lp1, t):
    return _vsp.pointLineDistSquared(p, lp0, lp1, t)

def pointSegDistSquared(p, sp0, sp1, t):
    return _vsp.pointSegDistSquared(p, sp0, sp1, t)

def point_on_line(lp0, lp1, t):
    return _vsp.point_on_line(lp0, lp1, t)

def MapToPlane(p, planeOrig, planeVec1, planeVec2):
    return _vsp.MapToPlane(p, planeOrig, planeVec1, planeVec2)

def MapFromPlane(uw, planeOrig, planeVec1, planeVec2):
    return _vsp.MapFromPlane(uw, planeOrig, planeVec1, planeVec2)

def plane_half_space(planeOrig, planeNorm, pnt):
    return _vsp.plane_half_space(planeOrig, planeNorm, pnt)

def line_line_intersect(p1, p2, p3, p4, s, t):
    return _vsp.line_line_intersect(p1, p2, p3, p4, s, t)

def RotateArbAxis(p, theta, r):
    return _vsp.RotateArbAxis(p, theta, r)

def BarycentricWeights(v0, v1, v2, p):
    return _vsp.BarycentricWeights(v0, v1, v2, p)

def BilinearWeights(p0, p1, p, weights):
    return _vsp.BilinearWeights(p0, p1, p, weights)

def tri_tri_min_dist(v0, v1, v2, v3, v4, v5):
    return _vsp.tri_tri_min_dist(v0, v1, v2, v3, v4, v5)

def pnt_tri_min_dist(v0, v1, v2, pnt):
    return _vsp.pnt_tri_min_dist(v0, v1, v2, pnt)

def slerp(a, b, t):
    return _vsp.slerp(a, b, t)


def to_string(v):
    return _vsp.to_string(v)


