Changeset 224 for osgVisual/trunk


Ignore:
Timestamp:
Feb 10, 2011, 10:59:09 AM (13 years ago)
Author:
Torben Dannhauer
Message:

changed updater from degreet to radian

now osgvisual uses internally rad, whiel the XML configuration file uses degree to be human readable.

Location:
osgVisual/trunk
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • osgVisual/trunk/include/object/object_updater.h

    r223 r224  
    100100         * @param lon_
    101101         * @param alt_
    102          * @param rot_x_deg_
    103          * @param rot_y_deg_
    104          * @param rot_z_deg_
     102         * @param rot_x_rad_
     103         * @param rot_y_rad_
     104         * @param rot_z_rad_
    105105         * @param label_
    106106         */
    107         void setUpdaterSlotNames( osgVisual::visual_object* object_, std::string lat_deg_, std::string lon_deg_, std::string alt_, std::string rot_x_deg_, std::string rot_y_deg_, std::string rot_z_deg_, std::string label_);
     107        void setUpdaterSlotNames( osgVisual::visual_object* object_, std::string lat_rad_, std::string lon_rad_, std::string alt_, std::string rot_x_rad_, std::string rot_y_rad_, std::string rot_z_rad_, std::string label_);
    108108
    109109
     
    117117         * Names of the Slots the updater should use
    118118         */
    119         std::string updater_lat_deg, updater_lon_deg, updater_alt, updater_rot_x_deg, updater_rot_y_deg, updater_rot_z_deg, updater_label;
     119        std::string updater_lat_rad, updater_lon_rad, updater_alt, updater_rot_x_rad, updater_rot_y_rad, updater_rot_z_rad, updater_label;
    120120
    121121};
  • osgVisual/trunk/src/core/visual_core.cpp

    r221 r224  
    439439        //
    440440
    441         osg::ref_ptr<visual_object> testObj4 = new visual_object( rootNode, "SAENGER23" );      // todo memleak
     441        osg::ref_ptr<visual_object> testObj4 = new visual_object( rootNode, "SAENGER2" );       // todo memleak
    442442        testObj4->setNewPosition( osg::DegreesToRadians(47.8123), osg::DegreesToRadians(12.94088), 650 );
    443443        testObj4->loadGeometry( "../models/saenger2.flt" );
  • osgVisual/trunk/src/object/object_updater.cpp

    r223 r224  
    2121object_updater::object_updater(osgVisual::visual_object* object_ )
    2222{
     23        updater_lat_rad = object_->getName()+"_POS_LAT";
     24        updater_lon_rad = object_->getName()+"_POS_LON";
     25        updater_alt             = object_->getName()+"_POS_ALT";
     26        updater_rot_x_rad = object_->getName()+"_ROT_X";
     27        updater_rot_y_rad = object_->getName()+"_ROT_Y";
     28        updater_rot_z_rad = object_->getName()+"_ROT_Z";
    2329}
    2430
     
    3440        //      try to search according variable in dataIO with direction TO_OBJ and copy value to visual_object.
    3541
    36         if(!updater_lat_deg.empty())
    37                 object_->lat = osg::DegreesToRadians(osgVisual::visual_dataIO::getInstance()->getSlotDataAsDouble(updater_lat_deg, osgVisual::dataIO_slot::TO_OBJ ));
    38         if(!updater_lon_deg.empty())
    39                 object_->lon = osg::DegreesToRadians(osgVisual::visual_dataIO::getInstance()->getSlotDataAsDouble(updater_lon_deg, osgVisual::dataIO_slot::TO_OBJ ));
     42        if(!updater_lat_rad.empty())
     43                object_->lat = osgVisual::visual_dataIO::getInstance()->getSlotDataAsDouble(updater_lat_rad, osgVisual::dataIO_slot::TO_OBJ );
     44        if(!updater_lon_rad.empty())
     45                object_->lon = osgVisual::visual_dataIO::getInstance()->getSlotDataAsDouble(updater_lon_rad, osgVisual::dataIO_slot::TO_OBJ );
    4046        if(!updater_alt.empty())
    4147                object_->alt = osgVisual::visual_dataIO::getInstance()->getSlotDataAsDouble(updater_alt, osgVisual::dataIO_slot::TO_OBJ );
    42         if(!updater_rot_z_deg.empty())
    43                 object_->azimuthAngle_psi = osg::DegreesToRadians(osgVisual::visual_dataIO::getInstance()->getSlotDataAsDouble(updater_rot_z_deg, osgVisual::dataIO_slot::TO_OBJ ));
    44         if(!updater_rot_y_deg.empty())
    45                 object_->pitchAngle_theta = osg::DegreesToRadians(osgVisual::visual_dataIO::getInstance()->getSlotDataAsDouble(updater_rot_y_deg, osgVisual::dataIO_slot::TO_OBJ ));
    46         if(!updater_rot_x_deg.empty())
    47                 object_->bankAngle_phi = osg::DegreesToRadians(osgVisual::visual_dataIO::getInstance()->getSlotDataAsDouble(updater_rot_x_deg, osgVisual::dataIO_slot::TO_OBJ ));
     48        if(!updater_rot_z_rad.empty())
     49                object_->azimuthAngle_psi = osgVisual::visual_dataIO::getInstance()->getSlotDataAsDouble(updater_rot_z_rad, osgVisual::dataIO_slot::TO_OBJ );
     50        if(!updater_rot_y_rad.empty())
     51                object_->pitchAngle_theta = osgVisual::visual_dataIO::getInstance()->getSlotDataAsDouble(updater_rot_y_rad, osgVisual::dataIO_slot::TO_OBJ );
     52        if(!updater_rot_x_rad.empty())
     53                object_->bankAngle_phi = osgVisual::visual_dataIO::getInstance()->getSlotDataAsDouble(updater_rot_x_rad, osgVisual::dataIO_slot::TO_OBJ );
    4854        if(!updater_label.empty())
    4955                object_->updateLabelText("default", osgVisual::visual_dataIO::getInstance()->getSlotDataAsString(updater_label, osgVisual::dataIO_slot::TO_OBJ ));
     
    7177}
    7278
    73 void object_updater::setUpdaterSlotNames( osgVisual::visual_object* object_, std::string lat_deg_, std::string lon_deg_, std::string alt_, std::string rot_x_deg_, std::string rot_y_deg_, std::string rot_z_deg_, std::string label_)
     79void object_updater::setUpdaterSlotNames( osgVisual::visual_object* object_, std::string lat_rad_, std::string lon_rad_, std::string alt_, std::string rot_x_rad_, std::string rot_y_rad_, std::string rot_z_rad_, std::string label_)
    7480{
    75         if(lat_deg_!="")
    76                 updater_lat_deg = lat_deg_;
    77         else
    78                 updater_lat_deg = object_->getName()+"_POS_LAT";
    79 
    80         if(lon_deg_!="")
    81                 updater_lon_deg = lon_deg_;
    82         else
    83                 updater_lon_deg = object_->getName()+"_POS_LON";
    84 
     81        if(lat_rad_!="")
     82                updater_lat_rad = lat_rad_;
     83        if(lon_rad_!="")
     84                updater_lon_rad = lon_rad_;
    8585        if(alt_!="")
    8686                updater_alt = alt_;
    87         else
    88                 updater_alt = object_->getName()+"_POS_ALT";
    89 
    90         if(rot_x_deg_!="")
    91                 updater_rot_x_deg = rot_x_deg_;
    92         else
    93                 updater_rot_x_deg = object_->getName()+"_ROT_X";
    94 
    95         if(rot_y_deg_!="")
    96                 updater_rot_y_deg = rot_y_deg_;
    97         else
    98                 updater_rot_y_deg = object_->getName()+"_ROT_Y";
    99 
    100         if(rot_z_deg_!="")
    101                 updater_rot_z_deg = rot_z_deg_;
    102         else
    103                 updater_rot_z_deg = object_->getName()+"_ROT_Z";
     87        if(rot_x_rad_!="")
     88                updater_rot_x_rad = rot_x_rad_;
     89        if(rot_y_rad_!="")
     90                updater_rot_y_rad = rot_y_rad_;
     91        if(rot_z_rad_!="")
     92                updater_rot_z_rad = rot_z_rad_;
    10493
    10594        if(label_!="")
     
    10897        {
    10998                updater_label = object_->getName()+"_LABEL";
    110                 object_->addLabel("autoupdated", " ");
     99                object_->addLabel("default", " ");
    111100        }
    112101}
Note: See TracChangeset for help on using the changeset viewer.