# Path: importerConstants.py
# MIN_0   = 0.0
# 
# MIN_PI  = -pi
# 
# MIN_PI2 = -pi / 2
# 
# MIN_INF = float('-inf')
# 
# MAX_2PI = 2 * pi
# 
# MAX_PI  = pi
# 
# MAX_PI2 = pi / 2
# 
# MAX_INF = float('inf')
# 
# MAX_LEN = 2e+100
# 
# Path: importerConstants.py
# CENTER = VEC(0, 0, 0)
# 
# DIR_X  = VEC(1, 0, 0)
# 
# DIR_Y  = VEC(0, 1, 0)
# 
# DIR_Z  = VEC(0, 0, 1)
# 
# ENCODING_FS      = 'utf8'


import traceback, Part, Draft, os, FreeCAD, re
from importerUtils              import *
from FreeCAD                    import Vector as VEC, Rotation as ROT, Placement as PLC, Matrix as MAT, Base
from math                       import pi, fabs, degrees, asin, sin, cos, tan, atan2, ceil, e, cosh, sinh, tanh, acos, acosh, asin, asinh, atan, atanh, log, sqrt, exp, log10
from importerConstants          import MIN_0, MIN_PI, MIN_PI2, MIN_INF, MAX_2PI, MAX_PI, MAX_PI2, MAX_INF, MAX_LEN
from importerConstants          import CENTER, DIR_X, DIR_Y, DIR_Z, ENCODING_FS

		num, i  = getInteger(chunks, i  + 1)
		return i
	def setVertexBlend(self, chunks, index, inventor):
		n, i = getInteger(chunks, index)      # vertexblendsur
		self.boundaries = []
		for j in range(0, n):
			vbl, i = self._readBoundaryGeometry(chunks, i, inventor)
			self.boundaries.append(vbl)
		grid,      i = getInteger(chunks, i)  # Grid-Size
		tolerance, i = getFloat(chunks, i)    # fit tolerance
		self.subtype = 'VBL_SURF'
		return i
	def setRbBlend(self, chunks, index, inventor, subtype = 'rb_blend_spl_sur'):
		self.subtype = subtype
		vrs = getVersion()
		self.blend1, i = self._readRbBlendSurface1(chunks, index, inventor)
		self.blend2, i = self._readRbBlendSurface1(chunks, i, inventor)
		if ((vrs > 22.0) and (isASM() == False)): i += 2 # 43, 1e-10
		# read remaining data
		self.slice, i = readCurve(chunks, i)
		if ((vrs > 22.0) and (isASM() == False)):
			self.cT1, i = readCurve(chunks, i)
			self.cT2, i = readCurve(chunks, i)
			self.cT3, i = readCurve(chunks, i)
			self.cT4, i = readCurve(chunks, i)
		self.offset_left, i = getLength(chunks, i)
		self.offset_right, i = getLength(chunks, i)
		f1, i = getValue(chunks, i); # -1 = no_radius, float
		rU, i = getInterval(chunks, i, MIN_INF, MAX_INF, 1.0)
		if (vrs <= 3.0):

# Path: importerConstants.py
# MIN_0   = 0.0
# 
# MIN_PI  = -pi
# 
# MIN_PI2 = -pi / 2
# 
# MIN_INF = float('-inf')
# 
# MAX_2PI = 2 * pi
# 
# MAX_PI  = pi
# 
# MAX_PI2 = pi / 2
# 
# MAX_INF = float('inf')
# 
# MAX_LEN = 2e+100
# 
# Path: importerConstants.py
# CENTER = VEC(0, 0, 0)
# 
# DIR_X  = VEC(1, 0, 0)
# 
# DIR_Y  = VEC(0, 1, 0)
# 
# DIR_Z  = VEC(0, 0, 1)
# 
# ENCODING_FS      = 'utf8'


# Path: Acis.py
import traceback, Part, Draft, os, FreeCAD, re
from importerUtils              import *
from FreeCAD                    import Vector as VEC, Rotation as ROT, Placement as PLC, Matrix as MAT, Base
from math                       import pi, fabs, degrees, asin, sin, cos, tan, atan2, ceil, e, cosh, sinh, tanh, acos, acosh, asin, asinh, atan, atanh, log, sqrt, exp, log10
from importerConstants          import MIN_0, MIN_PI, MIN_PI2, MIN_INF, MAX_2PI, MAX_PI, MAX_PI2, MAX_INF, MAX_LEN
from importerConstants          import CENTER, DIR_X, DIR_Y, DIR_Z, ENCODING_FS

		num, i  = getInteger(chunks, i  + 1)
		return i
	def setVertexBlend(self, chunks, index, inventor):
		n, i = getInteger(chunks, index)      # vertexblendsur
		self.boundaries = []
		for j in range(0, n):
			vbl, i = self._readBoundaryGeometry(chunks, i, inventor)
			self.boundaries.append(vbl)
		grid,      i = getInteger(chunks, i)  # Grid-Size
		tolerance, i = getFloat(chunks, i)    # fit tolerance
		self.subtype = 'VBL_SURF'
		return i
	def setRbBlend(self, chunks, index, inventor, subtype = 'rb_blend_spl_sur'):
		self.subtype = subtype
		vrs = getVersion()
		self.blend1, i = self._readRbBlendSurface1(chunks, index, inventor)
		self.blend2, i = self._readRbBlendSurface1(chunks, i, inventor)
		if ((vrs > 22.0) and (isASM() == False)): i += 2 # 43, 1e-10
		# read remaining data
		self.slice, i = readCurve(chunks, i)
		if ((vrs > 22.0) and (isASM() == False)):
			self.cT1, i = readCurve(chunks, i)
			self.cT2, i = readCurve(chunks, i)
			self.cT3, i = readCurve(chunks, i)
			self.cT4, i = readCurve(chunks, i)
		self.offset_left, i = getLength(chunks, i)
		self.offset_right, i = getLength(chunks, i)
		f1, i = getValue(chunks, i); # -1 = no_radius, float
		rU, i = getInterval(chunks, i, MIN_INF, MAX_INF, 1.0)
		if (vrs <= 3.0):

			r1, i = getInterval(chunks, i, MIN_INF, MAX_INF, 1.0)
