Changeset 1960 for OpenSceneGraph/trunk/examples/osgcluster/osgcluster.cpp
- Timestamp:
- 05/21/03 14:15:45 (10 years ago)
- Files:
-
- 1 modified
Legend:
- Unmodified
- Added
- Removed
-
OpenSceneGraph/trunk/examples/osgcluster/osgcluster.cpp
r1944 r1960 38 38 39 39 CameraPacket():_masterKilled(false) 40 {41 _byte_order = 0x12345678;42 }40 { 41 _byte_order = 0x12345678; 42 } 43 43 44 44 void setPacket(const osg::Matrix& matrix,const osg::FrameStamp* frameStamp) … … 57 57 } 58 58 59 void checkByteOrder( void )60 {61 if( _byte_order == 0x78563412 ) // We're backwards62 {63 swapBytes( _byte_order );64 swapBytes( _masterKilled );65 for( int i = 0; i < 16; i++ )66 swapBytes( _matrix.ptr()[i] );59 void checkByteOrder( void ) 60 { 61 if( _byte_order == 0x78563412 ) // We're backwards 62 { 63 swapBytes( _byte_order ); 64 swapBytes( _masterKilled ); 65 for( int i = 0; i < 16; i++ ) 66 swapBytes( _matrix.ptr()[i] ); 67 67 68 68 // umm.. we should byte swap _frameStamp too... 69 }70 }69 } 70 } 71 71 72 72 … … 74 74 const bool getMasterKilled() const { return _masterKilled; } 75 75 76 unsigned long _byte_order;76 unsigned long _byte_order; 77 77 bool _masterKilled; 78 78 osg::Matrix _matrix; … … 171 171 Broadcaster bc; 172 172 Receiver rc; 173 174 bc.setPort(socketNumber); 175 rc.setPort(socketNumber); 176 177 while( !viewer.done() ) 173 174 bc.setPort(static_cast<short int>(socketNumber)); 175 rc.setPort(static_cast<short int>(socketNumber)); 176 177 bool masterKilled = false; 178 179 while( !viewer.done() && !masterKilled ) 178 180 { 179 181 // wait for all cull and draw threads to complete. … … 198 200 199 201 bc.setBuffer(&cp, sizeof( CameraPacket )); 200 bc.sync();202 bc.sync(); 201 203 202 204 } … … 207 209 208 210 rc.setBuffer(&cp, sizeof( CameraPacket )); 209 rc.sync(); 210 211 cp.checkByteOrder(); 211 212 rc.sync(); 213 214 cp.checkByteOrder(); 212 215 213 216 osg::Matrix modelview; … … 218 221 if (cp.getMasterKilled()) 219 222 { 220 std::cout << "rec ieved master killed"<<std::endl;223 std::cout << "received master killed"<<std::endl; 221 224 // break out of while (!done) loop since we've now want to shut down. 222 break;225 masterKilled = true; 223 226 } 224 227 } … … 230 233 231 234 // fire off the cull and draw traversals of the scene. 232 viewer.frame(); 233 234 } 235 235 if(!masterKilled) 236 viewer.frame(); 237 238 } 239 236 240 // wait for all cull and draw threads to complete before exit. 237 241 viewer.sync(); … … 246 250 247 251 bc.setBuffer(&cp, sizeof( CameraPacket )); 248 bc.sync();252 bc.sync(); 249 253 250 254 std::cout << "broadcasting death"<<std::endl;
