MCPcopy Create free account
hub / github.com/MrKepzie/Natron / initialize

Method initialize

Engine/ProjectSerialization.cpp:35–62  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

33#include "Engine/TimeLine.h"
34
35NATRON_NAMESPACE_ENTER
36
37void
38ProjectSerialization::initialize(const Project* project)
39{
40 ///All the code in this function is MT-safe
41
42 _nodes.initialize(*project);
43
44 project->getAdditionalFormats(&_additionalFormats);
45
46 std::vector< KnobPtr > knobs = project->getKnobs_mt_safe();
47 for (U32 i = 0; i < knobs.size(); ++i) {
48 KnobGroup* isGroup = dynamic_cast<KnobGroup*>( knobs[i].get() );
49 KnobPage* isPage = dynamic_cast<KnobPage*>( knobs[i].get() );
50 KnobButton* isButton = dynamic_cast<KnobButton*>( knobs[i].get() );
51 if ( knobs[i]->getIsPersistent() &&
52 !isGroup && !isPage && !isButton &&
53 knobs[i]->hasModificationsForSerialization() ) {
54 boost::shared_ptr<KnobSerialization> newKnobSer( new KnobSerialization(knobs[i]) );
55 _projectKnobs.push_back(newKnobSer);
56 }
57 }
58
59 _timelineCurrent = project->currentFrame();
60
61 _creationDate = project->getProjectCreationTime();
62}
63
64NATRON_NAMESPACE_EXIT

Callers

nothing calls this directly

Calls 9

getAdditionalFormatsMethod · 0.80
getKnobs_mt_safeMethod · 0.80
sizeMethod · 0.45
getMethod · 0.45
getIsPersistentMethod · 0.45
push_backMethod · 0.45
currentFrameMethod · 0.45

Tested by

no test coverage detected