[7017] Updated copyright notice for new year
[getmangos.git] / src / shared / vmap / NodeValueAccess.h
blobd3a3273d60e6747d0d0f0961232ac03f2bd734ca
1 /*
2 * Copyright (C) 2005-2009 MaNGOS <http://getmangos.com/>
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation; either version 2 of the License, or
7 * (at your option) any later version.
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
14 * You should have received a copy of the GNU General Public License
15 * along with this program; if not, write to the Free Software
16 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19 #ifndef _NODEVALUEACCESS_H
20 #define _NODEVALUEACCESS_H
22 namespace VMAP
24 /**
25 This is a helper Class to get access to SubModels or triangles when analyzing the BSP-Tree.
28 template<class TNode, class TValue> class NodeValueAccess
30 private:
31 TNode const* iNodeArray;
32 TValue const* iValueArray;
34 public:
35 inline NodeValueAccess() : iNodeArray(NULL), iValueArray(NULL) {}
37 inline NodeValueAccess(TNode const* pNodeArray, TValue const* pValueArray) : iNodeArray(pNodeArray), iValueArray(pValueArray) {}
38 inline TNode const* getNodePtr() const { return(iNodeArray); }
39 inline TValue const* getValuePtr() const { return(iValueArray); }
41 inline TNode const& getNode(unsigned int pPos) const { return(iNodeArray[pPos]); }
42 inline void setNode(const TNode& pNode, unsigned int pPos) { iNodeArray[pPos] = pNode; }
44 inline TValue const& getValue(unsigned int pPos) const { return(iValueArray[pPos]); }
45 inline void setValue(const TValue& pValue, unsigned int pPos) { iValueArray[pPos] = pValue; }
48 #endif