SMILE  v2.5
Schwarzschild Modelling Interactive expLoratory Environment
Signals | Public Member Functions | Public Attributes | Protected Member Functions | Private Member Functions | Private Attributes | List of all members
smile::CTriangThread Class Reference

Helper thread that performs Delaunay triangulation with the help of external program 'qdelaunay'. More...

#include <gui.h>

Inheritance diagram for smile::CTriangThread:
Inheritance graph
[legend]
Collaboration diagram for smile::CTriangThread:
Collaboration graph
[legend]

Signals

void finished (bool)
 raised when the triangulation is done
 

Public Member Functions

 CTriangThread (const QString &_appPath)
 
void startTriangulation (const std::vector< CPosPoint< double > > &_trajp, double _maxdist, int _slice)
 called upon finishing orbit integration, starts the external program 'qdelaunay' and then parses its output
 

Public Attributes

volatile bool finish
 set when the triangulation completed
 
volatile bool restart
 set when the process needs to be restarted with a different orbit before it was finished
 
Qwt3D::TripleField trjpos
 trajectory of the current orbit
 
Qwt3D::CellField facets
 trajectory boundary mesh facets (triangles)
 

Protected Member Functions

void run ()
 

Private Member Functions

bool toolong (int v1, int v2)
 
void addface (int v1, int v2, int v3)
 
void createTriangulation ()
 
void updateFaces ()
 

Private Attributes

const QString appPath
 
QMutex mutex
 
QWaitCondition condition
 
int nPointsMy
 
std::vector< CPosPoint< double > > trajpMy
 
int sliceMy
 
double maxdistMy
 
std::vector< CPosPoint< double > > trajp
 
double maxdist
 
QSet< CTriangleTriangles
 

Detailed Description

Helper thread that performs Delaunay triangulation with the help of external program 'qdelaunay'.

TODO: reimplement the functionality using QRunnable interface and a separate worker thread.


The documentation for this class was generated from the following files: