Files
stgsharp/源代码/StgSharp/Geometries/Coordination/ICoord.cs
T

60 lines
1.2 KiB
C#

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
{
private Matrix44 coordMat;
private Matrix44 origin;
public ICoord()
{
}
//A matrix can convert vertex to global coord.
public Matrix44 GlobalCoordTransformation
{
get
{
return coordMat * origin;
}
}
public vec3d Origin
{
get => origin.colum3.XYZ;
internal set => origin.colum3.XYZ = value;
}
public vec3d X_axis
{
get => coordMat.colum0.XYZ;
internal set => coordMat.colum0.XYZ = value;
}
public vec3d Y_axis
{
get => coordMat.colum1.XYZ;
internal set => coordMat.colum1.XYZ = value;
}
public vec3d Z_axis
{
get => coordMat.colum2.XYZ;
set => coordMat.colum2.XYZ = value;
}
protected ref Matrix44 CoordMat
{
get => ref coordMat;
}
}
}