UltimateZoneBuilder/Source/Core/GZBuilder/Geometry/Line3D.cs
MaxED 5e52082409 Event lines are now shown for ActorMover.
Event lines for "event activators" (ActorMover, Camera and things with Thing_SetGoal special) are now drawn with different color.
Fixed a crash when a Thing with arguments is pasted in Visual modes.
Several other small fixes.
Fixed config error in ZDoom_things.cfg.
Fixed config error in ZDoom_ACS.cfg
2012-09-26 00:04:17 +00:00

42 lines
1 KiB
C#

using System;
using System.Collections.Generic;
using System.Text;
using CodeImp.DoomBuilder.Geometry;
namespace CodeImp.DoomBuilder.GZBuilder.Geometry {
public enum Line3DType
{
DEFAULT,
ACTIVATOR,
}
public class Line3D {
// Coordinates
public Vector3D v1;
public Vector3D v2;
public Line3DType LineType { get { return lineType; } }
private Line3DType lineType;
// Constructors
public Line3D(Vector3D v1, Vector3D v2) {
this.v1 = v1;
this.v2 = v2;
this.lineType = Line3DType.DEFAULT;
}
public Line3D(Vector3D v1, Vector3D v2, Line3DType lineType) {
this.v1 = v1;
this.v2 = v2;
this.lineType = lineType;
}
public Vector3D GetDelta() { return v2 - v1; }
// This calculates the angle
public float GetAngle() {
// Calculate and return the angle
Vector2D d = GetDelta();
return -(float)Math.Atan2(-d.y, d.x) + (float)Math.PI * 0.5f;
}
}
}