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/_i_collada_mesh_writer_8h_source.html | 416 +++++++++++++++++++++ 1 file changed, 416 insertions(+) create mode 100644 src/others/irrlicht-1.8.1/doc/html/_i_collada_mesh_writer_8h_source.html (limited to 'src/others/irrlicht-1.8.1/doc/html/_i_collada_mesh_writer_8h_source.html') diff --git a/src/others/irrlicht-1.8.1/doc/html/_i_collada_mesh_writer_8h_source.html b/src/others/irrlicht-1.8.1/doc/html/_i_collada_mesh_writer_8h_source.html new file mode 100644 index 0000000..3176f06 --- /dev/null +++ b/src/others/irrlicht-1.8.1/doc/html/_i_collada_mesh_writer_8h_source.html @@ -0,0 +1,416 @@ + + +
+ +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 __IRR_I_COLLADA_MESH_WRITER_H_INCLUDED__ +00006 #define __IRR_I_COLLADA_MESH_WRITER_H_INCLUDED__ +00007 +00008 #include "IMeshWriter.h" +00009 #include "ISceneNode.h" +00010 #include "IAnimatedMesh.h" +00011 #include "SMaterial.h" +00012 +00013 namespace irr +00014 { +00015 namespace io +00016 { +00017 class IWriteFile; +00018 } // end namespace io +00019 +00020 namespace scene +00021 { +00023 enum E_COLLADA_TECHNIQUE_FX +00024 { +00027 ECTF_BLINN, +00029 ECTF_PHONG, +00031 ECTF_LAMBERT, +00032 // constantly shaded surface that is independent of lighting. +00033 ECTF_CONSTANT +00034 }; +00035 +00037 enum E_COLLADA_TRANSPARENT_FX +00038 { +00040 ECOF_A_ONE = 0, +00041 +00043 ECOF_RGB_ZERO = 1 +00044 }; +00045 +00047 enum E_COLLADA_COLOR_SAMPLER +00048 { +00049 ECCS_DIFFUSE, +00050 ECCS_AMBIENT, +00051 ECCS_EMISSIVE, +00052 ECCS_SPECULAR, +00053 ECCS_TRANSPARENT, +00054 ECCS_REFLECTIVE +00055 }; +00056 +00058 enum E_COLLADA_IRR_COLOR +00059 { +00061 ECIC_NONE, +00062 +00064 ECIC_CUSTOM, +00065 +00067 ECIC_DIFFUSE, +00068 +00070 ECIC_AMBIENT, +00071 +00073 ECIC_EMISSIVE, +00074 +00076 ECIC_SPECULAR +00077 }; +00078 +00080 enum E_COLLADA_GEOMETRY_WRITING +00081 { +00083 ECGI_PER_MESH, +00084 +00088 ECGI_PER_MESH_AND_MATERIAL +00089 }; +00090 +00092 class IColladaMeshWriterProperties : public virtual IReferenceCounted +00093 { +00094 public: +00095 virtual ~IColladaMeshWriterProperties () {} +00096 +00098 virtual E_COLLADA_TECHNIQUE_FX getTechniqueFx(const video::SMaterial& material) const = 0; +00099 +00101 +00104 virtual s32 getTextureIdx(const video::SMaterial & material, E_COLLADA_COLOR_SAMPLER cs) const = 0; +00105 +00107 +00111 virtual E_COLLADA_IRR_COLOR getColorMapping(const video::SMaterial & material, E_COLLADA_COLOR_SAMPLER cs) const = 0; +00112 +00114 +00115 virtual video::SColor getCustomColor(const video::SMaterial & material, E_COLLADA_COLOR_SAMPLER cs) const = 0; +00116 +00118 +00119 virtual E_COLLADA_TRANSPARENT_FX getTransparentFx(const video::SMaterial& material) const = 0; +00120 +00122 +00124 virtual f32 getTransparency(const video::SMaterial& material) const = 0; +00125 +00127 +00129 virtual f32 getReflectivity(const video::SMaterial& material) const = 0; +00130 +00132 +00134 virtual f32 getIndexOfRefraction(const video::SMaterial& material) const = 0; +00135 +00138 virtual bool isExportable(const irr::scene::ISceneNode * node) const = 0; +00139 +00142 // Note: Function is not const because there is no const getMesh() function. +00143 virtual IMesh* getMesh(irr::scene::ISceneNode * node) = 0; +00144 +00146 +00150 virtual bool useNodeMaterial(const scene::ISceneNode* node) const = 0; +00151 +00152 }; +00153 +00155 +00158 class IColladaMeshWriterNames : public virtual IReferenceCounted +00159 { +00160 public: +00161 +00162 virtual ~IColladaMeshWriterNames () {} +00163 +00165 +00174 virtual irr::core::stringw nameForMesh(const scene::IMesh* mesh, int instance) = 0; +00175 +00177 +00183 virtual irr::core::stringw nameForNode(const scene::ISceneNode* node) = 0; +00184 +00186 +00196 virtual irr::core::stringw nameForMaterial(const video::SMaterial & material, int materialId, const scene::IMesh* mesh, const scene::ISceneNode* node) = 0; +00197 }; +00198 +00199 +00201 class IColladaMeshWriter : public IMeshWriter +00202 { +00203 public: +00204 +00205 IColladaMeshWriter() +00206 : Properties(0), DefaultProperties(0), NameGenerator(0), DefaultNameGenerator(0) +00207 , WriteTextures(true), WriteDefaultScene(true), ExportSMaterialOnce(true) +00208 , AmbientLight(0.f, 0.f, 0.f, 1.f) +00209 , GeometryWriting(ECGI_PER_MESH) +00210 { +00211 } +00212 +00214 virtual ~IColladaMeshWriter() +00215 { +00216 if ( Properties ) +00217 Properties->drop(); +00218 if ( DefaultProperties ) +00219 DefaultProperties->drop(); +00220 if ( NameGenerator ) +00221 NameGenerator->drop(); +00222 if ( DefaultNameGenerator ) +00223 DefaultNameGenerator->drop(); +00224 } +00225 +00227 virtual bool writeScene(io::IWriteFile* file, scene::ISceneNode* root) = 0; +00228 +00229 +00231 virtual void setWriteTextures(bool write) +00232 { +00233 WriteTextures = write; +00234 } +00235 +00237 virtual bool getWriteTextures() const +00238 { +00239 return WriteTextures; +00240 } +00241 +00243 +00247 virtual void setWriteDefaultScene(bool write) +00248 { +00249 WriteDefaultScene = write; +00250 } +00251 +00253 virtual bool getWriteDefaultScene() const +00254 { +00255 return WriteDefaultScene; +00256 } +00257 +00259 virtual void setAmbientLight(const video::SColorf &ambientColor) +00260 { +00261 AmbientLight = ambientColor; +00262 } +00263 +00265 virtual video::SColorf getAmbientLight() const +00266 { +00267 return AmbientLight; +00268 } +00269 +00271 +00278 virtual void setGeometryWriting(E_COLLADA_GEOMETRY_WRITING writeStyle) +00279 { +00280 GeometryWriting = writeStyle; +00281 } +00282 +00284 virtual E_COLLADA_GEOMETRY_WRITING getGeometryWriting() const +00285 { +00286 return GeometryWriting; +00287 } +00288 +00290 +00297 virtual void setExportSMaterialsOnlyOnce(bool exportOnce) +00298 { +00299 ExportSMaterialOnce = exportOnce; +00300 } +00301 +00302 virtual bool getExportSMaterialsOnlyOnce() const +00303 { +00304 return ExportSMaterialOnce; +00305 } +00306 +00308 +00310 virtual void setProperties(IColladaMeshWriterProperties * p) +00311 { +00312 if ( p == Properties ) +00313 return; +00314 if ( p ) +00315 p->grab(); +00316 if ( Properties ) +00317 Properties->drop(); +00318 Properties = p; +00319 } +00320 +00322 virtual IColladaMeshWriterProperties * getProperties() const +00323 { +00324 return Properties; +00325 } +00326 +00328 +00329 IColladaMeshWriterProperties * getDefaultProperties() const +00330 { +00331 return DefaultProperties; +00332 } +00333 +00335 virtual void setNameGenerator(IColladaMeshWriterNames * nameGenerator) +00336 { +00337 if ( nameGenerator == NameGenerator ) +00338 return; +00339 if ( nameGenerator ) +00340 nameGenerator->grab(); +00341 if ( NameGenerator ) +00342 NameGenerator->drop(); +00343 NameGenerator = nameGenerator; +00344 } +00345 +00347 virtual IColladaMeshWriterNames * getNameGenerator() const +00348 { +00349 return NameGenerator; +00350 } +00351 +00353 +00354 IColladaMeshWriterNames * getDefaultNameGenerator() const +00355 { +00356 return DefaultNameGenerator; +00357 } +00358 +00360 +00361 virtual irr::core::stringw toNCName(const irr::core::stringw& oldString, const irr::core::stringw& prefix=irr::core::stringw(L"_NC_")) const = 0; +00362 +00363 +00364 protected: +00365 // NOTE: You usually should also call setProperties with the same paraemter when using setDefaultProperties +00366 virtual void setDefaultProperties(IColladaMeshWriterProperties * p) +00367 { +00368 if ( p == DefaultProperties ) +00369 return; +00370 if ( p ) +00371 p->grab(); +00372 if ( DefaultProperties ) +00373 DefaultProperties->drop(); +00374 DefaultProperties = p; +00375 } +00376 +00377 // NOTE: You usually should also call setNameGenerator with the same paraemter when using setDefaultProperties +00378 virtual void setDefaultNameGenerator(IColladaMeshWriterNames * p) +00379 { +00380 if ( p == DefaultNameGenerator ) +00381 return; +00382 if ( p ) +00383 p->grab(); +00384 if ( DefaultNameGenerator ) +00385 DefaultNameGenerator->drop(); +00386 DefaultNameGenerator = p; +00387 } +00388 +00389 private: +00390 IColladaMeshWriterProperties * Properties; +00391 IColladaMeshWriterProperties * DefaultProperties; +00392 IColladaMeshWriterNames * NameGenerator; +00393 IColladaMeshWriterNames * DefaultNameGenerator; +00394 bool WriteTextures; +00395 bool WriteDefaultScene; +00396 bool ExportSMaterialOnce; +00397 video::SColorf AmbientLight; +00398 E_COLLADA_GEOMETRY_WRITING GeometryWriting; +00399 }; +00400 +00401 +00402 } // end namespace +00403 } // end namespace +00404 +00405 #endif +