using StgSharp.Graphics; using StgSharp.Math; namespace StgSharp.Geometries { /// /// 平面几何体。包含三角形,对称四边形,自由多边形等。最多可由16个点参数定义。 /// public abstract class PlainGeometry { protected TimeProvider time; internal PartialPlainCoordinate coordinate; internal Matrix2x4 textureFrame; public PartialPlainCoordinate ReferenceCoordinate { get => this.coordinate; } /// /// Tick time this geometry eas crested /// /// public uint BornTime => time; internal abstract int[] Indices { get; } public PlainGeometry(Form form) { time = new TimeProvider(form); } public PlainGeometry() { } internal abstract void UpdateCoordinate(uint tick); /// /// Get all sides of this . /// /// A array contains all straight s of current geometry item. public abstract Line[] GetAllSides(); /// /// Get a flat cincide with current geometry. /// /// public abstract Plain GetPlain(); //public abstract Rectangle GetRenderFrame(); } }