geometry rewrite uncomplete
This commit is contained in:
@@ -1,5 +1,4 @@
|
||||
using Steamworks;
|
||||
using StgSharp.Linear;
|
||||
using StgSharp.Linear;
|
||||
using StgSharp.Math;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
@@ -30,46 +29,14 @@ namespace StgSharp.Geometries
|
||||
|
||||
public override Point RefOrigin => _basePoint;
|
||||
|
||||
public override Point RefPoint => _center;
|
||||
public override Point RefPoint01 => _center;
|
||||
|
||||
public override Point RefVec01 => _beginPoint;
|
||||
public override Point RefPoint02 => _beginPoint;
|
||||
|
||||
public override Point RefVec02 => _endPoint;
|
||||
public override Point RefPoint03 => _endPoint;
|
||||
|
||||
public override RenderMode renderMode => _renderMode;
|
||||
|
||||
|
||||
|
||||
internal sealed override void CalcVec01(uint tick)
|
||||
{
|
||||
_center._position = _basePoint._position + MoveCenter(tick);
|
||||
}
|
||||
|
||||
internal sealed override void CalcVec02(vec3d vec, uint tick)
|
||||
{
|
||||
_beginPoint._position = vec + UpdateRadius(tick);
|
||||
|
||||
}
|
||||
internal sealed override void CalcVec03(vec3d vec, uint tick)
|
||||
{
|
||||
_endPoint._position = vec + UpdateAngle(tick);
|
||||
}
|
||||
|
||||
|
||||
internal sealed override void CalcVec04(vec3d vec, uint tick) => throw new UnusedVertexException();
|
||||
internal sealed override void CalcVec05(vec3d vec, uint tick) => throw new UnusedVertexException();
|
||||
internal sealed override void CalcVec06(vec3d vec, uint tick) => throw new UnusedVertexException();
|
||||
internal sealed override void CalcVec07(vec3d vec, uint tick) => throw new UnusedVertexException();
|
||||
internal sealed override void CalcVec08(vec3d vec, uint tick) => throw new UnusedVertexException();
|
||||
internal sealed override void CalcVec09(vec3d vec, uint tick) => throw new UnusedVertexException();
|
||||
internal sealed override void CalcVec10(vec3d vec, uint tick) => throw new UnusedVertexException();
|
||||
internal sealed override void CalcVec11(vec3d vec, uint tick) => throw new UnusedVertexException();
|
||||
internal sealed override void CalcVec12(vec3d vec, uint tick) => throw new UnusedVertexException();
|
||||
internal sealed override void CalcVec13(vec3d vec, uint tick) => throw new UnusedVertexException();
|
||||
internal sealed override void CalcVec14(vec3d vec, uint tick) => throw new UnusedVertexException();
|
||||
internal sealed override void CalcVec15(vec3d vec, uint tick) => throw new UnusedVertexException();
|
||||
internal sealed override void CalcVec16(vec3d vec, uint tick) => throw new UnusedVertexException();
|
||||
|
||||
public virtual vec3d MoveCenter(uint tick) => default;
|
||||
|
||||
public virtual vec3d UpdateRadius(uint tick) => default;
|
||||
@@ -79,16 +46,16 @@ namespace StgSharp.Geometries
|
||||
internal override void OnRender(uint tick)
|
||||
{
|
||||
tick-=bornTick;
|
||||
CalcVec01(tick);
|
||||
_center._position = _basePoint._position + MoveCenter(tick);
|
||||
switch (_renderMode)
|
||||
{
|
||||
case RenderMode.BasePoint:
|
||||
CalcVec02(_basePoint._position,tick);
|
||||
CalcVec03(_basePoint._position,tick);
|
||||
_beginPoint._position = _basePoint._position + UpdateRadius(tick);
|
||||
_endPoint._position = _basePoint._position + UpdateAngle(tick);
|
||||
break;
|
||||
case RenderMode.RefPoint:
|
||||
CalcVec02(_center._position,tick);
|
||||
CalcVec03(_center._position, tick);
|
||||
_beginPoint._position = _center._position + UpdateRadius(tick);
|
||||
_endPoint._position = _center._position + UpdateAngle(tick);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
|
||||
@@ -17,11 +17,11 @@ namespace StgSharp.Geometries
|
||||
|
||||
public override Point RefOrigin => _baseCenter;
|
||||
|
||||
public override Point RefPoint => _center;
|
||||
public override Point RefPoint01 => _center;
|
||||
|
||||
public override Point RefVec01 => _pointOnCircle;
|
||||
public override Point RefPoint02 => _pointOnCircle;
|
||||
|
||||
public override Point RefVec02 => _pointOnPlain;
|
||||
public override Point RefPoint03 => _pointOnPlain;
|
||||
|
||||
public override RenderMode renderMode => _renderMode;
|
||||
|
||||
@@ -35,35 +35,6 @@ namespace StgSharp.Geometries
|
||||
bornTick = tickCounter._value;
|
||||
}
|
||||
|
||||
internal override void CalcVec01(uint tick)
|
||||
{
|
||||
_center._position = _baseCenter._position + MoveCenter(tick);
|
||||
}
|
||||
|
||||
internal override void CalcVec02(vec3d vec, uint tick)
|
||||
{
|
||||
_pointOnCircle._position = vec + UpdateRadius(tick);
|
||||
}
|
||||
|
||||
internal override void CalcVec03(vec3d vec, uint tick)
|
||||
{
|
||||
_pointOnPlain._position = vec + UpdatePlain(tick);
|
||||
}
|
||||
|
||||
internal sealed override void CalcVec04(vec3d vec, uint tick) => throw new UnusedVertexException();
|
||||
internal sealed override void CalcVec05(vec3d vec, uint tick) => throw new UnusedVertexException();
|
||||
internal sealed override void CalcVec06(vec3d vec, uint tick) => throw new UnusedVertexException();
|
||||
internal sealed override void CalcVec07(vec3d vec, uint tick) => throw new UnusedVertexException();
|
||||
internal sealed override void CalcVec08(vec3d vec, uint tick) => throw new UnusedVertexException();
|
||||
internal sealed override void CalcVec09(vec3d vec, uint tick) => throw new UnusedVertexException();
|
||||
internal sealed override void CalcVec10(vec3d vec, uint tick) => throw new UnusedVertexException();
|
||||
internal sealed override void CalcVec11(vec3d vec, uint tick) => throw new UnusedVertexException();
|
||||
internal sealed override void CalcVec12(vec3d vec, uint tick) => throw new UnusedVertexException();
|
||||
internal sealed override void CalcVec13(vec3d vec, uint tick) => throw new UnusedVertexException();
|
||||
internal sealed override void CalcVec14(vec3d vec, uint tick) => throw new UnusedVertexException();
|
||||
internal sealed override void CalcVec15(vec3d vec, uint tick) => throw new UnusedVertexException();
|
||||
internal sealed override void CalcVec16(vec3d vec, uint tick) => throw new UnusedVertexException();
|
||||
|
||||
public virtual vec3d MoveCenter(uint tick) => default;
|
||||
|
||||
public virtual vec3d UpdateRadius(uint tick) => default;
|
||||
@@ -88,16 +59,16 @@ namespace StgSharp.Geometries
|
||||
internal override void OnRender(uint tick)
|
||||
{
|
||||
tick-=bornTick;
|
||||
CalcVec01(tick);
|
||||
_center._position = MoveCenter(tick);
|
||||
switch (_renderMode)
|
||||
{
|
||||
case RenderMode.BasePoint:
|
||||
CalcVec02(_baseCenter._position,tick);
|
||||
CalcVec03(_baseCenter._position,tick);
|
||||
_pointOnCircle._position = _baseCenter._position + UpdateRadius(tick);
|
||||
_pointOnPlain._position = _baseCenter._position + UpdatePlain(tick);
|
||||
break;
|
||||
case RenderMode.RefPoint:
|
||||
CalcVec02(_center._position, tick);
|
||||
CalcVec03(_center._position, tick);
|
||||
_pointOnCircle._position = _center._position + UpdateRadius(tick);
|
||||
_pointOnPlain._position = _center._position + UpdatePlain(tick);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
|
||||
@@ -15,9 +15,9 @@ namespace StgSharp.Geometries
|
||||
private readonly uint bornTick;
|
||||
|
||||
public abstract Point RefOrigin { get; }
|
||||
public abstract Point RefPoint{ get; }
|
||||
public abstract Point RefVec01{ get; }
|
||||
public abstract Point RefVec02{ get; }
|
||||
public abstract Point RefPoint01{ get; }
|
||||
public abstract Point RefPoint02{ get; }
|
||||
public abstract Point RefPoint03{ get; }
|
||||
public uint BornTime => bornTick;
|
||||
|
||||
public IPlainGeometry(uint bornTime)
|
||||
@@ -32,23 +32,6 @@ namespace StgSharp.Geometries
|
||||
|
||||
public IPlainGeometry() { }
|
||||
|
||||
internal abstract void CalcVec01(uint tick);
|
||||
internal abstract void CalcVec02(vec3d vec, uint tick);
|
||||
internal abstract void CalcVec03(vec3d vec, uint tick);
|
||||
internal abstract void CalcVec04(vec3d vec, uint tick);
|
||||
internal abstract void CalcVec05(vec3d vec, uint tick);
|
||||
internal abstract void CalcVec06(vec3d vec, uint tick);
|
||||
internal abstract void CalcVec07(vec3d vec, uint tick);
|
||||
internal abstract void CalcVec08(vec3d vec, uint tick);
|
||||
internal abstract void CalcVec09(vec3d vec, uint tick);
|
||||
internal abstract void CalcVec10(vec3d vec, uint tick);
|
||||
internal abstract void CalcVec11(vec3d vec, uint tick);
|
||||
internal abstract void CalcVec12(vec3d vec, uint tick);
|
||||
internal abstract void CalcVec13(vec3d vec, uint tick);
|
||||
internal abstract void CalcVec14(vec3d vec, uint tick);
|
||||
internal abstract void CalcVec15(vec3d vec, uint tick);
|
||||
internal abstract void CalcVec16(vec3d vec, uint tick);
|
||||
|
||||
|
||||
internal abstract void OnRender(uint tick);
|
||||
|
||||
|
||||
@@ -65,21 +65,6 @@ namespace StgSharp.Geometries
|
||||
_endPoint._position = vec + MoveEndPoint(tick);
|
||||
}
|
||||
|
||||
internal sealed override void CalcVec03(vec3d vec, uint tick) => throw new UnusedVertexException();
|
||||
internal sealed override void CalcVec04(vec3d vec, uint tick) => throw new UnusedVertexException();
|
||||
internal sealed override void CalcVec05(vec3d vec, uint tick) => throw new UnusedVertexException();
|
||||
internal sealed override void CalcVec06(vec3d vec, uint tick) => throw new UnusedVertexException();
|
||||
internal sealed override void CalcVec07(vec3d vec, uint tick) => throw new UnusedVertexException();
|
||||
internal sealed override void CalcVec08(vec3d vec, uint tick) => throw new UnusedVertexException();
|
||||
internal sealed override void CalcVec09(vec3d vec, uint tick) => throw new UnusedVertexException();
|
||||
internal sealed override void CalcVec10(vec3d vec, uint tick) => throw new UnusedVertexException();
|
||||
internal sealed override void CalcVec11(vec3d vec, uint tick) => throw new UnusedVertexException();
|
||||
internal sealed override void CalcVec12(vec3d vec, uint tick) => throw new UnusedVertexException();
|
||||
internal sealed override void CalcVec13(vec3d vec, uint tick) => throw new UnusedVertexException();
|
||||
internal sealed override void CalcVec14(vec3d vec, uint tick) => throw new UnusedVertexException();
|
||||
internal sealed override void CalcVec15(vec3d vec, uint tick) => throw new UnusedVertexException();
|
||||
internal sealed override void CalcVec16(vec3d vec, uint tick) => throw new UnusedVertexException();
|
||||
|
||||
//计算线起点的方法,通过对线的派生的重写实现功能
|
||||
public virtual vec3d MoveBeginPoint(uint tick)
|
||||
=> movBegin.Invoke( GameTimeLine.tickCounter);
|
||||
|
||||
@@ -1,132 +0,0 @@
|
||||
using StgSharp.Linear;
|
||||
using StgSharp.Math;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Numerics;
|
||||
using System.Text;
|
||||
|
||||
namespace StgSharp.Geometries
|
||||
{
|
||||
public class Polygon : IPlainGeometry
|
||||
{
|
||||
internal Point _refOrigin;
|
||||
internal Point[] vertexArray ;
|
||||
internal RenderMode _renderMode;
|
||||
internal readonly int _vertexCount;
|
||||
|
||||
public override Point RefOrigin => _refOrigin;
|
||||
|
||||
public override Point RefPoint => vertexArray[0];
|
||||
|
||||
public override Point RefVec01 => throw new NotImplementedException();
|
||||
|
||||
public override Point RefVec02 => throw new NotImplementedException();
|
||||
|
||||
public override RenderMode renderMode => throw new NotImplementedException();
|
||||
|
||||
internal override void CalcVec01(uint tick)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
internal override void CalcVec02(vec3d vec, uint tick)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
internal override void CalcVec03(vec3d vec, uint tick)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
internal override void CalcVec04(vec3d vec, uint tick)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
internal override void CalcVec05(vec3d vec, uint tick)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
internal override void CalcVec06(vec3d vec, uint tick)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
internal override void CalcVec07(vec3d vec, uint tick)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
internal override void CalcVec08(vec3d vec, uint tick)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
internal override void CalcVec09(vec3d vec, uint tick)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
internal override void CalcVec10(vec3d vec, uint tick)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
internal override void CalcVec11(vec3d vec, uint tick)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
internal override void CalcVec12(vec3d vec, uint tick)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
internal override void CalcVec13(vec3d vec, uint tick)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
internal override void CalcVec14(vec3d vec, uint tick)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
internal override void CalcVec15(vec3d vec, uint tick)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
internal override void CalcVec16(vec3d vec, uint tick)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
internal override void OnRender(uint tick)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public override float SetArrayX()
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public override float SetArrayY()
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public override Line[] GetAllSides()
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public override Plain GetPlain()
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,93 @@
|
||||
using Steamworks;
|
||||
using StgSharp.Control;
|
||||
using StgSharp.Linear;
|
||||
using StgSharp.Math;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Numerics;
|
||||
using System.Text;
|
||||
|
||||
namespace StgSharp.Geometries
|
||||
{
|
||||
public class Polygon5 : IPlainGeometry
|
||||
{
|
||||
internal Point _refOrigin;
|
||||
internal Point vertex1;
|
||||
internal Point vertex2;
|
||||
internal Point vertex3;
|
||||
internal Point vertex4;
|
||||
internal Point vertex5;
|
||||
internal RenderMode _renderMode;
|
||||
internal readonly int _vertexCount;
|
||||
|
||||
public override Point RefOrigin => _refOrigin;
|
||||
|
||||
public override Point RefPoint01 => vertex1;
|
||||
|
||||
public override Point RefPoint02 => vertex2;
|
||||
|
||||
public override Point RefPoint03 => vertex3;
|
||||
|
||||
public override RenderMode renderMode => throw new NotImplementedException();
|
||||
|
||||
public virtual vec3d movPoint01(uint tick)
|
||||
{
|
||||
return movP01Operation.Invoke(GameTimeLine.tickCounter);
|
||||
}
|
||||
internal GetLocationHandler movP01Operation = default;
|
||||
public GetLocationHandler MovP01Operation { get => movP01Operation ; }
|
||||
|
||||
public virtual vec3d movPoint02(uint tick)
|
||||
{
|
||||
return movP02Operation.Invoke(GameTimeLine.tickCounter);
|
||||
}
|
||||
internal GetLocationHandler movP02Operation = default;
|
||||
public GetLocationHandler MovP02Operation { get => movP02Operation ; }
|
||||
|
||||
public virtual vec3d movPoint03(uint tick)
|
||||
{
|
||||
return movP03Operation.Invoke(GameTimeLine.tickCounter);
|
||||
}
|
||||
internal GetLocationHandler movP03Operation = default;
|
||||
public GetLocationHandler MovP03Operation { get => movP03Operation; }
|
||||
|
||||
public virtual vec3d movPoint04(uint tick)
|
||||
{
|
||||
return movP04Operation.Invoke(GameTimeLine.tickCounter);
|
||||
}
|
||||
internal GetLocationHandler movP04Operation = default;
|
||||
public GetLocationHandler MovP04Operation { get => movP04Operation; }
|
||||
|
||||
public virtual vec3d movPoint05(uint tick)
|
||||
{
|
||||
return movP05Operation.Invoke(GameTimeLine.tickCounter);
|
||||
}
|
||||
internal GetLocationHandler movP05Operation = default;
|
||||
public GetLocationHandler MovP05Operation { get => movP05Operation; }
|
||||
|
||||
internal override void OnRender(uint tick)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public override float SetArrayX()
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public override float SetArrayY()
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public override Line[] GetAllSides()
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public override Plain GetPlain()
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user