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.reflectionprobe; 14 import std.meta : AliasSeq, staticIndexOf; 15 import std.traits : Unqual; 16 import godot.d.meta; 17 import godot.core; 18 import godot.c; 19 import godot.d.bind; 20 import godot.d.reference; 21 import godot.object; 22 import godot.classdb; 23 import godot.visualinstance; 24 import godot.spatial; 25 import godot.node; 26 /** 27 28 */ 29 @GodotBaseClass struct ReflectionProbe 30 { 31 enum string _GODOT_internal_name = "ReflectionProbe"; 32 public: 33 @nogc nothrow: 34 union { godot_object _godot_object; VisualInstance _GODOT_base; } 35 alias _GODOT_base this; 36 alias BaseClasses = AliasSeq!(typeof(_GODOT_base), typeof(_GODOT_base).BaseClasses); 37 package(godot) __gshared bool _classBindingInitialized = false; 38 package(godot) static struct _classBinding 39 { 40 __gshared: 41 @GodotName("set_intensity") GodotMethod!(void, double) setIntensity; 42 @GodotName("get_intensity") GodotMethod!(double) getIntensity; 43 @GodotName("set_interior_ambient") GodotMethod!(void, Color) setInteriorAmbient; 44 @GodotName("get_interior_ambient") GodotMethod!(Color) getInteriorAmbient; 45 @GodotName("set_interior_ambient_energy") GodotMethod!(void, double) setInteriorAmbientEnergy; 46 @GodotName("get_interior_ambient_energy") GodotMethod!(double) getInteriorAmbientEnergy; 47 @GodotName("set_interior_ambient_probe_contribution") GodotMethod!(void, double) setInteriorAmbientProbeContribution; 48 @GodotName("get_interior_ambient_probe_contribution") GodotMethod!(double) getInteriorAmbientProbeContribution; 49 @GodotName("set_max_distance") GodotMethod!(void, double) setMaxDistance; 50 @GodotName("get_max_distance") GodotMethod!(double) getMaxDistance; 51 @GodotName("set_extents") GodotMethod!(void, Vector3) setExtents; 52 @GodotName("get_extents") GodotMethod!(Vector3) getExtents; 53 @GodotName("set_origin_offset") GodotMethod!(void, Vector3) setOriginOffset; 54 @GodotName("get_origin_offset") GodotMethod!(Vector3) getOriginOffset; 55 @GodotName("set_as_interior") GodotMethod!(void, bool) setAsInterior; 56 @GodotName("is_set_as_interior") GodotMethod!(bool) isSetAsInterior; 57 @GodotName("set_enable_box_projection") GodotMethod!(void, bool) setEnableBoxProjection; 58 @GodotName("is_box_projection_enabled") GodotMethod!(bool) isBoxProjectionEnabled; 59 @GodotName("set_enable_shadows") GodotMethod!(void, bool) setEnableShadows; 60 @GodotName("are_shadows_enabled") GodotMethod!(bool) areShadowsEnabled; 61 @GodotName("set_cull_mask") GodotMethod!(void, long) setCullMask; 62 @GodotName("get_cull_mask") GodotMethod!(long) getCullMask; 63 @GodotName("set_update_mode") GodotMethod!(void, long) setUpdateMode; 64 @GodotName("get_update_mode") GodotMethod!(ReflectionProbe.UpdateMode) getUpdateMode; 65 } 66 bool opEquals(in ReflectionProbe other) const { return _godot_object.ptr is other._godot_object.ptr; } 67 ReflectionProbe opAssign(T : typeof(null))(T n) { _godot_object.ptr = null; } 68 bool opEquals(typeof(null) n) const { return _godot_object.ptr is null; } 69 mixin baseCasts; 70 static ReflectionProbe _new() 71 { 72 static godot_class_constructor constructor; 73 if(constructor is null) constructor = _godot_api.godot_get_class_constructor("ReflectionProbe"); 74 if(constructor is null) return typeof(this).init; 75 return cast(ReflectionProbe)(constructor()); 76 } 77 @disable new(size_t s); 78 /// 79 enum UpdateMode : int 80 { 81 /** 82 83 */ 84 updateOnce = 0, 85 /** 86 87 */ 88 updateAlways = 1, 89 } 90 /// 91 enum Constants : int 92 { 93 updateOnce = 0, 94 updateAlways = 1, 95 } 96 /** 97 98 */ 99 void setIntensity(in double intensity) 100 { 101 checkClassBinding!(typeof(this))(); 102 ptrcall!(void)(_classBinding.setIntensity, _godot_object, intensity); 103 } 104 /** 105 106 */ 107 double getIntensity() const 108 { 109 checkClassBinding!(typeof(this))(); 110 return ptrcall!(double)(_classBinding.getIntensity, _godot_object); 111 } 112 /** 113 114 */ 115 void setInteriorAmbient(in Color ambient) 116 { 117 checkClassBinding!(typeof(this))(); 118 ptrcall!(void)(_classBinding.setInteriorAmbient, _godot_object, ambient); 119 } 120 /** 121 122 */ 123 Color getInteriorAmbient() const 124 { 125 checkClassBinding!(typeof(this))(); 126 return ptrcall!(Color)(_classBinding.getInteriorAmbient, _godot_object); 127 } 128 /** 129 130 */ 131 void setInteriorAmbientEnergy(in double ambient_energy) 132 { 133 checkClassBinding!(typeof(this))(); 134 ptrcall!(void)(_classBinding.setInteriorAmbientEnergy, _godot_object, ambient_energy); 135 } 136 /** 137 138 */ 139 double getInteriorAmbientEnergy() const 140 { 141 checkClassBinding!(typeof(this))(); 142 return ptrcall!(double)(_classBinding.getInteriorAmbientEnergy, _godot_object); 143 } 144 /** 145 146 */ 147 void setInteriorAmbientProbeContribution(in double ambient_probe_contribution) 148 { 149 checkClassBinding!(typeof(this))(); 150 ptrcall!(void)(_classBinding.setInteriorAmbientProbeContribution, _godot_object, ambient_probe_contribution); 151 } 152 /** 153 154 */ 155 double getInteriorAmbientProbeContribution() const 156 { 157 checkClassBinding!(typeof(this))(); 158 return ptrcall!(double)(_classBinding.getInteriorAmbientProbeContribution, _godot_object); 159 } 160 /** 161 162 */ 163 void setMaxDistance(in double max_distance) 164 { 165 checkClassBinding!(typeof(this))(); 166 ptrcall!(void)(_classBinding.setMaxDistance, _godot_object, max_distance); 167 } 168 /** 169 170 */ 171 double getMaxDistance() const 172 { 173 checkClassBinding!(typeof(this))(); 174 return ptrcall!(double)(_classBinding.getMaxDistance, _godot_object); 175 } 176 /** 177 178 */ 179 void setExtents(in Vector3 extents) 180 { 181 checkClassBinding!(typeof(this))(); 182 ptrcall!(void)(_classBinding.setExtents, _godot_object, extents); 183 } 184 /** 185 186 */ 187 Vector3 getExtents() const 188 { 189 checkClassBinding!(typeof(this))(); 190 return ptrcall!(Vector3)(_classBinding.getExtents, _godot_object); 191 } 192 /** 193 194 */ 195 void setOriginOffset(in Vector3 origin_offset) 196 { 197 checkClassBinding!(typeof(this))(); 198 ptrcall!(void)(_classBinding.setOriginOffset, _godot_object, origin_offset); 199 } 200 /** 201 202 */ 203 Vector3 getOriginOffset() const 204 { 205 checkClassBinding!(typeof(this))(); 206 return ptrcall!(Vector3)(_classBinding.getOriginOffset, _godot_object); 207 } 208 /** 209 210 */ 211 void setAsInterior(in bool enable) 212 { 213 checkClassBinding!(typeof(this))(); 214 ptrcall!(void)(_classBinding.setAsInterior, _godot_object, enable); 215 } 216 /** 217 218 */ 219 bool isSetAsInterior() const 220 { 221 checkClassBinding!(typeof(this))(); 222 return ptrcall!(bool)(_classBinding.isSetAsInterior, _godot_object); 223 } 224 /** 225 226 */ 227 void setEnableBoxProjection(in bool enable) 228 { 229 checkClassBinding!(typeof(this))(); 230 ptrcall!(void)(_classBinding.setEnableBoxProjection, _godot_object, enable); 231 } 232 /** 233 234 */ 235 bool isBoxProjectionEnabled() const 236 { 237 checkClassBinding!(typeof(this))(); 238 return ptrcall!(bool)(_classBinding.isBoxProjectionEnabled, _godot_object); 239 } 240 /** 241 242 */ 243 void setEnableShadows(in bool enable) 244 { 245 checkClassBinding!(typeof(this))(); 246 ptrcall!(void)(_classBinding.setEnableShadows, _godot_object, enable); 247 } 248 /** 249 250 */ 251 bool areShadowsEnabled() const 252 { 253 checkClassBinding!(typeof(this))(); 254 return ptrcall!(bool)(_classBinding.areShadowsEnabled, _godot_object); 255 } 256 /** 257 258 */ 259 void setCullMask(in long layers) 260 { 261 checkClassBinding!(typeof(this))(); 262 ptrcall!(void)(_classBinding.setCullMask, _godot_object, layers); 263 } 264 /** 265 266 */ 267 long getCullMask() const 268 { 269 checkClassBinding!(typeof(this))(); 270 return ptrcall!(long)(_classBinding.getCullMask, _godot_object); 271 } 272 /** 273 274 */ 275 void setUpdateMode(in long mode) 276 { 277 checkClassBinding!(typeof(this))(); 278 ptrcall!(void)(_classBinding.setUpdateMode, _godot_object, mode); 279 } 280 /** 281 282 */ 283 ReflectionProbe.UpdateMode getUpdateMode() const 284 { 285 checkClassBinding!(typeof(this))(); 286 return ptrcall!(ReflectionProbe.UpdateMode)(_classBinding.getUpdateMode, _godot_object); 287 } 288 /** 289 290 */ 291 @property ReflectionProbe.UpdateMode updateMode() 292 { 293 return getUpdateMode(); 294 } 295 /// ditto 296 @property void updateMode(long v) 297 { 298 setUpdateMode(v); 299 } 300 /** 301 302 */ 303 @property double intensity() 304 { 305 return getIntensity(); 306 } 307 /// ditto 308 @property void intensity(double v) 309 { 310 setIntensity(v); 311 } 312 /** 313 314 */ 315 @property double maxDistance() 316 { 317 return getMaxDistance(); 318 } 319 /// ditto 320 @property void maxDistance(double v) 321 { 322 setMaxDistance(v); 323 } 324 /** 325 326 */ 327 @property Vector3 extents() 328 { 329 return getExtents(); 330 } 331 /// ditto 332 @property void extents(Vector3 v) 333 { 334 setExtents(v); 335 } 336 /** 337 338 */ 339 @property Vector3 originOffset() 340 { 341 return getOriginOffset(); 342 } 343 /// ditto 344 @property void originOffset(Vector3 v) 345 { 346 setOriginOffset(v); 347 } 348 /** 349 350 */ 351 @property bool boxProjection() 352 { 353 return isBoxProjectionEnabled(); 354 } 355 /// ditto 356 @property void boxProjection(bool v) 357 { 358 setEnableBoxProjection(v); 359 } 360 /** 361 362 */ 363 @property bool enableShadows() 364 { 365 return areShadowsEnabled(); 366 } 367 /// ditto 368 @property void enableShadows(bool v) 369 { 370 setEnableShadows(v); 371 } 372 /** 373 374 */ 375 @property long cullMask() 376 { 377 return getCullMask(); 378 } 379 /// ditto 380 @property void cullMask(long v) 381 { 382 setCullMask(v); 383 } 384 /** 385 386 */ 387 @property bool interiorEnable() 388 { 389 return isSetAsInterior(); 390 } 391 /// ditto 392 @property void interiorEnable(bool v) 393 { 394 setAsInterior(v); 395 } 396 /** 397 398 */ 399 @property Color interiorAmbientColor() 400 { 401 return getInteriorAmbient(); 402 } 403 /// ditto 404 @property void interiorAmbientColor(Color v) 405 { 406 setInteriorAmbient(v); 407 } 408 /** 409 410 */ 411 @property double interiorAmbientEnergy() 412 { 413 return getInteriorAmbientEnergy(); 414 } 415 /// ditto 416 @property void interiorAmbientEnergy(double v) 417 { 418 setInteriorAmbientEnergy(v); 419 } 420 /** 421 422 */ 423 @property double interiorAmbientContrib() 424 { 425 return getInteriorAmbientProbeContribution(); 426 } 427 /// ditto 428 @property void interiorAmbientContrib(double v) 429 { 430 setInteriorAmbientProbeContribution(v); 431 } 432 }