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 @@ + + + + +Irrlicht 3D Engine: IColladaMeshWriter.h Source File + + + + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + + + + + + + +
+
Irrlicht 3D Engine + +
+ +
+ + + + + + +
+
+
+ + + + +
+
+ +
+
+
+ +
+
+
+
IColladaMeshWriter.h
+
+
+Go to the documentation of this file.
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
+
+
+ + + + + -- cgit v1.1