summaryrefslogtreecommitdiffstats
path: root/3rdparty/assimp/code/BlenderScene.h
diff options
context:
space:
mode:
Diffstat (limited to '3rdparty/assimp/code/BlenderScene.h')
-rw-r--r--3rdparty/assimp/code/BlenderScene.h683
1 files changed, 0 insertions, 683 deletions
diff --git a/3rdparty/assimp/code/BlenderScene.h b/3rdparty/assimp/code/BlenderScene.h
deleted file mode 100644
index 5cfb7092..00000000
--- a/3rdparty/assimp/code/BlenderScene.h
+++ /dev/null
@@ -1,683 +0,0 @@
-/*
-Open Asset Import Library (ASSIMP)
-----------------------------------------------------------------------
-
-Copyright (c) 2006-2010, 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
-following conditions are met:
-
-* Redistributions of source code must retain the above
- copyright notice, this list of conditions and the
- following disclaimer.
-
-* Redistributions in binary form must reproduce the above
- copyright notice, this list of conditions and the
- following disclaimer in the documentation and/or other
- materials provided with the distribution.
-
-* Neither the name of the ASSIMP team, nor the names of its
- contributors may be used to endorse or promote products
- 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
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-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
-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
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-----------------------------------------------------------------------
-*/
-
-/** @file BlenderScene.h
- * @brief Intermediate representation of a BLEND scene.
- */
-#ifndef INCLUDED_AI_BLEND_SCENE_H
-#define INCLUDED_AI_BLEND_SCENE_H
-
-namespace Assimp {
- namespace Blender {
-
-// Minor parts of this file are extracts from blender data structures,
-// declared in the ./source/blender/makesdna directory.
-// Stuff that is not used by Assimp is commented.
-
-
-// NOTE
-// this file serves as input data to the `./scripts/genblenddna.py`
-// script. This script generates the actual binding code to read a
-// blender file with a possibly different DNA into our structures.
-// Only `struct` declarations are considered and the following
-// rules must be obeyed in order for the script to work properly:
-//
-// * C++ style comments only
-//
-// * Structures may include the primitive types char, int, short,
-// float, double. Signedness specifiers are not allowed on
-// integers. Enum types are allowed, but they must have been
-// defined in this header.
-//
-// * Structures may aggregate other structures, unless not defined
-// in this header.
-//
-// * Pointers to other structures or primitive types are allowed.
-// No references or double pointers or arrays of pointers.
-// A pointer to a T is written as boost::shared_ptr, while a
-// pointer to an array of elements is written as boost::
-// shared_array.
-//
-// * Arrays can have maximally two-dimensions. Any non-pointer
-// type can form them.
-//
-// * Multiple fields can be declare in a single line (i.e `int a,b;`)
-// provided they are neither pointers nor arrays.
-//
-// * One of WARN, FAIL can be appended to the declaration (
-// prior to the semiolon to specifiy the error handling policy if
-// this field is missing in the input DNA). If none of those
-// is specified the default policy is to subtitute a default
-// value for the field.
-//
-
-#define WARN // warn if field is missing, substitute default value
-#define FAIL // fail the import if the field does not exist
-
-struct Object;
-struct MTex;
-
-#define AI_BLEND_MESH_MAX_VERTS 2000000000L
-
-// -------------------------------------------------------------------------------
-struct ID : ElemBase {
-
- char name[24] WARN;
- short flag;
-};
-
-// -------------------------------------------------------------------------------
-struct ListBase : ElemBase {
-
- boost::shared_ptr<ElemBase> first;
- boost::shared_ptr<ElemBase> last;
-};
-
-
-// -------------------------------------------------------------------------------
-struct PackedFile : ElemBase {
- int size WARN;
- int seek WARN;
- boost::shared_ptr< FileOffset > data WARN;
-};
-
-// -------------------------------------------------------------------------------
-struct GroupObject : ElemBase {
-
- boost::shared_ptr<GroupObject> prev,next FAIL;
- boost::shared_ptr<Object> ob;
-};
-
-// -------------------------------------------------------------------------------
-struct Group : ElemBase {
- ID id FAIL;
- int layer;
-
- boost::shared_ptr<GroupObject> gobject;
-};
-
-// -------------------------------------------------------------------------------
-struct World : ElemBase {
- ID id FAIL;
-
-};
-
-// -------------------------------------------------------------------------------
-struct MVert : ElemBase {
- float co[3] FAIL;
- float no[3] FAIL;
- char flag;
- int mat_nr WARN;
- int bweight;
-};
-
-// -------------------------------------------------------------------------------
-struct MEdge : ElemBase {
- int v1, v2 FAIL;
- char crease, bweight;
- short flag;
-};
-
-// -------------------------------------------------------------------------------
-struct MCol : ElemBase {
- char r,g,b,a FAIL;
-};
-
-// -------------------------------------------------------------------------------
-struct MFace : ElemBase {
- int v1,v2,v3,v4 FAIL;
- int mat_nr FAIL;
- char flag;
-};
-
-// -------------------------------------------------------------------------------
-struct TFace : ElemBase {
- float uv[4][2] FAIL;
- int col[4] FAIL;
- char flag;
- short mode;
- short tile;
- short unwrap;
-};
-
-// -------------------------------------------------------------------------------
-struct MTFace : ElemBase {
-
- float uv[4][2] FAIL;
- char flag;
- short mode;
- short tile;
- short unwrap;
-
- // boost::shared_ptr<Image> tpage;
-};
-
-// -------------------------------------------------------------------------------
-struct MDeformWeight : ElemBase {
- int def_nr FAIL;
- float weight FAIL;
-};
-
-// -------------------------------------------------------------------------------
-struct MDeformVert : ElemBase {
-
- vector<MDeformWeight> dw WARN;
- int totweight;
-};
-
-// -------------------------------------------------------------------------------
-struct Material : ElemBase {
- ID id FAIL;
-
- float r,g,b WARN;
- float specr,specg,specb WARN;
- float ambir,ambig,ambib WARN;
- float mirr,mirg,mirb;
- float emit WARN;
- float alpha WARN;
- float ref;
- float translucency;
- float roughness;
- float darkness;
- float refrac;
-
- boost::shared_ptr<Group> group;
-
- short diff_shader WARN;
- short spec_shader WARN;
-
- boost::shared_ptr<MTex> mtex[18];
-};
-
-// -------------------------------------------------------------------------------
-struct Mesh : ElemBase {
- ID id FAIL;
-
- int totface FAIL;
- int totedge FAIL;
- int totvert FAIL;
-
- short subdiv;
- short subdivr;
- short subsurftype;
- short smoothresh;
-
- vector<MFace> mface FAIL;
- vector<MTFace> mtface;
- vector<TFace> tface;
- vector<MVert> mvert FAIL;
- vector<MEdge> medge WARN;
- vector<MDeformVert> dvert;
- vector<MCol> mcol;
-
- vector< boost::shared_ptr<Material> > mat FAIL;
-};
-
-// -------------------------------------------------------------------------------
-struct Library : ElemBase {
- ID id FAIL;
-
- char name[240] WARN;
- char filename[240] FAIL;
- boost::shared_ptr<Library> parent WARN;
-};
-
-// -------------------------------------------------------------------------------
-struct Camera : ElemBase {
- enum Type {
- Type_PERSP = 0
- ,Type_ORTHO = 1
- };
-
- ID id FAIL;
-
- // struct AnimData *adt;
-
- Type type,flag WARN;
- float angle WARN;
- //float passepartalpha, angle;
- //float clipsta, clipend;
- //float lens, ortho_scale, drawsize;
- //float shiftx, shifty;
-
- //float YF_dofdist, YF_aperture;
- //short YF_bkhtype, YF_bkhbias;
- //float YF_bkhrot;
-};
-
-
-// -------------------------------------------------------------------------------
-struct Lamp : ElemBase {
-
- enum FalloffType {
- FalloffType_Constant = 0x0
- ,FalloffType_InvLinear = 0x1
- ,FalloffType_InvSquare = 0x2
- //,FalloffType_Curve = 0x3
- //,FalloffType_Sliders = 0x4
- };
-
- enum Type {
- Type_Local = 0x0
- ,Type_Sun = 0x1
- ,Type_Spot = 0x2
- ,Type_Hemi = 0x3
- ,Type_Area = 0x4
- //,Type_YFPhoton = 0x5
- };
-
- ID id FAIL;
- //AnimData *adt;
-
- Type type FAIL;
- short flags;
-
- //int mode;
-
- short colormodel, totex;
- float r,g,b,k WARN;
- //float shdwr, shdwg, shdwb;
-
- float energy, dist, spotsize, spotblend;
- //float haint;
-
- float att1, att2;
- //struct CurveMapping *curfalloff;
- FalloffType falloff_type;
-
- //float clipsta, clipend, shadspotsize;
- //float bias, soft, compressthresh;
- //short bufsize, samp, buffers, filtertype;
- //char bufflag, buftype;
-
- //short ray_samp, ray_sampy, ray_sampz;
- //short ray_samp_type;
- //short area_shape;
- //float area_size, area_sizey, area_sizez;
- //float adapt_thresh;
- //short ray_samp_method;
-
- //short texact, shadhalostep;
-
- //short sun_effect_type;
- //short skyblendtype;
- //float horizon_brightness;
- //float spread;
- float sun_brightness;
- //float sun_size;
- //float backscattered_light;
- //float sun_intensity;
- //float atm_turbidity;
- //float atm_inscattering_factor;
- //float atm_extinction_factor;
- //float atm_distance_factor;
- //float skyblendfac;
- //float sky_exposure;
- //short sky_colorspace;
-
- // int YF_numphotons, YF_numsearch;
- // short YF_phdepth, YF_useqmc, YF_bufsize, YF_pad;
- // float YF_causticblur, YF_ltradius;
-
- // float YF_glowint, YF_glowofs;
- // short YF_glowtype, YF_pad2;
-
- //struct Ipo *ipo;
- //struct MTex *mtex[18];
- // short pr_texture;
-
- //struct PreviewImage *preview;
-};
-
-// -------------------------------------------------------------------------------
-struct ModifierData : ElemBase {
- enum ModifierType {
- eModifierType_None = 0,
- eModifierType_Subsurf,
- eModifierType_Lattice,
- eModifierType_Curve,
- eModifierType_Build,
- eModifierType_Mirror,
- eModifierType_Decimate,
- eModifierType_Wave,
- eModifierType_Armature,
- eModifierType_Hook,
- eModifierType_Softbody,
- eModifierType_Boolean,
- eModifierType_Array,
- eModifierType_EdgeSplit,
- eModifierType_Displace,
- eModifierType_UVProject,
- eModifierType_Smooth,
- eModifierType_Cast,
- eModifierType_MeshDeform,
- eModifierType_ParticleSystem,
- eModifierType_ParticleInstance,
- eModifierType_Explode,
- eModifierType_Cloth,
- eModifierType_Collision,
- eModifierType_Bevel,
- eModifierType_Shrinkwrap,
- eModifierType_Fluidsim,
- eModifierType_Mask,
- eModifierType_SimpleDeform,
- eModifierType_Multires,
- eModifierType_Surface,
- eModifierType_Smoke,
- eModifierType_ShapeKey
- };
-
- boost::shared_ptr<ElemBase> next WARN;
- boost::shared_ptr<ElemBase> prev WARN;
-
- int type, mode;
- char name[32];
-};
-
-// -------------------------------------------------------------------------------
-struct SubsurfModifierData : ElemBase {
-
- enum Type {
-
- TYPE_CatmullClarke = 0x0,
- TYPE_Simple = 0x1
- };
-
- enum Flags {
- // some ommitted
- FLAGS_SubsurfUV =1<<3
- };
-
- ModifierData modifier FAIL;
- short subdivType WARN;
- short levels FAIL;
- short renderLevels ;
- short flags;
-};
-
-// -------------------------------------------------------------------------------
-struct MirrorModifierData : ElemBase {
-
- enum Flags {
- Flags_CLIPPING =1<<0,
- Flags_MIRROR_U =1<<1,
- Flags_MIRROR_V =1<<2,
- Flags_AXIS_X =1<<3,
- Flags_AXIS_Y =1<<4,
- Flags_AXIS_Z =1<<5,
- Flags_VGROUP =1<<6
- };
-
- ModifierData modifier FAIL;
-
- short axis, flag;
- float tolerance;
- boost::shared_ptr<Object> mirror_ob;
-};
-
-// -------------------------------------------------------------------------------
-struct Object : ElemBase {
- ID id FAIL;
-
- enum Type {
- Type_EMPTY = 0
- ,Type_MESH = 1
- ,Type_CURVE = 2
- ,Type_SURF = 3
- ,Type_FONT = 4
- ,Type_MBALL = 5
-
- ,Type_LAMP = 10
- ,Type_CAMERA = 11
-
- ,Type_WAVE = 21
- ,Type_LATTICE = 22
- };
-
- Type type FAIL;
- float obmat[4][4] WARN;
- float parentinv[4][4] WARN;
- char parsubstr[32] WARN;
-
- boost::shared_ptr<Object> parent WARN;
- boost::shared_ptr<Object> track WARN;
-
- boost::shared_ptr<Object> proxy,proxy_from,proxy_group WARN;
- boost::shared_ptr<Group> dup_group WARN;
- boost::shared_ptr<ElemBase> data FAIL;
-
- ListBase modifiers;
-};
-
-
-// -------------------------------------------------------------------------------
-struct Base : ElemBase {
- boost::shared_ptr<Base> prev WARN;
- boost::shared_ptr<Base> next WARN;
- boost::shared_ptr<Object> object WARN;
-};
-
-// -------------------------------------------------------------------------------
-struct Scene : ElemBase {
- ID id FAIL;
-
- boost::shared_ptr<Object> camera WARN;
- boost::shared_ptr<World> world WARN;
- boost::shared_ptr<Base> basact WARN;
-
- ListBase base;
-};
-
-
-// -------------------------------------------------------------------------------
-struct Image : ElemBase {
- ID id FAIL;
-
- char name[240] WARN;
-
- //struct anim *anim;
-
- short ok, flag;
- short source, type, pad, pad1;
- int lastframe;
-
- short tpageflag, totbind;
- short xrep, yrep;
- short twsta, twend;
- //unsigned int bindcode;
- //unsigned int *repbind;
-
- boost::shared_ptr<PackedFile> packedfile;
- //struct PreviewImage * preview;
-
- float lastupdate;
- int lastused;
- short animspeed;
-
- short gen_x, gen_y, gen_type;
-};
-
-// -------------------------------------------------------------------------------
-struct Tex : ElemBase {
-
- // actually, the only texture type we support is Type_IMAGE
- enum Type {
- Type_CLOUDS = 1
- ,Type_WOOD = 2
- ,Type_MARBLE = 3
- ,Type_MAGIC = 4
- ,Type_BLEND = 5
- ,Type_STUCCI = 6
- ,Type_NOISE = 7
- ,Type_IMAGE = 8
- ,Type_PLUGIN = 9
- ,Type_ENVMAP = 10
- ,Type_MUSGRAVE = 11
- ,Type_VORONOI = 12
- ,Type_DISTNOISE = 13
- ,Type_POINTDENSITY = 14
- ,Type_VOXELDATA = 15
- };
-
- ID id FAIL;
- // AnimData *adt;
-
- //float noisesize, turbul;
- //float bright, contrast, rfac, gfac, bfac;
- //float filtersize;
-
- //float mg_H, mg_lacunarity, mg_octaves, mg_offset, mg_gain;
- //float dist_amount, ns_outscale;
-
- //float vn_w1;
- //float vn_w2;
- //float vn_w3;
- //float vn_w4;
- //float vn_mexp;
- //short vn_distm, vn_coltype;
-
- //short noisedepth, noisetype;
- //short noisebasis, noisebasis2;
-
- //short imaflag, flag;
- Type type FAIL;
- //short stype;
-
- //float cropxmin, cropymin, cropxmax, cropymax;
- //int texfilter;
- //int afmax;
- //short xrepeat, yrepeat;
- //short extend;
-
- //short fie_ima;
- //int len;
- //int frames, offset, sfra;
-
- //float checkerdist, nabla;
- //float norfac;
-
- //ImageUser iuser;
-
- //bNodeTree *nodetree;
- //Ipo *ipo;
- boost::shared_ptr<Image> ima WARN;
- //PluginTex *plugin;
- //ColorBand *coba;
- //EnvMap *env;
- //PreviewImage * preview;
- //PointDensity *pd;
- //VoxelData *vd;
-
- //char use_nodes;
-};
-
-// -------------------------------------------------------------------------------
-struct MTex : ElemBase {
-
- enum Projection {
- Proj_N = 0
- ,Proj_X = 1
- ,Proj_Y = 2
- ,Proj_Z = 3
- };
-
- enum Flag {
- Flag_RGBTOINT = 0x1
- ,Flag_STENCIL = 0x2
- ,Flag_NEGATIVE = 0x4
- ,Flag_ALPHAMIX = 0x8
- ,Flag_VIEWSPACE = 0x10
- };
-
- enum BlendType {
- BlendType_BLEND = 0
- ,BlendType_MUL = 1
- ,BlendType_ADD = 2
- ,BlendType_SUB = 3
- ,BlendType_DIV = 4
- ,BlendType_DARK = 5
- ,BlendType_DIFF = 6
- ,BlendType_LIGHT = 7
- ,BlendType_SCREEN = 8
- ,BlendType_OVERLAY = 9
- ,BlendType_BLEND_HUE = 10
- ,BlendType_BLEND_SAT = 11
- ,BlendType_BLEND_VAL = 12
- ,BlendType_BLEND_COLOR = 13
- };
-
- // short texco, mapto, maptoneg;
-
- BlendType blendtype;
- boost::shared_ptr<Object> object;
- boost::shared_ptr<Tex> tex;
- char uvname[32];
-
- Projection projx,projy,projz;
- char mapping;
- float ofs[3], size[3], rot;
-
- int texflag;
- short colormodel, pmapto, pmaptoneg;
- //short normapspace, which_output;
- //char brush_map_mode;
- float r,g,b,k WARN;
- //float def_var, rt;
-
- //float colfac, varfac;
-
- //float norfac, dispfac, warpfac;
- float colspecfac, mirrfac, alphafac;
- float difffac, specfac, emitfac, hardfac;
- //float raymirrfac, translfac, ambfac;
- //float colemitfac, colreflfac, coltransfac;
- //float densfac, scatterfac, reflfac;
-
- //float timefac, lengthfac, clumpfac;
- //float kinkfac, roughfac, padensfac;
- //float lifefac, sizefac, ivelfac, pvelfac;
- //float shadowfac;
- //float zenupfac, zendownfac, blendfac;
-};
-
-
- }
-}
-#endif