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