using StgSharp.Math; namespace StgSharp.Geometries { /// /// 平面几何体。包含三角形,对称四边形,自由多边形等。最多可由16个点参数定义。 /// public abstract class PlainGeometry { protected readonly uint bornTick; internal PartialPlainCoordinate coordinate; internal Matrix2x4 textureFrame; public PartialPlainCoordinate ReferenceCoordinate { get => this.coordinate; } public uint BornTime => bornTick; internal abstract int[] Indices { get; } public PlainGeometry(uint bornTime) { bornTick = bornTime; } public PlainGeometry(Counter MainTimer) { bornTick = MainTimer.Value; } public PlainGeometry() { } internal abstract void UpdateCoordinate(uint tick); public abstract Line[] GetAllSides(); public abstract Plain GetPlain(); //public abstract Rectangle GetRenderFrame(); } }