diff --git a/examples/osgcluster/osgcluster.cpp b/examples/osgcluster/osgcluster.cpp index cb40983b7..ef1d487ca 100644 --- a/examples/osgcluster/osgcluster.cpp +++ b/examples/osgcluster/osgcluster.cpp @@ -181,6 +181,7 @@ int main( int argc, char **argv ) } + CameraPacket *cp = new CameraPacket; // objects for managing the broadcasting and recieving of camera packets. Broadcaster bc; Receiver rc; @@ -205,14 +206,13 @@ int main( int argc, char **argv ) { case(MASTER): { - CameraPacket cp; // take camera zero as the guide. osg::Matrix modelview(viewer.getCameraConfig()->getCamera(0)->getViewMatrix()); - cp.setPacket(modelview,viewer.getFrameStamp()); + cp->setPacket(modelview,viewer.getFrameStamp()); - bc.setBuffer(&cp, sizeof( CameraPacket )); + bc.setBuffer(cp, sizeof( CameraPacket )); bc.sync(); @@ -220,20 +220,19 @@ int main( int argc, char **argv ) break; case(SLAVE): { - CameraPacket cp; - rc.setBuffer(&cp, sizeof( CameraPacket )); + rc.setBuffer(cp, sizeof( CameraPacket )); rc.sync(); - cp.checkByteOrder(); + cp->checkByteOrder(); osg::Matrix modelview; - cp.getModelView(modelview,camera_offset); + cp->getModelView(modelview,camera_offset); viewer.setView(modelview); - if (cp.getMasterKilled()) + if (cp->getMasterKilled()) { std::cout << "received master killed"<setPacket(osg::Matrix::identity(),viewer.getFrameStamp()); + cp->setMasterKilled(true); - bc.setBuffer(&cp, sizeof( CameraPacket )); + bc.setBuffer(cp, sizeof( CameraPacket )); bc.sync(); std::cout << "broadcasting death"<