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/_s3_d_vertex_8h_source.html | 360 +++++++++++++++++++++ 1 file changed, 360 insertions(+) create mode 100644 src/others/irrlicht-1.8.1/doc/html/_s3_d_vertex_8h_source.html (limited to 'src/others/irrlicht-1.8.1/doc/html/_s3_d_vertex_8h_source.html') diff --git a/src/others/irrlicht-1.8.1/doc/html/_s3_d_vertex_8h_source.html b/src/others/irrlicht-1.8.1/doc/html/_s3_d_vertex_8h_source.html new file mode 100644 index 0000000..a26dd05 --- /dev/null +++ b/src/others/irrlicht-1.8.1/doc/html/_s3_d_vertex_8h_source.html @@ -0,0 +1,360 @@ + + +
+ +00001 // Copyright (C) 2002-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 __S_3D_VERTEX_H_INCLUDED__ +00006 #define __S_3D_VERTEX_H_INCLUDED__ +00007 +00008 #include "vector3d.h" +00009 #include "vector2d.h" +00010 #include "SColor.h" +00011 +00012 namespace irr +00013 { +00014 namespace video +00015 { +00016 +00018 enum E_VERTEX_TYPE +00019 { +00021 EVT_STANDARD = 0, +00022 +00024 +00025 EVT_2TCOORDS, +00026 +00028 +00029 EVT_TANGENTS +00030 }; +00031 +00033 const char* const sBuiltInVertexTypeNames[] = +00034 { +00035 "standard", +00036 "2tcoords", +00037 "tangents", +00038 0 +00039 }; +00040 +00042 struct S3DVertex +00043 { +00045 S3DVertex() {} +00046 +00048 S3DVertex(f32 x, f32 y, f32 z, f32 nx, f32 ny, f32 nz, SColor c, f32 tu, f32 tv) +00049 : Pos(x,y,z), Normal(nx,ny,nz), Color(c), TCoords(tu,tv) {} +00050 +00052 S3DVertex(const core::vector3df& pos, const core::vector3df& normal, +00053 SColor color, const core::vector2d<f32>& tcoords) +00054 : Pos(pos), Normal(normal), Color(color), TCoords(tcoords) {} +00055 +00057 core::vector3df Pos; +00058 +00060 core::vector3df Normal; +00061 +00063 SColor Color; +00064 +00066 core::vector2d<f32> TCoords; +00067 +00068 bool operator==(const S3DVertex& other) const +00069 { +00070 return ((Pos == other.Pos) && (Normal == other.Normal) && +00071 (Color == other.Color) && (TCoords == other.TCoords)); +00072 } +00073 +00074 bool operator!=(const S3DVertex& other) const +00075 { +00076 return ((Pos != other.Pos) || (Normal != other.Normal) || +00077 (Color != other.Color) || (TCoords != other.TCoords)); +00078 } +00079 +00080 bool operator<(const S3DVertex& other) const +00081 { +00082 return ((Pos < other.Pos) || +00083 ((Pos == other.Pos) && (Normal < other.Normal)) || +00084 ((Pos == other.Pos) && (Normal == other.Normal) && (Color < other.Color)) || +00085 ((Pos == other.Pos) && (Normal == other.Normal) && (Color == other.Color) && (TCoords < other.TCoords))); +00086 } +00087 +00088 E_VERTEX_TYPE getType() const +00089 { +00090 return EVT_STANDARD; +00091 } +00092 +00093 S3DVertex getInterpolated(const S3DVertex& other, f32 d) +00094 { +00095 d = core::clamp(d, 0.0f, 1.0f); +00096 return S3DVertex(Pos.getInterpolated(other.Pos, d), +00097 Normal.getInterpolated(other.Normal, d), +00098 Color.getInterpolated(other.Color, d), +00099 TCoords.getInterpolated(other.TCoords, d)); +00100 } +00101 }; +00102 +00103 +00105 +00108 struct S3DVertex2TCoords : public S3DVertex +00109 { +00111 S3DVertex2TCoords() : S3DVertex() {} +00112 +00114 S3DVertex2TCoords(f32 x, f32 y, f32 z, SColor c, f32 tu, f32 tv, f32 tu2, f32 tv2) +00115 : S3DVertex(x,y,z, 0.0f, 0.0f, 0.0f, c, tu,tv), TCoords2(tu2,tv2) {} +00116 +00118 S3DVertex2TCoords(const core::vector3df& pos, SColor color, +00119 const core::vector2d<f32>& tcoords, const core::vector2d<f32>& tcoords2) +00120 : S3DVertex(pos, core::vector3df(), color, tcoords), TCoords2(tcoords2) {} +00121 +00123 S3DVertex2TCoords(const core::vector3df& pos, const core::vector3df& normal, const SColor& color, +00124 const core::vector2d<f32>& tcoords, const core::vector2d<f32>& tcoords2) +00125 : S3DVertex(pos, normal, color, tcoords), TCoords2(tcoords2) {} +00126 +00128 S3DVertex2TCoords(f32 x, f32 y, f32 z, f32 nx, f32 ny, f32 nz, SColor c, f32 tu, f32 tv, f32 tu2, f32 tv2) +00129 : S3DVertex(x,y,z, nx,ny,nz, c, tu,tv), TCoords2(tu2,tv2) {} +00130 +00132 S3DVertex2TCoords(f32 x, f32 y, f32 z, f32 nx, f32 ny, f32 nz, SColor c, f32 tu, f32 tv) +00133 : S3DVertex(x,y,z, nx,ny,nz, c, tu,tv), TCoords2(tu,tv) {} +00134 +00136 S3DVertex2TCoords(const core::vector3df& pos, const core::vector3df& normal, +00137 SColor color, const core::vector2d<f32>& tcoords) +00138 : S3DVertex(pos, normal, color, tcoords), TCoords2(tcoords) {} +00139 +00141 S3DVertex2TCoords(S3DVertex& o) : S3DVertex(o) {} +00142 +00144 core::vector2d<f32> TCoords2; +00145 +00147 bool operator==(const S3DVertex2TCoords& other) const +00148 { +00149 return ((static_cast<S3DVertex>(*this)==other) && +00150 (TCoords2 == other.TCoords2)); +00151 } +00152 +00154 bool operator!=(const S3DVertex2TCoords& other) const +00155 { +00156 return ((static_cast<S3DVertex>(*this)!=other) || +00157 (TCoords2 != other.TCoords2)); +00158 } +00159 +00160 bool operator<(const S3DVertex2TCoords& other) const +00161 { +00162 return ((static_cast<S3DVertex>(*this) < other) || +00163 ((static_cast<S3DVertex>(*this) == other) && (TCoords2 < other.TCoords2))); +00164 } +00165 +00166 E_VERTEX_TYPE getType() const +00167 { +00168 return EVT_2TCOORDS; +00169 } +00170 +00171 S3DVertex2TCoords getInterpolated(const S3DVertex2TCoords& other, f32 d) +00172 { +00173 d = core::clamp(d, 0.0f, 1.0f); +00174 return S3DVertex2TCoords(Pos.getInterpolated(other.Pos, d), +00175 Normal.getInterpolated(other.Normal, d), +00176 Color.getInterpolated(other.Color, d), +00177 TCoords.getInterpolated(other.TCoords, d), +00178 TCoords2.getInterpolated(other.TCoords2, d)); +00179 } +00180 }; +00181 +00182 +00184 +00185 struct S3DVertexTangents : public S3DVertex +00186 { +00188 S3DVertexTangents() : S3DVertex() { } +00189 +00191 S3DVertexTangents(f32 x, f32 y, f32 z, f32 nx=0.0f, f32 ny=0.0f, f32 nz=0.0f, +00192 SColor c = 0xFFFFFFFF, f32 tu=0.0f, f32 tv=0.0f, +00193 f32 tanx=0.0f, f32 tany=0.0f, f32 tanz=0.0f, +00194 f32 bx=0.0f, f32 by=0.0f, f32 bz=0.0f) +00195 : S3DVertex(x,y,z, nx,ny,nz, c, tu,tv), Tangent(tanx,tany,tanz), Binormal(bx,by,bz) { } +00196 +00198 S3DVertexTangents(const core::vector3df& pos, SColor c, +00199 const core::vector2df& tcoords) +00200 : S3DVertex(pos, core::vector3df(), c, tcoords) { } +00201 +00203 S3DVertexTangents(const core::vector3df& pos, +00204 const core::vector3df& normal, SColor c, +00205 const core::vector2df& tcoords, +00206 const core::vector3df& tangent=core::vector3df(), +00207 const core::vector3df& binormal=core::vector3df()) +00208 : S3DVertex(pos, normal, c, tcoords), Tangent(tangent), Binormal(binormal) { } +00209 +00211 core::vector3df Tangent; +00212 +00214 core::vector3df Binormal; +00215 +00216 bool operator==(const S3DVertexTangents& other) const +00217 { +00218 return ((static_cast<S3DVertex>(*this)==other) && +00219 (Tangent == other.Tangent) && +00220 (Binormal == other.Binormal)); +00221 } +00222 +00223 bool operator!=(const S3DVertexTangents& other) const +00224 { +00225 return ((static_cast<S3DVertex>(*this)!=other) || +00226 (Tangent != other.Tangent) || +00227 (Binormal != other.Binormal)); +00228 } +00229 +00230 bool operator<(const S3DVertexTangents& other) const +00231 { +00232 return ((static_cast<S3DVertex>(*this) < other) || +00233 ((static_cast<S3DVertex>(*this) == other) && (Tangent < other.Tangent)) || +00234 ((static_cast<S3DVertex>(*this) == other) && (Tangent == other.Tangent) && (Binormal < other.Binormal))); +00235 } +00236 +00237 E_VERTEX_TYPE getType() const +00238 { +00239 return EVT_TANGENTS; +00240 } +00241 +00242 S3DVertexTangents getInterpolated(const S3DVertexTangents& other, f32 d) +00243 { +00244 d = core::clamp(d, 0.0f, 1.0f); +00245 return S3DVertexTangents(Pos.getInterpolated(other.Pos, d), +00246 Normal.getInterpolated(other.Normal, d), +00247 Color.getInterpolated(other.Color, d), +00248 TCoords.getInterpolated(other.TCoords, d), +00249 Tangent.getInterpolated(other.Tangent, d), +00250 Binormal.getInterpolated(other.Binormal, d)); +00251 } +00252 }; +00253 +00254 +00255 +00256 inline u32 getVertexPitchFromType(E_VERTEX_TYPE vertexType) +00257 { +00258 switch (vertexType) +00259 { +00260 case video::EVT_2TCOORDS: +00261 return sizeof(video::S3DVertex2TCoords); +00262 case video::EVT_TANGENTS: +00263 return sizeof(video::S3DVertexTangents); +00264 default: +00265 return sizeof(video::S3DVertex); +00266 } +00267 } +00268 +00269 +00270 } // end namespace video +00271 } // end namespace irr +00272 +00273 #endif +00274 +