# Path: mayaLib/rigLib/base/module.py
# class Base():
# class Module():
#     def __init__(
#             self,
#             characterName='new',
#             scale=1.0,
#             mainCtrlAttachObj=''
#     ):
#     def getScaleLocator(self):
#     def getDisplayControl(self):
#     def createHalo(self, mainCtrlAttachObj, scale):
#     def createDisplay(self, mainCtrlAttachObj, scale):
#     def createIKFK(self, mainCtrlAttachObj, scale):
#     def __init__(
#             self,
#             prefix='new',
#             baseObj=None
#     ):
# 
# Path: mayaLib/rigLib/utils/control.py
# class Control():
#     def __init__(
#             self,
#             prefix='new',
#             scale=1.0,
#             translateTo='',
#             rotateTo='',
#             parent='',
#             shape='circle',
#             lockChannels=['s', 'v'],
#             doOffset=True,
#             doModify=False,
#             doDynamicPivot=False,
#             objBBox=''
#     ):
#     def ctrlRadiusFromJoint(self, jnt, useSphere=True):
#     def calculateScale(self, scale, translateTo='', objBBox='', useBBox=False, useMean=False):
#     def getCtrlScale(self):
#     def makeDynamicPivot(self, prefix, scale, translateTo, rotateTo):
#     def getControl(self):
#     def getOffsetGrp(self):
#     def getModifyGrp(self):
#     def getTop(self):


import pymel.core as pm
from mayaLib.rigLib.base import module
from mayaLib.rigLib.utils import control


class Spine():
    """
    class for building spine
    """

    def __init__(self,
                 spineJoints,
                 rootJnt,
                 prefix='spine',
                 rigScale=1.0,
                 baseRig=None,
                 bodyLocator='',
                 chestLocator='',
                 pelvisLocator=''
                 ):
        """
        :param spineJoints: list( str ), list of 6 spine joints
        :param rootJnt: str, root joint
        :param prefix: str, prefix to name new objects
        :param rigScale: float, scale factor for size of controls
        :param baseRig: instance of base.module.Base class
        :param bodyLocator: str, reference transform for position of body control
        :param chestLocator: str, reference transform for position of chest control
        :param pelvisLocator: str, reference transform for position of pelvis control
        :return: dictionary with rig module objects
        """
        # :param spineCurve: str, name of spine cubic curve with 5 CVs matching first 5 spine joints

        # make rig module

# Path: mayaLib/rigLib/base/module.py
# class Base():
# class Module():
#     def __init__(
#             self,
#             characterName='new',
#             scale=1.0,
#             mainCtrlAttachObj=''
#     ):
#     def getScaleLocator(self):
#     def getDisplayControl(self):
#     def createHalo(self, mainCtrlAttachObj, scale):
#     def createDisplay(self, mainCtrlAttachObj, scale):
#     def createIKFK(self, mainCtrlAttachObj, scale):
#     def __init__(
#             self,
#             prefix='new',
#             baseObj=None
#     ):
# 
# Path: mayaLib/rigLib/utils/control.py
# class Control():
#     def __init__(
#             self,
#             prefix='new',
#             scale=1.0,
#             translateTo='',
#             rotateTo='',
#             parent='',
#             shape='circle',
#             lockChannels=['s', 'v'],
#             doOffset=True,
#             doModify=False,
#             doDynamicPivot=False,
#             objBBox=''
#     ):
#     def ctrlRadiusFromJoint(self, jnt, useSphere=True):
#     def calculateScale(self, scale, translateTo='', objBBox='', useBBox=False, useMean=False):
#     def getCtrlScale(self):
#     def makeDynamicPivot(self, prefix, scale, translateTo, rotateTo):
#     def getControl(self):
#     def getOffsetGrp(self):
#     def getModifyGrp(self):
#     def getTop(self):


# Path: mayaLib/rigLib/base/spine.py
import pymel.core as pm
from mayaLib.rigLib.base import module
from mayaLib.rigLib.utils import control


class Spine():
    """
    class for building spine
    """

    def __init__(self,
                 spineJoints,
                 rootJnt,
                 prefix='spine',
                 rigScale=1.0,
                 baseRig=None,
                 bodyLocator='',
                 chestLocator='',
                 pelvisLocator=''
                 ):
        """
        :param spineJoints: list( str ), list of 6 spine joints
        :param rootJnt: str, root joint
        :param prefix: str, prefix to name new objects
        :param rigScale: float, scale factor for size of controls
        :param baseRig: instance of base.module.Base class
        :param bodyLocator: str, reference transform for position of body control
        :param chestLocator: str, reference transform for position of chest control
        :param pelvisLocator: str, reference transform for position of pelvis control
        :return: dictionary with rig module objects
        """
        # :param spineCurve: str, name of spine cubic curve with 5 CVs matching first 5 spine joints

        # make rig module

        self.rigmodule = module.Module(prefix=prefix, baseObj=baseRig)
