1 /** 2 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.bakedlightmapdata; 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.classdb; 24 import godot.resource; 25 /** 26 27 */ 28 @GodotBaseClass struct BakedLightmapData 29 { 30 package(godot) enum string _GODOT_internal_name = "BakedLightmapData"; 31 public: 32 @nogc nothrow: 33 union { /** */ godot_object _godot_object; /** */ Resource _GODOT_base; } 34 alias _GODOT_base this; 35 alias BaseClasses = AliasSeq!(typeof(_GODOT_base), typeof(_GODOT_base).BaseClasses); 36 package(godot) __gshared bool _classBindingInitialized = false; 37 package(godot) static struct GDNativeClassBinding 38 { 39 __gshared: 40 @GodotName("_get_user_data") GodotMethod!(Array) _getUserData; 41 @GodotName("_set_user_data") GodotMethod!(void, Array) _setUserData; 42 @GodotName("add_user") GodotMethod!(void, NodePath, Resource, long, Rect2, long) addUser; 43 @GodotName("clear_data") GodotMethod!(void) clearData; 44 @GodotName("clear_users") GodotMethod!(void) clearUsers; 45 @GodotName("get_bounds") GodotMethod!(AABB) getBounds; 46 @GodotName("get_cell_space_transform") GodotMethod!(Transform) getCellSpaceTransform; 47 @GodotName("get_cell_subdiv") GodotMethod!(long) getCellSubdiv; 48 @GodotName("get_energy") GodotMethod!(double) getEnergy; 49 @GodotName("get_octree") GodotMethod!(PoolByteArray) getOctree; 50 @GodotName("get_user_count") GodotMethod!(long) getUserCount; 51 @GodotName("get_user_lightmap") GodotMethod!(Resource, long) getUserLightmap; 52 @GodotName("get_user_path") GodotMethod!(NodePath, long) getUserPath; 53 @GodotName("is_interior") GodotMethod!(bool) isInterior; 54 @GodotName("set_bounds") GodotMethod!(void, AABB) setBounds; 55 @GodotName("set_cell_space_transform") GodotMethod!(void, Transform) setCellSpaceTransform; 56 @GodotName("set_cell_subdiv") GodotMethod!(void, long) setCellSubdiv; 57 @GodotName("set_energy") GodotMethod!(void, double) setEnergy; 58 @GodotName("set_interior") GodotMethod!(void, bool) setInterior; 59 @GodotName("set_octree") GodotMethod!(void, PoolByteArray) setOctree; 60 } 61 /// 62 pragma(inline, true) bool opEquals(in BakedLightmapData other) const 63 { return _godot_object.ptr is other._godot_object.ptr; } 64 /// 65 pragma(inline, true) typeof(null) opAssign(typeof(null) n) 66 { _godot_object.ptr = n; return null; } 67 /// 68 pragma(inline, true) bool opEquals(typeof(null) n) const 69 { return _godot_object.ptr is n; } 70 /// 71 size_t toHash() const @trusted { return cast(size_t)_godot_object.ptr; } 72 mixin baseCasts; 73 /// Construct a new instance of BakedLightmapData. 74 /// Note: use `memnew!BakedLightmapData` instead. 75 static BakedLightmapData _new() 76 { 77 static godot_class_constructor constructor; 78 if(constructor is null) constructor = _godot_api.godot_get_class_constructor("BakedLightmapData"); 79 if(constructor is null) return typeof(this).init; 80 return cast(BakedLightmapData)(constructor()); 81 } 82 @disable new(size_t s); 83 /** 84 85 */ 86 Array _getUserData() const 87 { 88 Array _GODOT_args = Array.make(); 89 String _GODOT_method_name = String("_get_user_data"); 90 return this.callv(_GODOT_method_name, _GODOT_args).as!(RefOrT!Array); 91 } 92 /** 93 94 */ 95 void _setUserData(in Array data) 96 { 97 Array _GODOT_args = Array.make(); 98 _GODOT_args.append(data); 99 String _GODOT_method_name = String("_set_user_data"); 100 this.callv(_GODOT_method_name, _GODOT_args); 101 } 102 /** 103 104 */ 105 void addUser(NodePathArg0)(in NodePathArg0 path, Resource lightmap, in long lightmap_slice, in Rect2 lightmap_uv_rect, in long instance) 106 { 107 checkClassBinding!(typeof(this))(); 108 ptrcall!(void)(GDNativeClassBinding.addUser, _godot_object, path, lightmap, lightmap_slice, lightmap_uv_rect, instance); 109 } 110 /** 111 112 */ 113 void clearData() 114 { 115 checkClassBinding!(typeof(this))(); 116 ptrcall!(void)(GDNativeClassBinding.clearData, _godot_object); 117 } 118 /** 119 120 */ 121 void clearUsers() 122 { 123 checkClassBinding!(typeof(this))(); 124 ptrcall!(void)(GDNativeClassBinding.clearUsers, _godot_object); 125 } 126 /** 127 128 */ 129 AABB getBounds() const 130 { 131 checkClassBinding!(typeof(this))(); 132 return ptrcall!(AABB)(GDNativeClassBinding.getBounds, _godot_object); 133 } 134 /** 135 136 */ 137 Transform getCellSpaceTransform() const 138 { 139 checkClassBinding!(typeof(this))(); 140 return ptrcall!(Transform)(GDNativeClassBinding.getCellSpaceTransform, _godot_object); 141 } 142 /** 143 144 */ 145 long getCellSubdiv() const 146 { 147 checkClassBinding!(typeof(this))(); 148 return ptrcall!(long)(GDNativeClassBinding.getCellSubdiv, _godot_object); 149 } 150 /** 151 152 */ 153 double getEnergy() const 154 { 155 checkClassBinding!(typeof(this))(); 156 return ptrcall!(double)(GDNativeClassBinding.getEnergy, _godot_object); 157 } 158 /** 159 160 */ 161 PoolByteArray getOctree() const 162 { 163 checkClassBinding!(typeof(this))(); 164 return ptrcall!(PoolByteArray)(GDNativeClassBinding.getOctree, _godot_object); 165 } 166 /** 167 168 */ 169 long getUserCount() const 170 { 171 checkClassBinding!(typeof(this))(); 172 return ptrcall!(long)(GDNativeClassBinding.getUserCount, _godot_object); 173 } 174 /** 175 176 */ 177 Ref!Resource getUserLightmap(in long user_idx) const 178 { 179 checkClassBinding!(typeof(this))(); 180 return ptrcall!(Resource)(GDNativeClassBinding.getUserLightmap, _godot_object, user_idx); 181 } 182 /** 183 184 */ 185 NodePath getUserPath(in long user_idx) const 186 { 187 checkClassBinding!(typeof(this))(); 188 return ptrcall!(NodePath)(GDNativeClassBinding.getUserPath, _godot_object, user_idx); 189 } 190 /** 191 192 */ 193 bool isInterior() const 194 { 195 checkClassBinding!(typeof(this))(); 196 return ptrcall!(bool)(GDNativeClassBinding.isInterior, _godot_object); 197 } 198 /** 199 200 */ 201 void setBounds(in AABB bounds) 202 { 203 checkClassBinding!(typeof(this))(); 204 ptrcall!(void)(GDNativeClassBinding.setBounds, _godot_object, bounds); 205 } 206 /** 207 208 */ 209 void setCellSpaceTransform(in Transform xform) 210 { 211 checkClassBinding!(typeof(this))(); 212 ptrcall!(void)(GDNativeClassBinding.setCellSpaceTransform, _godot_object, xform); 213 } 214 /** 215 216 */ 217 void setCellSubdiv(in long cell_subdiv) 218 { 219 checkClassBinding!(typeof(this))(); 220 ptrcall!(void)(GDNativeClassBinding.setCellSubdiv, _godot_object, cell_subdiv); 221 } 222 /** 223 224 */ 225 void setEnergy(in double energy) 226 { 227 checkClassBinding!(typeof(this))(); 228 ptrcall!(void)(GDNativeClassBinding.setEnergy, _godot_object, energy); 229 } 230 /** 231 232 */ 233 void setInterior(in bool interior) 234 { 235 checkClassBinding!(typeof(this))(); 236 ptrcall!(void)(GDNativeClassBinding.setInterior, _godot_object, interior); 237 } 238 /** 239 240 */ 241 void setOctree(in PoolByteArray octree) 242 { 243 checkClassBinding!(typeof(this))(); 244 ptrcall!(void)(GDNativeClassBinding.setOctree, _godot_object, octree); 245 } 246 /** 247 248 */ 249 @property AABB bounds() 250 { 251 return getBounds(); 252 } 253 /// ditto 254 @property void bounds(AABB v) 255 { 256 setBounds(v); 257 } 258 /** 259 260 */ 261 @property Transform cellSpaceTransform() 262 { 263 return getCellSpaceTransform(); 264 } 265 /// ditto 266 @property void cellSpaceTransform(Transform v) 267 { 268 setCellSpaceTransform(v); 269 } 270 /** 271 272 */ 273 @property long cellSubdiv() 274 { 275 return getCellSubdiv(); 276 } 277 /// ditto 278 @property void cellSubdiv(long v) 279 { 280 setCellSubdiv(v); 281 } 282 /** 283 Global energy multiplier for baked and dynamic capture objects. 284 */ 285 @property double energy() 286 { 287 return getEnergy(); 288 } 289 /// ditto 290 @property void energy(double v) 291 { 292 setEnergy(v); 293 } 294 /** 295 Controls whether dynamic capture objects receive environment lighting or not. 296 */ 297 @property bool interior() 298 { 299 return isInterior(); 300 } 301 /// ditto 302 @property void interior(bool v) 303 { 304 setInterior(v); 305 } 306 /** 307 308 */ 309 @property PoolByteArray octree() 310 { 311 return getOctree(); 312 } 313 /// ditto 314 @property void octree(PoolByteArray v) 315 { 316 setOctree(v); 317 } 318 /** 319 320 */ 321 @property Array userData() 322 { 323 return _getUserData(); 324 } 325 /// ditto 326 @property void userData(Array v) 327 { 328 _setUserData(v); 329 } 330 }