Changeset 1167
- Timestamp:
- 04/15/08 08:43:53 (4 weeks ago)
- Files:
-
- trunk/SConstruct (modified) (1 diff)
- trunk/Source/Contrib/VTK/OSGVTKMapper.cpp (modified) (4 diffs)
- trunk/Source/Contrib/VTK/OSGVTKMapper.h (modified) (1 diff)
- trunk/Source/Contrib/VTK/build.info (modified) (1 diff)
- trunk/Source/Contrib/VTK/testVTK.cpp (modified) (13 diffs)
- trunk/Source/Contrib/VTK/testVTKCluster.cpp (modified) (26 diffs)
- trunk/Source/Contrib/VTK/testVTKClusterConnect.cpp (modified) (13 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/SConstruct
r1052 r1167 530 530 'vtkDICOMParser', 531 531 'vtksys', 532 'verdict', 533 'vtkNetCDF', 534 'vtkmetaio'] 532 # 'verdict', 533 'vtkNetCDF' 534 # 'vtkmetaio' 535 ] 535 536 536 537 #if "win32" != platform: trunk/Source/Contrib/VTK/OSGVTKMapper.cpp
r1004 r1167 98 98 void VTKMapper::initGeometries(void) 99 99 { 100 OSG::NodePtr pRoot = OSG::Node::create();101 102 pRoot->setCore( OSG::Group::create());100 NodeUnrecPtr pRoot = Node::create(); 101 102 pRoot->setCore(Group::create()); 103 103 104 104 setRoot(pRoot); … … 106 106 for(UInt32 i = 0; i < 4; ++i) 107 107 { 108 OSG::GeometryPtr pGeo = OSG::Geometry::create();109 110 OSG::ChunkMaterialPtr pMat = OSG::ChunkMaterial::create();111 OSG::MaterialChunkPtr pMatChunk = OSG::MaterialChunk::create();112 113 OSG::GeoPnt3fPropertyPtr pPoints = OSG::GeoPnt3fProperty ::create();114 OSG::GeoUInt32PropertyPtr pLengths = OSG::GeoUInt32Property ::create();115 OSG::GeoUInt8PropertyPtr pTypes = OSG::GeoUInt8Property ::create();116 OSG::GeoColor4fPropertyPtr pColors = OSG::GeoColor4fProperty::create();117 OSG::GeoVec3fPropertyPtr pNormals = OSG::GeoVec3fProperty ::create();108 GeometryUnrecPtr pGeo = Geometry::create(); 109 110 ChunkMaterialUnrecPtr pMat = ChunkMaterial::create(); 111 MaterialChunkUnrecPtr pMatChunk = MaterialChunk::create(); 112 113 GeoPnt3fPropertyUnrecPtr pPoints = GeoPnt3fProperty ::create(); 114 GeoUInt32PropertyUnrecPtr pLengths = GeoUInt32Property ::create(); 115 GeoUInt8PropertyUnrecPtr pTypes = GeoUInt8Property ::create(); 116 GeoColor4fPropertyUnrecPtr pColors = GeoColor4fProperty::create(); 117 GeoVec3fPropertyUnrecPtr pNormals = GeoVec3fProperty ::create(); 118 118 119 119 if(i < 2) … … 127 127 128 128 pMat->addChunk(pMatChunk); 129 pMat->addChunk(OSG::TwoSidedLightingChunk::create()); 129 130 TwoSidedLightingChunkUnrecPtr pTSLChunk = 131 TwoSidedLightingChunk::create(); 132 133 pMat->addChunk(pTSLChunk); 130 134 131 135 pGeo->setDlistCache(false ); … … 142 146 } 143 147 144 OSG::Node Ptr pGeoRoot = OSG::Node::create();148 OSG::NodeUnrecPtr pGeoRoot = OSG::Node::create(); 145 149 146 150 pGeoRoot->setCore (pGeo); trunk/Source/Contrib/VTK/OSGVTKMapper.h
r852 r1167 45 45 #include "OSGConfig.h" 46 46 #include "OSGVTKMapperBase.h" 47 #include "OSGMaterialChunk.h" 47 48 48 49 #ifdef OSG_WITH_VTK trunk/Source/Contrib/VTK/build.info
r998 r1167 22 22 libpath.append(vtk_option.libDir) 23 23 24 cxx_flags.append("-Wno-deprecated") 25 24 26 # Tests' dependencies 25 27 osg_test_libs = [ 'OSGGroup','OSGDrawable', 'OSGState', trunk/Source/Contrib/VTK/testVTK.cpp
r1004 r1167 58 58 RenderAction *renact; 59 59 60 Node Ptr root;61 62 Node Ptr file;63 64 PerspectiveCamera Ptr cam;65 Viewport Ptr vp;66 Window Ptr win;67 68 Transform Ptr cam_trans;69 Transform Ptr scene_trans;60 NodeUnrecPtr root; 61 62 NodeUnrecPtr file; 63 64 PerspectiveCameraUnrecPtr cam; 65 ViewportUnrecPtr vp; 66 WindowUnrecPtr win; 67 68 TransformUnrecPtr cam_trans; 69 TransformUnrecPtr scene_trans; 70 70 71 71 Trackball tball; … … 214 214 switch ( key ) 215 215 { 216 case 27: osgExit(); exit(0); 216 case 27: 217 root = NullFC; 218 file = NullFC; 219 cam = NullFC; 220 vp = NullFC; 221 win = NullFC; 222 cam_trans = NullFC; 223 scene_trans = NullFC; 224 osgExit(); 225 exit(0); 217 226 case 'a': glDisable( GL_LIGHTING ); 218 227 std::cerr << "Lighting disabled." << std::endl; … … 285 294 vtkActor *pActor) 286 295 { 287 OSG::Node Ptr pTmpNode = OSG::Node ::create();288 OSG::VTKMapper Ptr pTmpMapper = OSG::VTKMapper::create();296 OSG::NodeUnrecPtr pTmpNode = OSG::Node ::create(); 297 OSG::VTKMapperUnrecPtr pTmpMapper = OSG::VTKMapper::create(); 289 298 290 299 pTmpMapper->setActor(pActor ); … … 295 304 } 296 305 297 OSG::Node Ptr initVTK(void)306 OSG::NodeTransitPtr initVTK(void) 298 307 { 299 OSG::Node Ptr returnValue = OSGNullFC;308 OSG::NodeUnrecPtr returnValue = OSGNullFC; 300 309 301 310 Char8 *szDataRoot = getenv("VTK_DATA_ROOT"); … … 763 772 addActor(returnValue, outlineActor); 764 773 765 return returnValue;774 return NodeTransitPtr(returnValue); 766 775 } 767 776 … … 797 806 798 807 // beacon for camera and light 799 Node Ptr b1n = Node::create();800 Group Ptr b1 = Group::create();808 NodeUnrecPtr b1n = Node::create(); 809 GroupUnrecPtr b1 = Group::create(); 801 810 b1n->setCore( b1 ); 802 811 803 812 // transformation 804 Node Ptr t1n = Node::create();805 Transform Ptr t1 = Transform::create();813 NodeUnrecPtr t1n = Node::create(); 814 TransformUnrecPtr t1 = Transform::create(); 806 815 t1n->setCore( t1 ); 807 816 t1n->addChild( b1n ); … … 811 820 // light 812 821 813 Node Ptr dlight = Node::create();814 DirectionalLight Ptr dl = DirectionalLight::create();822 NodeUnrecPtr dlight = Node::create(); 823 DirectionalLightUnrecPtr dl = DirectionalLight::create(); 815 824 816 825 dlight->setCore( dl ); … … 823 832 // root 824 833 root = Node::create(); 825 Group Ptr gr1 = Group::create();834 GroupUnrecPtr gr1 = Group::create(); 826 835 root->setCore( gr1 ); 827 836 root->addChild( t1n ); … … 830 839 // Load the file 831 840 832 Node Ptr file = NullFC;833 Node Ptr file1 = NullFC;841 NodeUnrecPtr file = NullFC; 842 NodeUnrecPtr file1 = NullFC; 834 843 835 844 if ( argc > 1 ) … … 871 880 872 881 file = Node::create(); 873 MaterialGroup Ptr testMat = MaterialGroup::create();874 875 SimpleMaterial Ptr defaultMaterial = SimpleMaterial::create();882 MaterialGroupUnrecPtr testMat = MaterialGroup::create(); 883 884 SimpleMaterialUnrecPtr defaultMaterial = SimpleMaterial::create(); 876 885 877 886 defaultMaterial->setDiffuse(Color3f(1,.0,.0)); … … 887 896 888 897 scene_trans = Transform::create(); 889 Node Ptr sceneTrN = Node::create();898 NodeUnrecPtr sceneTrN = Node::create(); 890 899 891 900 sceneTrN->setCore(scene_trans); … … 907 916 908 917 // Background 909 SolidBackground Ptr bkgnd = SolidBackground::create();918 SolidBackgroundUnrecPtr bkgnd = SolidBackground::create(); 910 919 bkgnd->setColor(Color3f(1,1,1)); 911 920 … … 921 930 std::cout << "GLUT winid: " << winid << std::endl; 922 931 923 GLUTWindow Ptr gwin;932 GLUTWindowUnrecPtr gwin; 924 933 925 934 GLint glvp[4]; trunk/Source/Contrib/VTK/testVTKCluster.cpp
r894 r1167 60 60 int lastx=0, lasty=0; 61 61 int winwidth=300, winheight=300; 62 Node Ptr root;63 Transform Ptr cam_trans;64 PerspectiveCamera Ptr cam;65 ClusterWindow Ptr clusterWindow;62 NodeRecPtr root; 63 TransformRecPtr cam_trans; 64 PerspectiveCameraRecPtr cam; 65 ClusterWindowRecPtr clusterWindow; 66 66 RenderAction *ract; 67 GLUTWindow Ptr clientWindow;67 GLUTWindowRecPtr clientWindow; 68 68 69 69 #ifdef HAVE_SORT 70 SortFirstWindow Ptr sortfirst;71 SortLastWindow Ptr sortlast;70 SortFirstWindowRecPtr sortfirst; 71 SortLastWindowRecPtr sortlast; 72 72 #endif 73 73 74 74 #ifdef FRAMEINTERLEAVE 75 FrameInterleaveWindow Ptr frameinterleave;75 FrameInterleaveWindowRecPtr frameinterleave; 76 76 #endif 77 MultiDisplayWindow Ptr multidisplay;77 MultiDisplayWindowRecPtr multidisplay; 78 78 bool animate=false; 79 79 int animLoops=-1; … … 93 93 Real32 _dsFactor = 1.0; // scale down factor. 94 94 bool _enablecc = true; // enable color correction. 95 PolygonChunk PtrpolygonChunk;95 PolygonChunkRecPtr polygonChunk; 96 96 bool prepared=false; 97 97 bool showInfo=false; … … 103 103 std::string connectionDestination=""; 104 104 std::string connectionInterface=""; 105 OSG::SolidBackground Ptr bkgnd;105 OSG::SolidBackgroundRecPtr bkgnd; 106 106 UInt32 subtilesize=32; 107 108 void cleanup(void) 109 { 110 delete ract; 111 112 root = NullFC; 113 cam_trans = NullFC; 114 cam = NullFC; 115 clusterWindow = NullFC; 116 clientWindow = NullFC; 117 #ifdef HAVE_SORT 118 sortfirst = NullFC; 119 sortlast = NullFC; 120 #endif 121 #ifdef FRAMEINTERLEAVE 122 frameinterleave = NullFC; 123 #endif 124 multidisplay = NullFC; 125 polygonChunk = NullFC; 126 bkgnd = NullFC; 127 128 osgExit(); 129 } 107 130 108 131 /*! Simple show text function … … 189 212 { 190 213 polygonChunk = PolygonChunk::create(); 191 addRef(polygonChunk);192 214 prepared = true; 193 215 } … … 248 270 } 249 271 } 250 for(MF NodePtr::const_iterator nI=node->getMFChildren()->begin();272 for(MFUnrecChildNodePtr::const_iterator nI=node->getMFChildren()->begin(); 251 273 nI != node->getMFChildren()->end(); 252 274 ++nI) … … 325 347 { 326 348 std::cout << e.what() << std::endl; 349 cleanup(); 327 350 exit(0); 328 351 } … … 350 373 if(!animLoops) 351 374 { 352 subRef(clusterWindow); 353 osgExit(); 375 cleanup(); 354 376 exit(0); 355 377 } … … 429 451 static char str[1024]; 430 452 431 Name Ptr parameters = dynamic_cast<NamePtr>(clusterWindow->findAttachment(Name::getClassType()));453 NameUnrecPtr parameters = dynamic_cast<NamePtr>(clusterWindow->findAttachment(Name::getClassType())); 432 454 433 455 if(parameters == NullFC) … … 603 625 // exit 604 626 // subRef(clusterWindow); 605 osgExit();627 cleanup(); 606 628 exit(0); 607 629 } … … 613 635 vtkActor *pActor) 614 636 { 615 OSG::Node Ptr pTmpNode = OSG::Node ::create();616 OSG::VTKMapper Ptr pTmpMapper = OSG::VTKMapper::create();637 OSG::NodeUnrecPtr pTmpNode = OSG::Node ::create(); 638 OSG::VTKMapperUnrecPtr pTmpMapper = OSG::VTKMapper::create(); 617 639 618 640 pTmpMapper->setActor(pActor ); … … 623 645 } 624 646 625 OSG::Node Ptr initVTK(void)647 OSG::NodeTransitPtr initVTK(void) 626 648 { 627 OSG::Node Ptr returnValue = OSGNullFC;649 OSG::NodeUnrecPtr returnValue = OSGNullFC; 628 650 629 651 Char8 *szDataRoot = getenv("VTK_DATA_ROOT"); … … 632 654 { 633 655 fprintf(stderr, "VTK_DATA_ROOT not set\n"); 656 cleanup(); 634 657 exit(0); 635 658 } … … 1091 1114 addActor(returnValue, outlineActor); 1092 1115 1093 return returnValue;1116 return NodeTransitPtr(returnValue); 1094 1117 } 1095 1118 … … 1097 1120 { 1098 1121 int i; 1099 OSG::DirectionalLight Ptr dl;1122 OSG::DirectionalLightUnrecPtr dl; 1100 1123 Real32 x,y,z; 1101 1124 DynamicVolume volume; … … 1111 1134 1112 1135 // beacon for camera and light 1113 OSG::Node Ptr b1n = OSG::Node::create();1114 OSG::Group Ptr b1 = OSG::Group::create();1136 OSG::NodeUnrecPtr b1n = OSG::Node::create(); 1137 OSG::GroupUnrecPtr b1 = OSG::Group::create(); 1115 1138 1116 1139 b1n->setCore( b1 ); 1117 1140 1118 1141 // transformation 1119 OSG::Node Ptr t1n = OSG::Node::create();1120 OSG::Transform Ptr t1 = OSG::Transform::create();1142 OSG::NodeUnrecPtr t1n = OSG::Node::create(); 1143 OSG::TransformUnrecPtr t1 = OSG::Transform::create(); 1121 1144 1122 1145 t1n->setCore( t1 ); … … 1124 1147 1125 1148 cam_trans = t1; 1126 addRef(t1n);1127 1149 1128 1150 // light 1129 1151 1130 OSG::Node Ptr dlight = OSG::Node::create();1152 OSG::NodeUnrecPtr dlight = OSG::Node::create(); 1131 1153 dl = OSG::DirectionalLight::create(); 1132 1154 … … 1142 1164 // root 1143 1165 root = OSG::Node::create(); 1144 addRef(root); 1145 OSG::GroupPtr gr1 = OSG::Group::create(); 1166 OSG::GroupUnrecPtr gr1 = OSG::Group::create(); 1146 1167 1147 1168 root->setCore( gr1 ); … … 1150 1171 1151 1172 // Load the file 1152 OSG::NodePtr scene = OSG::Node::create(); 1153 addRef(scene); 1173 OSG::NodeUnrecPtr scene = OSG::Node::create(); 1154 1174 1155 1175 scene->setCore(OSG::Group::create()); 1156 1176 1157 Node Ptr file;1177 NodeUnrecPtr file; 1158 1178 1159 1179 for(i=0;i<filenames.size();i++) … … 1190 1210 cc=cb; 1191 1211 1192 Node Ptr node;1193 Node Ptr geoNode;1194 Transform Ptr trans;1212 NodeUnrecPtr node; 1213 NodeUnrecPtr geoNode; 1214 TransformUnrecPtr trans; 1195 1215 for(x=-ca/2.0 ; x<ca/2.0 ; x++) 1196 1216 for(y=-cb/2.0 ; y<cb/2.0 ; y++) … … 1213 1233 dlight->addChild(scene); 1214 1234 } 1215 subRef(scene);1216 1235 1217 1236 if(ca>0) … … 1240 1259 // Camera 1241 1260 1242 OSG::PerspectiveCamera Ptr cam = OSG::PerspectiveCamera::create();1261 OSG::PerspectiveCameraUnrecPtr cam = OSG::PerspectiveCamera::create(); 1243 1262 1244 1263 cam->setBeacon( b1n ); … … 1255 1274 1256 1275 // Viewport 1257 OSG::Viewport Ptr vp1;1258 OSG::Viewport Ptr vp2;1276 OSG::ViewportUnrecPtr vp1; 1277 OSG::ViewportUnrecPtr vp2; 1259 1278 if(stereoMode == 0) 1260 1279 { … … 1278 1297 else if(stereoMode == 1) 1279 1298 { 1280 OSG::ShearedStereoCameraDecorator Ptr deco;1299 OSG::ShearedStereoCameraDecoratorUnrecPtr deco; 1281 1300 // left 1282 1301 deco=OSG::ShearedStereoCameraDecorator::create(); … … 1309 1328 else if(stereoMode == 2) 1310 1329 { 1311 OSG::ShearedStereoCameraDecorator Ptr deco;1330 OSG::ShearedStereoCameraDecoratorUnrecPtr deco; 1312 1331 // left 1313 1332 deco=OSG::ShearedStereoCameraDecorator::create(); … … 1318 1337 deco->setZeroParallaxDistance(zeroparallax); 1319 1338 1320 ColorBufferViewport Ptr cvp1 = ColorBufferViewport::create();1339 ColorBufferViewportUnrecPtr cvp1 = ColorBufferViewport::create(); 1321 1340 1322 1341 cvp1->setCamera ( deco ); … … 1339 1358 deco->setZeroParallaxDistance(zeroparallax); 1340 1359 1341 ColorBufferViewport Ptr cvp2 = ColorBufferViewport::create();1360 ColorBufferViewportUnrecPtr cvp2 = ColorBufferViewport::create(); 1342 1361 1343 1362 cvp2->setCamera ( deco ); trunk/Source/Contrib/VTK/testVTKClusterConnect.cpp
r1004 r1167 49 49 // The SimpleSceneManager to manage simple applications 50 50 SimpleSceneManager *_mgr = NULL; 51 GLUTWindow Ptr _client_win = NullFC;52 MultiDisplayWindow Ptr _cluster_win = NullFC;53 Node Ptr _root = NullFC;51 GLUTWindowRecPtr _client_win = NullFC; 52 MultiDisplayWindowRecPtr _cluster_win = NullFC; 53 NodeRecPtr _root = NullFC; 54 54 std::vector<std::string> _pipenames; 55 55 UInt32 _first_fc = 0; … … 62 62 vtkActor *pActor) 63 63 { 64 OSG::Node Ptr pTmpNode = OSG::Node ::create();65 OSG::VTKMapper Ptr pTmpMapper = OSG::VTKMapper::create();64 OSG::NodeUnrecPtr pTmpNode = OSG::Node ::create(); 65 OSG::VTKMapperUnrecPtr pTmpMapper = OSG::VTKMapper::create(); 66 66 67 67 pTmpMapper->setActor(pActor ); … … 92 92 } 93 93 94 OSG::Node Ptr initVTK(void)95 { 96 OSG::Node Ptr returnValue = OSGNullFC;94 OSG::NodeTransitPtr initVTK(void) 95 { 96 OSG::NodeUnrecPtr returnValue = OSGNullFC; 97 97 98 98 Char8 *szDataRoot = getenv("VTK_DATA_ROOT"); … … 562 562 OSG::Thread::getCurrentChangeList()->dump(); 563 563 564 return returnValue;564 return NodeTransitPtr(returnValue); 565 565 } 566 566 … … 591 591 // this is our first created fieldcontainer pointer we need this 592 592 // to skip the prototypes in createCurrentStateChangeList(). 593 _first_fc = getContainerId(_client_win);593 _first_fc = _client_win->getId(); 594 594 595 595 fprintf(stderr, "%d -> %d\n", … … 616 616 // create default scene 617 617 // NodePtr scene = makeTorus(.5, 2, 16, 16); 618 Node Ptr scene = initVTK();618 NodeUnrecPtr scene = initVTK(); 619 619 620 620 _root->addChild(scene); … … 644 644 645 645 // create the viewports for the cluster just a simple one ... 646 Viewport Ptr vp = Viewport::create();646 ViewportUnrecPtr vp = Viewport::create(); 647 647 648 648 vp->setCamera (_mgr->getCamera()); … … 690 690 return; 691 691 692 subRef(_cluster_win);693 694 692 _cluster_win = NullFC; 695 693 } … … 712 710 if(_cluster_win != NullFC) 713 711 { 712 OSG::Thread::getCurrentChangeList()->dump(); 713 714 714 // redraw the server windows 715 715 _cluster_win->render((RenderAction *) _mgr->getRenderAction()); … … 722 722 printf("ClusterServer was killed!\n"); 723 723 724 subRef(_cluster_win);725 726 724 _cluster_win = NullFC; 727 725 } … … 763 761 case 27: 764 762 { 763 delete _mgr; 764 _client_win = NullFC; 765 _cluster_win = NullFC; 766 _root = NullFC; 765 767 OSG::osgExit(); 766 768 exit(0); … … 774 776 case 'l': 775 777 { 776 Node Ptr scene = SceneFileHandler::the()->read("tie.wrl");778 NodeUnrecPtr scene = SceneFileHandler::the()->read("tie.wrl"); 777 779 778 780 if(scene != NullFC) … … 788 790 case 't': 789 791 { 790 Node Ptr scene = makeTorus(.5, 2, 16, 16);792 NodeUnrecPtr scene = makeTorus(.5, 2, 16, 16); 791 793 792 794 _root->addChild(scene);
