Hi,
For some reason I cannot translate my hexagon geode made up of a primitiveset
of LINE_STRIP
The scaling works but translation does not. I am modifying AdapterWidget.cpp
--MDI section of the code so that I can use QT4. It is from the osgviewerQt
example. I have tried code in Tut07 and other examples but they do not work in
this section of AdapterWidget.cpp
else if (arguments.read("--mdi")) {
std::cout<<"Using ViewetQT MDI version"<<std::endl;
/*
Following problems are found here:
- miminize causes loaded model to disappear (some problem with
Camera matrix? - clampProjectionMatrix is invalid)
*/
//Creating the root node
osg::ref_ptr<osg::Group> root (new osg::Group);
ViewerQT* viewerWindow = new ViewerQT;
viewerWindow->setCameraManipulator(new
osgGA::TrackballManipulator);
//viewerWindow->setSceneData(loadedModel.get());
HexTile hex;
osg::ref_ptr<osg::Geode> workGeode (new osg::Geode());
int count = 0;
char buffer[33];
osg::MatrixTransform* hexScaleTransMAT = new osg::MatrixTransform;
osg::Matrix hexScaleMatrix;
osg::Matrix hexTranslateMatrix;
osg::Matrix transMat;
hexScaleMatrix = osg::Matrix::scale(0.005f,0.005f,0.05f);
hexTranslateMatrix= osg::Matrix::translate(110.0f,110.0f,0.0f);
//hexTranslateMatrix = osg::Matrix::identity();
transMat = hexTranslateMatrix ;
//Creates the hexagon node
workGeode = hex.Draw(50,0.0f,0.0f);
//itoa (count,buffer,10);
//workGeode->setName(buffer);
hexScaleTransMAT->addChild(workGeode.get());
hexScaleTransMAT->setMatrix(hexScaleMatrix *
hexTranslateMatrix);
root->addChild(hexScaleTransMAT);
viewerWindow->setSceneData(root);
//QMainWindow* mw = new QMainWindow();
QtWindow* mw = new QtWindow();
QMdiArea* mdiArea = new QMdiArea(mw);
mw->setCentralWidget(mdiArea);
mw->setWindowTitle("OpenSceneGraphEditor");
//FramelessWindowHint creates a borderless window
QMdiSubWindow *subWindow =
mdiArea->addSubWindow(viewerWindow,Qt::FramelessWindowHint);
//QMdiSubWindow *subWindow =
mdiArea->addSubWindow(viewerWindow);
subWindow->showMaximized();
subWindow->setWindowTitle("New Window");
mw->show();
#endif // USE_QT4
Scaling works but no translation. In debug, the matrices look good. I’m sure
it is something simple that I am missing
I am using Osg 2.8.2 Windows XP SP3 and I am using ViewerQT MDI version in
AdapterWidget.cpp
Any help is appreciated
Cheers,
Darick
------------------
Read this topic online here:
http://forum.openscenegraph.org/viewtopic.php?p=19672#19672
_______________________________________________
osg-users mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org