本文整理汇总了C++中ViewerNodePtr::isViewerPaused方法的典型用法代码示例。如果您正苦于以下问题:C++ ViewerNodePtr::isViewerPaused方法的具体用法?C++ ViewerNodePtr::isViewerPaused怎么用?C++ ViewerNodePtr::isViewerPaused使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ViewerNodePtr
的用法示例。
在下文中一共展示了ViewerNodePtr::isViewerPaused方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: createFrameRenderResultsForView
static ActionRetCodeEnum createFrameRenderResultsForView(const ViewerNodePtr& viewer,
const TreeRenderQueueProviderPtr& provider,
const ViewerRenderFrameResultsContainerPtr& results,
ViewIdx view,
const RenderStatsPtr& stats,
bool isPlayback,
const RectD* partialUpdateRoIParam,
unsigned int mipMapLevel,
ViewerCompositingOperatorEnum viewerBlend,
bool byPassCache,
bool draftModeEnabled,
bool fullFrameProcessing,
bool viewerBEqualsViewerA,
const RotoStrokeItemPtr& activeDrawingStroke)
{
// Initialize for each view a sub-result.
// Each view has 2 renders: the A and B viewerprocess
ViewerRenderFrameSubResultPtr subResult(new ViewerRenderFrameSubResult);
results->frames.push_back(subResult);
subResult->view = view;
subResult->stats = stats;
if (partialUpdateRoIParam) {
subResult->textureTransferType = OpenGLViewerI::TextureTransferArgs::eTextureTransferTypeOverlay;
} else if (activeDrawingStroke && activeDrawingStroke->getRenderCloneCurrentStrokeStartPointIndex() > 0) {
// Upon painting ticks, we just have to update the viewer for the area that was painted
subResult->textureTransferType = OpenGLViewerI::TextureTransferArgs::eTextureTransferTypeModify;
} else {
subResult->textureTransferType = OpenGLViewerI::TextureTransferArgs::eTextureTransferTypeReplace;
}
for (int viewerInputIndex = 0; viewerInputIndex < 2; ++viewerInputIndex) {
subResult->perInputsData[viewerInputIndex].retCode = eActionStatusFailed;
if (viewerInputIndex == 1 && (viewerBEqualsViewerA || viewerBlend == eViewerCompositingOperatorNone)) {
if (viewerBEqualsViewerA && viewerBlend != eViewerCompositingOperatorNone) {
subResult->copyInputBFromA = true;
}
continue;
}
if (viewer->isViewerPaused(viewerInputIndex)) {
subResult->perInputsData[viewerInputIndex].retCode = eActionStatusAborted;
continue;
}
ViewerInstancePtr viewerProcess = viewer->getViewerProcessNode(viewerInputIndex);
subResult->perInputsData[viewerInputIndex].viewerProcessNode = viewerProcess->getNode();
TreeRender::CtorArgsPtr initArgs(new TreeRender::CtorArgs);
initArgs->treeRootEffect = viewerProcess;
initArgs->provider = provider;
initArgs->time = results->time;
initArgs->view = subResult->view;
// Render by default on disk is always using a mipmap level of 0 but using the proxy scale of the project
initArgs->mipMapLevel = mipMapLevel;
#pragma message WARN("Todo: set proxy scale here")
initArgs->proxyScale = RenderScale(1.);
// Render the RoD if fullframe processing
if (partialUpdateRoIParam) {
initArgs->canonicalRoI = *partialUpdateRoIParam;
} else {
RectD roi;
if (!fullFrameProcessing) {
roi = viewerProcess->getViewerRoI();
}
initArgs->canonicalRoI = roi;
}
initArgs->stats = stats;
initArgs->activeRotoDrawableItem = activeDrawingStroke;
initArgs->draftMode = draftModeEnabled;
initArgs->playback = isPlayback;
initArgs->byPassCache = byPassCache;
initArgs->preventConcurrentTreeRenders = (activeDrawingStroke || partialUpdateRoIParam);
if (!isPlayback && subResult->textureTransferType == OpenGLViewerI::TextureTransferArgs::eTextureTransferTypeReplace && !activeDrawingStroke) {
subResult->perInputsData[viewerInputIndex].colorPickerNode = viewerInputIndex == 0 ? viewer->getCurrentAInput() : viewer->getCurrentBInput();
if (subResult->perInputsData[viewerInputIndex].colorPickerNode) {
// Also sample the "main" input of the color picker node, this is useful for keyers.
int mainInput = subResult->perInputsData[viewerInputIndex].colorPickerNode->getPreferredInput();
subResult->perInputsData[viewerInputIndex].colorPickerInputNode = subResult->perInputsData[viewerInputIndex].colorPickerNode->getInput(mainInput);
}
}
if (subResult->perInputsData[viewerInputIndex].colorPickerNode) {
initArgs->extraNodesToSample.push_back(subResult->perInputsData[viewerInputIndex].colorPickerNode);
}
if (subResult->perInputsData[viewerInputIndex].colorPickerInputImage) {
initArgs->extraNodesToSample.push_back(subResult->perInputsData[viewerInputIndex].colorPickerInputNode);
}
subResult->perInputsData[viewerInputIndex].render = TreeRender::create(initArgs);
if (!subResult->perInputsData[viewerInputIndex].render) {
return eActionStatusFailed;
}
//.........这里部分代码省略.........