Files
stgsharp/StgSharp.Mathematics/Geometries/Point.cs
T

58 lines
1.2 KiB
C#

// -----------------------------------------------------------------------------
// file="Point"
// Project: StgSharp
// Copyright (c) Nitload.
// SPDX-License-Identifier: MIT
// -----------------------------------------------------------------------------
using StgSharp.Mathematics.Graphics;
using System;
using System.Collections.Generic;
using System.Numerics;
using System.Runtime.InteropServices;
using System.Text;
namespace StgSharp.Geometries
{
[StructLayout(LayoutKind.Explicit, Size = 16)]
public struct Point
{
[FieldOffset(0)] private Vec3 coord;
[FieldOffset(0)] internal Vector4 coordVec;
internal Point(
Vec4 vector
)
{
coordVec = vector.vec;
coordVec.W = 1;
}
public Point(
Vec3 coord
)
{
Coord = coord;
coordVec.W = 1;
}
public Point(
float x,
float y,
float z
)
{
coordVec = new Vector4(x, y, z, 1);
}
public Vec3 Coord
{
get => coord;
set => coord = value;
}
}
}