summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKadah_Coba <none@none>2011-07-04 14:20:52 -0700
committerKadah_Coba <none@none>2011-07-04 14:20:52 -0700
commit57c30517817a6458edab6bfdfad7d7112467ca48 (patch)
treea2a9c3b76bfb258be53bcd4c12490c1d569260d8
parentbb410e9576c582594e61b7f0dc0723eb5640f8ed (diff)
Changes for STORM-1315 LLCalc
Removed dynamic allocation on mVariables and mConstants CS cleanup
-rw-r--r--indra/llmath/llcalc.cpp33
-rw-r--r--indra/llmath/llcalc.h6
-rw-r--r--indra/llui/llspinctrl.cpp10
3 files changed, 17 insertions, 32 deletions
diff --git a/indra/llmath/llcalc.cpp b/indra/llmath/llcalc.cpp
index f16dbec63f..597d0815fb 100644
--- a/indra/llmath/llcalc.cpp
+++ b/indra/llmath/llcalc.cpp
@@ -54,27 +54,20 @@ LLCalc* LLCalc::sInstance = NULL;
LLCalc::LLCalc() : mLastErrorPos(0)
{
-// mUserVariables = new calc_map_t;
- mVariables = new calc_map_t;
- mConstants = new calc_map_t;
-
// Init table of constants
- (*mConstants)["PI"] = F_PI;
- (*mConstants)["TWO_PI"] = F_TWO_PI;
- (*mConstants)["PI_BY_TWO"] = F_PI_BY_TWO;
- (*mConstants)["SQRT_TWO_PI"] = F_SQRT_TWO_PI;
- (*mConstants)["SQRT2"] = F_SQRT2;
- (*mConstants)["SQRT3"] = F_SQRT3;
- (*mConstants)["DEG_TO_RAD"] = DEG_TO_RAD;
- (*mConstants)["RAD_TO_DEG"] = RAD_TO_DEG;
- (*mConstants)["GRAVITY"] = GRAVITY;
+ mConstants["PI"] = F_PI;
+ mConstants["TWO_PI"] = F_TWO_PI;
+ mConstants["PI_BY_TWO"] = F_PI_BY_TWO;
+ mConstants["SQRT_TWO_PI"] = F_SQRT_TWO_PI;
+ mConstants["SQRT2"] = F_SQRT2;
+ mConstants["SQRT3"] = F_SQRT3;
+ mConstants["DEG_TO_RAD"] = DEG_TO_RAD;
+ mConstants["RAD_TO_DEG"] = RAD_TO_DEG;
+ mConstants["GRAVITY"] = GRAVITY;
}
LLCalc::~LLCalc()
{
- delete mConstants;
- delete mVariables;
-// delete mUserVariables;
}
//static
@@ -93,17 +86,17 @@ LLCalc* LLCalc::getInstance()
void LLCalc::setVar(const std::string& name, const F32& value)
{
- (*mVariables)[name] = value;
+ mVariables[name] = value;
}
void LLCalc::clearVar(const std::string& name)
{
- mVariables->erase(name);
+ mVariables.erase(name);
}
void LLCalc::clearAllVariables()
{
- mVariables->clear();
+ mVariables.clear();
}
/*
@@ -122,7 +115,7 @@ bool LLCalc::evalString(const std::string& expression, F32& result)
std::string expr_upper = expression;
LLStringUtil::toUpper(expr_upper);
- LLCalcParser calc(result, mConstants, mVariables);
+ LLCalcParser calc(result, &mConstants, &mVariables);
mLastErrorPos = 0;
std::string::iterator start = expr_upper.begin();
diff --git a/indra/llmath/llcalc.h b/indra/llmath/llcalc.h
index 23c83f623e..cc31950cb6 100644
--- a/indra/llmath/llcalc.h
+++ b/indra/llmath/llcalc.h
@@ -69,12 +69,12 @@ public:
private:
std::string::size_type mLastErrorPos;
- calc_map_t* mConstants;
- calc_map_t* mVariables;
+ calc_map_t mConstants;
+ calc_map_t mVariables;
// *TODO: Add support for storing user defined variables, and stored functions.
// Will need UI work, and a means to save them between sessions.
-// calc_map_t* mUserVariables;
+// calc_map_t mUserVariables;
// "There shall be only one"
static LLCalc* sInstance;
diff --git a/indra/llui/llspinctrl.cpp b/indra/llui/llspinctrl.cpp
index b76d604953..934879cdfd 100644
--- a/indra/llui/llspinctrl.cpp
+++ b/indra/llui/llspinctrl.cpp
@@ -124,15 +124,7 @@ LLSpinCtrl::LLSpinCtrl(const LLSpinCtrl::Params& p)
params.max_length.bytes(MAX_STRING_LENGTH);
params.commit_callback.function((boost::bind(&LLSpinCtrl::onEditorCommit, this, _2)));
- //allow entering of any chars for LLCalc, proper input will be evaluated on commit
- //if( mPrecision>0 )//should accept float numbers
- //{
- // params.prevalidate_callback(&LLTextValidate::validateFloat);
- //}
- //else //should accept int numbers
- //{
- // params.prevalidate_callback(&LLTextValidate::validateInt);
- //}
+ //*NOTE: allow entering of any chars for LLCalc, proper input will be evaluated on commit
params.follows.flags(FOLLOWS_LEFT | FOLLOWS_BOTTOM);
mEditor = LLUICtrlFactory::create<LLLineEditor> (params);