diff options
Diffstat (limited to 'indra/llmath')
| -rw-r--r-- | indra/llmath/llcalc.cpp | 33 | ||||
| -rw-r--r-- | indra/llmath/llcalc.h | 6 | 
2 files changed, 16 insertions, 23 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; | 
