nifti_user/ocu/src/Displays/NIFTiPoseDisplay.cpp
NIFTiPoseDisplay::NIFTiPoseDisplay(const std::string& name, Ogre::SceneManager* sceneMgr, rviz::FrameTransformer* frameTransformer, ros::CallbackQueueInterface* updateQueue, ros::CallbackQueueInterface* threadQueue)
                : Display(name, sceneMgr, frameTransformer, updateQueue, threadQueue)
                , msgReceivedSinceLastClear(0)
                , sceneNode(sceneMgr->getRootSceneNode()->createChildSceneNode())
                , tf_filter_(*frameTransformer->getTFClient(), "", 10, update_nh_)
                {
                    posePolygon = sceneMgr->createManualObject("posePolygon");
                    posePolygon->setDynamic(true);
                    sceneNode->attachObject(posePolygon);

                    tf_filter_.connectInput(sub_);
                    tf_filter_.registerCallback(boost::bind(&NIFTiPoseDisplay::processMessage, this, _1));
                    frameTransformer->registerFilterForTransformStatusCheck(tf_filter_, this);
                }
// 3 cm above ground, to clear the topological segmentation markers that are 2.5 cm high
3 cm above ground, to clear the topological segmentation markers that are 2.5 cm high
3 cm above ground to clear the topological segmentation markers that are 2 . 5 cm high
NIFTiPoseDisplay::NIFTiPoseDisplay(const std::string& name, Ogre::SceneManager* sceneMgr, rviz::FrameTransformer* frameTransformer, ros::CallbackQueueInterface* updateQueue, ros::CallbackQueueInterface* threadQueue)
                : Display(name, sceneMgr, frameTransformer, updateQueue, threadQueue)
                , msgReceivedSinceLastClear(0)
                , sceneNode(sceneMgr->getRootSceneNode()->createChildSceneNode())
                , tf_filter_(*frameTransformer->getTFClient(), "", 10, update_nh_)
                {
                    posePolygon = sceneMgr->createManualObject("posePolygon");
                    posePolygon->setDynamic(true);
                    sceneNode->attachObject(posePolygon);
                    tf_filter_.connectInput(sub_);
                    tf_filter_.registerCallback(boost::bind(&NIFTiPoseDisplay::processMessage, this, _1));
                    frameTransformer->registerFilterForTransformStatusCheck(tf_filter_, this);
                }
NIFTiPoseDisplay :: NIFTiPoseDisplay ( const std :: string & name , Ogre :: SceneManager * sceneMgr , rviz :: FrameTransformer * frameTransformer , ros :: CallbackQueueInterface * updateQueue , ros :: CallbackQueueInterface * threadQueue ) : Display ( name , sceneMgr , frameTransformer , updateQueue , threadQueue ) , msgReceivedSinceLastClear ( 0 ) , sceneNode ( sceneMgr -> getRootSceneNode ( ) -> createChildSceneNode ( ) ) , tf_filter_ ( * frameTransformer -> getTFClient ( ) , " " , 10 , update_nh_ ) { posePolygon = sceneMgr -> createManualObject ( " " ) ; posePolygon -> setDynamic ( true ) ; sceneNode -> attachObject ( posePolygon ) ; tf_filter_ . connectInput ( sub_ ) ; tf_filter_ . registerCallback ( boost :: bind ( & NIFTiPoseDisplay :: processMessage , this , _1 ) ) ; frameTransformer -> registerFilterForTransformStatusCheck ( tf_filter_ , this ) ; }
3 cm above ground, to clear the topological segmentation markers that are 2.5 cm high
3 cm above ground to clear the topological segmentation markers that are 2 . 5 cm high