# Path: e3d/commonValues.py
# def scaleNumber(val, src, dst):
#     """
#     http://stackoverflow.com/a/4155197
# 
#     Scale the given value from the scale of src to the scale of dst.
# 
#     @rtype : int
#     @type dst: list
#     @type src: list
#     @type val: int
# 
#     Examples:
#     >> scaleNumber(0, (0.0, 99.0), (-1.0, 1.0))
#     -1.0
#     >> scaleNumber(99, (0.0, 99.0), (-1.0, 1.0))
#     1
#     >> scaleNumber(1, (0.0, 2.0), (0.0, 1.0))
#     0.5
#     """
#     try:
#         return ((val - src[0]) / (src[1] - src[0])) * (dst[1] - dst[0]) + dst[0]
#     except ZeroDivisionError:
#         return dst[1] / 2.0


from collections import defaultdict
from cycgkit.cgtypes import *
from cycgkit.boundingbox import BoundingBox
from numpy import arccos, arctan2, array, float32, ndarray, pi, sqrt, uint32
from ..commonValues import scaleNumber
import numpy as np
    smooth = 'smooth'
    hard = 'hard'


class Mesh(object):
    def __init__(self):
        self.boneOffsets = {}
        self.boneMinMax = {}
        self._vertexBufferArray = None
        self._indexBufferArray = None
        self._declaration = {}
        self._stride = 0
        self._hasTexCoords = [False] * 8
        self._materialIndex = -1
        self._transformation = None
        self._minmax = [[0, 0, 0], [0, 0, 0]]

        self._VertexCount = 0
        self._PrimitiveCount = 0
        self._IndexCount = 0
        self.ID = -1

    def get_PrimitiveCount(self):
        return self._PrimitiveCount

    primitiveCount = property(fget=get_PrimitiveCount)

    def get_VertexCount(self):
        return self._VertexCount


# Path: e3d/commonValues.py
# def scaleNumber(val, src, dst):
#     """
#     http://stackoverflow.com/a/4155197
# 
#     Scale the given value from the scale of src to the scale of dst.
# 
#     @rtype : int
#     @type dst: list
#     @type src: list
#     @type val: int
# 
#     Examples:
#     >> scaleNumber(0, (0.0, 99.0), (-1.0, 1.0))
#     -1.0
#     >> scaleNumber(99, (0.0, 99.0), (-1.0, 1.0))
#     1
#     >> scaleNumber(1, (0.0, 2.0), (0.0, 1.0))
#     0.5
#     """
#     try:
#         return ((val - src[0]) / (src[1] - src[0])) * (dst[1] - dst[0]) + dst[0]
#     except ZeroDivisionError:
#         return dst[1] / 2.0


# Path: e3d/model_management/MeshClass.py
from collections import defaultdict
from cycgkit.cgtypes import *
from cycgkit.boundingbox import BoundingBox
from numpy import arccos, arctan2, array, float32, ndarray, pi, sqrt, uint32
from ..commonValues import scaleNumber
import numpy as np

    smooth = 'smooth'
    hard = 'hard'


class Mesh(object):
    def __init__(self):
        self.boneOffsets = {}
        self.boneMinMax = {}
        self._vertexBufferArray = None
        self._indexBufferArray = None
        self._declaration = {}
        self._stride = 0
        self._hasTexCoords = [False] * 8
        self._materialIndex = -1
        self._transformation = None
        self._minmax = [[0, 0, 0], [0, 0, 0]]

        self._VertexCount = 0
        self._PrimitiveCount = 0
        self._IndexCount = 0
        self.ID = -1

    def get_PrimitiveCount(self):
        return self._PrimitiveCount

    primitiveCount = property(fget=get_PrimitiveCount)

    def get_VertexCount(self):
        return self._VertexCount


    vertexCount = property(fget=get_VertexCount)