From 393b5cd1dc438872af89d334ef6e5fcc59f27d47 Mon Sep 17 00:00:00 2001 From: David Walter Seikel Date: Sun, 13 Jan 2013 17:24:39 +1000 Subject: Added Irrlicht 1.8, but without all the Windows binaries. --- .../doc/html/_c_index_buffer_8h_source.html | 342 +++++++++++++++++++++ 1 file changed, 342 insertions(+) create mode 100644 libraries/irrlicht-1.8/doc/html/_c_index_buffer_8h_source.html (limited to 'libraries/irrlicht-1.8/doc/html/_c_index_buffer_8h_source.html') diff --git a/libraries/irrlicht-1.8/doc/html/_c_index_buffer_8h_source.html b/libraries/irrlicht-1.8/doc/html/_c_index_buffer_8h_source.html new file mode 100644 index 0000000..c12f62a --- /dev/null +++ b/libraries/irrlicht-1.8/doc/html/_c_index_buffer_8h_source.html @@ -0,0 +1,342 @@ + + +
+ +00001 // Copyright (C) 2008-2012 Nikolaus Gebhardt +00002 // This file is part of the "Irrlicht Engine". +00003 // For conditions of distribution and use, see copyright notice in irrlicht.h +00004 +00005 #ifndef __C_INDEX_BUFFER_H_INCLUDED__ +00006 #define __C_INDEX_BUFFER_H_INCLUDED__ +00007 +00008 #include "IIndexBuffer.h" +00009 +00010 namespace irr +00011 { +00012 namespace scene +00013 { +00014 +00015 class CIndexBuffer : public IIndexBuffer +00016 { +00017 +00018 class IIndexList +00019 { +00020 public: +00021 virtual ~IIndexList(){}; +00022 +00023 virtual u32 stride() const =0; +00024 virtual u32 size() const =0; +00025 virtual void push_back(const u32 &element) =0; +00026 virtual u32 operator [](u32 index) const =0; +00027 virtual u32 getLast() =0; +00028 virtual void setValue(u32 index, u32 value) =0; +00029 virtual void set_used(u32 usedNow) =0; +00030 virtual void reallocate(u32 new_size) =0; +00031 virtual u32 allocated_size() const =0; +00032 virtual void* pointer() =0; +00033 virtual video::E_INDEX_TYPE getType() const =0; +00034 }; +00035 +00036 template <class T> +00037 class CSpecificIndexList : public IIndexList +00038 { +00039 public: +00040 core::array<T> Indices; +00041 +00042 virtual u32 stride() const {return sizeof(T);} +00043 +00044 virtual u32 size() const {return Indices.size();} +00045 +00046 virtual void push_back(const u32 &element) +00047 { +00048 // push const ref due to compiler problem with gcc 4.6, big endian +00049 Indices.push_back((const T&)element); +00050 } +00051 +00052 virtual u32 operator [](u32 index) const +00053 { +00054 return (u32)(Indices[index]); +00055 } +00056 +00057 virtual u32 getLast() {return (u32)Indices.getLast();} +00058 +00059 virtual void setValue(u32 index, u32 value) +00060 { +00061 Indices[index]=(T)value; +00062 } +00063 +00064 virtual void set_used(u32 usedNow) +00065 { +00066 Indices.set_used(usedNow); +00067 } +00068 +00069 virtual void reallocate(u32 new_size) +00070 { +00071 Indices.reallocate(new_size); +00072 } +00073 +00074 virtual u32 allocated_size() const +00075 { +00076 return Indices.allocated_size(); +00077 } +00078 +00079 virtual void* pointer() {return Indices.pointer();} +00080 +00081 virtual video::E_INDEX_TYPE getType() const +00082 { +00083 if (sizeof(T)==sizeof(u16)) +00084 return video::EIT_16BIT; +00085 else +00086 return video::EIT_32BIT; +00087 } +00088 }; +00089 +00090 public: +00091 IIndexList *Indices; +00092 +00093 CIndexBuffer(video::E_INDEX_TYPE IndexType) :Indices(0), MappingHint(EHM_NEVER), ChangedID(1) +00094 { +00095 setType(IndexType); +00096 } +00097 +00098 CIndexBuffer(const IIndexBuffer &IndexBufferCopy) :Indices(0), MappingHint(EHM_NEVER), ChangedID(1) +00099 { +00100 setType(IndexBufferCopy.getType()); +00101 reallocate(IndexBufferCopy.size()); +00102 +00103 for (u32 n=0;n<IndexBufferCopy.size();++n) +00104 push_back(IndexBufferCopy[n]); +00105 } +00106 +00107 virtual ~CIndexBuffer() +00108 { +00109 delete Indices; +00110 } +00111 +00112 //virtual void setType(video::E_INDEX_TYPE IndexType); +00113 virtual void setType(video::E_INDEX_TYPE IndexType) +00114 { +00115 IIndexList *NewIndices=0; +00116 +00117 switch (IndexType) +00118 { +00119 case video::EIT_16BIT: +00120 { +00121 NewIndices=new CSpecificIndexList<u16>; +00122 break; +00123 } +00124 case video::EIT_32BIT: +00125 { +00126 NewIndices=new CSpecificIndexList<u32>; +00127 break; +00128 } +00129 } +00130 +00131 if (Indices) +00132 { +00133 NewIndices->reallocate( Indices->size() ); +00134 +00135 for(u32 n=0;n<Indices->size();++n) +00136 NewIndices->push_back((*Indices)[n]); +00137 +00138 delete Indices; +00139 } +00140 +00141 Indices=NewIndices; +00142 } +00143 +00144 virtual void* getData() {return Indices->pointer();} +00145 +00146 virtual video::E_INDEX_TYPE getType() const {return Indices->getType();} +00147 +00148 virtual u32 stride() const {return Indices->stride();} +00149 +00150 virtual u32 size() const +00151 { +00152 return Indices->size(); +00153 } +00154 +00155 virtual void push_back(const u32 &element) +00156 { +00157 Indices->push_back(element); +00158 } +00159 +00160 virtual u32 operator [](u32 index) const +00161 { +00162 return (*Indices)[index]; +00163 } +00164 +00165 virtual u32 getLast() +00166 { +00167 return Indices->getLast(); +00168 } +00169 +00170 virtual void setValue(u32 index, u32 value) +00171 { +00172 Indices->setValue(index, value); +00173 } +00174 +00175 virtual void set_used(u32 usedNow) +00176 { +00177 Indices->set_used(usedNow); +00178 } +00179 +00180 virtual void reallocate(u32 new_size) +00181 { +00182 Indices->reallocate(new_size); +00183 } +00184 +00185 virtual u32 allocated_size() const +00186 { +00187 return Indices->allocated_size(); +00188 } +00189 +00190 virtual void* pointer() +00191 { +00192 return Indices->pointer(); +00193 } +00194 +00196 virtual E_HARDWARE_MAPPING getHardwareMappingHint() const +00197 { +00198 return MappingHint; +00199 } +00200 +00202 virtual void setHardwareMappingHint( E_HARDWARE_MAPPING NewMappingHint ) +00203 { +00204 MappingHint=NewMappingHint; +00205 } +00206 +00208 virtual void setDirty() +00209 { +00210 ++ChangedID; +00211 } +00212 +00214 +00215 virtual u32 getChangedID() const {return ChangedID;} +00216 +00217 E_HARDWARE_MAPPING MappingHint; +00218 u32 ChangedID; +00219 }; +00220 +00221 +00222 } // end namespace scene +00223 } // end namespace irr +00224 +00225 #endif +00226 +