# 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

		# 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)
			r2, i = getInterval(chunks, i, MIN_INF, MAX_INF, 1.0)
			i += 2
		rV, i = getInterval(chunks, i, MIN_INF, MAX_INF, 1.0)
		a2, i = getFloats(chunks, i, 3)
		if ((vrs > 22.0) and (isASM() == False)): i += 1 # T
		i += 1 # 1 skip long
		if (vrs > 3.0):
			i = self.setSurfaceShape(chunks, i, inventor, subtype)
		if (inventor):
			# Discontinuity-Info
			di1, i = getFloatArray(chunks, i)
			di2, i = getFloatArray(chunks, i)
			di3, i = getFloatArray(chunks, i)
		return i
	def setSssBlend(self, chunks, index, inventor):
		i = self.setRbBlend(chunks, index, inventor, 'sss_blend_spl_sur')
		rb3, i = self._readRbBlendCurve(chunks, i, inventor)

# 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

		# 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)
			r2, i = getInterval(chunks, i, MIN_INF, MAX_INF, 1.0)
			i += 2
		rV, i = getInterval(chunks, i, MIN_INF, MAX_INF, 1.0)
		a2, i = getFloats(chunks, i, 3)
		if ((vrs > 22.0) and (isASM() == False)): i += 1 # T
		i += 1 # 1 skip long
		if (vrs > 3.0):
			i = self.setSurfaceShape(chunks, i, inventor, subtype)
		if (inventor):
			# Discontinuity-Info
			di1, i = getFloatArray(chunks, i)
			di2, i = getFloatArray(chunks, i)
			di3, i = getFloatArray(chunks, i)
		return i
	def setSssBlend(self, chunks, index, inventor):
		i = self.setRbBlend(chunks, index, inventor, 'sss_blend_spl_sur')
		rb3, i = self._readRbBlendCurve(chunks, i, inventor)

		return i
