本文整理汇总了C++中TStageObject::removeKeyframeWithoutUndo方法的典型用法代码示例。如果您正苦于以下问题:C++ TStageObject::removeKeyframeWithoutUndo方法的具体用法?C++ TStageObject::removeKeyframeWithoutUndo怎么用?C++ TStageObject::removeKeyframeWithoutUndo使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类TStageObject
的用法示例。
在下文中一共展示了TStageObject::removeKeyframeWithoutUndo方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: setKeyframes
void TKeyframeSelection::setKeyframes() {
TApp *app = TApp::instance();
TXsheetHandle *xsheetHandle = app->getCurrentXsheet();
TXsheet *xsh = xsheetHandle->getXsheet();
TStageObjectId cameraId = xsh->getStageObjectTree()->getCurrentCameraId();
if (isEmpty()) return;
Position pos = *m_positions.begin();
int row = pos.first;
int col = pos.second;
TStageObjectId id = col < 0 ? cameraId : TStageObjectId::ColumnId(col);
TStageObject *pegbar = xsh->getStageObject(id);
if (!pegbar) return;
if (pegbar->isKeyframe(row)) {
TStageObject::Keyframe key = pegbar->getKeyframe(row);
pegbar->removeKeyframeWithoutUndo(row);
UndoRemoveKeyFrame *undo =
new UndoRemoveKeyFrame(id, row, key, xsheetHandle);
undo->setObjectHandle(app->getCurrentObject());
TUndoManager::manager()->add(undo);
} else {
pegbar->setKeyframeWithoutUndo(row);
UndoSetKeyFrame *undo = new UndoSetKeyFrame(id, row, xsheetHandle);
undo->setObjectHandle(app->getCurrentObject());
TUndoManager::manager()->add(undo);
}
TApp::instance()->getCurrentScene()->setDirtyFlag(true);
TApp::instance()->getCurrentObject()->notifyObjectIdChanged(false);
}
示例2: toggle
void ViewerKeyframeNavigator::toggle()
{
TStageObject *pegbar = getStageObject();
if (!pegbar)
return;
int frame = getCurrentFrame();
if (pegbar->isFullKeyframe(frame)) {
TStageObject::Keyframe key = pegbar->getKeyframe(frame);
pegbar->removeKeyframeWithoutUndo(frame);
UndoRemoveKeyFrame *undo = new UndoRemoveKeyFrame(pegbar->getId(), frame, key, m_xsheetHandle);
undo->setObjectHandle(m_objectHandle);
TUndoManager::manager()->add(undo);
} else {
UndoSetKeyFrame *undo = new UndoSetKeyFrame(pegbar->getId(), frame, m_xsheetHandle);
pegbar->setKeyframeWithoutUndo(frame);
undo->setObjectHandle(m_objectHandle);
TUndoManager::manager()->add(undo);
}
m_objectHandle->notifyObjectIdChanged(false);
}
示例3: undo
void undo() const
{
m_tool->setTemporaryPinnedColumns(m_oldTemp);
if (m_columnIndex >= 0)
getRangeSet(m_columnIndex)->removeRange(m_newRange.first, m_newRange.second);
if (m_oldColumnIndex >= 0) {
TPinnedRangeSet *rangeSet = getRangeSet(m_oldColumnIndex);
rangeSet->setRange(m_oldRange.first, m_oldRange.second);
rangeSet->setPlacement(m_oldPlacement);
}
TXsheet *xsh = getXsheet();
for (int i = 0; i < (int)m_keyframes.size(); i++) {
TStageObject *stageObject = getXsheet()->getStageObject(m_keyframes[i].first);
if (!stageObject)
continue;
stageObject->removeKeyframeWithoutUndo(m_frame);
if (m_keyframes[i].second.m_isKeyframe)
stageObject->setKeyframeWithoutUndo(m_frame, m_keyframes[i].second);
}
notify();
}