diff options
Diffstat (limited to 'src/3rdparty/assimp/code/BlenderScene.cpp')
-rw-r--r-- | src/3rdparty/assimp/code/BlenderScene.cpp | 303 |
1 files changed, 198 insertions, 105 deletions
diff --git a/src/3rdparty/assimp/code/BlenderScene.cpp b/src/3rdparty/assimp/code/BlenderScene.cpp index 39b57a508..f4d07662e 100644 --- a/src/3rdparty/assimp/code/BlenderScene.cpp +++ b/src/3rdparty/assimp/code/BlenderScene.cpp @@ -2,11 +2,11 @@ Open Asset Import Library (ASSIMP) ---------------------------------------------------------------------- -Copyright (c) 2006-2010, ASSIMP Development Team +Copyright (c) 2006-2016, ASSIMP Development Team All rights reserved. -Redistribution and use of this software in source and binary forms, -with or without modification, are permitted provided that the +Redistribution and use of this software in source and binary forms, +with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above @@ -23,16 +23,16 @@ following conditions are met: derived from this software without specific prior written permission of the ASSIMP Development Team. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ---------------------------------------------------------------------- @@ -41,7 +41,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. /** @file BlenderScene.cpp * @brief MACHINE GENERATED BY ./scripts/BlenderImporter/genblenddna.py */ -#include "AssimpPCH.h" + #ifndef ASSIMP_BUILD_NO_BLEND_IMPORTER #include "BlenderDNA.h" @@ -56,7 +56,7 @@ template <> void Structure :: Convert<Object> ( Object& dest, const FileDatabase& db ) const -{ +{ ReadField<ErrorPolicy_Fail>(dest.id,"id",db); ReadField<ErrorPolicy_Fail>((int&)dest.type,"type",db); @@ -64,7 +64,7 @@ template <> void Structure :: Convert<Object> ( ReadFieldArray2<ErrorPolicy_Warn>(dest.parentinv,"parentinv",db); ReadFieldArray<ErrorPolicy_Warn>(dest.parsubstr,"parsubstr",db); { - boost::shared_ptr<Object> parent; + std::shared_ptr<Object> parent; ReadFieldPtr<ErrorPolicy_Warn>(parent,"*parent",db); dest.parent = parent.get(); } @@ -76,7 +76,7 @@ template <> void Structure :: Convert<Object> ( ReadFieldPtr<ErrorPolicy_Fail>(dest.data,"*data",db); ReadField<ErrorPolicy_Igno>(dest.modifiers,"modifiers",db); - db.reader->IncPtr(size); + db.reader->IncPtr(size); } //-------------------------------------------------------------------------------- @@ -84,13 +84,13 @@ template <> void Structure :: Convert<Group> ( Group& dest, const FileDatabase& db ) const -{ +{ ReadField<ErrorPolicy_Fail>(dest.id,"id",db); ReadField<ErrorPolicy_Igno>(dest.layer,"layer",db); ReadFieldPtr<ErrorPolicy_Igno>(dest.gobject,"*gobject",db); - db.reader->IncPtr(size); + db.reader->IncPtr(size); } //-------------------------------------------------------------------------------- @@ -98,7 +98,7 @@ template <> void Structure :: Convert<MTex> ( MTex& dest, const FileDatabase& db ) const -{ +{ ReadField<ErrorPolicy_Igno>((short&)dest.mapto,"mapto",db); ReadField<ErrorPolicy_Igno>((int&)dest.blendtype,"blendtype",db); @@ -129,7 +129,7 @@ template <> void Structure :: Convert<MTex> ( ReadField<ErrorPolicy_Igno>(dest.hardfac,"hardfac",db); ReadField<ErrorPolicy_Igno>(dest.norfac,"norfac",db); - db.reader->IncPtr(size); + db.reader->IncPtr(size); } //-------------------------------------------------------------------------------- @@ -137,7 +137,7 @@ template <> void Structure :: Convert<TFace> ( TFace& dest, const FileDatabase& db ) const -{ +{ ReadFieldArray2<ErrorPolicy_Fail>(dest.uv,"uv",db); ReadFieldArray<ErrorPolicy_Fail>(dest.col,"col",db); @@ -146,7 +146,7 @@ template <> void Structure :: Convert<TFace> ( ReadField<ErrorPolicy_Igno>(dest.tile,"tile",db); ReadField<ErrorPolicy_Igno>(dest.unwrap,"unwrap",db); - db.reader->IncPtr(size); + db.reader->IncPtr(size); } //-------------------------------------------------------------------------------- @@ -154,7 +154,7 @@ template <> void Structure :: Convert<SubsurfModifierData> ( SubsurfModifierData& dest, const FileDatabase& db ) const -{ +{ ReadField<ErrorPolicy_Fail>(dest.modifier,"modifier",db); ReadField<ErrorPolicy_Warn>(dest.subdivType,"subdivType",db); @@ -162,7 +162,7 @@ template <> void Structure :: Convert<SubsurfModifierData> ( ReadField<ErrorPolicy_Igno>(dest.renderLevels,"renderLevels",db); ReadField<ErrorPolicy_Igno>(dest.flags,"flags",db); - db.reader->IncPtr(size); + db.reader->IncPtr(size); } //-------------------------------------------------------------------------------- @@ -170,7 +170,7 @@ template <> void Structure :: Convert<MFace> ( MFace& dest, const FileDatabase& db ) const -{ +{ ReadField<ErrorPolicy_Fail>(dest.v1,"v1",db); ReadField<ErrorPolicy_Fail>(dest.v2,"v2",db); @@ -179,7 +179,7 @@ template <> void Structure :: Convert<MFace> ( ReadField<ErrorPolicy_Fail>(dest.mat_nr,"mat_nr",db); ReadField<ErrorPolicy_Igno>(dest.flag,"flag",db); - db.reader->IncPtr(size); + db.reader->IncPtr(size); } //-------------------------------------------------------------------------------- @@ -187,7 +187,7 @@ template <> void Structure :: Convert<Lamp> ( Lamp& dest, const FileDatabase& db ) const -{ +{ ReadField<ErrorPolicy_Fail>(dest.id,"id",db); ReadField<ErrorPolicy_Fail>((int&)dest.type,"type",db); @@ -206,8 +206,12 @@ template <> void Structure :: Convert<Lamp> ( ReadField<ErrorPolicy_Igno>(dest.att2,"att2",db); ReadField<ErrorPolicy_Igno>((int&)dest.falloff_type,"falloff_type",db); ReadField<ErrorPolicy_Igno>(dest.sun_brightness,"sun_brightness",db); + ReadField<ErrorPolicy_Igno>(dest.area_size,"area_size",db); + ReadField<ErrorPolicy_Igno>(dest.area_sizey,"area_sizey",db); + ReadField<ErrorPolicy_Igno>(dest.area_sizez,"area_sizez",db); + ReadField<ErrorPolicy_Igno>(dest.area_shape,"area_shape",db); - db.reader->IncPtr(size); + db.reader->IncPtr(size); } //-------------------------------------------------------------------------------- @@ -215,12 +219,12 @@ template <> void Structure :: Convert<MDeformWeight> ( MDeformWeight& dest, const FileDatabase& db ) const -{ +{ ReadField<ErrorPolicy_Fail>(dest.def_nr,"def_nr",db); ReadField<ErrorPolicy_Fail>(dest.weight,"weight",db); - db.reader->IncPtr(size); + db.reader->IncPtr(size); } //-------------------------------------------------------------------------------- @@ -228,13 +232,13 @@ template <> void Structure :: Convert<PackedFile> ( PackedFile& dest, const FileDatabase& db ) const -{ +{ ReadField<ErrorPolicy_Warn>(dest.size,"size",db); ReadField<ErrorPolicy_Warn>(dest.seek,"seek",db); ReadFieldPtr<ErrorPolicy_Warn>(dest.data,"*data",db); - db.reader->IncPtr(size); + db.reader->IncPtr(size); } //-------------------------------------------------------------------------------- @@ -242,37 +246,37 @@ template <> void Structure :: Convert<Base> ( Base& dest, const FileDatabase& db ) const -{ - // note: as per https://github.com/assimp/assimp/issues/128, - // reading the Object linked list recursively is prone to stack overflow. - // This structure converter is therefore an hand-written exception that - // does it iteratively. +{ + // note: as per https://github.com/assimp/assimp/issues/128, + // reading the Object linked list recursively is prone to stack overflow. + // This structure converter is therefore an hand-written exception that + // does it iteratively. + + const int initial_pos = db.reader->GetCurrentPos(); - const int initial_pos = db.reader->GetCurrentPos(); + std::pair<Base*, int> todo = std::make_pair(&dest, initial_pos); + for ( ;; ) { - std::pair<Base*, int> todo = std::make_pair(&dest, initial_pos); - for ( ;; ) { - - Base& cur_dest = *todo.first; - db.reader->SetCurrentPos(todo.second); + Base& cur_dest = *todo.first; + db.reader->SetCurrentPos(todo.second); - // we know that this is a double-linked, circular list which we never - // traverse backwards, so don't bother resolving the back links. - cur_dest.prev = NULL; + // we know that this is a double-linked, circular list which we never + // traverse backwards, so don't bother resolving the back links. + cur_dest.prev = NULL; - ReadFieldPtr<ErrorPolicy_Warn>(cur_dest.object,"*object",db); + ReadFieldPtr<ErrorPolicy_Warn>(cur_dest.object,"*object",db); + + // the return value of ReadFieldPtr indicates whether the object + // was already cached. In this case, we don't need to resolve + // it again. + if(!ReadFieldPtr<ErrorPolicy_Warn>(cur_dest.next,"*next",db, true) && cur_dest.next) { + todo = std::make_pair(&*cur_dest.next, db.reader->GetCurrentPos()); + continue; + } + break; + } - // the return value of ReadFieldPtr indicates whether the object - // was already cached. In this case, we don't need to resolve - // it again. - if(!ReadFieldPtr<ErrorPolicy_Warn>(cur_dest.next,"*next",db, true) && cur_dest.next) { - todo = std::make_pair(&*cur_dest.next, db.reader->GetCurrentPos()); - continue; - } - break; - } - - db.reader->SetCurrentPos(initial_pos + size); + db.reader->SetCurrentPos(initial_pos + size); } //-------------------------------------------------------------------------------- @@ -280,7 +284,7 @@ template <> void Structure :: Convert<MTFace> ( MTFace& dest, const FileDatabase& db ) const -{ +{ ReadFieldArray2<ErrorPolicy_Fail>(dest.uv,"uv",db); ReadField<ErrorPolicy_Igno>(dest.flag,"flag",db); @@ -288,7 +292,7 @@ template <> void Structure :: Convert<MTFace> ( ReadField<ErrorPolicy_Igno>(dest.tile,"tile",db); ReadField<ErrorPolicy_Igno>(dest.unwrap,"unwrap",db); - db.reader->IncPtr(size); + db.reader->IncPtr(size); } //-------------------------------------------------------------------------------- @@ -296,8 +300,7 @@ template <> void Structure :: Convert<Material> ( Material& dest, const FileDatabase& db ) const -{ - +{ ReadField<ErrorPolicy_Fail>(dest.id,"id",db); ReadField<ErrorPolicy_Warn>(dest.r,"r",db); ReadField<ErrorPolicy_Warn>(dest.g,"g",db); @@ -313,9 +316,11 @@ template <> void Structure :: Convert<Material> ( ReadField<ErrorPolicy_Igno>(dest.mirg,"mirg",db); ReadField<ErrorPolicy_Igno>(dest.mirb,"mirb",db); ReadField<ErrorPolicy_Warn>(dest.emit,"emit",db); + ReadField<ErrorPolicy_Igno>(dest.ray_mirror,"ray_mirror",db); ReadField<ErrorPolicy_Warn>(dest.alpha,"alpha",db); ReadField<ErrorPolicy_Igno>(dest.ref,"ref",db); ReadField<ErrorPolicy_Igno>(dest.translucency,"translucency",db); + ReadField<ErrorPolicy_Igno>(dest.mode,"mode",db); ReadField<ErrorPolicy_Igno>(dest.roughness,"roughness",db); ReadField<ErrorPolicy_Igno>(dest.darkness,"darkness",db); ReadField<ErrorPolicy_Igno>(dest.refrac,"refrac",db); @@ -324,7 +329,92 @@ template <> void Structure :: Convert<Material> ( ReadField<ErrorPolicy_Warn>(dest.spec_shader,"spec_shader",db); ReadFieldPtr<ErrorPolicy_Igno>(dest.mtex,"*mtex",db); - db.reader->IncPtr(size); + + ReadField<ErrorPolicy_Igno>(dest.amb, "amb", db); + ReadField<ErrorPolicy_Igno>(dest.ang, "ang", db); + ReadField<ErrorPolicy_Igno>(dest.spectra, "spectra", db); + ReadField<ErrorPolicy_Igno>(dest.spec, "spec", db); + ReadField<ErrorPolicy_Igno>(dest.zoffs, "zoffs", db); + ReadField<ErrorPolicy_Igno>(dest.add, "add", db); + ReadField<ErrorPolicy_Igno>(dest.fresnel_mir, "fresnel_mir", db); + ReadField<ErrorPolicy_Igno>(dest.fresnel_mir_i, "fresnel_mir_i", db); + ReadField<ErrorPolicy_Igno>(dest.fresnel_tra, "fresnel_tra", db); + ReadField<ErrorPolicy_Igno>(dest.fresnel_tra_i, "fresnel_tra_i", db); + ReadField<ErrorPolicy_Igno>(dest.filter, "filter", db); + ReadField<ErrorPolicy_Igno>(dest.tx_limit, "tx_limit", db); + ReadField<ErrorPolicy_Igno>(dest.tx_falloff, "tx_falloff", db); + ReadField<ErrorPolicy_Igno>(dest.gloss_mir, "gloss_mir", db); + ReadField<ErrorPolicy_Igno>(dest.gloss_tra, "gloss_tra", db); + ReadField<ErrorPolicy_Igno>(dest.adapt_thresh_mir, "adapt_thresh_mir", db); + ReadField<ErrorPolicy_Igno>(dest.adapt_thresh_tra, "adapt_thresh_tra", db); + ReadField<ErrorPolicy_Igno>(dest.aniso_gloss_mir, "aniso_gloss_mir", db); + ReadField<ErrorPolicy_Igno>(dest.dist_mir, "dist_mir", db); + ReadField<ErrorPolicy_Igno>(dest.hasize, "hasize", db); + ReadField<ErrorPolicy_Igno>(dest.flaresize, "flaresize", db); + ReadField<ErrorPolicy_Igno>(dest.subsize, "subsize", db); + ReadField<ErrorPolicy_Igno>(dest.flareboost, "flareboost", db); + ReadField<ErrorPolicy_Igno>(dest.strand_sta, "strand_sta", db); + ReadField<ErrorPolicy_Igno>(dest.strand_end, "strand_end", db); + ReadField<ErrorPolicy_Igno>(dest.strand_ease, "strand_ease", db); + ReadField<ErrorPolicy_Igno>(dest.strand_surfnor, "strand_surfnor", db); + ReadField<ErrorPolicy_Igno>(dest.strand_min, "strand_min", db); + ReadField<ErrorPolicy_Igno>(dest.strand_widthfade, "strand_widthfade", db); + ReadField<ErrorPolicy_Igno>(dest.sbias, "sbias", db); + ReadField<ErrorPolicy_Igno>(dest.lbias, "lbias", db); + ReadField<ErrorPolicy_Igno>(dest.shad_alpha, "shad_alpha", db); + ReadField<ErrorPolicy_Igno>(dest.param, "param", db); + ReadField<ErrorPolicy_Igno>(dest.rms, "rms", db); + ReadField<ErrorPolicy_Igno>(dest.rampfac_col, "rampfac_col", db); + ReadField<ErrorPolicy_Igno>(dest.rampfac_spec, "rampfac_spec", db); + ReadField<ErrorPolicy_Igno>(dest.friction, "friction", db); + ReadField<ErrorPolicy_Igno>(dest.fh, "fh", db); + ReadField<ErrorPolicy_Igno>(dest.reflect, "reflect", db); + ReadField<ErrorPolicy_Igno>(dest.fhdist, "fhdist", db); + ReadField<ErrorPolicy_Igno>(dest.xyfrict, "xyfrict", db); + ReadField<ErrorPolicy_Igno>(dest.sss_radius, "sss_radius", db); + ReadField<ErrorPolicy_Igno>(dest.sss_col, "sss_col", db); + ReadField<ErrorPolicy_Igno>(dest.sss_error, "sss_error", db); + ReadField<ErrorPolicy_Igno>(dest.sss_scale, "sss_scale", db); + ReadField<ErrorPolicy_Igno>(dest.sss_ior, "sss_ior", db); + ReadField<ErrorPolicy_Igno>(dest.sss_colfac, "sss_colfac", db); + ReadField<ErrorPolicy_Igno>(dest.sss_texfac, "sss_texfac", db); + ReadField<ErrorPolicy_Igno>(dest.sss_front, "sss_front", db); + ReadField<ErrorPolicy_Igno>(dest.sss_back, "sss_back", db); + + ReadField<ErrorPolicy_Igno>(dest.material_type, "material_type", db); + ReadField<ErrorPolicy_Igno>(dest.flag, "flag", db); + ReadField<ErrorPolicy_Igno>(dest.ray_depth, "ray_depth", db); + ReadField<ErrorPolicy_Igno>(dest.ray_depth_tra, "ray_depth_tra", db); + ReadField<ErrorPolicy_Igno>(dest.samp_gloss_mir, "samp_gloss_mir", db); + ReadField<ErrorPolicy_Igno>(dest.samp_gloss_tra, "samp_gloss_tra", db); + ReadField<ErrorPolicy_Igno>(dest.fadeto_mir, "fadeto_mir", db); + ReadField<ErrorPolicy_Igno>(dest.shade_flag, "shade_flag", db); + ReadField<ErrorPolicy_Igno>(dest.flarec, "flarec", db); + ReadField<ErrorPolicy_Igno>(dest.starc, "starc", db); + ReadField<ErrorPolicy_Igno>(dest.linec, "linec", db); + ReadField<ErrorPolicy_Igno>(dest.ringc, "ringc", db); + ReadField<ErrorPolicy_Igno>(dest.pr_lamp, "pr_lamp", db); + ReadField<ErrorPolicy_Igno>(dest.pr_texture, "pr_texture", db); + ReadField<ErrorPolicy_Igno>(dest.ml_flag, "ml_flag", db); + ReadField<ErrorPolicy_Igno>(dest.diff_shader, "diff_shader", db); + ReadField<ErrorPolicy_Igno>(dest.spec_shader, "spec_shader", db); + ReadField<ErrorPolicy_Igno>(dest.texco, "texco", db); + ReadField<ErrorPolicy_Igno>(dest.mapto, "mapto", db); + ReadField<ErrorPolicy_Igno>(dest.ramp_show, "ramp_show", db); + ReadField<ErrorPolicy_Igno>(dest.pad3, "pad3", db); + ReadField<ErrorPolicy_Igno>(dest.dynamode, "dynamode", db); + ReadField<ErrorPolicy_Igno>(dest.pad2, "pad2", db); + ReadField<ErrorPolicy_Igno>(dest.sss_flag, "sss_flag", db); + ReadField<ErrorPolicy_Igno>(dest.sss_preset, "sss_preset", db); + ReadField<ErrorPolicy_Igno>(dest.shadowonly_flag, "shadowonly_flag", db); + ReadField<ErrorPolicy_Igno>(dest.index, "index", db); + ReadField<ErrorPolicy_Igno>(dest.vcol_alpha, "vcol_alpha", db); + ReadField<ErrorPolicy_Igno>(dest.pad4, "pad4", db); + + ReadField<ErrorPolicy_Igno>(dest.seed1, "seed1", db); + ReadField<ErrorPolicy_Igno>(dest.seed2, "seed2", db); + + db.reader->IncPtr(size); } //-------------------------------------------------------------------------------- @@ -332,10 +422,10 @@ template <> void Structure :: Convert<MTexPoly> ( MTexPoly& dest, const FileDatabase& db ) const -{ +{ { - boost::shared_ptr<Image> tpage; + std::shared_ptr<Image> tpage; ReadFieldPtr<ErrorPolicy_Igno>(tpage,"*tpage",db); dest.tpage = tpage.get(); } @@ -345,7 +435,7 @@ template <> void Structure :: Convert<MTexPoly> ( ReadField<ErrorPolicy_Igno>(dest.tile,"tile",db); ReadField<ErrorPolicy_Igno>(dest.pad,"pad",db); - db.reader->IncPtr(size); + db.reader->IncPtr(size); } //-------------------------------------------------------------------------------- @@ -353,7 +443,7 @@ template <> void Structure :: Convert<Mesh> ( Mesh& dest, const FileDatabase& db ) const -{ +{ ReadField<ErrorPolicy_Fail>(dest.id,"id",db); ReadField<ErrorPolicy_Fail>(dest.totface,"totface",db); @@ -379,7 +469,7 @@ template <> void Structure :: Convert<Mesh> ( ReadFieldPtr<ErrorPolicy_Igno>(dest.mcol,"*mcol",db); ReadFieldPtr<ErrorPolicy_Fail>(dest.mat,"**mat",db); - db.reader->IncPtr(size); + db.reader->IncPtr(size); } //-------------------------------------------------------------------------------- @@ -387,12 +477,12 @@ template <> void Structure :: Convert<MDeformVert> ( MDeformVert& dest, const FileDatabase& db ) const -{ +{ ReadFieldPtr<ErrorPolicy_Warn>(dest.dw,"*dw",db); ReadField<ErrorPolicy_Igno>(dest.totweight,"totweight",db); - db.reader->IncPtr(size); + db.reader->IncPtr(size); } //-------------------------------------------------------------------------------- @@ -400,11 +490,11 @@ template <> void Structure :: Convert<World> ( World& dest, const FileDatabase& db ) const -{ +{ ReadField<ErrorPolicy_Fail>(dest.id,"id",db); - db.reader->IncPtr(size); + db.reader->IncPtr(size); } //-------------------------------------------------------------------------------- @@ -412,14 +502,14 @@ template <> void Structure :: Convert<MLoopCol> ( MLoopCol& dest, const FileDatabase& db ) const -{ +{ ReadField<ErrorPolicy_Igno>(dest.r,"r",db); ReadField<ErrorPolicy_Igno>(dest.g,"g",db); ReadField<ErrorPolicy_Igno>(dest.b,"b",db); ReadField<ErrorPolicy_Igno>(dest.a,"a",db); - db.reader->IncPtr(size); + db.reader->IncPtr(size); } //-------------------------------------------------------------------------------- @@ -427,7 +517,7 @@ template <> void Structure :: Convert<MVert> ( MVert& dest, const FileDatabase& db ) const -{ +{ ReadFieldArray<ErrorPolicy_Fail>(dest.co,"co",db); ReadFieldArray<ErrorPolicy_Fail>(dest.no,"no",db); @@ -435,7 +525,7 @@ template <> void Structure :: Convert<MVert> ( ReadField<ErrorPolicy_Warn>(dest.mat_nr,"mat_nr",db); ReadField<ErrorPolicy_Igno>(dest.bweight,"bweight",db); - db.reader->IncPtr(size); + db.reader->IncPtr(size); } //-------------------------------------------------------------------------------- @@ -443,7 +533,7 @@ template <> void Structure :: Convert<MEdge> ( MEdge& dest, const FileDatabase& db ) const -{ +{ ReadField<ErrorPolicy_Fail>(dest.v1,"v1",db); ReadField<ErrorPolicy_Fail>(dest.v2,"v2",db); @@ -451,7 +541,7 @@ template <> void Structure :: Convert<MEdge> ( ReadField<ErrorPolicy_Igno>(dest.bweight,"bweight",db); ReadField<ErrorPolicy_Igno>(dest.flag,"flag",db); - db.reader->IncPtr(size); + db.reader->IncPtr(size); } //-------------------------------------------------------------------------------- @@ -459,12 +549,12 @@ template <> void Structure :: Convert<MLoopUV> ( MLoopUV& dest, const FileDatabase& db ) const -{ +{ ReadFieldArray<ErrorPolicy_Igno>(dest.uv,"uv",db); ReadField<ErrorPolicy_Igno>(dest.flag,"flag",db); - db.reader->IncPtr(size); + db.reader->IncPtr(size); } //-------------------------------------------------------------------------------- @@ -472,13 +562,13 @@ template <> void Structure :: Convert<GroupObject> ( GroupObject& dest, const FileDatabase& db ) const -{ +{ ReadFieldPtr<ErrorPolicy_Fail>(dest.prev,"*prev",db); ReadFieldPtr<ErrorPolicy_Fail>(dest.next,"*next",db); ReadFieldPtr<ErrorPolicy_Igno>(dest.ob,"*ob",db); - db.reader->IncPtr(size); + db.reader->IncPtr(size); } //-------------------------------------------------------------------------------- @@ -486,12 +576,12 @@ template <> void Structure :: Convert<ListBase> ( ListBase& dest, const FileDatabase& db ) const -{ +{ ReadFieldPtr<ErrorPolicy_Igno>(dest.first,"*first",db); ReadFieldPtr<ErrorPolicy_Igno>(dest.last,"*last",db); - db.reader->IncPtr(size); + db.reader->IncPtr(size); } //-------------------------------------------------------------------------------- @@ -499,12 +589,12 @@ template <> void Structure :: Convert<MLoop> ( MLoop& dest, const FileDatabase& db ) const -{ +{ ReadField<ErrorPolicy_Igno>(dest.v,"v",db); ReadField<ErrorPolicy_Igno>(dest.e,"e",db); - db.reader->IncPtr(size); + db.reader->IncPtr(size); } //-------------------------------------------------------------------------------- @@ -512,7 +602,7 @@ template <> void Structure :: Convert<ModifierData> ( ModifierData& dest, const FileDatabase& db ) const -{ +{ ReadFieldPtr<ErrorPolicy_Warn>(dest.next,"*next",db); ReadFieldPtr<ErrorPolicy_Warn>(dest.prev,"*prev",db); @@ -520,7 +610,7 @@ template <> void Structure :: Convert<ModifierData> ( ReadField<ErrorPolicy_Igno>(dest.mode,"mode",db); ReadFieldArray<ErrorPolicy_Igno>(dest.name,"name",db); - db.reader->IncPtr(size); + db.reader->IncPtr(size); } //-------------------------------------------------------------------------------- @@ -528,12 +618,12 @@ template <> void Structure :: Convert<ID> ( ID& dest, const FileDatabase& db ) const -{ +{ ReadFieldArray<ErrorPolicy_Warn>(dest.name,"name",db); ReadField<ErrorPolicy_Igno>(dest.flag,"flag",db); - db.reader->IncPtr(size); + db.reader->IncPtr(size); } //-------------------------------------------------------------------------------- @@ -541,14 +631,14 @@ template <> void Structure :: Convert<MCol> ( MCol& dest, const FileDatabase& db ) const -{ +{ ReadField<ErrorPolicy_Fail>(dest.r,"r",db); ReadField<ErrorPolicy_Fail>(dest.g,"g",db); ReadField<ErrorPolicy_Fail>(dest.b,"b",db); ReadField<ErrorPolicy_Fail>(dest.a,"a",db); - db.reader->IncPtr(size); + db.reader->IncPtr(size); } //-------------------------------------------------------------------------------- @@ -556,14 +646,14 @@ template <> void Structure :: Convert<MPoly> ( MPoly& dest, const FileDatabase& db ) const -{ +{ ReadField<ErrorPolicy_Igno>(dest.loopstart,"loopstart",db); ReadField<ErrorPolicy_Igno>(dest.totloop,"totloop",db); ReadField<ErrorPolicy_Igno>(dest.mat_nr,"mat_nr",db); ReadField<ErrorPolicy_Igno>(dest.flag,"flag",db); - db.reader->IncPtr(size); + db.reader->IncPtr(size); } //-------------------------------------------------------------------------------- @@ -571,7 +661,7 @@ template <> void Structure :: Convert<Scene> ( Scene& dest, const FileDatabase& db ) const -{ +{ ReadField<ErrorPolicy_Fail>(dest.id,"id",db); ReadFieldPtr<ErrorPolicy_Warn>(dest.camera,"*camera",db); @@ -579,7 +669,7 @@ template <> void Structure :: Convert<Scene> ( ReadFieldPtr<ErrorPolicy_Warn>(dest.basact,"*basact",db); ReadField<ErrorPolicy_Igno>(dest.base,"base",db); - db.reader->IncPtr(size); + db.reader->IncPtr(size); } //-------------------------------------------------------------------------------- @@ -587,14 +677,14 @@ template <> void Structure :: Convert<Library> ( Library& dest, const FileDatabase& db ) const -{ +{ ReadField<ErrorPolicy_Fail>(dest.id,"id",db); ReadFieldArray<ErrorPolicy_Warn>(dest.name,"name",db); ReadFieldArray<ErrorPolicy_Fail>(dest.filename,"filename",db); ReadFieldPtr<ErrorPolicy_Warn>(dest.parent,"*parent",db); - db.reader->IncPtr(size); + db.reader->IncPtr(size); } //-------------------------------------------------------------------------------- @@ -602,12 +692,12 @@ template <> void Structure :: Convert<Tex> ( Tex& dest, const FileDatabase& db ) const -{ +{ ReadField<ErrorPolicy_Igno>((short&)dest.imaflag,"imaflag",db); ReadField<ErrorPolicy_Fail>((int&)dest.type,"type",db); ReadFieldPtr<ErrorPolicy_Warn>(dest.ima,"*ima",db); - db.reader->IncPtr(size); + db.reader->IncPtr(size); } //-------------------------------------------------------------------------------- @@ -615,14 +705,17 @@ template <> void Structure :: Convert<Camera> ( Camera& dest, const FileDatabase& db ) const -{ +{ ReadField<ErrorPolicy_Fail>(dest.id,"id",db); ReadField<ErrorPolicy_Warn>((int&)dest.type,"type",db); ReadField<ErrorPolicy_Warn>((int&)dest.flag,"flag",db); - ReadField<ErrorPolicy_Warn>(dest.angle,"angle",db); + ReadField<ErrorPolicy_Warn>(dest.lens,"lens",db); + ReadField<ErrorPolicy_Warn>(dest.sensor_x,"sensor_x",db); + ReadField<ErrorPolicy_Igno>(dest.clipsta,"clipsta",db); + ReadField<ErrorPolicy_Igno>(dest.clipend,"clipend",db); - db.reader->IncPtr(size); + db.reader->IncPtr(size); } //-------------------------------------------------------------------------------- @@ -630,7 +723,7 @@ template <> void Structure :: Convert<MirrorModifierData> ( MirrorModifierData& dest, const FileDatabase& db ) const -{ +{ ReadField<ErrorPolicy_Fail>(dest.modifier,"modifier",db); ReadField<ErrorPolicy_Igno>(dest.axis,"axis",db); @@ -638,7 +731,7 @@ template <> void Structure :: Convert<MirrorModifierData> ( ReadField<ErrorPolicy_Igno>(dest.tolerance,"tolerance",db); ReadFieldPtr<ErrorPolicy_Igno>(dest.mirror_ob,"*mirror_ob",db); - db.reader->IncPtr(size); + db.reader->IncPtr(size); } //-------------------------------------------------------------------------------- @@ -646,7 +739,7 @@ template <> void Structure :: Convert<Image> ( Image& dest, const FileDatabase& db ) const -{ +{ ReadField<ErrorPolicy_Fail>(dest.id,"id",db); ReadFieldArray<ErrorPolicy_Warn>(dest.name,"name",db); @@ -671,7 +764,7 @@ template <> void Structure :: Convert<Image> ( ReadField<ErrorPolicy_Igno>(dest.gen_y,"gen_y",db); ReadField<ErrorPolicy_Igno>(dest.gen_type,"gen_type",db); - db.reader->IncPtr(size); + db.reader->IncPtr(size); } //-------------------------------------------------------------------------------- |