def get_avars_r(self): """ :return: All right section avars. """ middle = libRigging.get_average_pos_between_vectors(self.jnts) fn_filter = lambda avar: avar.jnt.getTranslation(space="world").x < middle.x return filter(fn_filter, self.avars)
def _build_avar_macro_r(self, jnt_tm=None, ctrl_tm=None, **kwargs): # Find the middle of r squint. pos = libRigging.get_average_pos_between_vectors(self.get_jnts_r()) jnt_tm = pymel.datatypes.Matrix(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, pos.x, pos.y, pos.z, 1) super(FaceSquint, self)._build_avar_macro_r(jnt_tm=jnt_tm, ctrl_tm=jnt_tm, **kwargs)
def get_jnts_r(self): """ :return: All the right side influences. # TODO: Use the nomenclature instead of the position? """ middle = libRigging.get_average_pos_between_vectors(self.jnts) fn_filter = lambda jnt: jnt.getTranslation(space="world").x < middle.x return filter(fn_filter, self.jnts)
def get_avars_r(self): """ :return: All right section avars. """ middle = libRigging.get_average_pos_between_vectors(self.jnts) fn_filter = lambda avar: avar.jnt.getTranslation(space='world' ).x < middle.x return filter(fn_filter, self.avars)
def get_jnts_r(self): """ :return: All the right side influences. # TODO: Use the nomenclature instead of the position? """ middle = libRigging.get_average_pos_between_vectors(self.jnts) fn_filter = lambda jnt: jnt.getTranslation(space='world').x < middle.x return filter(fn_filter, self.jnts)
def _build_avar_macro_r(self, jnt_tm=None, ctrl_tm=None, **kwargs):# Create right avar if necessary pos = libRigging.get_average_pos_between_vectors(self.get_jnts_r()) jnt_tm = pymel.datatypes.Matrix( 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, pos.x, pos.y, pos.z, 1 ) super(FaceBrow, self)._build_avar_macro_r(jnt_tm=jnt_tm, ctrl_tm=jnt_tm, **kwargs)
def _build_avar_macro_r(self, jnt_tm=None, ctrl_tm=None, **kwargs): # Find the middle of r squint. pos = libRigging.get_average_pos_between_vectors(self.get_jnts_r()) jnt_tm = pymel.datatypes.Matrix( 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, pos.x, pos.y, pos.z, 1 ) super(FaceSquint, self)._build_avar_macro_r(jnt_tm=jnt_tm, ctrl_tm=jnt_tm, **kwargs)
def _build_avar_macro_r(self, jnt_tm=None, ctrl_tm=None, **kwargs): # Create right avar if necessary pos = libRigging.get_average_pos_between_vectors(self.get_jnts_r()) jnt_tm = pymel.datatypes.Matrix(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, pos.x, pos.y, pos.z, 1) super(FaceBrow, self)._build_avar_macro_r(jnt_tm=jnt_tm, ctrl_tm=jnt_tm, **kwargs)
def _create_avar_macro_l_ctrls(self, ctrl_tm=None, **kwargs): # Find the middle of l eyebrow. pos = libRigging.get_average_pos_between_vectors(self.get_jnts_l()) ctrl_tm = pymel.datatypes.Matrix( 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, pos.x, pos.y, pos.z, 1 ) super(FaceBrow, self)._create_avar_macro_l_ctrls(ctrl_tm=ctrl_tm)
def _create_avar_macro_r_ctrls(self, ctrl_tm=None, **kwargs): # Find the middle of l eyebrow. # We expect the right-side influence to be mirrored in behavior. # However this should be applied to to influence tm, not the ctrl tm. Clean this please. pos = libRigging.get_average_pos_between_vectors(self.get_jnts_r()) ctrl_tm = pymel.datatypes.Matrix( 1, 0, 0, 0, 0, -1.0, 0, 0, 0, 0, -1.0, 0, pos.x, pos.y, pos.z, 1 ) super(FaceBrow, self)._create_avar_macro_r_ctrls(ctrl_tm=ctrl_tm)