using StgSharp.Linear; using StgSharp.Math; using System; using System.Collections.Generic; using System.Text; namespace StgSharp.Geometries { /// /// 平面几何体。包含三角形,对称四边形,自由多边形等。最多可由16个点参数定义。 /// public abstract class IPlainGeometry:INode { 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 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 { /// /// 坐标点将基于参考原点构建 /// BasePoint, /// /// 坐标点将基于参考起点构建 /// RefPoint } }