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/EXP_Operator2Expr.h
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/EXP_Operator2Expr.h')
-rw-r--r--source/gameengine/Expressions/EXP_Operator2Expr.h66
1 files changed, 66 insertions, 0 deletions
diff --git a/source/gameengine/Expressions/EXP_Operator2Expr.h b/source/gameengine/Expressions/EXP_Operator2Expr.h
new file mode 100644
index 00000000000..cd7a492fde0
--- /dev/null
+++ b/source/gameengine/Expressions/EXP_Operator2Expr.h
@@ -0,0 +1,66 @@
+/*
+ * Operator2Expr.h: interface for the COperator2Expr 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.
+ *
+ */
+
+/** \file EXP_Operator2Expr.h
+ * \ingroup expressions
+ */
+
+#ifndef __EXP_OPERATOR2EXPR_H__
+#define __EXP_OPERATOR2EXPR_H__
+
+
+#include "EXP_Expression.h"
+#include "EXP_Value.h" // Added by ClassView
+
+class COperator2Expr : public CExpression
+{
+ //PLUGIN_DECLARE_SERIAL_EXPRESSION (COperator2Expr,CExpression)
+
+public:
+ virtual bool MergeExpression(CExpression* otherexpr);
+ virtual unsigned char GetExpressionID() { return COPERATOR2EXPRESSIONID; }
+ virtual void BroadcastOperators(VALUE_OPERATOR op);
+ CExpression* CheckLink(std::vector<CBrokenLinkInfo*>& brokenlinks);
+ //virtual bool IsInside(float x,float y,float z,bool bBorderInclude=true);
+ //virtual bool IsLeftInside(float x,float y,float z,bool bBorderInclude);
+ //virtual bool IsRightInside(float x,float y,float z,bool bBorderInclude);
+ bool NeedsRecalculated();
+ void ClearModified() {
+ if (m_lhs)
+ m_lhs->ClearModified();
+ if (m_rhs)
+ m_rhs->ClearModified();
+ }
+ virtual CValue* Calculate();
+ COperator2Expr(VALUE_OPERATOR op, CExpression *lhs, CExpression *rhs);
+ COperator2Expr();
+ virtual ~COperator2Expr();
+
+
+protected:
+ CExpression * m_rhs;
+ CExpression * m_lhs;
+ CValue* m_cached_calculate; // cached result
+
+private:
+ VALUE_OPERATOR m_op;
+
+
+#ifdef WITH_CXX_GUARDEDALLOC
+ MEM_CXX_CLASS_ALLOC_FUNCS("GE:COperator2Expr")
+#endif
+};
+
+#endif /* __EXP_OPERATOR2EXPR_H__ */
+