From 7028cbe09c688437910a25623098762bf0fa592d Mon Sep 17 00:00:00 2001 From: David Walter Seikel Date: Mon, 28 Mar 2016 22:28:34 +1000 Subject: Move Irrlicht to src/others. --- .../doc/html/_c_vertex_buffer_8h_source.html | 326 +++++++++++++++++++++ 1 file changed, 326 insertions(+) create mode 100644 src/others/irrlicht-1.8.1/doc/html/_c_vertex_buffer_8h_source.html (limited to 'src/others/irrlicht-1.8.1/doc/html/_c_vertex_buffer_8h_source.html') diff --git a/src/others/irrlicht-1.8.1/doc/html/_c_vertex_buffer_8h_source.html b/src/others/irrlicht-1.8.1/doc/html/_c_vertex_buffer_8h_source.html new file mode 100644 index 0000000..f3514e9 --- /dev/null +++ b/src/others/irrlicht-1.8.1/doc/html/_c_vertex_buffer_8h_source.html @@ -0,0 +1,326 @@ + + +
+ +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_VERTEX_BUFFER_H_INCLUDED__ +00006 #define __C_VERTEX_BUFFER_H_INCLUDED__ +00007 +00008 #include "IVertexBuffer.h" +00009 +00010 +00011 namespace irr +00012 { +00013 namespace scene +00014 { +00015 +00016 class CVertexBuffer : public IVertexBuffer +00017 { +00018 class IVertexList +00019 { +00020 public: +00021 virtual ~IVertexList(){}; +00022 +00023 virtual u32 stride() const =0; +00024 +00025 virtual u32 size() const =0; +00026 +00027 virtual void push_back (const video::S3DVertex &element) =0; +00028 virtual video::S3DVertex& operator [](const u32 index) const =0; +00029 virtual video::S3DVertex& getLast() =0; +00030 virtual void set_used(u32 usedNow) =0; +00031 virtual void reallocate(u32 new_size) =0; +00032 virtual u32 allocated_size() const =0; +00033 virtual video::S3DVertex* pointer() =0; +00034 virtual video::E_VERTEX_TYPE getType() const =0; +00035 }; +00036 +00037 template <class T> +00038 class CSpecificVertexList : public IVertexList +00039 { +00040 public: +00041 core::array<T> Vertices; +00042 +00043 virtual u32 stride() const {return sizeof(T);} +00044 +00045 virtual u32 size() const {return Vertices.size();} +00046 +00047 virtual void push_back (const video::S3DVertex &element) +00048 {Vertices.push_back((T&)element);} +00049 +00050 virtual video::S3DVertex& operator [](const u32 index) const +00051 {return (video::S3DVertex&)Vertices[index];} +00052 +00053 virtual video::S3DVertex& getLast() +00054 {return (video::S3DVertex&)Vertices.getLast();} +00055 +00056 virtual void set_used(u32 usedNow) +00057 {Vertices.set_used(usedNow);} +00058 +00059 virtual void reallocate(u32 new_size) +00060 {Vertices.reallocate(new_size);} +00061 +00062 virtual u32 allocated_size() const +00063 { +00064 return Vertices.allocated_size(); +00065 } +00066 +00067 virtual video::S3DVertex* pointer() {return Vertices.pointer();} +00068 +00069 virtual video::E_VERTEX_TYPE getType() const {return T().getType();} +00070 }; +00071 +00072 public: +00073 IVertexList *Vertices; +00074 +00075 CVertexBuffer(video::E_VERTEX_TYPE vertexType) : Vertices(0), +00076 MappingHint(EHM_NEVER), ChangedID(1) +00077 { +00078 setType(vertexType); +00079 } +00080 +00081 CVertexBuffer(const IVertexBuffer &VertexBufferCopy) : +00082 Vertices(0), MappingHint(EHM_NEVER), +00083 ChangedID(1) +00084 { +00085 setType(VertexBufferCopy.getType()); +00086 reallocate(VertexBufferCopy.size()); +00087 +00088 for (u32 n=0;n<VertexBufferCopy.size();++n) +00089 push_back(VertexBufferCopy[n]); +00090 } +00091 +00092 virtual ~CVertexBuffer() +00093 { +00094 delete Vertices; +00095 } +00096 +00097 +00098 virtual void setType(video::E_VERTEX_TYPE vertexType) +00099 { +00100 IVertexList *NewVertices=0; +00101 +00102 switch (vertexType) +00103 { +00104 case video::EVT_STANDARD: +00105 { +00106 NewVertices=new CSpecificVertexList<video::S3DVertex>; +00107 break; +00108 } +00109 case video::EVT_2TCOORDS: +00110 { +00111 NewVertices=new CSpecificVertexList<video::S3DVertex2TCoords>; +00112 break; +00113 } +00114 case video::EVT_TANGENTS: +00115 { +00116 NewVertices=new CSpecificVertexList<video::S3DVertexTangents>; +00117 break; +00118 } +00119 } +00120 if (Vertices) +00121 { +00122 NewVertices->reallocate( Vertices->size() ); +00123 +00124 for(u32 n=0;n<Vertices->size();++n) +00125 NewVertices->push_back((*Vertices)[n]); +00126 +00127 delete Vertices; +00128 } +00129 +00130 Vertices=NewVertices; +00131 } +00132 +00133 virtual void* getData() {return Vertices->pointer();} +00134 +00135 virtual video::E_VERTEX_TYPE getType() const {return Vertices->getType();} +00136 +00137 virtual u32 stride() const {return Vertices->stride();} +00138 +00139 virtual u32 size() const +00140 { +00141 return Vertices->size(); +00142 } +00143 +00144 virtual void push_back (const video::S3DVertex &element) +00145 { +00146 Vertices->push_back(element); +00147 } +00148 +00149 virtual video::S3DVertex& operator [](const u32 index) const +00150 { +00151 return (*Vertices)[index]; +00152 } +00153 +00154 virtual video::S3DVertex& getLast() +00155 { +00156 return Vertices->getLast(); +00157 } +00158 +00159 virtual void set_used(u32 usedNow) +00160 { +00161 Vertices->set_used(usedNow); +00162 } +00163 +00164 virtual void reallocate(u32 new_size) +00165 { +00166 Vertices->reallocate(new_size); +00167 } +00168 +00169 virtual u32 allocated_size() const +00170 { +00171 return Vertices->allocated_size(); +00172 } +00173 +00174 virtual video::S3DVertex* pointer() +00175 { +00176 return Vertices->pointer(); +00177 } +00178 +00180 virtual E_HARDWARE_MAPPING getHardwareMappingHint() const +00181 { +00182 return MappingHint; +00183 } +00184 +00186 virtual void setHardwareMappingHint( E_HARDWARE_MAPPING NewMappingHint ) +00187 { +00188 MappingHint=NewMappingHint; +00189 } +00190 +00192 virtual void setDirty() +00193 { +00194 ++ChangedID; +00195 } +00196 +00198 +00199 virtual u32 getChangedID() const {return ChangedID;} +00200 +00201 E_HARDWARE_MAPPING MappingHint; +00202 u32 ChangedID; +00203 }; +00204 +00205 +00206 } // end namespace scene +00207 } // end namespace irr +00208 +00209 #endif +00210 +