本文整理汇总了C++中TFx::getParams方法的典型用法代码示例。如果您正苦于以下问题:C++ TFx::getParams方法的具体用法?C++ TFx::getParams怎么用?C++ TFx::getParams使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类TFx
的用法示例。
在下文中一共展示了TFx::getParams方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: toggle
void FxKeyframeNavigator::toggle() {
TFx *fx = getFx();
if (!fx) return;
int i, paramCount = fx->getParams()->getParamCount();
// determino in quale caso ci troviamo:
// il frame corrente non e' keyframe di nessun parametro (isKeyframe=false),
// di qualche parametro o di tutti i parametri (isFullKeyframe=true)
bool isFullKeyframe = true;
bool isKeyframe = false;
int frame = getCurrentFrame();
for (i = 0; i < paramCount; i++) {
TParamP param = fx->getParams()->getParam(i);
if (!param->isAnimatable()) continue;
if (param->isKeyframe(frame))
isKeyframe = true;
else
isFullKeyframe = false;
}
if (!isKeyframe) isFullKeyframe = false;
// modifico lo stato: nokeyframe->full, full->no, partial->full
bool on = !isKeyframe || isKeyframe && !isFullKeyframe;
for (i = 0; i < fx->getParams()->getParamCount();
i++) { // TODO. spostare questo codice in TParam
TParamP param = fx->getParams()->getParam(i);
if (TDoubleParamP dp = param) {
if (on)
dp->setValue(frame, dp->getValue(frame));
else
dp->deleteKeyframe(frame);
} else if (TRangeParamP rp = param) {
if (on)
rp->setValue(frame, rp->getValue(frame));
else
rp->deleteKeyframe(frame);
} else if (TPointParamP pp = param) {
if (on)
pp->setValue(frame, pp->getValue(frame));
else
pp->deleteKeyframe(frame);
} else if (TPixelParamP pip = param) {
if (on)
pip->setValue(frame, pip->getValue(frame));
else
pip->deleteKeyframe(frame);
} else if (TSpectrumParamP sp = param) {
if (on)
sp->setValue(frame, sp->getValue(frame), false);
else
sp->deleteKeyframe(frame);
} else if (TToneCurveParamP tcp = param) {
if (on)
tcp->setValue(frame, tcp->getValue(frame), false);
else
tcp->deleteKeyframe(frame);
}
}
m_fxHandle->notifyFxChanged();
}
示例2: isKeyframe
bool FxKeyframeNavigator::isKeyframe() const {
TFx *fx = getFx();
if (!fx) return false;
for (int i = 0; i < fx->getParams()->getParamCount(); i++) {
TParamP param = fx->getParams()->getParam(i);
if (param->isKeyframe(getCurrentFrame())) return true;
}
return false;
}
示例3: isFullKeyframe
bool FxKeyframeNavigator::isFullKeyframe() const {
TFx *fx = getFx();
if (!fx) return false;
int keyFrameCount = 0;
int animatableParamCount = 0;
for (int i = 0; i < fx->getParams()->getParamCount(); i++) {
TParamP param = fx->getParams()->getParam(i);
if (param->isAnimatable()) {
animatableParamCount++;
if (param->isKeyframe(getCurrentFrame())) keyFrameCount++;
}
}
return animatableParamCount > 0 && keyFrameCount == animatableParamCount;
}
示例4: loadData
void TXsheet::loadData(TIStream &is) {
clearAll();
TStageObjectId cameraId = TStageObjectId::CameraId(0);
TStageObject *firstCamera = getStageObject(cameraId);
m_imp->m_pegTree->removeStageObject(cameraId);
int col = 0;
string tagName;
while (is.openChild(tagName)) {
if (tagName == "columns") {
while (!is.eos()) {
TPersist *p = 0;
is >> p;
TXshColumn *column = dynamic_cast<TXshColumn *>(p);
if (!column) throw TException("expected xsheet column");
m_imp->m_columnSet.insertColumn(col++, column);
column->setXsheet(this);
if (TXshZeraryFxColumn *zc =
dynamic_cast<TXshZeraryFxColumn *>(column)) {
TFx *fx = zc->getZeraryColumnFx()->getZeraryFx();
int fxTypeCount = m_imp->m_fxDag->getFxTypeCount(fx);
int maxFxTypeId = std::max(fxTypeCount, fx->getAttributes()->getId());
m_imp->m_fxDag->updateFxTypeTable(fx, maxFxTypeId);
m_imp->m_fxDag->updateFxIdTable(fx);
for (int j = 0; j < fx->getParams()->getParamCount(); j++) {
TParam *param = fx->getParams()->getParam(j);
if (TDoubleParam *dp = dynamic_cast<TDoubleParam *>(param))
getStageObjectTree()->setGrammar(dp);
else if (dynamic_cast<TPointParam *>(param) ||
dynamic_cast<TRangeParam *>(param) ||
dynamic_cast<TPixelParam *>(param)) {
TParamSet *paramSet = dynamic_cast<TParamSet *>(param);
assert(paramSet);
int f;
for (f = 0; f < paramSet->getParamCount(); f++) {
TDoubleParam *dp = dynamic_cast<TDoubleParam *>(
paramSet->getParam(f).getPointer());
if (!dp) continue;
getStageObjectTree()->setGrammar(dp);
}
}
}
}
}
} else if (tagName == "pegbars") {
TPersist *p = m_imp->m_pegTree;
is >> *p;
} else if (tagName == "fxnodes") {