Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Dev #420

Closed
wants to merge 155 commits into from
Closed

Dev #420

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
155 commits
Select commit Hold shift + click to select a range
7824711
Subcontainer: move plugins to dedicated dir
howetuft Jun 11, 2024
b770261
Plugins: factorize common code (in wheel)
howetuft Jun 12, 2024
d1a46fc
Plugin: handle widget initialization exception
howetuft Jun 12, 2024
88f6556
Plugin: warn in case of widget init exception
howetuft Jun 12, 2024
146eb2b
Bump version
howetuft Jun 13, 2024
f41a89c
Merge branch 'FreeCAD:master' into qtwebengine
howetuft Jun 13, 2024
29ecbec
MaterialX: convert materialx to standalone app (1st stage)
howetuft Jun 12, 2024
d4c9d1c
Plugins: add log/msg/warn/error functions
howetuft Jun 13, 2024
a2b2502
MaterialX: convert materialx to standalone app (2nd stage)
howetuft Jun 13, 2024
6968c06
Plugin: isolate socket
howetuft Jun 14, 2024
b59760e
Plugin: use socket for log/msg/warn/error
howetuft Jun 14, 2024
a59c66b
Plugin: materialx
howetuft Jun 14, 2024
d77866c
Clean wheelhouse
howetuft Jun 14, 2024
0c82308
Wheels: add gitignore
howetuft Jun 14, 2024
450e631
Plugin: set QTWEBENGINE_RESOURCES_PATH
howetuft Jun 15, 2024
0ec6595
Plugin: add listener to message receiving
howetuft Jun 16, 2024
d811ffc
Plugin: RELEASE MATERIAL message
howetuft Jun 16, 2024
5f36979
Material: fix Group Material creation
howetuft Jun 16, 2024
79f18b2
MaterialX: fix connect issue related to QNetworkAccessManager
howetuft Jun 16, 2024
d19f069
Plugin: rename RenderPlugin into RenderPluginApplication
howetuft Jun 16, 2024
8f4f869
Plugin: fix messed arguments
howetuft Jun 16, 2024
7a77bb9
Plugin: fix progress_hook
howetuft Jun 16, 2024
98f3037
Plugin: release material even when cancelled
howetuft Jun 17, 2024
315d5d9
Plugin: worker return code
howetuft Jun 17, 2024
485de3c
Plugin: enhance logging
howetuft Jun 17, 2024
64d896f
Merge branch 'FreeCAD:master' into qtwebengine
howetuft Jun 17, 2024
ed6a166
Plugins: Create README.md
howetuft Jun 17, 2024
cf48e32
Plugins: Update README.md
howetuft Jun 17, 2024
0225727
Plugins: Update README.md
howetuft Jun 17, 2024
1f6c058
Plugins: Update README.md
howetuft Jun 17, 2024
dcd6557
Plugins: Update README.md
howetuft Jun 17, 2024
e62208d
Plugins: Update README.md
howetuft Jun 17, 2024
a81ca73
Plugins: Update README.md
howetuft Jun 17, 2024
fe5305a
Plugins: Update README.md
howetuft Jun 17, 2024
34d85ec
Plugins: Update README.md
howetuft Jun 17, 2024
ac96d4c
Plugins: cast message to string in log/msg/warn/error
howetuft Jun 18, 2024
af002de
MaterialX plugin: make polyhaven hook work again
howetuft Jun 18, 2024
e76919a
Plugin: check QTWEBENGINE_RESOURCES_PATH before setting
howetuft Jun 18, 2024
6689f08
Plugin: enhance logging
howetuft Jun 18, 2024
345820d
Plugin: build wheels in tmp dir
howetuft Jun 19, 2024
35beb66
Plugin: refactor framework wheel
howetuft Jun 20, 2024
631b7c7
Plugin: conditional purge when removing env
howetuft Jun 20, 2024
058d4a9
Plugin: add console plugin
howetuft Jun 20, 2024
42c0f05
Plugin: allow PyQt use (except materialx yet)
howetuft Jun 20, 2024
a5fd38d
Plugin: deal with ImageLight
howetuft Jun 20, 2024
aa189a0
Plugins: move plugin_framework to qtpy
howetuft Jun 21, 2024
1e38b76
Plugins: move help to qtpy
howetuft Jun 21, 2024
c68ae60
Plugins: convert materialx to qtpy (partial)
howetuft Jun 21, 2024
2c33db0
Plugins: convert materialx to qtpy
howetuft Jun 21, 2024
74db3aa
Commands: make active only if a document is active
howetuft Jun 22, 2024
b29b1b5
Plugins: simply start_*
howetuft Jun 22, 2024
cdb4a39
Venv: add pylint (conditional)
howetuft Jun 22, 2024
e78b81e
Plugins: remove dead code
howetuft Jun 22, 2024
5c5656e
Revert "Venv: add pylint (conditional)"
howetuft Jun 22, 2024
990afc5
Renderables: lint
howetuft Jun 22, 2024
4666238
Taskpanels: lint
howetuft Jun 22, 2024
5921aa9
Groundplane: lint
howetuft Jun 22, 2024
d595cad
subcontainer: lint
howetuft Jun 22, 2024
9b156b0
rendermesh: lint
howetuft Jun 22, 2024
2748d15
rendermesh_mixins: lint
howetuft Jun 22, 2024
bcebdb5
subcontainer: lint
howetuft Jun 22, 2024
9081cd7
project: lint
howetuft Jun 22, 2024
0065c00
virtualenv: lint
howetuft Jun 22, 2024
cc02275
Commands: lint
howetuft Jun 23, 2024
27bdf6d
Renderers.utils: lint
howetuft Jun 23, 2024
31e7f91
rendermesh_mp/autosmooth: lint
howetuft Jun 23, 2024
4bb8eb8
rendermesh_mp/uvmap_cube.py: lint
howetuft Jun 23, 2024
ea2241b
rendermesh_mp/writeobj.py: lint
howetuft Jun 23, 2024
1302e04
materialx_baker: lint
howetuft Jun 23, 2024
e65f1e6
materialx_importer: lint
howetuft Jun 23, 2024
aa2bc53
materialx_importer: remove import_materialx (to be reimplemented)
howetuft Jun 23, 2024
8534636
materialx/__init__: lint
howetuft Jun 23, 2024
67b4a4a
plugins/console; lint
howetuft Jun 23, 2024
f40fac7
plugins/help lint
howetuft Jun 23, 2024
675d8ef
Materialx: lint
howetuft Jun 23, 2024
ccf933c
__init__: lint
howetuft Jun 23, 2024
c5e7170
project: lint
howetuft Jun 23, 2024
21827ba
renderplugin: pylint
howetuft Jun 23, 2024
ed34b24
Plugins: refactor modules
howetuft Jun 24, 2024
ceefb4f
Renderplugin: update
howetuft Jun 24, 2024
93b353a
Commands: do not specify doc for materialx (not supported)
howetuft Jun 24, 2024
c58d61e
Appleseed: lint
howetuft Jun 24, 2024
7fbf7d9
.pylintrc: add PySide6 and PyQt6 in whitelist
howetuft Jun 25, 2024
deee043
materialx: disable too-many-ancestors for qt classes
howetuft Jun 25, 2024
1dcc2fc
virtualenv: tweak message
howetuft Jun 25, 2024
b595947
Remove transition files camera/lights
howetuft Jun 25, 2024
f447fed
Settings: add MaterialX activation
howetuft Jun 25, 2024
809b4f0
MaterialX: rename downloader into viewer and remove __ini__
howetuft Jun 25, 2024
35c0b39
materialx: split module
howetuft Jun 25, 2024
0be6af4
MaterialX: split package
howetuft Jun 25, 2024
c8fa3f8
Plugins: remove PYSIDE variable
howetuft Jun 26, 2024
3eefa69
MaterialX: local import (1st step)
howetuft Jun 26, 2024
e5f1454
MaterialX: local import - fix
howetuft Jun 26, 2024
64dd987
MaterialX: local import - test
howetuft Jun 26, 2024
e985efe
MaterialX: local import - test
howetuft Jun 26, 2024
d0b3d35
MaterialX: local import - test
howetuft Jun 26, 2024
4f18976
MaterialX: local import - use non-native dialog
howetuft Jun 26, 2024
a0cb762
MaterialX: local import - name widget
howetuft Jun 26, 2024
5357aa2
MaterialX: log exit (debug)w
howetuft Jun 26, 2024
72e16cf
Plugins: set application flags
howetuft Jun 27, 2024
cb15c3a
Materialx: local import - close widget after detach
howetuft Jun 27, 2024
372c65d
MaterialX: refactor layout creation in choosers
howetuft Jun 27, 2024
a45a81d
MaterialX: remove polyhaven stuff from download files
howetuft Jun 27, 2024
83399ee
MaterialX: remove useless page param from import worker
howetuft Jun 27, 2024
7166cb7
MaterialX: downloadwindow - prefer class members
howetuft Jun 27, 2024
84549ff
Project: add debug info to template merge operation
howetuft Jun 28, 2024
c80a923
Project: fix previous commit
howetuft Jun 28, 2024
1b742f0
Rendermesh: fix abs on Vector (regression from linting)
howetuft Jun 28, 2024
7b9d051
Merge branch 'qtwebengine' of https://github.com/howetuft/FreeCAD-ren…
howetuft Jun 28, 2024
1f5305a
Materialx: import local (1st step)
howetuft Jun 28, 2024
bc70b22
Materialx local import: pyside6
howetuft Jun 28, 2024
dcf124a
Materialx: import local (2nd step)
howetuft Jun 29, 2024
5b41717
MaterialX local import: selective remove if cancel
howetuft Jun 29, 2024
b6096b3
MaterialX local import: send messages through pipe during import
howetuft Jun 29, 2024
a83981d
MaterialX main: linting
howetuft Jun 29, 2024
703cffb
MaterialX downloader: linting
howetuft Jun 29, 2024
6a481d8
MaterialX converter: linting
howetuft Jun 29, 2024
12e5f73
Commands: lint
howetuft Jun 29, 2024
f6b4f51
subcontainer: lint
howetuft Jun 29, 2024
c713201
Luxcore: escape backslash in texture
howetuft Jun 29, 2024
c3d895d
Plugin: allow disabling embedding
howetuft Jun 29, 2024
7bdc6b5
Plugin: remove SESSION_MANAGER environment variable
howetuft Jun 30, 2024
eda0fc1
Rendermesh: setting to use uuid as exported mesh file names
howetuft Jun 30, 2024
34cb696
Rendermesh: uuid file name - some fixes
howetuft Jun 30, 2024
6b1f443
Package: remove materialx from dependencies
howetuft Jun 30, 2024
126aaa7
Preferences: add reset venv button
howetuft Jun 30, 2024
69ee9fe
Merge pull request #416 from howetuft/dev
howetuft Jul 1, 2024
619dd8b
Venv: fix regression due to 126aaa72b2ba2e5b86ca11475117eb47aa651048
howetuft Jul 2, 2024
679b2df
Plugins: move to PyQt6
howetuft Jul 2, 2024
106a78b
Plugins: move 'help' and 'materialx' under GPL v3
howetuft Jul 3, 2024
839f94d
MaterialX: remove tmp dir argument
howetuft Jul 3, 2024
3ccd932
MaterialX/HDRI: use transaction
howetuft Jul 3, 2024
64717c0
Readme: replace COPYING by LICENSE
howetuft Jul 3, 2024
b883e57
LICENSE: few corrections
howetuft Jul 3, 2024
7099225
Update LICENSE
howetuft Jul 3, 2024
c8bbcdb
Fix contexts on QT_TRANSLATE_NOOP()
hasecilu Jun 23, 2024
5aabbff
Update Spanish translations (es-AR, es-ES)
hasecilu Jun 23, 2024
01a1e95
Update Polish translation
hasecilu Jul 2, 2024
ff60582
License: move LGPL 2 (obsolete) to LGPL 2.1
howetuft Jul 3, 2024
d4a116b
Plugin: precise licensing
howetuft Jul 3, 2024
037b3a4
Merge pull request #417 from hasecilu/fix/translation_support
howetuft Jul 3, 2024
ea80ca4
Fix contexts on QT_TRANSLATE_NOOP()
hasecilu Jun 23, 2024
23d4286
Update Spanish translations (es-AR, es-ES)
hasecilu Jun 23, 2024
0a68031
Update Polish translation
hasecilu Jul 2, 2024
a9fdd8a
Venv: update pip if needed
howetuft Jul 3, 2024
59ee8b9
Merge pull request #418 from howetuft/dev
howetuft Jul 3, 2024
353852b
Commands: fix WBDIR missing in import
howetuft Jul 3, 2024
8e54dff
MaterialX: restore __init__.py (accidentally removed)
howetuft Jul 3, 2024
ee3b222
MaterialX: remove unused import
howetuft Jul 3, 2024
83bf1af
Commands: fix RenderProjectCommand ToolTip/MenuText not working for t…
howetuft Jul 3, 2024
3d8691b
Merge branch 'FreeCAD:dev' into dev
howetuft Jul 3, 2024
8dab633
MaterialX: tweak commands 'is active'
howetuft Jul 4, 2024
870c693
Commands: restore QT_TRANSLATE_NOOP for RenderProjectCommand
howetuft Jul 4, 2024
1f90f5b
Plugin: use show instead of showMaximized
howetuft Jul 4, 2024
c6dbed2
Bump version
howetuft Jul 4, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 7 additions & 1 deletion .pylintrc
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ init-hook='import sys; sys.path.append("/usr/lib/freecad/lib"); sys.path.append(
# paths.
ignore=CVS


# Python version
# 2024-02-15: we target 3.8, same as FreeCAD 0.21
py-version=3.8
Expand All @@ -39,6 +40,9 @@ unsafe-load-any-extension=no
# be loaded. Extensions are loading into the active Python interpreter and may
# run arbitrary code
extension-pkg-allow-list=PySide2,
PySide6,
PyQt5,
PyQt6,
PySide,
FreeCAD,
FreeCADGui,
Expand Down Expand Up @@ -163,6 +167,8 @@ callbacks=cb_, _cb,
execute,
attach,
updateData,
IsActive,
closeEvent,
render,
write_camera,
write_mesh,
Expand Down Expand Up @@ -240,7 +246,7 @@ class-rgx=[A-Z_][a-zA-Z0-9]+$
module-rgx=(([a-z_][a-z0-9_]*)|([A-Z][a-zA-Z0-9]+))$

# Regular expression matching correct method names
method-rgx=([a-z_][a-z0-9_]{2,}$|GetResources|Activated|onDocumentRestored|onChanged|onDelete|getDisplayModes|getDefaultDisplayMode|setDisplayMode|isShow|getIcon|setEdit|setupContextMenu|claimChildren|Initialize|GetClassName|updateData|GetCommands)
method-rgx=([a-z_][a-z0-9_]{2,}$|GetResources|Activated|onDocumentRestored|onChanged|onDelete|getDisplayModes|getDefaultDisplayMode|setDisplayMode|isShow|getIcon|setEdit|setupContextMenu|claimChildren|Initialize|GetClassName|updateData|GetCommands|IsActive|closeEvent)

# Regular expression which should only match function or class names that do
# not require a docstring.
Expand Down
24 changes: 14 additions & 10 deletions InitGui.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
# * *
# * This program is free software; you can redistribute it and/or modify *
# * it under the terms of the GNU Lesser General Public License (LGPL) *
# * as published by the Free Software Foundation; either version 2 of *
# * as published by the Free Software Foundation; either version 2.1 of *
# * the License, or (at your option) any later version. *
# * for detail see the LICENCE text file. *
# * *
Expand All @@ -30,11 +30,17 @@ class RenderWorkbench(Gui.Workbench):
def __init__(self):
"""Initialize object."""
# pylint: disable=import-outside-toplevel
from PySide.QtCore import QT_TRANSLATE_NOOP
from Render.utils import translate
from Render import TRANSDIR

from FreeCADGui import addLanguagePath, updateLocale

addLanguagePath(TRANSDIR)
updateLocale()

self.__class__.MenuText = "Render"
self.__class__.ToolTip = QT_TRANSLATE_NOOP(
"Render",
self.__class__.ToolTip = translate(
"Workbench",
"The Render workbench is a "
"modern replacement for "
"the Raytracing workbench",
Expand Down Expand Up @@ -102,11 +108,11 @@ def Initialize(self):
"""
# pylint: disable=import-outside-toplevel
from PySide.QtCore import QT_TRANSLATE_NOOP
from Render.utils import translate
from FreeCAD import Console
from FreeCADGui import addIconPath, addPreferencePage, addLanguagePath
from Render import RENDER_COMMANDS, TRANSDIR, ICONDIR, PreferencesPage
from FreeCADGui import addIconPath, addPreferencePage
from Render import RENDER_COMMANDS, ICONDIR, PreferencesPage

addLanguagePath(TRANSDIR)
self.appendToolbar(
QT_TRANSLATE_NOOP("Workbench", "Render"), RENDER_COMMANDS
)
Expand All @@ -115,9 +121,7 @@ def Initialize(self):
)
addIconPath(ICONDIR)
addPreferencePage(PreferencesPage, "Render")
msg = (
QT_TRANSLATE_NOOP("Render", "Loading Render module... done") + "\n"
)
msg = translate("Workbench", "Loading Render module... done") + "\n"
Console.PrintLog(msg)

def GetClassName(self): # pylint: disable=no-self-use
Expand Down
504 changes: 23 additions & 481 deletions LICENSE

Large diffs are not rendered by default.

21 changes: 17 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,8 @@ FreeCAD model is just a 4-steps process:
src=./Render/resources/icons/RenderView.svg height=32>


3. **Set your point of view:** [Navigate in FreeCAD 3D View](https://wiki.freecadweb.org/Manual:Navigating_in_the_3D_view)
3. **Set your point of view:**
[Navigate in FreeCAD 3D View](https://wiki.freecadweb.org/Manual:Navigating_in_the_3D_view)
to the desired position and switch to _Perspective_ mode.


Expand All @@ -90,7 +91,8 @@ FreeCAD model is just a 4-steps process:
<br /> **...and you should get a first rendering of your model.** <br />


You may also find a short tutorial on how to get started here: https://www.youtube.com/watch?v=8wsOnwjKG9M
You may also find a short tutorial on how to get started here:
https://www.youtube.com/watch?v=8wsOnwjKG9M


## More features
Expand All @@ -108,11 +110,14 @@ These adjustments should take place between steps 2 and 3.
## FAQ
### How to solve library conflicts within a FreeCAD AppImage

When using an AppImage, you might be confronted with an error like this on execution of the "Render" command:
When using an AppImage, you might be confronted with an error like this on
execution of the "Render" command:

`.../usr/lib/libstdc++.so.6: version 'CXXABI_1.3.15' not found`

This is due to different library versions of your host system and the AppImage. As a workaround, provide your host libraries to the rendering command using the "Prefix" field in the Render WB configuration:
This is due to different library versions of your host system and the AppImage.
As a workaround, provide your host libraries to the rendering command using the
"Prefix" field in the Render WB configuration:

`env LD_LIBRARY_PATH="/usr/lib64"`

Expand All @@ -132,3 +137,11 @@ This project is covered by FreeCAD [Code of
Conduct](https://github.com/FreeCAD/FreeCAD/blob/master/CODE_OF_CONDUCT.md).
Please comply to this code in all your contributions (issue openings, pull
requests...).

## License

The Render Workbench is licensed under the terms of GNU Lesser General Public
License (GNU LGPL) version 2 or any later version, except plugins `help` and
`materialx` (located in [Render/plugins](./Render/plugins) directory), that are
licensed under the terms of GNU General Public License (GNU GPL) version 3 or
any later version. See [LICENSE](./LICENSE) file for more information.
16 changes: 6 additions & 10 deletions Render/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
# * *
# * This program is free software; you can redistribute it and/or modify *
# * it under the terms of the GNU Lesser General Public License (LGPL) *
# * as published by the Free Software Foundation; either version 2 of *
# * as published by the Free Software Foundation; either version 2.1 of *
# * the License, or (at your option) any later version. *
# * for detail see the LICENCE text file. *
# * *
Expand All @@ -25,11 +25,7 @@

It imports all the public symbols which make up the Render Workbench API.
"""

# First ensure we've got a Python virtual environment
from Render.virtualenv import ensure_rendervenv # noqa: F401

ensure_rendervenv()
import FreeCAD as App

from Render.constants import ( # noqa: F401
WBDIR,
Expand Down Expand Up @@ -82,12 +78,12 @@
)
from Render.commands import RENDER_COMMANDS # noqa: F401
from Render.prefpage import PreferencesPage # noqa: F401
from Render.subcontainer import start_help # TODO

if PARAMS.GetBool("MaterialX"):
from Render.materialx import import_materialx # noqa: F401
from Render.virtualenv import ensure_rendervenv # noqa: F401

# Ensure we've got a Python virtual environment
ensure_rendervenv()

import FreeCAD as App

if App.GuiUp:
import FreeCADGui as Gui
Expand Down
2 changes: 1 addition & 1 deletion Render/base.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
# * *
# * This program is free software; you can redistribute it and/or modify *
# * it under the terms of the GNU Lesser General Public License (LGPL) *
# * as published by the Free Software Foundation; either version 2 of *
# * as published by the Free Software Foundation; either version 2.1 of *
# * the License, or (at your option) any later version. *
# * for detail see the LICENCE text file. *
# * *
Expand Down
24 changes: 14 additions & 10 deletions Render/camera.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
# * *
# * This program is free software; you can redistribute it and/or modify *
# * it under the terms of the GNU Lesser General Public License (LGPL) *
# * as published by the Free Software Foundation; either version 2 of *
# * as published by the Free Software Foundation; either version 2.1 of *
# * the License, or (at your option) any later version. *
# * for detail see the LICENCE text file. *
# * *
Expand Down Expand Up @@ -85,54 +85,58 @@ class Camera(PointableFeatureMixin, FeatureBase):
"App::PropertyEnumeration",
"Camera",
QT_TRANSLATE_NOOP(
"Render", "Type of projection: Perspective/Orthographic"
"App::Property", "Type of projection: Perspective/Orthographic"
),
("Perspective", "Orthographic"),
),
"ViewportMapping": Prop(
"App::PropertyEnumeration",
"Camera",
QT_TRANSLATE_NOOP("Render", "(See Coin documentation)"),
QT_TRANSLATE_NOOP("App::Property", "(See Coin documentation)"),
VIEWPORTMAPPINGENUM,
),
"AspectRatio": Prop(
"App::PropertyFloat",
"Camera",
QT_TRANSLATE_NOOP("Render", "Ratio width/height of the camera."),
QT_TRANSLATE_NOOP(
"App::Property", "Ratio width/height of the camera."
),
1.0,
),
"NearDistance": Prop(
"App::PropertyDistance",
"Camera",
QT_TRANSLATE_NOOP("Render", "Near distance, for clipping"),
QT_TRANSLATE_NOOP("App::Property", "Near distance, for clipping"),
0.0,
),
"FarDistance": Prop(
"App::PropertyDistance",
"Camera",
QT_TRANSLATE_NOOP("Render", "Far distance, for clipping"),
QT_TRANSLATE_NOOP("App::Property", "Far distance, for clipping"),
200.0,
),
"FocalDistance": Prop(
"App::PropertyDistance",
"Camera",
QT_TRANSLATE_NOOP("Render", "Focal distance"),
QT_TRANSLATE_NOOP("App::Property", "Focal distance"),
100.0,
),
"Height": Prop(
"App::PropertyLength",
"Camera",
QT_TRANSLATE_NOOP("Render", "Height, for orthographic camera"),
QT_TRANSLATE_NOOP(
"App::Property", "Height, for orthographic camera"
),
5.0,
),
"HeightAngle": Prop(
"App::PropertyAngle",
"Camera",
QT_TRANSLATE_NOOP(
"Render",
"App::Property",
"Height angle, for perspective camera, in "
"degrees. Important: This value will be sent as "
"'Field of View' to the renderers. Please note it is a"
"'Field of View' to the renderers. Please note it is a "
"*vertical* field-of-view.",
),
60,
Expand Down
2 changes: 1 addition & 1 deletion Render/coin.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
# * *
# * This program is free software; you can redistribute it and/or modify *
# * it under the terms of the GNU Lesser General Public License (LGPL) *
# * as published by the Free Software Foundation; either version 2 of *
# * as published by the Free Software Foundation; either version 2.1 of *
# * the License, or (at your option) any later version. *
# * for detail see the LICENCE text file. *
# * *
Expand Down
Loading
Loading