Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Changeset 1627


Ignore:
Timestamp:
Jun 26, 2008, 7:00:59 PM (16 years ago)
Author:
rgrieder
Message:

some adjustment to the default value setting in the overlay files

Location:
code/trunk/src/orxonox
Files:
10 edited

Legend:

Unmodified
Added
Removed
  • code/trunk/src/orxonox/objects/Model.cc

    r1559 r1627  
    5959    /**
    6060        @brief XML loading and saving.
    61     @p
    62     aram xmlelement The XML-element
     61        @param xmlelement The XML-element
    6362        @param loading Loading (true) or saving (false)
    6463        @return The XML-element
     
    10099    {
    101100        WorldEntity::changedVisibility();
    102         this->mesh_.setVisible(this->isVisible());
     101        if (this->isInitialized())
     102            this->mesh_.setVisible(this->isVisible());
    103103    }
    104104}
  • code/trunk/src/orxonox/overlays/OrxonoxOverlay.cc

    r1625 r1627  
    9696        if (mode == XMLPort::LoadObject)
    9797        {
    98             // set some default values
    99             this->windowAspectRatio_ = 1.0f;
    100             this->bCorrectAspect_    = false;
    101             this->size_              = Vector2(1.0f, 1.0f);
    102             this->sizeCorrection_    = Vector2(1.0f, 1.0f);
    103             this->position_          = Vector2(0.0f, 0.0f);
    104             this->pickPoint_         = Vector2(0.0f, 0.0f);
    105             this->angle_             = Radian(0.0f);
    106 
    10798            // add this overlay to the static map of OrxonoxOverlays
    10899            if (overlays_s.find(this->getName()) != overlays_s.end())
     
    122113            this->overlay_->add2D(this->background_);
    123114
    124             // We'll have to get the aspect ratio for the first. Afterwards windowResized() gets
     115            // We'll have to get the aspect ratio manually for the first time. Afterwards windowResized() gets
    125116            // called automatically by the GraphicsEngine.
    126117            this->windowResized(GraphicsEngine::getSingleton().getWindowWidth(),
    127118                GraphicsEngine::getSingleton().getWindowHeight());
     119
     120            this->changedVisibility();
     121
     122            this->setSize(Vector2(0.5f, 0.5f));
     123            this->setPickPoint(Vector2(0.5f, 0.5f));
     124            this->setPosition(Vector2(0.5f, 0.5f));
     125            this->setRotation(Degree(0.0f));
     126            this->setAspectCorrection(true);
     127            this->setBackgroundMaterial("");
    128128        }
    129129
    130         XMLPortParam(OrxonoxOverlay, "correctAspect", setAspectCorrection, getAspectCorrection, xmlElement, mode);
    131         XMLPortParam(OrxonoxOverlay, "size", setSize, getSize, xmlElement, mode);
    132         XMLPortParam(OrxonoxOverlay, "rotation", setRotation, getRotation, xmlElement, mode);
    133         // see setPickPoint()
    134         XMLPortParam(OrxonoxOverlay, "pickPoint", setPickPoint, getPickPoint, xmlElement, mode);
    135         XMLPortParam(OrxonoxOverlay, "position", setPosition, getPosition, xmlElement, mode);
    136         XMLPortParam(OrxonoxOverlay, "background", setBackgroundMaterial, getBackgroundMaterial, xmlElement, mode);
    137 
    138         if (mode == XMLPort::LoadObject)
    139         {
    140             // call all the virtual 'setters'
    141             this->changedVisibility();
    142             this->angleChanged();
    143             this->sizeCorrectionChanged();
    144             this->sizeChanged();
    145             // probably gets called 4 times (by all the methods), but sizeChanged() could be overwritten.
    146             this->positionChanged();
    147         }
     130        XMLPortParam(OrxonoxOverlay, "size",      setSize,      getSize,      xmlElement, mode)
     131            .defaultValues(Vector2(0.5f, 0.5f));
     132        XMLPortParam(OrxonoxOverlay, "pickPoint", setPickPoint, getPickPoint, xmlElement, mode)
     133            .defaultValues(Vector2(0.0f, 0.0f));
     134        XMLPortParam(OrxonoxOverlay, "position",  setPosition,  getPosition,  xmlElement, mode)
     135            .defaultValues(Vector2(0.0f, 0.0f));
     136        XMLPortParam(OrxonoxOverlay, "rotation",  setRotation,  getRotation,  xmlElement, mode)
     137            .defaultValues(0.0f);
     138        XMLPortParam(OrxonoxOverlay, "correctAspect", setAspectCorrection,   getAspectCorrection,   xmlElement, mode)
     139            .defaultValues(true);
     140        XMLPortParam(OrxonoxOverlay, "background",    setBackgroundMaterial, getBackgroundMaterial, xmlElement, mode)
     141            .defaultValues("");
    148142    }
    149143
  • code/trunk/src/orxonox/overlays/OverlayGroup.cc

    r1625 r1627  
    6666        if (mode == XMLPort::LoadObject)
    6767        {
    68             // set default values
    69             this->scale_  = Vector2(1.0, 1.0);
    70             this->scroll_ = Vector2(0.0, 0.0);
     68            this->setScale(Vector2(1.0f, 1.0f));
     69            this->setScroll(Vector2(0.0f, 0.0f));
    7170        }
    7271
    73         XMLPortParam(OverlayGroup, "scale", setScale, getScale, xmlElement, mode);
    74         XMLPortParam(OverlayGroup, "scroll", setScroll, getScroll, xmlElement, mode);
     72        XMLPortParam(OverlayGroup, "scale",  setScale,  getScale,  xmlElement, mode).defaultValues(Vector2(1.0, 1.0));
     73        XMLPortParam(OverlayGroup, "scroll", setScroll, getScroll, xmlElement, mode).defaultValues(Vector2(0.0, 0.0));
    7574        // loads all the child elements
    7675        XMLPortObject(OverlayGroup, OrxonoxOverlay, "", addElement, getElement, xmlElement, mode, false, true);
  • code/trunk/src/orxonox/overlays/OverlayText.cc

    r1625 r1627  
    5757    void OverlayText::XMLPort(Element& xmlElement, XMLPort::Mode mode)
    5858    {
    59         if (mode == XMLPort::LoadObject)
    60         {
    61             // setting this to true makes the text more readable when the
    62             // resolution aspect is far from 1.0
    63             this->bCorrectAspect_ = true; // can be overridden by xml
    64         }
    65 
    6659        OrxonoxOverlay::XMLPort(xmlElement, mode);
    6760
     
    7063            this->text_ = static_cast<Ogre::TextAreaOverlayElement*>(Ogre::OverlayManager::getSingleton()
    7164                .createOverlayElement("TextArea", "OverlayText_text_" + getUniqueNumberStr()));
    72             this->text_->setCharHeight(1.0f);
    73             this->text_->setFontName("Monofur");
    7465
    7566            this->background_->addChild(this->text_);
     67
     68            this->setFont("Monofur");
     69            this->caption_ = "";
     70            this->setTextSize(1.0f);
    7671        }
    7772
    78         XMLPortParam(OverlayText, "font", setFont, getFont, xmlElement, mode);
    79         XMLPortParam(OverlayText, "caption", setCaption, getCaption, xmlElement, mode);
    80         XMLPortParam(OverlayText, "textSize", setTextSize, getTextSize, xmlElement, mode);
    81 
    82         if (mode == XMLPort::LoadObject)
    83         {
    84             this->text_->setCaption(this->caption_);
    85         }
     73        XMLPortParam(OverlayText, "font",     setFont,     getFont,     xmlElement, mode).defaultValues("Monofur");
     74        XMLPortParam(OverlayText, "caption",  setCaption,  getCaption,  xmlElement, mode).defaultValues("");
     75        XMLPortParam(OverlayText, "textSize", setTextSize, getTextSize, xmlElement, mode).defaultValues(1.0f);
    8676    }
    8777
     
    10292    void OverlayText::sizeChanged()
    10393    {
     94        if (!this->overlay_)
     95            return;
     96
    10497        this->overlay_->setScale(size_.y * sizeCorrection_.y, size_.y * sizeCorrection_.y);
    10598        positionChanged();
  • code/trunk/src/orxonox/overlays/hud/HUDBar.cc

    r1626 r1627  
    5555        BaseObject::XMLPort(xmlElement, mode);
    5656
    57         XMLPortParam(BarColour, "colour", setColour, getColour, xmlElement, mode);
    58         XMLPortParam(BarColour, "position", setPosition, getPosition, xmlElement, mode);
     57        if (mode == XMLPort::LoadObject)
     58        {
     59            this->setColour(ColourValue(1.0, 1.0, 1.0, 1.0));
     60            this->setPosition(0.0f);
     61        }
     62
     63        XMLPortParam(BarColour, "colour", setColour, getColour, xmlElement, mode)
     64            .defaultValues(ColourValue(1.0, 1.0, 1.0, 1.0));
     65        XMLPortParam(BarColour, "position", setPosition, getPosition, xmlElement, mode).defaultValues(0.0f);
    5966    }
    6067
     
    9097            this->textureUnitState_->setColourOperationEx(Ogre::LBX_MODULATE, Ogre::LBS_MANUAL, Ogre::LBS_CURRENT, ColourValue(0.2, 0.7, 0.2));
    9198
    92             // create bar
    93             barWidth_s = 0.88f;
    94             barHeight_s = 1.0f;
    95             barOffsetLeft_s = 0.06f;
    96             barOffsetTop_s = 0.0f;
    97 
    9899            this->bar_ = static_cast<Ogre::PanelOverlayElement*>(Ogre::OverlayManager::getSingleton()
    99100                .createOverlayElement("Panel", "HUDBar_bar_" + getUniqueNumberStr()));
     
    101102            this->background_->addChild(bar_);
    102103
    103             this->setValue(0);
    104             this->autoColour_ = true;
    105             this->right2Left_ = false; // default is left to right progress
     104            this->setValue(0.0f);
     105            this->setRightToLeft(false);
     106            this->setAutoColour(true);
    106107        }
    107108
    108         XMLPortParamLoadOnly(HUDBar, "value", setValue, xmlElement, mode);
    109         XMLPortParam(HUDBar, "right2left", setRightToLeft, getRightToLeft, xmlElement, mode);
     109        XMLPortParam(HUDBar, "initialValue", setValue,       getValue,       xmlElement, mode).defaultValues(0.0f);
     110        XMLPortParam(HUDBar, "rightToLeft",   setRightToLeft, getRightToLeft, xmlElement, mode).defaultValues(false);
     111        XMLPortParam(HUDBar, "autoColour",   setAutoColour,  getAutoColour,  xmlElement, mode).defaultValues(true);
    110112        XMLPortObject(HUDBar, BarColour, "", addColour, getColour, xmlElement, mode, false, true);
    111113    }
    112114
    113     void HUDBar::setValue(float value)
     115    void HUDBar::valueChanged()
    114116    {
    115         this->value_ = clamp<float>(value, 0, 1);
    116117        if (this->autoColour_ && this->textureUnitState_)
    117118        {
     
    153154        {
    154155            // backward casew
    155             this->bar_->setPosition(barOffsetLeft_s + barWidth_s * (1 - this->value_), barOffsetTop_s);
    156             this->bar_->setDimensions(barWidth_s * this->value_, barHeight_s);
     156            this->bar_->setPosition(0.06f + 0.88f * (1 - this->value_), 0.0f);
     157            this->bar_->setDimensions(0.88f * this->value_, 1.0f);
    157158        }
    158159        else
    159160        {
    160161            // default case
    161             this->bar_->setPosition(barOffsetLeft_s, barOffsetTop_s);
    162             this->bar_->setDimensions(barWidth_s * this->value_, barHeight_s);
     162            this->bar_->setPosition(0.06f, 0.0f);
     163            this->bar_->setDimensions(0.88f * this->value_, 1.0f);
    163164        }
    164165        if (this->value_ != 0)
  • code/trunk/src/orxonox/overlays/hud/HUDBar.h

    r1626 r1627  
    6060    };
    6161
     62
    6263    class _OrxonoxExport HUDBar : public OrxonoxOverlay
    6364    {
     
    6869        virtual void XMLPort(Element& xmlElement, XMLPort::Mode mode);
    6970
    70         virtual void setValue(float value);
    7171        void clearColours();
    7272
    73         inline void setRightToLeft(bool r2l)
    74         { this->right2Left_ = r2l; this->setValue(this->value_); }
    75         inline bool getRightToLeft() const
    76         { return this->right2Left_; }
    77         inline float getValue() const
    78         { return this->value_; }
     73        void setRightToLeft(bool r2l) { this->right2Left_ = r2l; this->valueChanged(); }
     74        bool getRightToLeft() const   { return this->right2Left_; }
     75
     76        void setValue(float value)    { this->value_ = clamp(value, 0.0f, 1.0f); this->valueChanged(); }
     77        float getValue() const        { return this->value_; }
     78
     79        void setAutoColour(bool val)  { this->autoColour_ = val; this->valueChanged(); }
     80        bool getAutoColour() const    { return this->autoColour_; }
     81
     82    protected:
     83        virtual void valueChanged();
    7984
    8085    private:
     
    9196        std::vector<BarColour*> barColours_;
    9297
    93         float barWidth_s;
    94         float barHeight_s;
    95         float barOffsetLeft_s;
    96         float barOffsetTop_s;
    97 
    9898        static unsigned int materialcount_s;
    9999    };
  • code/trunk/src/orxonox/overlays/hud/HUDNavigation.cc

    r1625 r1627  
    7676            navText_ = static_cast<Ogre::TextAreaOverlayElement*>(Ogre::OverlayManager::getSingleton()
    7777                .createOverlayElement("TextArea", "HUDNavigation_navText_" + getUniqueNumberStr()));
    78             navText_->setCharHeight(0.05f);
    79             navText_->setFontName("Monofur");
    8078
    8179            // create nav marker
     
    8381                .createOverlayElement("Panel", "HUDNavigation_navMarker_" + getUniqueNumberStr()));
    8482            navMarker_->setMaterialName("Orxonox/NavArrows");
    85             navMarkerSize_ = 0.05; //default
    8683            wasOutOfView_ = true; // just to ensure the material is changed right the first time..
    8784
     
    9087                .createOverlayElement("Panel", "HUDNavigation_aimMarker_" + getUniqueNumberStr()));
    9188            aimMarker_->setMaterialName("Orxonox/NavCrosshair");
    92             aimMarkerSize_ = 0.04; // default
    9389           
    9490            background_->addChild(navMarker_);
     
    9894            // hide at first
    9995            this->setVisible(false);
    100         }
    101 
    102         XMLPortParam(HUDNavigation, "font", setFont, getFont, xmlElement, mode);
    103         XMLPortParam(HUDNavigation, "textSize", setTextSize, getTextSize, xmlElement, mode);
    104         XMLPortParam(HUDNavigation, "navMarkerSize", setNavMarkerSize, getNavMarkerSize, xmlElement, mode);
    105         XMLPortParam(HUDNavigation, "aimMarkerSize", setAimMarkerSize, getAimMarkerSize, xmlElement, mode);
    106 
    107         if (mode == XMLPort::LoadObject)
    108         {
    109             this->sizeChanged();
    110         }
     96
     97            this->setFont("Monofur");
     98            this->setTextSize(0.05f);
     99            this->setNavMarkerSize(0.05f);
     100            this->setAimMarkerSize(0.04f);
     101        }
     102
     103        XMLPortParam(HUDNavigation, "font",     setFont,     getFont,     xmlElement, mode).defaultValues("Monofur");
     104        XMLPortParam(HUDNavigation, "textSize", setTextSize, getTextSize, xmlElement, mode).defaultValues(0.05f);
     105        XMLPortParam(HUDNavigation, "navMarkerSize", setNavMarkerSize, getNavMarkerSize, xmlElement, mode)
     106            .defaultValues(0.05f);
     107        XMLPortParam(HUDNavigation, "aimMarkerSize", setAimMarkerSize, getAimMarkerSize, xmlElement, mode)
     108            .defaultValues(0.04f);
    111109    }
    112110
  • code/trunk/src/orxonox/overlays/hud/HUDNavigation.h

    r1625 r1627  
    5454
    5555        // XMLPort accessors
    56         void setNavMarkerSize(float size) { this->navMarkerSize_ = size; }
     56        void setNavMarkerSize(float size) { this->navMarkerSize_ = size; this->sizeChanged(); }
    5757        float getNavMarkerSize() const    { return this->navMarkerSize_; }
    5858
    59         void setAimMarkerSize(float size) { this->aimMarkerSize_ = size; }
     59        void setAimMarkerSize(float size) { this->aimMarkerSize_ = size; this->sizeChanged(); }
    6060        float getAimMarkerSize() const    { return this->aimMarkerSize_; }
    6161
  • code/trunk/src/orxonox/overlays/hud/HUDRadar.cc

    r1625 r1627  
    6666    void HUDRadar::XMLPort(Element& xmlElement, XMLPort::Mode mode)
    6767    {
    68         if (mode == XMLPort::LoadObject)
    69             this->bCorrectAspect_ = true;
    70 
    7168        OrxonoxOverlay::XMLPort(xmlElement, mode);
    7269
     
    7976            marker_->hide();
    8077
    81             this->sensitivity_ = 1.0f;
    82             this->halfDotSizeDistance_ = 3000.0f;
    83             this->maximumDotSize_ = 0.1;
     78            this->setRadarSensitivity(1.0f);
     79            this->setHalfDotSizeDistance(3000.0f);
     80            this->setMaximumDotSize(0.1f);
    8481        }
    8582
    86         XMLPortParam(HUDRadar, "sensitivity", setRadarSensitivity, getRadarSensitivity, xmlElement, mode);
    87         XMLPortParam(HUDRadar, "halfDotSizeDistance", setHalfDotSizeDistance, getHalfDotSizeDistance, xmlElement, mode);
    88         XMLPortParam(HUDRadar, "maximumDotSize", setMaximumDotSize, getMaximumDotSize, xmlElement, mode);
     83        XMLPortParam(HUDRadar, "sensitivity", setRadarSensitivity, getRadarSensitivity, xmlElement, mode)
     84            .defaultValues(1.0f);
     85        XMLPortParam(HUDRadar, "halfDotSizeDistance", setHalfDotSizeDistance, getHalfDotSizeDistance,
     86            xmlElement, mode).defaultValues(3000.0f);
     87        XMLPortParam(HUDRadar, "maximumDotSize", setMaximumDotSize, getMaximumDotSize, xmlElement, mode)
     88            .defaultValues(0.1f);
    8989
    9090        shapeMaterials_[RadarViewable::Dot]      = "RadarSquare.tga";
  • code/trunk/src/orxonox/tools/Mesh.h

    r1558 r1627  
    5252
    5353            inline void setVisible(bool visible)
    54                 { this->entity_->setVisible(visible); }
     54                { if (this->entity_) this->entity_->setVisible(visible); }
    5555            inline bool getVisible() const
    56                 { return this->entity_->getVisible(); }
     56                { if (this->entity_) return this->entity_->getVisible(); else return false; }
    5757
    5858        private:
Note: See TracChangeset for help on using the changeset viewer.