# 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

TOKEN_TRANSLATIONS = {
	'0x0a':       TAG_TRUE,
	'0x0A':       TAG_TRUE,
	'0x0b':       TAG_FALSE,
	'0x0B':       TAG_FALSE,
	'{':          TAG_SUBTYPE_OPEN,
	'}':          TAG_SUBTYPE_CLOSE,
	'#':          TAG_TERMINATOR
}

_reader = None
_getSLong = getSInt32
_getULong = getUInt32

def getReader():
	global _reader
	return _reader

def setReader(reader):
	global _reader
	clearEntities()
	_reader = reader

def getDcAttributes():
	global _dcIdxAttributes
	return _dcIdxAttributes

def _getStr_(data, offset, end):
	txt = data[offset: end].decode('cp1252')
	if (sys.version_info.major < 3):

# 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

TOKEN_TRANSLATIONS = {
	'0x0a':       TAG_TRUE,
	'0x0A':       TAG_TRUE,
	'0x0b':       TAG_FALSE,
	'0x0B':       TAG_FALSE,
	'{':          TAG_SUBTYPE_OPEN,
	'}':          TAG_SUBTYPE_CLOSE,
	'#':          TAG_TERMINATOR
}

_reader = None
_getSLong = getSInt32
_getULong = getUInt32

def getReader():
	global _reader
	return _reader

def setReader(reader):
	global _reader
	clearEntities()
	_reader = reader

def getDcAttributes():
	global _dcIdxAttributes
	return _dcIdxAttributes

def _getStr_(data, offset, end):
	txt = data[offset: end].decode('cp1252')
	if (sys.version_info.major < 3):

		txt = txt.encode(ENCODING_FS).decode("utf8")
