Package: pypos3dtu
This file is the README of the unit tests and example package of:The pypos3d library.The pypos3dv 3D OpenGL ViewerThe LibreOffice based GUI1. INTRODUCTION:This library is a port of the old DATA3D library of the OpenSource Pojamas project.
I own both of them.pypos3d aims to have a high level of quality.
Each version is automatically tested with a set of unit tests.
Coding rules are based on CNES (RNC-CNES-Q-HB-80-535) -CNES is the French National Space Agency-2. INSTALLATION:Library Installation:The library shall be installed with pip:python3 -m pip pypos3dtuEach release of pypos3dtu shall test the same version of pypos3d libraryConfiguration Management System:The code is managed on SourceForge platform under SVN:
svn checkout svn://svn.code.sf.net/p/pojamas/svncode/ pojamas-svncodeDevelopment and test files are gathered in directoryPyPoserThis PyPoser directory contains an Eclipse/PyDev environment.3. Tests:Unit tests are delivered in this package (pypos3dtu)
This library is tested with unitest with a target coverage rate over 90%.Installation and commissionning tests are performed on:AlmaLinux 9, 8        Python 3.6   LibreOffice 6.4AlmaLinux 8           Python 3.9   LibreOffice 6.4Fedora >34            Python 3.10  LibreOffice 7.2Debian 10 (i386)      Python 3.7   LibreOffice 7.0debian 11             Python 3.9   LibreOffice 7.1Microsoft Windows 10  Python 3.7   LibreOffice 7.0Unit Tests:To run the tests, 3 ways are available:Under Linux use script thetu.shto launch all tests:Tests are run within 2 environments: Python3.6 and Python3.9Tests are run in parallelCoverage Tests are run one by one (results in coverage_results.txt)Detailed logs are generated in directory: pypos3dtu/tulogResults are generated in directory: pypos3dtu/turesOutside Linux (in non dev environments):Locate the installation directory of pypos3dtu> python -c "import pypos3dtu; print(pypos3dtu.__path__[0])"Change current directory to the previous value and create result directories:> cd C:\Users\olivier\AppData\Roaming\Python\Python38\site-packages\pypos3dtu> mkdir tulog ruresExecute manually the tests> python -m unittest discover -p "tu*.py"In a development environment:Checkout the Eclipse project (cf. link above)Run tests from PyPoser/src/pypos3dtuDon't forfget to clean the 'tures' directory before check-inValidation Tests:Validation tests are 'free' tests excuted on the GUI (LibreOffice) and the viewer.
Validation tests of the viewer (pypos3dv command) shall be run on various hardware
platforms.Tests Platforms:PlatformCPU, RAM, GraphicCardOS - Softwared21Intel Core) i5-11400H CPU @ 2.70GHz x86_64 - 6C/12T - RAM 32GBAlmaLinux 8Python 3.6.8Python 3.9.7PyOpenGL 3.1.5Pillow 7.2d6Intel Core) i5 CPU 750  @ 2.67GHzx86_64 - 4C/4T - RAM 4GBNVIDIA Corporation GF119 [GeForce GT 520]CentOS 7Python 3.6.8Pillow 6.2nvidia-390xx-390.138-1.el7.x86_64PyOpenGL 3.1.5d8Intel Atom CPU N2800   @ 1.86GHzi386 - 2C/4T - RAM 4GBIGP 640MHzDebian 10Python 3.7.3Pillow 5.4.1PyGLM 1.99.3PyOpenGL         3.1.5scipy            1.5.4numpy            1.19.4glfw             2.0.0xlrd             2.0.1d10Intel Pentium dual-Core CPU E5300 @ 2.60GHzx86_64 - 2C/2T - RAM 6GBNVIDIA GeForce 8600 GT/PCIe/SSE2 256MBMicrosoft Windows 10Python 3.8.7Pillow 8.1.0PyGLM      1.99.3PyOpenGL   3.1.5glfw       2.0.0numpy      1.20.0pip        21.0.1scipy      1.6.0xlrd       2.0.1d9Intel Core2 Duo P8600 @ 2.4GHzx86_64 - 2C/4T - RAM 4GBIGP GM45Fedora 34Python 3.9.5Pillow 8.2.0PyGLM      2.2.0PyOpenGL   3.1.5glfw       2.1.0numpy      1.20.3pip        21.1.1scipy      1.6.3xlrd 2.0.1d9bIntel Pentium B970 @ 2.3GHzx86_64 - 2C/4T - RAM 4GBIGP GM45Fedora 35Python 3.10.5Pillow 8.2.0PyGLM      2.2.0PyOpenGL   3.1.5glfw       2.1.0numpy      1.20.3pip        21.1.1scipy      1.6.3xlrd 2.0.1Debian 11Python 3.9.2Pillow 9.0.1PyGLM      2.5.7PyOpenGL   3.1.6glfw       2.5.1numpy      1.22.2pip        22.0.4scipy      1.8.0xlrd 2.0.15. Tests Data:Units tests are using some tests data (geometries, textures, material libs, ...).
Tests data have been (usually) found on the web on:https://www.sharecg.comThey are all free and usable for this product (non-commercial use or totally free)In case of error on the license on embedded tests data, contact me. I'll fix it immediatly.Included (partial) Open Source models:https://www.sharecg.com/v/21521/gallery/11/Poser/Project-Human-Femalehttps://www.sharecg.com/v/44417/gallery/5/3D-Model/P-51D-Mustanghttps://www.sharecg.com/v/86927/gallery/5/3D-Model/Hawker-Tempest-Mk5https://www.sharecg.com/v/82070/gallery/11/Poser/403-Peugeot-1953https://sharecg.com/v/99103/browse/21/DAZ-Studio/Shredder-Roadster-for-DAZhttps://sharecg.com/v/95857/browse/21/DAZ-Studio/DORONBOU-BIKEhttps://sharecg.com/v/90883/browse/21/DAZ-Studio/maison1Full respect, credit and so on to their initial models and licenses:
Lucien Lilippe
Neil Wilson
Pedro Caparroshttps://sharecg.com/pf/full_uploads.php?pf_user_name=shredderhttps://sharecg.com/pf/full_uploads.php?pf_user_name=guy91600--> Many thanks to the contributors!LICENCE:This library and its unit tests are delivered under the BSD license.KR, OlivierName                                                                        Stmts   Miss  Cover/home/olivier/workspace/PyPoser/src/pypos3d/init.py                         4      0   100%
/home/olivier/workspace/PyPoser/src/pypos3d/dztk/Loader.py                    146    146     0%
/home/olivier/workspace/PyPoser/src/pypos3d/dztk/init.py                    4      4     0%
/home/olivier/workspace/PyPoser/src/pypos3d/pftk/ChannelImportAnalysis.py     360     15    96%
/home/olivier/workspace/PyPoser/src/pypos3d/pftk/Figure.py                    981     49    95%
/home/olivier/workspace/PyPoser/src/pypos3d/pftk/GeomCustom.py                170      8    95%
/home/olivier/workspace/PyPoser/src/pypos3d/pftk/PoserBasic.py                993     23    98%
/home/olivier/workspace/PyPoser/src/pypos3d/pftk/PoserFile.py                 685     30    96%
/home/olivier/workspace/PyPoser/src/pypos3d/pftk/PoserMeshed.py               811     68    92%
/home/olivier/workspace/PyPoser/src/pypos3d/pftk/SimpleAttribut.py            286     11    96%
/home/olivier/workspace/PyPoser/src/pypos3d/pftk/StructuredAttribut.py       1410     90    94%
/home/olivier/workspace/PyPoser/src/pypos3d/pftk/init.py                    4      0   100%
/home/olivier/workspace/PyPoser/src/pypos3d/propslim/MxBasic.py               212      6    97%
/home/olivier/workspace/PyPoser/src/pypos3d/propslim/MxStdModel.py            344     26    92%
/home/olivier/workspace/PyPoser/src/pypos3d/propslim/PropSlim.py              203     12    94%
/home/olivier/workspace/PyPoser/src/pypos3d/propslim/init.py               12      0   100%
/home/olivier/workspace/PyPoser/src/pypos3d/wftk/GeomGroup.py                 965     35    96%
/home/olivier/workspace/PyPoser/src/pypos3d/wftk/PaveList2D.py                 66      0   100%
/home/olivier/workspace/PyPoser/src/pypos3d/wftk/PoserFileParser.py           112      8    93%
/home/olivier/workspace/PyPoser/src/pypos3d/wftk/Repere.py                     63      0   100%
/home/olivier/workspace/PyPoser/src/pypos3d/wftk/WFBasic.py                  1298     59    95%
/home/olivier/workspace/PyPoser/src/pypos3d/wftk/WaveGeom.py                 1608     60    96%
/home/olivier/workspace/PyPoser/src/pypos3d/wftk/init.py                    4      0   100%TOTAL                                                                       10741    650    94%