PDA

View Full Version : C++/Qt Developer, Multithreading, IPC and Vega Prime developer



chesterx
10th September 2011, 07:34
Summary
Software engineer focused in C/C++ programming using the Qt Framework, sockets, multithreading and userspace drivers.
Strong interest in research and methodologies when developing with multithreading/parallel programming in mind mixed with event based systems.
Seeking to relocate to the US where my areas of interest in the industry are more broadly represented.

Specialties and Skills
Visual C/C++ 2005/2008 Programming, Qt 4 (gui, network, sql, concurrent, localsocket/D-Bus, model/view), Vega Prime 4, Delphi 2010, Java SE 6, Multithreading,
User Space Windows USB, Serial Port, Human Interface Devices and Sockets APIs, Linux user.



Experience
Software Engineer at Spectra Tecnologia Since Apr 2008
Development of a full flight level B helicopter flight simulator:
• Development of the Image Generator mixing distributed systems in C++ using the Qt 4 and Vega Prime 4 frameworks (a scene graph framework and tools from Presagis Inc. focused on simulator development).
• Development of the cockpit software using the Qt 4 framework and the Windows Serial Port, HID and multicast socket APIs.
• Implementation of the fight model applying SSE instructions through intrinsic functions.

Assistance on configuration and maintenance of the of the Linux file and proxy server used in the company.


Intern at Sisgraph Jan 2008 – Mar 2008
Maintenance and development in Visual C++ 6 of specific client requested features for Intergraph’s legacy Documents and Source Control software (Directa) for the Brazilian Petroleum company (Petrobrás).

International work experience at Delaware North Companies Dec 2006 – Feb 2007
Worked in the Grand Canyon National Park under the Work Experience USA (Winter) program by CCUSA for undergrad international students.

Intern at LSI-USP 2005 - 2006
Development of a robot arm firmware in C using the Microchip PIC16 family.


Education

BSc Eng. in Computer Engineering at Polytechnic School of the University of Sao Paulo Feb 2004 – Jul 2009
Graduated with the Best Engineering Project of class due to dissertation/graduation project covering both hardware and software.
Scientific Initiation on the Computer Architecture and Networking Lab (LARC) testing the viability of transmitting uncompressed full interlaced HD digital video (HD-SDI/SMPTE 292M) over Ethernet networks.

Courses
Programming in Qt 4 at KDAB, Houston, TX Aug 2010

chesterx
6th March 2012, 21:17
Updating the resume: 7470

simeitech
26th June 2012, 11:02
My friend,Can you help me about Vega prime in QT?
when I new a widget and get the WId,it's run ok;
but when I use vpwin->setparent(wid),it's wrong in something.
why and how can I do?
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QWorkThread wthread(NULL);
QWidget *qwt=new QWidget;

QSize vs = qwt->size();
qwt->show();
wthread.start();
WId wid=qwt->winId();
wthread.vpwin->setParent((HWND)wid);
return a.exec();
}

thanks very much!

simeitech
27th June 2012, 07:35
yes,wthread is a workthread,vpwin is a member of it!
#ifndef QWORKTHREAD_H
#define QWORKTHREAD_H

#include <QThread>
#include <vpWindow.h>

class QWorkThread : public QThread
{
Q_OBJECT

public:
QWorkThread(QObject *parent);
~QWorkThread();

private:
void run();
public:
vpWindow *vpwin;

};

#endif // QWORKTHREAD_H

#include "qworkthread.h"
#include <vp.h>
#include <vpApp.h>
#include <vpKernel.h>
#include <vuAllocTracer.h>
#include <Qt/qwidget.h>
vuAllocTracer m_allocTracer;

QWorkThread::QWorkThread(QObject *parent)
: QThread(parent)
{

}

QWorkThread::~QWorkThread()
{

}
void QWorkThread::run()
{

//initial
vp::initialize(__argc, __argv);
//load acf
vpKernel::instance()->define("simple.acf");
//configure VP
vpKernel::instance()->configure();
//for begin
// vpwin=*vpWindow::begin();
// vpwin->setBorderEnable(false);
//vpwin->setFullScreenEnable(true);
// vpwin->setParent(wid);
while(vpKernel::instance()->beginFrame()!=0)
{
vpKernel::instance()->endFrame();
}
//exit
vpKernel::instance()->unconfigure();
vp::shutdown();


}

Added after 5 minutes:

In fact,I don't know how to combin QT and VP progaram.
I think when I get the WId of anyone widget,then set vp window as its parent is ok!
but as you know.......hehe!
say something to the problem,please. A simple example is looked forward.