summaryrefslogtreecommitdiffstats
path: root/src/core
Commit message (Collapse)AuthorAgeFilesLines
* Doc: Add skeleton docs for Qt3D Input classes and QML typesTopi Reinio2015-06-152-2/+72
| | | | | | | | | Not fully documented yet, but enables the classes and QML types to be visible in the documentation. Change-Id: I557aeae9ff6314b697bcc9313c1061543363b645 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@theqtcompany.com> Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Add an overview of Qt3D and its motivation and architectureLeena Miettinen2015-06-124-0/+273
| | | | | | Change-Id: I29c3b972cc9847ecd28a22e9de484aef0f3ac185 Reviewed-by: Paul Lemire <paul.lemire@kdab.com> Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
* Use Qt3DRenderer consistently for documentation configurationSean Harmer2015-06-111-1/+1
| | | | | | Change-Id: Ibea422bfe658c89dad919f98b7269bc801c9c295 Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com> Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Add list of platform support levelsSean Harmer2015-06-111-0/+15
| | | | | | | To help adjust expectations. Change-Id: I5a2363c04ed6272d304f55ba7a3e5de3f3920088 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Move Qt3D generic index to Qt3DCore indexSean Harmer2015-06-112-90/+38
| | | | | | | | There is no Qt3D library, there is only Qt3DCore, Qt3DRenderer and Qt3DInput so we put the global stuff into the Qt3DCore docs. Change-Id: I31077581ba159d828d0f64968a83920308676007 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Move temporary window class to examplesSean Harmer2015-06-113-156/+0
| | | | | | | | | | | So as to avoid public header without a QPrefix. Real integration points will be added later. Also removed it from the Qt3D namespace and fixed linkage. Task-number: QTBUG-46617 Change-Id: I1bea09f45f5fdba3d658b57b86b907ab57164479 Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
* Make QAspectJobManager and base class privateSean Harmer2015-06-1012-232/+64
| | | | | | | | Prevents leaking of private headers and allows use of QT3DCORE_PRIVATE_EXPORT for use with the job manager unit test. Change-Id: I7f0c2b2e27e88eee6cb686f5ae55c78b73ea27d3 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Remove unnecessary metatype declarationsSean Harmer2015-06-083-6/+0
| | | | | | Task-number: QTBUG-46539 Change-Id: I0e9e2d405da2fa5ecc2fc8b8efece6f7364e1b39 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Add mutex to QThreadPooler destructorMika Salmela2015-05-271-0/+4
| | | | | | | | Added mutex to QThreadPooler destructor to wait that mutex is not destroyed while locked. This seems to be important for autotests. Change-Id: I5423344ecd2c24e896adaf5b9b52309200ed8801 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* ThreadPooler future reservation under mutexMika Salmela2015-05-261-0/+8
| | | | | | | Added mutex for QFuture reservation on QThreadPooler Change-Id: I6fc399c2518180d78a7ed387a90330af02b1b8a5 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@theqtcompany.com>
* Unit tests for ThreadPoolerMika Salmela2015-05-201-1/+2
| | | | | | | | Few basic tests for threadpooler. Also adds QT3DCORE_PRIVATE_EXPORTT for QAspectJobManager. Change-Id: I6bf930b0013b301c6a8ce2193ad9b34fe4638eb3 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Properly initialize q_ptr (or avoid where it is not needed)Konstantin Ritt2015-05-2017-50/+36
| | | | | | | Referencing a partially-constructed object is typically a bad design. Change-Id: I48ef92452202f6c8c0014e17efd20e2ee2ae7e40 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Do not pass `this` to Private c-torKonstantin Ritt2015-05-2012-26/+24
| | | | | | | For classes derived from QNodePrivate, it is not used anymore. Change-Id: I9573042500c2c7533687d251e72bac14cb793525 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Do not initialize q_ptr in classes derived from QObjectPrivateKonstantin Ritt2015-05-209-19/+14
| | | | | | | QObject does that behind the scenes, in a proper way. Change-Id: I92561060757d36358d1e507f4335ca605f681678 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* [QAspectEngine] Initialize properly and do not leak resourcesKonstantin Ritt2015-05-191-3/+12
| | | | | Change-Id: I04b9c4a2cfd43dc840b8f2b700ed74052582bc99 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* QAbstractTextureProvider add unique propertyPaul Lemire2015-05-151-1/+2
| | | | | | | | | Will allow to disable texture sharing in the backend when needed, defaults to false Change-Id: If3a75c7763db6eb479319d5c0b9356b164e0f163 Reviewed-by: Andy Nichols <andy.nichols@theqtcompany.com> Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Port from Q_ENUMS to new macro Q_ENUM.Friedemann Kleint2015-05-131-2/+1
| | | | | | | | | Remove Q_ENUMS in favor of the new Q_ENUM macro which provides registration as meta enum and a debug stream operator. Change-Id: I39c61af189daebe2bf0c7474202da9f6110441c5 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com> Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* QCameraLens: allow specify projection with frustrumPaul Lemire2015-05-123-8/+163
| | | | | | | Also added doc Change-Id: I45d077910dc8ac3d8cd06cf6835eb41be2ae5fe3 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Doc: Add Qt3D QML module and QML type documentation skeletonv5.5.0-beta1Topi Reinio2015-04-297-3/+176
| | | | | | | | | | | Add documentation structure and comment blocks containing \qmltype, \qmlproperty, etc. commands for Qt3D QML module. The actual documentation (descriptions) are still missing, but this allows the QML type documentation to be generated. Change-Id: Id0e1afc89c13d963c950c142a3407aa70702562f Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Add checks for double task executionMika Salmela2015-04-276-18/+48
| | | | | | | | | | On ThreadPooler done tasks are also removed from the dependency pair list. Also added reserved flag for tasks. These prevent tasks getting into execution more than once. Change-Id: Ia9e5377c883ad08079a9af32c4a2a294db425eb2 Reviewed-by: Sean Harmer <sean.harmer@kdab.com> Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Examples: fixed to work with QAbstractTransform as QObjectPaul Lemire2015-04-271-1/+3
| | | | | | | | Also fixed QTransform to copy proper transformation matrix to work when loaded in the backend and sent to the frontend. Change-Id: Iec417fd49092b5e3d7971784327ff4bbfb75549b Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Implement ThreadPooler using QThreadPoolMika Salmela2015-04-2412-562/+184
| | | | | | | Re-implemented ThreadPooler to use QRunnable and QThreadPool. Change-Id: I3da0182489b648dcb6b671c57b4474c183bddeec Reviewed-by: Miikka Heikkinen <miikka.heikkinen@theqtcompany.com>
* QEntity: doc fix, added missing * to properly close commentPaul Lemire2015-04-241-1/+1
| | | | | Change-Id: I604236f390990285ab81634a976ae11769dd70ec Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* QComponent: completed docPaul Lemire2015-04-231-7/+27
| | | | | Change-Id: I916a315254c7724796ee085e99877f96f9d95a9a Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* QEntity: some doc addedPaul Lemire2015-04-231-0/+48
| | | | | Change-Id: I37191b6459c6f0641ad535ceeae259b5c63350ad Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* QNode: add some documentationPaul Lemire2015-04-231-2/+59
| | | | | Change-Id: If0d51932972189ed9cf007c12725de18764792cc Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Doc: Fix multiple C++ documentation issuesTopi Reinio2015-04-1432-11/+177
| | | | | | | | | | | | | | | | | | | - Remove multiple \namespace commands for namespace Qt3D. QDoc in 5.5 is now able to collate namespace members from multiple modules. - Mark 'Q...Private' classes and functions taking private arguments as \internal - Use correct \qtvariable for Qt 3D Core and Render - Add src/plugins directory to Qt 3D Core documentation build to correctly generate Assimp-related documentation. - Ensure documentation for C++ properties is visible by using the \property command instead of documenting the setter/getter functions. - Add export and logging macros to qdoc ignore directives - Remove unnecessary use of \fn command - Language and styling fixes Change-Id: I2481fa30ad2f6869b85c038c20ff1730b8522d46 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Use QDebugStateSaver to restore space setting in stream operators.Friedemann Kleint2015-04-013-4/+7
| | | | | | | | Returning dbg.space() breaks formatting on streams that already have nospace() set. Change-Id: I645a3a06176a394921e75b56dd725f291db55fb3 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Add QRay3DRémi Benoit2015-03-243-1/+465
| | | | | Change-Id: I5e45f6275c69ea38866086be61a1390bbb31cb9d Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Make QAbstractTransform derive from QObject directlyKonstantin Ritt2015-03-2319-121/+66
| | | | | | | | The backend will never know about sub-transforms, so there is no any sense in making them a part of the scene. Change-Id: I575689ef4a2bbe871d16715ea6d7ff6b5858c566 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* [QTransform] Track the transforms list and notify when it changesKonstantin Ritt2015-03-183-8/+32
| | | | | | | This also guarantees QTransform doesn't access a deleted sub-transform. Change-Id: Id172caa14a5ed791cb6b22fb50fcc83e9129ae44 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Doc: Add Qt3D landing pageTopi Reinio2015-03-172-1/+76
| | | | | | | | | | | | Add a top-level landing (index) page for Qt3D that links to information about the Qt3D modules, overviews, reference pages and examples. Add the Core and Render modules into a 'qt3d-modules' group so they will be listed on the index page. Change-Id: I18f0ec82a676f24e89c5eb068463482a6bd9e59d Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Doc: Add skeleton documentation for the examplesTopi Reinio2015-03-172-1/+2
| | | | | | | | | | | | Add a skeleton version of the example documentation for each example, create a group page for them and link to it from the module landing pages. This allows browsing the example code from the docs and also enables listing them in Qt Creator's Welcome mode. Change-Id: I1ba16399b115bb8c5503bc91d2a8dee46417cd01 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* [QTransform] Get rid of dead code and bogus includesKonstantin Ritt2015-03-163-74/+41
| | | | | | | Also move some code around to simplify forthcoming patches. Change-Id: I300955af323baf97ab0f9a9e3a890013ad31814d Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Doc: Review doc Qt3DNico Vertriest2015-03-167-32/+47
| | | | | | Task-number: QTBUG-44180 Change-Id: Ia5ce031397f9b03c5ba692aa30b6097dc60e59e3 Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
* Prefer q_func() over direct access to q_ptrKonstantin Ritt2015-03-162-5/+5
| | | | | | | | Similarly to d_ptr/d_func(), q_ptr should be accessed from the base class, whilst q_func() is a Qt'ish way to access it from subclasses. Change-Id: Iab2cf870f7b3f7d1aea89e827b52b8a7c958b907 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Nano-optimization to QUrlHelper::urlToLocalFileOrQrc(..)Konstantin Ritt2015-03-161-2/+3
| | | | | Change-Id: I8ae10d2eb13de9755fe0fb2683a2dfdd51cee674 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* [QFrameAllocator] Do not leak private dataKonstantin Ritt2015-03-161-1/+2
| | | | | Change-Id: Id50a6e7c95980edbc98f1f1b9d08d6175ceba517 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* [QAbstractAspectJobManager] Instantiate a respective Private in c-torKonstantin Ritt2015-03-161-1/+1
| | | | | Change-Id: Ifc608386b9af2660b6e11d21a323854b32c6196d Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Fix MSVC warnings.Friedemann Kleint2015-03-123-4/+4
| | | | | | | | | | | | aspects\qabstractaspect.cpp(50) : warning C4267: 'argument' : conversion from 'size_t' to 'int', possible loss of data resources\qframeallocator.cpp(276) : warning C4267: 'argument' : conversion from 'size_t' to 'uint', possible loss of data resources\qframeallocator.cpp(284) : warning C4267: 'argument' : conversion from 'size_t' to 'uint', possible loss of data qchangearbiter.cpp(108) : warning C4267: 'initializing' : conversion from 'size_t' to 'int', possible loss of data qt3d/src/render/backend/jobs/renderviewjobutils_p.h(64) : warning C4099: 'Qt3D::Render::ShaderUniform' : type name first seen using 'struct' now seen using 'class' Change-Id: I055f2021cbecf0765a811aedd87eb2cee97e6431 Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com> Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* [QCamera] Minor refactoring & clean-upKonstantin Ritt2015-03-123-65/+27
| | | | | | | | This is a preparation step for dropping QLookAtTransform. Also get rid of unused viewVector and matrix properties. Change-Id: I48e2be2c63f8eb6f7fafc63ea470721ac14d14f9 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* QBackendNodeFunctor: get and destroy now take a QNodeIdPaul Lemire2015-02-282-6/+6
| | | | | | | | This will help fixing the dynamic destruction in follow up patches. Change-Id: Id44fbeac388628c0e563d288e13d1f15d7ac0c24 Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com> Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* ChangeArbiter/SceneChange: use id as change subjectPaul Lemire2015-02-2811-81/+38
| | | | | | | | | | | | Instead of having a QNode* or QObservable as the subject of a change, we use it's unique NodeId instead. That will prevent the ChangeArbiter from trying to distribute changes by looking at a QNode/QObservable id when the QNode/QObservable might have been destroyed in the meantime. Change-Id: Ia419d5b841434fd65522c8c65de552089cfe97cf Task-number: QTBUG-44628 Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com> Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Fix: remove QByteArrayLiteral used when setting SceneChange property namesPaul Lemire2015-02-283-6/+6
| | | | | | | | This was probably forgotten when the property name was changed fron QByteArray to char *. Change-Id: Idd6a988703a241519b3aba7b1d127adae5e1375e Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Dependency handling fix for ThreadPoolerMika Salmela2015-02-271-0/+1
| | | | | | | Add link to dependencyHandler also for the depender task. Change-Id: I751ef6021e2144e2b52766a7b26496b71fc44342 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Fix for ThreadPooler flushMika Salmela2015-02-262-1/+3
| | | | | | | | | Increment running thread counter before removing task from the queue. This prevents the idle test to pass if queue is empty and job runner hasn't yet increased the counter. Change-Id: I01992ef6e9b437d2ce3d9f62e6025b3122e19fa8 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* License header change.Mika Salmela2015-02-261-10/+13
| | | | | | | | | License header update for propertychangehandler_p.h. Apparently the script managed to skip this one. Change-Id: Iabc190c5b85b250ec4efd0abd44d104e2006d438 Reviewed-by: Jani Heikkinen <jani.heikkinen@theqtcompany.com> Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Merge remote-tracking branch 'origin/dev' into 5.5Oswald Buddenhagen2015-02-2313-7/+1222
|\
| * Removes ThreadWeaver code from Qt3DMika Salmela2015-02-194-16/+31
| | | | | | | | | | | | | | | | | | Qt3D will be published with commercial licenses and there can't be 3rd party LGPL code. This task will remove the ThreadWeaver code and places the adaptation code inside configuration. Change-Id: I316f23087cdd8fed0afafbb1a3d78e3ff159585a Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
| * ThreadPooler to replace ThreadWeaverMika Salmela2015-02-1912-2/+1202
| | | | | | | | | | | | | | | | | | Initial version of ThreadPooler to substitute 3rd party ThreadWeaver. Qt3D will be released under LGPLv3 and commercial licensing terms, therefore we can't share code with free licenses. Change-Id: Ic0956b40e4960002205ee32c19a053813339791c Reviewed-by: Sean Harmer <sean.harmer@kdab.com>