1 /**
2 FBX 3D asset importer.
3 
4 Copyright:
5 Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur.  
6 Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md)  
7 Copyright (c) 2017-2018 Godot-D contributors  
8 
9 License: $(LINK2 https://opensource.org/licenses/MIT, MIT License)
10 
11 
12 */
13 module godot.editorsceneimporterfbx;
14 import std.meta : AliasSeq, staticIndexOf;
15 import std.traits : Unqual;
16 import godot.d.traits;
17 import godot.core;
18 import godot.c;
19 import godot.d.bind;
20 import godot.d.reference;
21 import godot.globalenums;
22 import godot.object;
23 import godot.editorsceneimporter;
24 import godot.reference;
25 /**
26 FBX 3D asset importer.
27 
28 This is an FBX 3D asset importer with full support for most FBX features.
29 If exporting a FBX scene from Autodesk Maya, use these FBX export settings:
30 
31 
32 - Smoothing Groups
33 - Smooth Mesh
34 - Triangluate (for meshes with blend shapes)
35 - Bake Animation
36 - Resample All
37 - Deformed Models
38 - Skins
39 - Blend Shapes
40 - Curve Filters
41 - Constant Key Reducer
42 - Auto Tangents Only
43 - *Do not check* Constraints (as it will break the file)
44 - Can check Embed Media (embeds textures into the exported FBX file)
45   - Note that when importing embedded media, the texture and mesh will be a single immutable file.
46   - You will have to re-export then re-import the FBX if the texture has changed.
47 - Units: Centimeters
48 - Up Axis: Y
49 - Binary format in FBX 2017
50 
51 
52 */
53 @GodotBaseClass struct EditorSceneImporterFBX
54 {
55 	package(godot) enum string _GODOT_internal_name = "EditorSceneImporterFBX";
56 public:
57 @nogc nothrow:
58 	union { /** */ godot_object _godot_object; /** */ EditorSceneImporter _GODOT_base; }
59 	alias _GODOT_base this;
60 	alias BaseClasses = AliasSeq!(typeof(_GODOT_base), typeof(_GODOT_base).BaseClasses);
61 	package(godot) __gshared bool _classBindingInitialized = false;
62 	package(godot) static struct GDNativeClassBinding
63 	{
64 		__gshared:
65 	}
66 	/// 
67 	pragma(inline, true) bool opEquals(in EditorSceneImporterFBX other) const
68 	{ return _godot_object.ptr is other._godot_object.ptr; }
69 	/// 
70 	pragma(inline, true) typeof(null) opAssign(typeof(null) n)
71 	{ _godot_object.ptr = n; return null; }
72 	/// 
73 	pragma(inline, true) bool opEquals(typeof(null) n) const
74 	{ return _godot_object.ptr is n; }
75 	/// 
76 	size_t toHash() const @trusted { return cast(size_t)_godot_object.ptr; }
77 	mixin baseCasts;
78 	/// Construct a new instance of EditorSceneImporterFBX.
79 	/// Note: use `memnew!EditorSceneImporterFBX` instead.
80 	static EditorSceneImporterFBX _new()
81 	{
82 		static godot_class_constructor constructor;
83 		if(constructor is null) constructor = _godot_api.godot_get_class_constructor("EditorSceneImporterFBX");
84 		if(constructor is null) return typeof(this).init;
85 		return cast(EditorSceneImporterFBX)(constructor());
86 	}
87 	@disable new(size_t s);
88 }