using StgSharp.Math; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace StgSharp.Geometries { public abstract class ICoord { protected Matrix44 coordMat; protected List pointBuffer; public ICoord() { pointBuffer = new List(); } public abstract Matrix44 GlobalCoordTransformation { get; } public abstract vec3d Origin { get; } public abstract vec3d X_axis { get; } public abstract vec3d Y_axis { get; } public abstract vec3d Z_axis { get; } public T BuildGeometry(params vec4d[] defaultVertex) where T : IGeometry { T ret = Activator.CreateInstance(); ret.GetVertexHandle(this, ret.VertexCount); for (int i = 0; i < ret.VertexCount; i++) { ret[i] = defaultVertex[i]; } return ret; } } }