Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJorge Bernal <jbernalmartinez@gmail.com>2015-07-12 17:55:33 +0300
committerJorge Bernal <jbernalmartinez@gmail.com>2015-07-12 17:58:12 +0300
commit6ffc988ae3aa57822be89e9580146908c938e0a0 (patch)
tree6c9299a519b8d4b1da0780cf0cd2bc4bba108fb8 /source/gameengine/Expressions/IntValue.cpp
parent5b0f674e0948d079332718e165b4a42369517ed6 (diff)
BGE Clean-up: New EXP prefix for the BGE Expression module
The expression module now uses an EXP prefix and it follows a distribution similar to blender. Additionally the hash function in EXP_HashedPtr.h was simplified and the files EXP_C-Api.h &.EXP_C-Api.cpp were deleted because were unused. Reviewers: campbellbarton, moguri, sybren, hg1 Projects: #game_engine Differential Revision: https://developer.blender.org/D1221
Diffstat (limited to 'source/gameengine/Expressions/IntValue.cpp')
-rw-r--r--source/gameengine/Expressions/IntValue.cpp344
1 files changed, 0 insertions, 344 deletions
diff --git a/source/gameengine/Expressions/IntValue.cpp b/source/gameengine/Expressions/IntValue.cpp
deleted file mode 100644
index 82d2e94dbb0..00000000000
--- a/source/gameengine/Expressions/IntValue.cpp
+++ /dev/null
@@ -1,344 +0,0 @@
-/** \file gameengine/Expressions/IntValue.cpp
- * \ingroup expressions
- */
-// IntValue.cpp: implementation of the CIntValue class.
-/*
-* Copyright (c) 1996-2000 Erwin Coumans <coockie@acm.org>
-*
-* Permission to use, copy, modify, distribute and sell this software
-* and its documentation for any purpose is hereby granted without fee,
-* provided that the above copyright notice appear in all copies and
-* that both that copyright notice and this permission notice appear
-* in supporting documentation. Erwin Coumans makes no
-* representations about the suitability of this software for any
-* purpose. It is provided "as is" without express or implied warranty.
-*
-*/
-
-#include <stdio.h>
-
-#include "IntValue.h"
-#include "ErrorValue.h"
-#include "FloatValue.h"
-#include "BoolValue.h"
-#include "StringValue.h"
-#include "VoidValue.h"
-
-//////////////////////////////////////////////////////////////////////
-// Construction/Destruction
-//////////////////////////////////////////////////////////////////////
-
-CIntValue::CIntValue()
-/*
-pre: false
-effect: constructs a new CIntValue
-*/
-{
-
-#ifdef DEBUG_
- m_textval = "Int illegal constructor";
-#endif
- m_pstrRep=NULL;
-}
-
-
-
-CIntValue::CIntValue(cInt innie)
-/*
-pre:
-effect: constructs a new CIntValue containing cInt innie
-*/
-{
- m_int = innie;
- m_pstrRep=NULL;
-}
-
-
-
-CIntValue::CIntValue(cInt innie,const char *name,AllocationTYPE alloctype)
-{
- m_int = innie;
- SetName(name);
-
- if (alloctype==CValue::STACKVALUE)
- {
- CValue::DisableRefCount();
- }
- m_pstrRep=NULL;
-
-}
-
-
-
-CIntValue::~CIntValue()
-/*
-pre:
-effect: deletes the object
-*/
-{
- if (m_pstrRep)
- delete m_pstrRep;
-}
-
-
-
-CValue* CIntValue::Calc(VALUE_OPERATOR op, CValue *val)
-/*
-pre:
-ret: a new object containing the result of applying operator op to this
-object and val
-*/
-{
- //return val->CalcInt(op, this);
- switch (op) {
- case VALUE_POS_OPERATOR:
- return new CIntValue (m_int);
- break;
- case VALUE_NEG_OPERATOR:
- return new CIntValue (-m_int);
- break;
- case VALUE_NOT_OPERATOR:
- return new CBoolValue (m_int == 0);
- break;
- case VALUE_AND_OPERATOR:
- case VALUE_OR_OPERATOR:
- return new CErrorValue(val->GetText() + op2str(op) + "only allowed on booleans");
- break;
- default:
- return val->CalcFinal(VALUE_INT_TYPE, op, this);
- break;
- }
-}
-
-/*
- * pre: the type of val is dtype
- * ret: a new object containing the result of applying operator op to val and
- * this object
- */
-CValue* CIntValue::CalcFinal(VALUE_DATA_TYPE dtype, VALUE_OPERATOR op, CValue *val)
-{
- CValue *ret;
-
- switch (dtype) {
- case VALUE_EMPTY_TYPE:
- case VALUE_INT_TYPE:
- {
- switch (op) {
- case VALUE_MOD_OPERATOR:
- ret = new CIntValue (((CIntValue *) val)->GetInt() % m_int);
- break;
- case VALUE_ADD_OPERATOR:
- ret = new CIntValue (((CIntValue *) val)->GetInt() + m_int);
- break;
- case VALUE_SUB_OPERATOR:
- ret = new CIntValue (((CIntValue *) val)->GetInt() - m_int);
- break;
- case VALUE_MUL_OPERATOR:
- ret = new CIntValue (((CIntValue *) val)->GetInt() * m_int);
- break;
- case VALUE_DIV_OPERATOR:
- if (m_int == 0) {
- if (val->GetNumber() == 0) {
- ret = new CErrorValue("Not a Number");
- }
- else {
- ret = new CErrorValue("Division by zero");
- }
- }
- else
- ret = new CIntValue (((CIntValue *) val)->GetInt() / m_int);
- break;
- case VALUE_EQL_OPERATOR:
- ret = new CBoolValue(((CIntValue *) val)->GetInt() == m_int);
- break;
- case VALUE_NEQ_OPERATOR:
- ret = new CBoolValue(((CIntValue *) val)->GetInt() != m_int);
- break;
- case VALUE_GRE_OPERATOR:
- ret = new CBoolValue(((CIntValue *) val)->GetInt() > m_int);
- break;
- case VALUE_LES_OPERATOR:
- ret = new CBoolValue(((CIntValue *) val)->GetInt() < m_int);
- break;
- case VALUE_GEQ_OPERATOR:
- ret = new CBoolValue(((CIntValue *) val)->GetInt() >= m_int);
- break;
- case VALUE_LEQ_OPERATOR:
- ret = new CBoolValue(((CIntValue *) val)->GetInt() <= m_int);
- break;
- case VALUE_NEG_OPERATOR:
- ret = new CIntValue (-m_int);
- break;
- case VALUE_POS_OPERATOR:
- ret = new CIntValue (m_int);
- break;
- case VALUE_NOT_OPERATOR:
- ret = new CBoolValue(m_int == 0);
- break;
- default:
- printf("Found op: %d\n", op);
- ret = new CErrorValue("illegal operator. please send a bug report.");
- break;
- }
- break;
- }
- case VALUE_FLOAT_TYPE:
- {
- switch (op) {
- case VALUE_MOD_OPERATOR:
- ret = new CFloatValue(fmod(((CFloatValue *) val)->GetFloat(), m_int));
- break;
- case VALUE_ADD_OPERATOR:
- ret = new CFloatValue (((CFloatValue *) val)->GetFloat() + m_int);
- break;
- case VALUE_SUB_OPERATOR:
- ret = new CFloatValue (((CFloatValue *) val)->GetFloat() - m_int);
- break;
- case VALUE_MUL_OPERATOR:
- ret = new CFloatValue (((CFloatValue *) val)->GetFloat() * m_int);
- break;
- case VALUE_DIV_OPERATOR:
- if (m_int == 0)
- ret = new CErrorValue("Division by zero");
- else
- ret = new CFloatValue (((CFloatValue *) val)->GetFloat() / m_int);
- break;
- case VALUE_EQL_OPERATOR:
- ret = new CBoolValue(((CFloatValue *) val)->GetFloat() == m_int);
- break;
- case VALUE_NEQ_OPERATOR:
- ret = new CBoolValue(((CFloatValue *) val)->GetFloat() != m_int);
- break;
- case VALUE_GRE_OPERATOR:
- ret = new CBoolValue(((CFloatValue *) val)->GetFloat() > m_int);
- break;
- case VALUE_LES_OPERATOR:
- ret = new CBoolValue(((CFloatValue *) val)->GetFloat() < m_int);
- break;
- case VALUE_GEQ_OPERATOR:
- ret = new CBoolValue(((CFloatValue *) val)->GetFloat() >= m_int);
- break;
- case VALUE_LEQ_OPERATOR:
- ret = new CBoolValue(((CFloatValue *) val)->GetFloat() <= m_int);
- break;
- case VALUE_NOT_OPERATOR:
- ret = new CBoolValue(m_int == 0);
- break;
- default:
- ret = new CErrorValue("illegal operator. please send a bug report.");
- break;
- }
- break;
- }
- case VALUE_STRING_TYPE:
- {
- switch (op) {
- case VALUE_ADD_OPERATOR:
- ret = new CStringValue(val->GetText() + GetText(),"");
- break;
- case VALUE_EQL_OPERATOR:
- case VALUE_NEQ_OPERATOR:
- case VALUE_GRE_OPERATOR:
- case VALUE_LES_OPERATOR:
- case VALUE_GEQ_OPERATOR:
- case VALUE_LEQ_OPERATOR:
- ret = new CErrorValue("[Cannot compare string with integer]" + op2str(op) + GetText());
- break;
- default:
- ret = new CErrorValue("[operator not allowed on strings]" + op2str(op) + GetText());
- break;
- }
- break;
- }
- case VALUE_BOOL_TYPE:
- ret = new CErrorValue("[operator not valid on boolean and integer]" + op2str(op) + GetText());
- break;
-#if 0
- case VALUE_EMPTY_TYPE:
- {
- switch (op) {
- case VALUE_ADD_OPERATOR:
- ret = new CIntValue (m_int);
- break;
- case VALUE_SUB_OPERATOR:
- ret = new CIntValue (-m_int);
- break;
- default:
- {
- ret = new CErrorValue(op2str(op) + GetText());
- }
- }
- break;
- }
-#endif
- case VALUE_ERROR_TYPE:
- ret = new CErrorValue(val->GetText() + op2str(op) + GetText());
- break;
- default:
- ret = new CErrorValue("illegal type. contact your dealer (if any)");
- break;
- }
- return ret;
-}
-
-
-/**
- * pre:
- * ret: the cInt stored in the object
- */
-cInt CIntValue::GetInt()
-{
- return m_int;
-}
-
-
-
-double CIntValue::GetNumber()
-{
- return (double) m_int;
-}
-
-
-
-int CIntValue::GetValueType()
-{
- return VALUE_INT_TYPE;
-}
-
-
-
-const STR_String & CIntValue::GetText()
-{
- if (!m_pstrRep)
- m_pstrRep=new STR_String();
- m_pstrRep->Format("%lld",m_int);
-
- return *m_pstrRep;
-}
-
-
-
-CValue* CIntValue::GetReplica()
-{
- CIntValue* replica = new CIntValue(*this);
- replica->ProcessReplica();
- replica->m_pstrRep = NULL;
-
- return replica;
-}
-
-
-
-void CIntValue::SetValue(CValue* newval)
-{
- m_int = (cInt)newval->GetNumber();
- SetModified(true);
-}
-
-
-#ifdef WITH_PYTHON
-PyObject *CIntValue::ConvertValueToPython()
-{
- return PyLong_FromLongLong(m_int);
-}
-#endif // WITH_PYTHON