-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy patharchitecture.html
More file actions
186 lines (166 loc) · 21.3 KB
/
architecture.html
File metadata and controls
186 lines (166 loc) · 21.3 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
<!DOCTYPE html>
<html class="writer-html5" lang="en" data-content_root="../">
<head>
<meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Architecture Overview — Autograph 2026.0.1 documentation</title>
<link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=03e43079" />
<link rel="stylesheet" type="text/css" href="../_static/css/theme.css?v=19f00094" />
<link rel="stylesheet" type="text/css" href="../_static/dark_mode_css/general.css?v=c0a7eb24" />
<link rel="stylesheet" type="text/css" href="../_static/dark_mode_css/dark.css?v=70edf1c7" />
<!--[if lt IE 9]>
<script src="../_static/js/html5shiv.min.js"></script>
<![endif]-->
<script src="../_static/jquery.js?v=5d32c60e"></script>
<script src="../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
<script src="../_static/documentation_options.js?v=6cbb5e0f"></script>
<script src="../_static/doctools.js?v=9a2dae69"></script>
<script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
<script src="../_static/dark_mode_js/default_dark.js?v=fd565c74"></script>
<script src="../_static/dark_mode_js/theme_switcher.js?v=358d3910"></script>
<script src="../_static/js/theme.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
<link rel="next" title="Manage a Project" href="importItems.html" />
<link rel="prev" title="Start-up scripts" href="startupscripts.html" />
</head>
<body class="wy-body-for-nav">
<div class="wy-grid-for-nav">
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
<div class="wy-side-scroll">
<div class="wy-side-nav-search" >
<a href="../index.html" class="icon icon-home">
Autograph
</a>
<div class="version">
2026.0
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
</div>
</div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
<ul class="current">
<li class="toctree-l1 current"><a class="reference internal" href="index.html">Developer Guide</a><ul class="current">
<li class="toctree-l2"><a class="reference internal" href="startupscripts.html">Start-up scripts</a></li>
<li class="toctree-l2 current"><a class="current reference internal" href="#">Architecture Overview</a><ul>
<li class="toctree-l3"><a class="reference internal" href="#application"><code class="xref py py-class docutils literal notranslate"><span class="pre">Application</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="#project"><code class="xref py py-class docutils literal notranslate"><span class="pre">Project</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="#projectitem"><code class="xref py py-class docutils literal notranslate"><span class="pre">ProjectItem</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="#effect"><code class="xref py py-class docutils literal notranslate"><span class="pre">Effect</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="#param"><code class="xref py py-class docutils literal notranslate"><span class="pre">Param</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="#composition"><code class="xref py py-class docutils literal notranslate"><span class="pre">Composition</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="#layer"><code class="xref py py-class docutils literal notranslate"><span class="pre">Layer</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="#panel"><code class="xref py py-class docutils literal notranslate"><span class="pre">Panel</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="#rendermanager"><code class="xref py py-class docutils literal notranslate"><span class="pre">RenderManager</span></code></a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="importItems.html">Manage a Project</a></li>
<li class="toctree-l2"><a class="reference internal" href="editComposition.html">Edit a Composition</a></li>
<li class="toctree-l2"><a class="reference internal" href="editParams.html">Edit Params</a></li>
<li class="toctree-l2"><a class="reference internal" href="rendering.html">Creating Renders</a></li>
<li class="toctree-l2"><a class="reference internal" href="customPanels.html">Creating custom Panels</a></li>
<li class="toctree-l2"><a class="reference internal" href="2DPaths.html">Using 2D Paths</a></li>
<li class="toctree-l2"><a class="reference internal" href="timelinePanel.html">Interacting with the Timeline</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../reference.html">API Reference</a></li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="../index.html">Autograph</a>
</nav>
<div class="wy-nav-content">
<div class="rst-content">
<div role="navigation" aria-label="Page navigation">
<ul class="wy-breadcrumbs">
<li><a href="../index.html" class="icon icon-home" aria-label="Home"></a></li>
<li class="breadcrumb-item"><a href="index.html">Developer Guide</a></li>
<li class="breadcrumb-item active">Architecture Overview</li>
<li class="wy-breadcrumbs-aside">
<a href="../_sources/Guide/architecture.rst.txt" rel="nofollow"> View page source</a>
</li>
</ul>
<hr/>
</div>
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
<section id="architecture-overview">
<span id="architecture"></span><h1>Architecture Overview<a class="headerlink" href="#architecture-overview" title="Link to this heading"></a></h1>
<section id="application">
<h2><a class="reference internal" href="../reference.html#Autograph.Application" title="Autograph.Application"><code class="xref py py-class docutils literal notranslate"><span class="pre">Application</span></code></a><a class="headerlink" href="#application" title="Link to this heading"></a></h2>
<p>When the Autograph process is created, a single instance of the <a class="reference internal" href="../reference.html#Autograph.Application" title="Autograph.Application"><code class="xref py py-class docutils literal notranslate"><span class="pre">Application</span></code></a> class is created and accessible with the <code class="xref py py-attr docutils literal notranslate"><span class="pre">Autograph.app</span></code> attribute.</p>
<p>The <a class="reference internal" href="../reference.html#Autograph.Application" title="Autograph.Application"><code class="xref py py-class docutils literal notranslate"><span class="pre">Application</span></code></a> handles all <em>application-wide</em> information about available classes, environment and also settings.
It is responsible to create one or multiple <a class="reference internal" href="../reference.html#Autograph.Project" title="Autograph.Project"><code class="xref py py-class docutils literal notranslate"><span class="pre">Project</span></code></a> instance(s) which can run in GUI mode or in the background.</p>
</section>
<section id="project">
<h2><a class="reference internal" href="../reference.html#Autograph.Project" title="Autograph.Project"><code class="xref py py-class docutils literal notranslate"><span class="pre">Project</span></code></a><a class="headerlink" href="#project" title="Link to this heading"></a></h2>
<p>The <a class="reference internal" href="../reference.html#Autograph.Project" title="Autograph.Project"><code class="xref py py-class docutils literal notranslate"><span class="pre">Project</span></code></a> is the main class containing all data related to a single project in Autograph. This is the class on which you will find project-wide functions and get access to any <a class="reference internal" href="../reference.html#Autograph.ProjectItem" title="Autograph.ProjectItem"><code class="xref py py-class docutils literal notranslate"><span class="pre">ProjectItem</span></code></a>.</p>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>Since the <a class="reference internal" href="../reference.html#Autograph.Application" title="Autograph.Application"><code class="xref py py-class docutils literal notranslate"><span class="pre">Application</span></code></a> can have multiple projects opened concurrently, you may find useful to retrieve the project actively focused by the user with <a class="reference internal" href="../reference.html#Autograph.Application.getActiveProject" title="Autograph.Application.getActiveProject"><code class="xref py py-meth docutils literal notranslate"><span class="pre">Autograph.Application.getActiveProject()</span></code></a> .</p>
</div>
</section>
<section id="projectitem">
<h2><a class="reference internal" href="../reference.html#Autograph.ProjectItem" title="Autograph.ProjectItem"><code class="xref py py-class docutils literal notranslate"><span class="pre">ProjectItem</span></code></a><a class="headerlink" href="#projectitem" title="Link to this heading"></a></h2>
<p>Represents any item in the Project Panel. A <a class="reference internal" href="../reference.html#Autograph.ProjectItem" title="Autograph.ProjectItem"><code class="xref py py-class docutils literal notranslate"><span class="pre">ProjectItem</span></code></a> can contain an <a class="reference internal" href="../reference.html#Autograph.Effect" title="Autograph.Effect"><code class="xref py py-class docutils literal notranslate"><span class="pre">Effect</span></code></a>, which can be used as a generator (see <a class="reference internal" href="../reference.html#Autograph.Param.setGeneratorEffect" title="Autograph.Param.setGeneratorEffect"><code class="xref py py-meth docutils literal notranslate"><span class="pre">Autograph.Param.setGeneratorEffect()</span></code></a>) on a <code class="xref py py-class docutils literal notranslate"><span class="pre">Param</span></code>.</p>
</section>
<section id="effect">
<h2><a class="reference internal" href="../reference.html#Autograph.Effect" title="Autograph.Effect"><code class="xref py py-class docutils literal notranslate"><span class="pre">Effect</span></code></a><a class="headerlink" href="#effect" title="Link to this heading"></a></h2>
<p>A very generic base-class for anything that contains a set of <a class="reference internal" href="../reference.html#Autograph.Param" title="Autograph.Param"><code class="xref py py-class docutils literal notranslate"><span class="pre">Param</span></code></a> . Generator effect can be set as generator on a <a class="reference internal" href="../reference.html#Autograph.Param" title="Autograph.Param"><code class="xref py py-class docutils literal notranslate"><span class="pre">Param</span></code></a> with <a class="reference internal" href="../reference.html#Autograph.Param.setGeneratorEffect" title="Autograph.Param.setGeneratorEffect"><code class="xref py py-meth docutils literal notranslate"><span class="pre">Autograph.Param.setGeneratorEffect()</span></code></a> . Modifier effect can be added in the <a class="reference internal" href="../reference.html#Autograph.ModifierList" title="Autograph.ModifierList"><code class="xref py py-class docutils literal notranslate"><span class="pre">ModifierList</span></code></a> of a <a class="reference internal" href="../reference.html#Autograph.Param" title="Autograph.Param"><code class="xref py py-class docutils literal notranslate"><span class="pre">Param</span></code></a> using <a class="reference internal" href="../reference.html#Autograph.Param.getModifiersList" title="Autograph.Param.getModifiersList"><code class="xref py py-meth docutils literal notranslate"><span class="pre">Autograph.Param.getModifiersList()</span></code></a> .
Generators and Modifiers can be created using the constructore taking a <cite>classID</cite> string. The <cite>classID</cite> must be one of the identifiers returned by <a class="reference internal" href="../reference.html#Autograph.Application.getGeneratorsClassID" title="Autograph.Application.getGeneratorsClassID"><code class="xref py py-meth docutils literal notranslate"><span class="pre">Autograph.Application.getGeneratorsClassID()</span></code></a> or <a class="reference internal" href="../reference.html#Autograph.Application.getModifiersClassID" title="Autograph.Application.getModifiersClassID"><code class="xref py py-meth docutils literal notranslate"><span class="pre">Autograph.Application.getModifiersClassID()</span></code></a> .</p>
</section>
<section id="param">
<h2><a class="reference internal" href="../reference.html#Autograph.Param" title="Autograph.Param"><code class="xref py py-class docutils literal notranslate"><span class="pre">Param</span></code></a><a class="headerlink" href="#param" title="Link to this heading"></a></h2>
<p>An abstract base-class for any parameter on an <a class="reference internal" href="../reference.html#Autograph.Effect" title="Autograph.Effect"><code class="xref py py-class docutils literal notranslate"><span class="pre">Effect</span></code></a> . Any parameter that you can manipulate in the timeline or the properties panel inherits this class.
Some Param classes are responsible to store a value (number <a class="reference internal" href="../reference.html#Autograph.DoubleParamBase" title="Autograph.DoubleParamBase"><code class="xref py py-class docutils literal notranslate"><span class="pre">DoubleParamBase</span></code></a>, string <a class="reference internal" href="../reference.html#Autograph.StringParamBase" title="Autograph.StringParamBase"><code class="xref py py-class docutils literal notranslate"><span class="pre">StringParamBase</span></code></a>, complex objects such as <a class="reference internal" href="../reference.html#Autograph.Path2DParam" title="Autograph.Path2DParam"><code class="xref py py-class docutils literal notranslate"><span class="pre">Path2DParam</span></code></a> …) and can optionnally give the user an interface to interact with. Some other Param classes are purely meant for the UI and do not store any value. Some Param classes can have <cite>child</cite> Params, such as <a class="reference internal" href="../reference.html#Autograph.Transform2DParam" title="Autograph.Transform2DParam"><code class="xref py py-class docutils literal notranslate"><span class="pre">Transform2DParam</span></code></a>.</p>
</section>
<section id="composition">
<h2><a class="reference internal" href="../reference.html#Autograph.Composition" title="Autograph.Composition"><code class="xref py py-class docutils literal notranslate"><span class="pre">Composition</span></code></a><a class="headerlink" href="#composition" title="Link to this heading"></a></h2>
<p>A <a class="reference internal" href="../reference.html#Autograph.ProjectItem" title="Autograph.ProjectItem"><code class="xref py py-class docutils literal notranslate"><span class="pre">ProjectItem</span></code></a> can contain a <a class="reference internal" href="../reference.html#Autograph.Composition" title="Autograph.Composition"><code class="xref py py-class docutils literal notranslate"><span class="pre">Composition</span></code></a>. To create a new <a class="reference internal" href="../reference.html#Autograph.Composition" title="Autograph.Composition"><code class="xref py py-class docutils literal notranslate"><span class="pre">Composition</span></code></a> in the project, use <a class="reference internal" href="../reference.html#Autograph.Project.createComposition" title="Autograph.Project.createComposition"><code class="xref py py-meth docutils literal notranslate"><span class="pre">Autograph.Project.createComposition()</span></code></a> .
The <a class="reference internal" href="../reference.html#Autograph.Composition" title="Autograph.Composition"><code class="xref py py-class docutils literal notranslate"><span class="pre">Composition</span></code></a> contains a list of <a class="reference internal" href="../reference.html#Autograph.LayerBase" title="Autograph.LayerBase"><code class="xref py py-class docutils literal notranslate"><span class="pre">Layer</span></code></a>, stored from bottom to top (i.e: in reverse order of the UI).</p>
</section>
<section id="layer">
<h2><a class="reference internal" href="../reference.html#Autograph.LayerBase" title="Autograph.LayerBase"><code class="xref py py-class docutils literal notranslate"><span class="pre">Layer</span></code></a><a class="headerlink" href="#layer" title="Link to this heading"></a></h2>
<p>Each <a class="reference internal" href="../reference.html#Autograph.LayerBase" title="Autograph.LayerBase"><code class="xref py py-class docutils literal notranslate"><span class="pre">LayerBase</span></code></a> class (and its derived classes <a class="reference internal" href="../reference.html#Autograph.Layer2D" title="Autograph.Layer2D"><code class="xref py py-class docutils literal notranslate"><span class="pre">Layer2D</span></code></a> , <a class="reference internal" href="../reference.html#Autograph.Layer3D" title="Autograph.Layer3D"><code class="xref py py-class docutils literal notranslate"><span class="pre">Layer3D</span></code></a> , <a class="reference internal" href="../reference.html#Autograph.CameraLayer" title="Autograph.CameraLayer"><code class="xref py py-class docutils literal notranslate"><span class="pre">CameraLayer</span></code></a> , <a class="reference internal" href="../reference.html#Autograph.LightLayer" title="Autograph.LightLayer"><code class="xref py py-class docutils literal notranslate"><span class="pre">LightLayer</span></code></a>) is an <a class="reference internal" href="../reference.html#Autograph.Effect" title="Autograph.Effect"><code class="xref py py-class docutils literal notranslate"><span class="pre">Effect</span></code></a> class and thus contains a set of <a class="reference internal" href="../reference.html#Autograph.Param" title="Autograph.Param"><code class="xref py py-class docutils literal notranslate"><span class="pre">Param</span></code></a> that the user can control.</p>
</section>
<section id="panel">
<h2><a class="reference internal" href="../reference.html#Autograph.Panel" title="Autograph.Panel"><code class="xref py py-class docutils literal notranslate"><span class="pre">Panel</span></code></a><a class="headerlink" href="#panel" title="Link to this heading"></a></h2>
<p>Panels are the UI blocks that make up the window workspace, such as the <a class="reference internal" href="../reference.html#Autograph.TimelinePanel" title="Autograph.TimelinePanel"><code class="xref py py-class docutils literal notranslate"><span class="pre">TimelinePanel</span></code></a> , <code class="xref py py-class docutils literal notranslate"><span class="pre">PropertiesPanel</span></code> , <a class="reference internal" href="../reference.html#Autograph.ViewerPanel" title="Autograph.ViewerPanel"><code class="xref py py-class docutils literal notranslate"><span class="pre">ViewerPanel</span></code></a> etc….</p>
</section>
<section id="rendermanager">
<h2><a class="reference internal" href="../reference.html#Autograph.RenderManager" title="Autograph.RenderManager"><code class="xref py py-class docutils literal notranslate"><span class="pre">RenderManager</span></code></a><a class="headerlink" href="#rendermanager" title="Link to this heading"></a></h2>
<p>This object is only accessible through <a class="reference internal" href="../reference.html#Autograph.Project.getRenderManager" title="Autograph.Project.getRenderManager"><code class="xref py py-meth docutils literal notranslate"><span class="pre">Autograph.Project.getRenderManager()</span></code></a> and controls anything related to the render queue and is responsible to start renders.</p>
</section>
</section>
</div>
</div>
<footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
<a href="startupscripts.html" class="btn btn-neutral float-left" title="Start-up scripts" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
<a href="importItems.html" class="btn btn-neutral float-right" title="Manage a Project" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
</div>
<hr/>
<div role="contentinfo">
<p>© Copyright 2026 Maxon Computer GmbH.</p>
</div>
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
<a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
provided by <a href="https://readthedocs.org">Read the Docs</a>.
</footer>
</div>
</div>
</section>
</div>
<script>
jQuery(function () {
SphinxRtdTheme.Navigation.enable(true);
});
</script>
</body>
</html>