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();
}
}