Files
stgsharp/源代码/StgSharp/Geometries/IPlainGeometry.cs
T
2023-04-17 03:25:02 +08:00

63 lines
1.4 KiB
C#

using StgSharp.Linear;
using StgSharp.Math;
using System;
using System.Collections.Generic;
using System.Text;
namespace StgSharp.Geometries
{
/// <summary>
/// 平面几何体。包含三角形,对称四边形,自由多边形等。最多可由16个点参数定义。
/// </summary>
public abstract class IPlainGeometry:INode<IPlainGeometry>
{
private readonly uint bornTick;
public abstract Point RefOrigin { get; }
public abstract Point RefPoint01{ get; }
public abstract Point RefPoint02{ get; }
public abstract Point RefPoint03{ get; }
public uint BornTime => bornTick;
public IPlainGeometry(uint bornTime)
{
bornTick=bornTime;
}
public IPlainGeometry(Counter<uint> MainTimer)
{
bornTick = MainTimer.Value;
}
public IPlainGeometry() { }
internal abstract void OnRender(uint tick);
public abstract RenderMode renderMode { get; }
public abstract float SetArrayX();
public abstract float SetArrayY();
public abstract Line[] GetAllSides();
public abstract Plain GetPlain();
}
public enum RenderMode
{
/// <summary>
/// 坐标点将基于参考原点构建
/// </summary>
BasePoint,
/// <summary>
/// 坐标点将基于参考起点构建
/// </summary>
RefPoint
}
}