Skip to content

Commit

Permalink
Deleted Vector3m.
Browse files Browse the repository at this point in the history
  • Loading branch information
MeltyPlayer committed Jan 5, 2025
1 parent 387c054 commit 2ec3461
Show file tree
Hide file tree
Showing 4 changed files with 22 additions and 93 deletions.
13 changes: 4 additions & 9 deletions FinModelUtility/Formats/Vrml/Vrml/src/api/VrmlModelImporter.cs
Original file line number Diff line number Diff line change
Expand Up @@ -285,15 +285,15 @@ var points2d
points3d.Select(t => t.LocalPosition).ToArray());

try {
var vec3msWithIndices = new List<Vector3m>();
var vec3sWithIndices = new List<Vector3>();
for (var i = 0; i < points2d.Count; ++i) {
var point2d = points2d[i];
var vec3m = new Vector3m(point2d.X, point2d.Y, 0);
vec3msWithIndices.Add(vec3m);
var vec3 = new Vector3(point2d.X, point2d.Y, 0);
vec3sWithIndices.Add(vec3);
}

var earClipping = new EarClipping();
earClipping.SetPoints(vec3msWithIndices);
earClipping.SetPoints(vec3sWithIndices);
earClipping.Triangulate();

return earClipping
Expand Down Expand Up @@ -324,11 +324,6 @@ private struct PointWithIndex(double x, double y, int index) : IPoint {
public int Index => index;
}

private class EqualityComparer : IEqualityComparer<Vector3m> {
public bool Equals(Vector3m x, Vector3m y) => ReferenceEquals(x, y);
public int GetHashCode(Vector3m obj) => RuntimeHelpers.GetHashCode(obj);
}

private static IEnumerable<IndexedFaceGroup[]> GetIndexFaceSetCoordGroups_(
IIndexedFaceSetNode indexedFaceSetNode) {
var indexCounts = new CounterSet<int>();
Expand Down
20 changes: 10 additions & 10 deletions FinModelUtility/Formats/Vrml/Vrml/src/util/EarClipping.cs
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ public class EarClipping {
private Vector3 normal_;
public List<int> Result { get; private set; }

public void SetPoints(List<Vector3m> points) {
public void SetPoints(List<Vector3> points) {
if (points == null || points.Count < 3) {
throw new ArgumentException("No list or an empty list passed");
}
Expand All @@ -24,7 +24,7 @@ public void SetPoints(List<Vector3m> points) {
}

// calculating normal using Newell's method
private void CalcNormal_(List<Vector3m> points) {
private void CalcNormal_(List<Vector3> points) {
Vector3 normal = Vector3.Zero;
for (var i = 0; i < points.Count; i++) {
var j = (i + 1) % (points.Count);
Expand All @@ -36,13 +36,13 @@ private void CalcNormal_(List<Vector3m> points) {
this.normal_ = normal;
}

private void LinkAndAddToList_(Polygon polygon, List<Vector3m> points) {
private void LinkAndAddToList_(Polygon polygon, List<Vector3> points) {
ConnectionEdge prev = null, first = null;
Dictionary<Vector3m, (Vector3m, int, List<ConnectionEdge>)> pointsHashSet = new();
Dictionary<Vector3, (Vector3, int, List<ConnectionEdge>)> pointsHashSet = new();
int pointCount = 0;
for (int i = 0; i < points.Count; i++) {
// we don't wanna have duplicates
Vector3m p0;
Vector3 p0;
int p0Index;
List<ConnectionEdge> incidentEdges;
if (pointsHashSet.ContainsKey(points[i])) {
Expand Down Expand Up @@ -146,9 +146,9 @@ private bool IsConvex_(ConnectionEdge curPoint) {
return orientation == 1;
}

private bool IsPointInTriangle_(Vector3m prevPoint,
Vector3m curPoint,
Vector3m nextPoint,
private bool IsPointInTriangle_(Vector3 prevPoint,
Vector3 curPoint,
Vector3 nextPoint,
List<ConnectionEdge> nonConvexPoints) {
foreach (var nonConvexPoint in nonConvexPoints) {
if (nonConvexPoint.Origin.Equals(prevPoint) ||
Expand Down Expand Up @@ -206,14 +206,14 @@ public override int GetHashCode() {
}
}

internal Vector3m Origin { get; }
internal Vector3 Origin { get; }
internal int OriginIndex { get; }

internal ConnectionEdge prev_;
internal ConnectionEdge next_;
internal Polygon Polygon { get; set; }

public ConnectionEdge(Vector3m p0, int p0Index, Polygon parentPolygon, List<ConnectionEdge> incidentEdges) {
public ConnectionEdge(Vector3 p0, int p0Index, Polygon parentPolygon, List<ConnectionEdge> incidentEdges) {
this.Origin = p0;
this.OriginIndex = p0Index;
this.Polygon = parentPolygon;
Expand Down
16 changes: 8 additions & 8 deletions FinModelUtility/Formats/Vrml/Vrml/src/util/Misc.cs
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,11 @@
namespace vrml.util;

class Misc {
public static int GetOrientation(Vector3m v0,
Vector3m v1,
Vector3m v2,
public static int GetOrientation(Vector3 v0,
Vector3 v1,
Vector3 v2,
Vector3 normal) {
var res = (Vector3) ((v0 - v1).Cross(v2 - v1));
var res = Vector3.Cross(v0 - v1, v2 - v1);
if (res.Length().IsRoughly0()) {
return 0;
}
Expand All @@ -22,10 +22,10 @@ public static int GetOrientation(Vector3m v0,
return -1;
}

public static bool PointInOrOnTriangle(Vector3m prevPoint,
Vector3m curPoint,
Vector3m nextPoint,
Vector3m nonConvexPoint,
public static bool PointInOrOnTriangle(Vector3 prevPoint,
Vector3 curPoint,
Vector3 nextPoint,
Vector3 nonConvexPoint,
Vector3 normal) {
var res0 = Misc.GetOrientation(prevPoint, nonConvexPoint, curPoint, normal);
var res1 = Misc.GetOrientation(curPoint, nonConvexPoint, nextPoint, normal);
Expand Down
66 changes: 0 additions & 66 deletions FinModelUtility/Formats/Vrml/Vrml/src/util/Vector3m.cs

This file was deleted.

0 comments on commit 2ec3461

Please sign in to comment.