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.visualshadernodescalarfunc;
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.visualshadernode;
25 import godot.resource;
26 import godot.reference;
27 /**
28 
29 */
30 @GodotBaseClass struct VisualShaderNodeScalarFunc
31 {
32 	package(godot) enum string _GODOT_internal_name = "VisualShaderNodeScalarFunc";
33 public:
34 @nogc nothrow:
35 	union { /** */ godot_object _godot_object; /** */ VisualShaderNode _GODOT_base; }
36 	alias _GODOT_base this;
37 	alias BaseClasses = AliasSeq!(typeof(_GODOT_base), typeof(_GODOT_base).BaseClasses);
38 	package(godot) __gshared bool _classBindingInitialized = false;
39 	package(godot) static struct GDNativeClassBinding
40 	{
41 		__gshared:
42 		@GodotName("get_function") GodotMethod!(VisualShaderNodeScalarFunc.Function) getFunction;
43 		@GodotName("set_function") GodotMethod!(void, long) setFunction;
44 	}
45 	/// 
46 	pragma(inline, true) bool opEquals(in VisualShaderNodeScalarFunc other) const
47 	{ return _godot_object.ptr is other._godot_object.ptr; }
48 	/// 
49 	pragma(inline, true) typeof(null) opAssign(typeof(null) n)
50 	{ _godot_object.ptr = n; return null; }
51 	/// 
52 	pragma(inline, true) bool opEquals(typeof(null) n) const
53 	{ return _godot_object.ptr is n; }
54 	/// 
55 	size_t toHash() const @trusted { return cast(size_t)_godot_object.ptr; }
56 	mixin baseCasts;
57 	/// Construct a new instance of VisualShaderNodeScalarFunc.
58 	/// Note: use `memnew!VisualShaderNodeScalarFunc` instead.
59 	static VisualShaderNodeScalarFunc _new()
60 	{
61 		static godot_class_constructor constructor;
62 		if(constructor is null) constructor = _godot_api.godot_get_class_constructor("VisualShaderNodeScalarFunc");
63 		if(constructor is null) return typeof(this).init;
64 		return cast(VisualShaderNodeScalarFunc)(constructor());
65 	}
66 	@disable new(size_t s);
67 	/// 
68 	enum Function : int
69 	{
70 		/**
71 		
72 		*/
73 		funcSin = 0,
74 		/**
75 		
76 		*/
77 		funcCos = 1,
78 		/**
79 		
80 		*/
81 		funcTan = 2,
82 		/**
83 		
84 		*/
85 		funcAsin = 3,
86 		/**
87 		
88 		*/
89 		funcAcos = 4,
90 		/**
91 		
92 		*/
93 		funcAtan = 5,
94 		/**
95 		
96 		*/
97 		funcSinh = 6,
98 		/**
99 		
100 		*/
101 		funcCosh = 7,
102 		/**
103 		
104 		*/
105 		funcTanh = 8,
106 		/**
107 		
108 		*/
109 		funcLog = 9,
110 		/**
111 		
112 		*/
113 		funcExp = 10,
114 		/**
115 		
116 		*/
117 		funcSqrt = 11,
118 		/**
119 		
120 		*/
121 		funcAbs = 12,
122 		/**
123 		
124 		*/
125 		funcSign = 13,
126 		/**
127 		
128 		*/
129 		funcFloor = 14,
130 		/**
131 		
132 		*/
133 		funcRound = 15,
134 		/**
135 		
136 		*/
137 		funcCeil = 16,
138 		/**
139 		
140 		*/
141 		funcFrac = 17,
142 		/**
143 		
144 		*/
145 		funcSaturate = 18,
146 		/**
147 		
148 		*/
149 		funcNegate = 19,
150 		/**
151 		
152 		*/
153 		funcAcosh = 20,
154 		/**
155 		
156 		*/
157 		funcAsinh = 21,
158 		/**
159 		
160 		*/
161 		funcAtanh = 22,
162 		/**
163 		
164 		*/
165 		funcDegrees = 23,
166 		/**
167 		
168 		*/
169 		funcExp2 = 24,
170 		/**
171 		
172 		*/
173 		funcInverseSqrt = 25,
174 		/**
175 		
176 		*/
177 		funcLog2 = 26,
178 		/**
179 		
180 		*/
181 		funcRadians = 27,
182 		/**
183 		
184 		*/
185 		funcReciprocal = 28,
186 		/**
187 		
188 		*/
189 		funcRoundeven = 29,
190 		/**
191 		
192 		*/
193 		funcTrunc = 30,
194 		/**
195 		
196 		*/
197 		funcOneminus = 31,
198 	}
199 	/// 
200 	enum Constants : int
201 	{
202 		funcSin = 0,
203 		funcCos = 1,
204 		funcTan = 2,
205 		funcAsin = 3,
206 		funcAcos = 4,
207 		funcAtan = 5,
208 		funcSinh = 6,
209 		funcCosh = 7,
210 		funcTanh = 8,
211 		funcLog = 9,
212 		funcExp = 10,
213 		funcSqrt = 11,
214 		funcAbs = 12,
215 		funcSign = 13,
216 		funcFloor = 14,
217 		funcRound = 15,
218 		funcCeil = 16,
219 		funcFrac = 17,
220 		funcSaturate = 18,
221 		funcNegate = 19,
222 		funcAcosh = 20,
223 		funcAsinh = 21,
224 		funcAtanh = 22,
225 		funcDegrees = 23,
226 		funcExp2 = 24,
227 		funcInverseSqrt = 25,
228 		funcLog2 = 26,
229 		funcRadians = 27,
230 		funcReciprocal = 28,
231 		funcRoundeven = 29,
232 		funcTrunc = 30,
233 		funcOneminus = 31,
234 	}
235 	/**
236 	
237 	*/
238 	VisualShaderNodeScalarFunc.Function getFunction() const
239 	{
240 		checkClassBinding!(typeof(this))();
241 		return ptrcall!(VisualShaderNodeScalarFunc.Function)(GDNativeClassBinding.getFunction, _godot_object);
242 	}
243 	/**
244 	
245 	*/
246 	void setFunction(in long func)
247 	{
248 		checkClassBinding!(typeof(this))();
249 		ptrcall!(void)(GDNativeClassBinding.setFunction, _godot_object, func);
250 	}
251 	/**
252 	
253 	*/
254 	@property VisualShaderNodeScalarFunc.Function _function()
255 	{
256 		return getFunction();
257 	}
258 	/// ditto
259 	@property void _function(long v)
260 	{
261 		setFunction(v);
262 	}
263 }