150150__e2setcost (5 )
151151
152152e2function angle angnorm (angle rv1 )
153- return Angle ((rv1 [1 ] + 180 ) % 360 - 180 , (rv1 [2 ] + 180 ) % 360 - 180 , (rv1 [3 ] + 180 ) % 360 - 180 )
153+ local ang = Angle (rv1 )
154+ ang :Normalize ()
155+
156+ return ang
154157end
155158
156159e2function number angnorm (rv1 )
@@ -175,15 +178,24 @@ __e2setcost(2)
175178
176179// SET methods that returns angles
177180e2function angle angle :setPitch (rv2 )
178- return Angle (rv2 , this [2 ], this [3 ])
181+ local ang = Angle (this )
182+ ang .pitch = rv2
183+
184+ return ang
179185end
180186
181187e2function angle angle :setYaw (rv2 )
182- return Angle (this [1 ], rv2 , this [3 ])
188+ local ang = Angle (this )
189+ ang .yaw = rv2
190+
191+ return ang
183192end
184193
185194e2function angle angle :setRoll (rv2 )
186- return Angle (this [1 ], this [2 ], rv2 )
195+ local ang = Angle (this )
196+ ang .roll = rv2
197+
198+ return ang
187199end
188200
189201/* *****************************************************************************/
@@ -351,27 +363,30 @@ e2function angle angle:rotateAroundAxis(vector axis, degrees)
351363end
352364
353365// Convert the magnitude of the angle to radians
366+ local deg2rad = math.pi / 180
367+ local rad2deg = 180 / math.pi
368+
354369e2function angle toRad (angle rv1 )
355- return Angle ( rv1 [ 1 ] * pi / 180 , rv1 [ 2 ] * pi / 180 , rv1 [ 3 ] * pi / 180 )
370+ return rv1 * deg2rad
356371end
357372
358373// Convert the magnitude of the angle to degrees
359374e2function angle toDeg (angle rv1 )
360- return Angle ( rv1 [ 1 ] * 180 / pi , rv1 [ 2 ] * 180 / pi , rv1 [ 3 ] * 180 / pi )
375+ return rv1 * rad2deg
361376end
362377
363378/* *****************************************************************************/
364379
365380e2function vector angle :forward ()
366- return Angle ( this [ 1 ], this [ 2 ], this [ 3 ]) :Forward ()
381+ return this :Forward ()
367382end
368383
369384e2function vector angle :right ()
370- return Angle ( this [ 1 ], this [ 2 ], this [ 3 ]) :Right ()
385+ return this :Right ()
371386end
372387
373388e2function vector angle :up ()
374- return Angle ( this [ 1 ], this [ 2 ], this [ 3 ]) :Up ()
389+ return this :Up ()
375390end
376391
377392e2function string toString (angle a )
0 commit comments