def _interactive_locked_selection_state_changed(self, value): value = self._interactive_locked_selection.isChecked() cmds.tcMotionPathCmd(lockedModeInteractive=value) self._refresh_locked_selection_button.setEnabled(not value) cmds.refresh()
def _initialize_widgets(self): ps = _get_default_value(StaticLabels.PATH_SIZE) self._path_size.setText(str(ps)) cmds.tcMotionPathCmd(pathSize=ps) fs = _get_default_value(StaticLabels.FRAME_SIZE) self._frame_size.setText(str(fs)) cmds.tcMotionPathCmd(frameSize=fs) self._initialize_color_widget(self._path_color, StaticLabels.PATH_COLOR, 'pathColor') self._initialize_color_widget(self._weighted_path_color, StaticLabels.WPATH_COLOR, 'weightedPathColor') self._initialize_color_widget(self._weighted_tangent_color, StaticLabels.WTANGENT_COLOR, 'weightedPathTangentColor') self._initialize_color_widget(self._cframe_color, StaticLabels.CFRAME_COLOR, 'currentFrameColor') self._initialize_color_widget(self._tangent_color, StaticLabels.TANGENT_COLOR, 'tangentColor') self._initialize_color_widget(self._broken_tangent_color, StaticLabels.BTANGENT_COLOR, 'brokenTangentColor') self._initialize_color_widget(self._buffer_path_color, StaticLabels.BPATH_COLOR, 'bufferPathColor') self._initialize_color_widget(self._frame_number_color, StaticLabels.FNUMBER_COLOR, 'frameNumberColor') cmds.refresh()
def _delete_selected_clicked(self): items = self._buffer_paths.selectedItems() for item in items: index = self._buffer_paths.indexFromItem(item) cmds.tcMotionPathCmd(deleteBufferPathAtIndex=index.row()) self._buffer_paths.takeTopLevelItem(index.row()) cmds.refresh()
def _playback_range(): min = cmds.playbackOptions(q=True, minTime=True) max = cmds.playbackOptions(q=True, maxTime=True) cmds.tcMotionPathCmd(frameRange=[min, max]) cmds.tcMotionPathCmd(refreshdt=True) cmds.refresh()
def _add_button_clicked(self): cmds.tcMotionPathCmd(addBufferPaths=True) for sel in cmds.ls(sl=True): item = QtWidgets.QTreeWidgetItem() item.setFlags(QtCore.Qt.ItemIsEnabled | QtCore.Qt.ItemIsEditable | QtCore.Qt.ItemIsSelectable) item.setText(0, sel) self._buffer_paths.addTopLevelItem(item) cmds.refresh()
def _use_pivots_state_changed(self): value = self._use_pivots.isChecked() cmds.tcMotionPathCmd(usePivots=value) cmds.tcMotionPathCmd(refreshdt=True) _set_default_value(StaticLabels.USEPIVOTS, value) cmds.refresh()
def _initialize_widgets(self): value = _get_default_value(StaticLabels.TIME_DELTA) self._draw_value.setValue(value) cmds.tcMotionPathCmd(drawTimeInterval=value) value = _get_default_value(StaticLabels.FRAME_DELTA) self._frame_value.setValue(value) cmds.tcMotionPathCmd(frameInterval=value) self.setEnabled(False)
def _show_tangents_clicked(self): if self._show_tangents.isChecked(): self._show_tangents.setText("Hide tangents") else: self._show_tangents.setText("Show tangents") cmds.tcMotionPathCmd(showTangents=self._show_tangents.isChecked()) _set_default_value(StaticLabels.SHOW_TANGENTS, self._show_tangents.isChecked()) cmds.refresh()
def _show_key_number_clicked(self): is_checked = self._show_key_number.isChecked() if is_checked: self._show_key_number.setText("Hide key numbers") else: self._show_key_number.setText("Show key numbers") cmds.tcMotionPathCmd(showKeyFrameNumbers=is_checked) _set_default_value(StaticLabels.SHOW_KNUMBER, is_checked) cmds.refresh()
def _alternating_color_clicked(self): is_checked = self._alternating_color.isChecked() if is_checked: self._alternating_color.setText("Uniform path color") else: self._alternating_color.setText("Alternate path color") cmds.tcMotionPathCmd(alternatingFrames=is_checked) _set_default_value(StaticLabels.ALTERNATE_COLOR, is_checked) cmds.refresh()
def _show_path_clicked(self): is_checked = self._show_path.isChecked() if is_checked: self._show_path.setText("Hide path") else: self._show_path.setText("Show path") self._alternating_color.setEnabled(is_checked) cmds.tcMotionPathCmd(showPath=self._show_path.isChecked()) _set_default_value(StaticLabels.SHOW_PATH, self._show_path.isChecked()) cmds.refresh()
def _show_rotation_clicked(self): if self._show_rotation.isChecked(): self._show_rotation.setText("Hide rotation keys") else: self._show_rotation.setText("Show rotation keys") cmds.tcMotionPathCmd( showRotationKeyFrames=self._show_rotation.isChecked()) _set_default_value(StaticLabels.SHOW_ROTATION, self._show_rotation.isChecked()) cmds.refresh()
def _convert_selected_clicked(self): items = self._buffer_paths.selectedItems() cmds.undoInfo(openChunk=True, chunkName="tcMotionPathDeleteBufferPaths") try: for item in items: index = self._buffer_paths.indexFromItem(item) cmds.tcMotionPathCmd(convertBufferPath=index.row()) except: traceback.print_exc(file=sys.stdout) cmds.undoInfo(closeChunk=True)
def _show_key_frames_clicked(self): is_checked = self._show_key_frames.isChecked() if is_checked: self._show_key_frames.setText("Hide keyframes") else: self._show_key_frames.setText("Show keyframes") self._show_tangents.setEnabled(is_checked) self._show_rotation.setEnabled(is_checked) self._show_key_number.setEnabled(is_checked) cmds.tcMotionPathCmd(showKeyFrames=is_checked) _set_default_value(StaticLabels.SHOW_KEYFRAMES, is_checked) cmds.refresh()
def _widget_color_changed(self, color, g_var_name, cmd_arg_name): cmds.tcMotionPathCmd( **{ cmd_arg_name: [ float(color.red()) / 255.0, float(color.green()) / 255.0, float(color.blue()) / 255.0 ] }) _set_default_value( g_var_name, [color.red(), color.green(), color.blue()]) cmds.refresh()
def _item_selection_changed(self): for s in self._last_selection: cmds.tcMotionPathCmd(deselectBufferPathAtIndex=s) self._last_selection = [] items = self._buffer_paths.selectedItems() for item in items: index = self._buffer_paths.indexFromItem(item) cmds.tcMotionPathCmd(selectBufferPathAtIndex=index.row()) self._last_selection.append(index.row()) self._refresh_button_states(bool(items)) cmds.refresh()
def _enable_motion_path(status): if (status == False): _disable() else: _init_tool() _refresh_selection() _playback_range() cmds.tcMotionPathCmd(enable=status) for p in cmds.getPanel(type="modelPanel"): cmds.modelEditor(p, edit=True, rnm="vp2Renderer", rom="ToolchefsMotionPathOverride")
def _lock_selection_clicked(self): is_checked = self._lock_selection.isChecked() if is_checked: self._lock_selection.setText("Unlock selection") cmds.tcMotionPathCmd(lockedMode=True) else: self._lock_selection.setText("Lock selection") cmds.tcMotionPathCmd(lockedMode=False) _refresh_selection() self._interactive_locked_selection.setEnabled(is_checked) self._refresh_locked_selection_button.setEnabled( is_checked and not self._interactive_locked_selection.isChecked())
def _initialize_widgets(self): fb = _get_default_value(StaticLabels.FRAMES_BEFORE) cmds.tcMotionPathCmd(framesBefore=fb) self._frame_before.setValue(fb) fa = _get_default_value(StaticLabels.FRAMES_AFTER) cmds.tcMotionPathCmd(framesAfter=fa) self._frame_after.setValue(fa) skf = _get_default_value(StaticLabels.SHOW_KEYFRAMES) self._show_key_frames.setChecked(skf) sp = _get_default_value(StaticLabels.SHOW_PATH) self._show_path.setChecked(sp) st = _get_default_value(StaticLabels.SHOW_TANGENTS) self._show_tangents.setChecked(st) srf = _get_default_value(StaticLabels.SHOW_ROTATION) self._show_rotation.setChecked(srf) sfn = _get_default_value(StaticLabels.SHOW_FNUMBER) self._show_frame_number.setChecked(sfn) skn = _get_default_value(StaticLabels.SHOW_KNUMBER) self._show_key_number.setChecked(skn) ap = _get_default_value(StaticLabels.ALTERNATE_COLOR) self._alternating_color.setChecked(ap) up = _get_default_value(StaticLabels.USEPIVOTS) self._use_pivots.setChecked(up) self._show_rotation_clicked() self._show_tangents_clicked() self._show_path_clicked() self._show_key_frames_clicked() self._show_frame_number_clicked() self._show_key_number_clicked() self._alternating_color_clicked() self._use_pivots_state_changed()
def _frame_before_changed(self, value): cmds.tcMotionPathCmd(framesBefore=value) cmds.tcMotionPathCmd(refreshdt=True) _set_default_value(StaticLabels.FRAMES_BEFORE, value) cmds.refresh()
def deselect_all(self): for s in self._last_selection: cmds.tcMotionPathCmd(deselectBufferPathAtIndex=s) item = self._buffer_paths.topLevelItem(s) self._buffer_paths.setItemSelected(item, False)
def _frame_after_changed(self, value): cmds.tcMotionPathCmd(framesAfter=value) cmds.tcMotionPathCmd(refreshdt=True) _set_default_value(StaticLabels.FRAMES_AFTER, value) cmds.refresh()
def _draw_value_changed(self, value): cmds.tcMotionPathCmd(drawTimeInterval=value) _set_default_value(StaticLabels.TIME_DELTA, value)
def _mode_group_changed(self, value): if self._closest_mode.isChecked(): cmds.tcMotionPathCmd(strokeMode=0) else: cmds.tcMotionPathCmd(strokeMode=1)
def _delete_all_clicked(self): self._buffer_paths.clear() cmds.tcMotionPathCmd(deleteAllBufferPaths=True) cmds.refresh()
def _refresh_locked_selection_button_clicked(self): cmds.tcMotionPathCmd(refreshLockedSelection=True) cmds.refresh()
def _frame_value_changed(self, value): cmds.tcMotionPathCmd(frameInterval=value) _set_default_value(StaticLabels.FRAME_DELTA, value)
def _frame_size_changed(self): value = float(self._frame_size.text()) cmds.tcMotionPathCmd(frameSize=value) _set_default_value(StaticLabels.FRAME_SIZE, value) cmds.refresh()
def _draw_mode_changed(self, value): if self._world_mode.isChecked(): cmds.tcMotionPathCmd(drawMode=0) else: cmds.tcMotionPathCmd(drawMode=1) cmds.refresh()
def _path_size_changed(self): value = float(self._path_size.text()) cmds.tcMotionPathCmd(pathSize=value) _set_default_value(StaticLabels.PATH_SIZE, value) cmds.refresh()