|
Blender
V2.59
|
00001 /* 00002 * $Id: IdentifierExpr.cpp 35168 2011-02-25 13:31:23Z jesterking $ 00003 * ***** BEGIN GPL LICENSE BLOCK ***** 00004 * 00005 * This program is free software; you can redistribute it and/or 00006 * modify it under the terms of the GNU General Public License 00007 * as published by the Free Software Foundation; either version 2 00008 * of the License, or (at your option) any later version. 00009 * 00010 * This program is distributed in the hope that it will be useful, 00011 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00012 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00013 * GNU General Public License for more details. 00014 * 00015 * You should have received a copy of the GNU General Public License 00016 * along with this program; if not, write to the Free Software Foundation, 00017 * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 00018 * 00019 * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV. 00020 * All rights reserved. 00021 * 00022 * The Original Code is: all of this file. 00023 * 00024 * Contributor(s): none yet. 00025 * 00026 * ***** END GPL LICENSE BLOCK ***** 00027 */ 00028 00034 #include "IdentifierExpr.h" 00035 00036 CIdentifierExpr::CIdentifierExpr(const STR_String& identifier,CValue* id_context) 00037 :m_identifier(identifier) 00038 { 00039 if (id_context) 00040 m_idContext = id_context->AddRef(); 00041 else 00042 m_idContext=NULL; 00043 } 00044 00045 00046 CIdentifierExpr::~CIdentifierExpr() 00047 { 00048 if (m_idContext) 00049 m_idContext->Release(); 00050 } 00051 00052 00053 00054 CValue* CIdentifierExpr::Calculate() 00055 { 00056 CValue* result = NULL; 00057 if (m_idContext) 00058 result = m_idContext->FindIdentifier(m_identifier); 00059 00060 return result; 00061 } 00062 00063 00064 00065 bool CIdentifierExpr::MergeExpression(CExpression* otherexpr) 00066 { 00067 return false; 00068 } 00069 00070 00071 00072 unsigned char CIdentifierExpr::GetExpressionID() 00073 { 00074 return CIDENTIFIEREXPRESSIONID; 00075 } 00076 00077 00078 00079 bool CIdentifierExpr::NeedsRecalculated() 00080 { 00081 return true; 00082 } 00083 00084 00085 00086 CExpression* CIdentifierExpr::CheckLink(std::vector<CBrokenLinkInfo*>& brokenlinks) 00087 { 00088 assertd(false); // not implemented yet 00089 return NULL; 00090 } 00091 00092 00093 00094 void CIdentifierExpr::ClearModified() 00095 { 00096 assertd(false); // not implemented yet 00097 } 00098 00099 00100 00101 void CIdentifierExpr::BroadcastOperators(VALUE_OPERATOR op) 00102 { 00103 assertd(false); // not implemented yet 00104 }