MCPcopy Create free account
hub / github.com/NatronGitHub/Natron / initForSave

Method initForSave

Engine/KnobSerialization.cpp:100–133  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

98}
99
100void
101ValueSerialization::initForSave(const KnobIPtr & knob,
102 int dimension,
103 bool exprHasRetVar,
104 const std::string& expr)
105{
106 _knob = knob;
107 _dimension = dimension;
108 _expression = expr;
109 _exprHasRetVar = exprHasRetVar;
110
111 std::pair<int, KnobIPtr> m = knob->getMaster(dimension);
112
113 if ( m.second && !knob->isMastersPersistenceIgnored() ) {
114 _master.masterDimension = m.first;
115 NamedKnobHolder* holder = dynamic_cast<NamedKnobHolder*>( m.second->getHolder() );
116 assert(holder);
117
118 TrackMarker* isMarker = dynamic_cast<TrackMarker*>(holder);
119 if (isMarker) {
120 _master.masterTrackName = isMarker->getScriptName_mt_safe();
121 _master.masterNodeNameFull = isMarker->getContext()->getNode()->getFullyQualifiedName();
122 _master.masterNodeName = isMarker->getContext()->getNode()->getScriptName_mt_safe();
123 } else {
124 // coverity[dead_error_line]
125 _master.masterNodeNameFull = holder ? holder->getFullyQualifiedName() : "";
126 _master.masterNodeName = holder ? holder->getScriptName_mt_safe() : "";
127 }
128 _master.masterKnobName = m.second->getName();
129 } else {
130 _master.masterDimension = -1;
131 }
132
133}
134
135void
136ValueSerialization::setChoiceExtraLabel(const std::string& label)

Callers 1

initializeMethod · 0.80

Calls 8

getMasterMethod · 0.80
getNameMethod · 0.80
getHolderMethod · 0.45
getScriptName_mt_safeMethod · 0.45
getFullyQualifiedNameMethod · 0.45
getNodeMethod · 0.45
getContextMethod · 0.45

Tested by

no test coverage detected