Skip to content

Commit 2cfe55c

Browse files
committed
Removed rotateX from the mesh class following refactoring plan.
1 parent 65c826e commit 2cfe55c

File tree

10 files changed

+51
-41
lines changed

10 files changed

+51
-41
lines changed

src/main/java/mesh/Mesh3D.java

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -47,19 +47,19 @@ public Vector3f calculateFaceNormal(Face3D face) {
4747
return faceNormal.normalize();
4848
}
4949

50-
public Mesh3D rotateX(float angle) {
51-
Matrix3f m = new Matrix3f(
52-
1, 0, 0, 0, Mathf.cos(angle), -Mathf.sin(angle), 0,
53-
Mathf.sin(angle), Mathf.cos(angle)
54-
);
55-
56-
for (Vector3f v : vertices) {
57-
Vector3f v0 = v.mult(m);
58-
v.set(v.getX(), v0.getY(), v0.getZ());
59-
}
60-
61-
return this;
62-
}
50+
// public Mesh3D rotateX(float angle) {
51+
// Matrix3f m = new Matrix3f(
52+
// 1, 0, 0, 0, Mathf.cos(angle), -Mathf.sin(angle), 0,
53+
// Mathf.sin(angle), Mathf.cos(angle)
54+
// );
55+
//
56+
// for (Vector3f v : vertices) {
57+
// Vector3f v0 = v.mult(m);
58+
// v.set(v.getX(), v0.getY(), v0.getZ());
59+
// }
60+
//
61+
// return this;
62+
// }
6363

6464
public Mesh3D rotateY(float angle) {
6565
Matrix3f m = new Matrix3f(

src/main/java/mesh/creator/assets/ArchDoorCreator.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import mesh.Mesh3D;
66
import mesh.creator.IMeshCreator;
77
import mesh.creator.primitives.ArcCreator;
8+
import mesh.modifier.RotateXModifier;
89
import mesh.modifier.SolidifyModifier;
910
import mesh.modifier.TranslateModifier;
1011

@@ -44,7 +45,7 @@ private void initializeMesh() {
4445

4546
private void createBottomVertices() {
4647
Mesh3D bottom = createArcCreator().create();
47-
bottom.rotateX(Mathf.HALF_PI);
48+
bottom.apply(new RotateXModifier(Mathf.HALF_PI));
4849
for (Vector3f v : bottom.vertices)
4950
v.setY(0);
5051
mesh.append(bottom);
@@ -64,7 +65,7 @@ private void createFaces() {
6465

6566
private void createTopVertices() {
6667
Mesh3D top = createArcCreator().create();
67-
top.rotateX(Mathf.HALF_PI);
68+
top.apply(new RotateXModifier(Mathf.HALF_PI));
6869
top.translateY(-extendBottom);
6970
mesh.append(top);
7071
}

src/main/java/mesh/creator/assets/CrateCreator.java

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
import mesh.Mesh3D;
88
import mesh.creator.IMeshCreator;
99
import mesh.creator.primitives.CubeCreator;
10+
import mesh.modifier.RotateXModifier;
1011
import mesh.modifier.ScaleModifier;
1112
import mesh.modifier.TranslateModifier;
1213
import mesh.util.Mesh3DUtil;
@@ -93,36 +94,36 @@ private void createTopCrossBeam() {
9394

9495
private void createBottomCrossBeam() {
9596
Mesh3D mesh = createCrossBeam();
96-
mesh.rotateX(Mathf.PI);
97+
mesh.apply(new RotateXModifier(Mathf.PI));
9798
mesh.translateY(this.radius);
9899
this.mesh.append(mesh);
99100
}
100101

101102
private void createFrontCrossBeam() {
102103
Mesh3D mesh = createCrossBeam();
103-
mesh.rotateX(-Mathf.HALF_PI);
104+
mesh.apply(new RotateXModifier(-Mathf.HALF_PI));
104105
mesh.translateZ(this.radius);
105106
this.mesh.append(mesh);
106107
}
107108

108109
private void createBackCrossBeam() {
109110
Mesh3D mesh = createCrossBeam();
110-
mesh.rotateX(Mathf.HALF_PI);
111+
mesh.apply(new RotateXModifier(Mathf.HALF_PI));
111112
mesh.translateZ(-this.radius);
112113
this.mesh.append(mesh);
113114
}
114115

115116
private void createLeftCrossBeam() {
116117
Mesh3D mesh = createCrossBeam();
117-
mesh.rotateX(-Mathf.HALF_PI);
118+
mesh.apply(new RotateXModifier(-Mathf.HALF_PI));
118119
mesh.rotateY(-Mathf.HALF_PI);
119120
mesh.apply(new TranslateModifier(radius / 2, 0, 0));
120121
this.mesh.append(mesh);
121122
}
122123

123124
private void createRightCrossBeam() {
124125
Mesh3D mesh = createCrossBeam();
125-
mesh.rotateX(-Mathf.HALF_PI);
126+
mesh.apply(new RotateXModifier(-Mathf.HALF_PI));
126127
mesh.rotateY(Mathf.HALF_PI);
127128
mesh.apply(new TranslateModifier(radius / 2, 0, 0));
128129
this.mesh.append(mesh);

src/main/java/mesh/creator/assets/FlangePipeCreator.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
import mesh.creator.primitives.CircleCreator;
99
import mesh.creator.primitives.CylinderCreator;
1010
import mesh.creator.special.VariableCylinderCreator;
11+
import mesh.modifier.RotateXModifier;
1112

1213
public class FlangePipeCreator implements IMeshCreator {
1314

@@ -118,7 +119,7 @@ private void createBottomBoltHeads() {
118119

119120
private void createTopBoltHeads() {
120121
Mesh3D bottom = createBoltHeads();
121-
bottom.rotateX(Mathf.PI);
122+
bottom.apply(new RotateXModifier(Mathf.PI));;
122123
bottom.translateY(-flangeDepth - flangeGrooveWidth - pipeSegmentLength
123124
+ (boltHeadHeight / 2f));
124125
segment.append(bottom);

src/main/java/mesh/creator/assets/SciFiFloorCreator.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
import mesh.creator.primitives.CylinderCreator;
1010
import mesh.creator.primitives.PlaneCreator;
1111
import mesh.modifier.FitToAABBModifier;
12+
import mesh.modifier.RotateXModifier;
1213
import mesh.modifier.ScaleModifier;
1314
import mesh.selection.FaceSelection;
1415
import mesh.util.Mesh3DUtil;
@@ -84,7 +85,7 @@ private void createBaseCylinder() {
8485
creator.setVertices(8);
8586
Mesh3D cylinder = creator.create();
8687
cylinder.rotateY(Mathf.TWO_PI / 16f);
87-
cylinder.rotateX(Mathf.HALF_PI);
88+
cylinder.apply(new RotateXModifier(Mathf.HALF_PI));
8889
new FitToAABBModifier(width, height, depth).modify(cylinder);
8990
Mesh3DUtil.flipDirection(cylinder);
9091
mesh.append(cylinder);

src/main/java/mesh/creator/assets/SteveModel.java

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import mesh.Mesh3D;
55
import mesh.creator.primitives.BoxCreator;
66
import mesh.creator.primitives.CubeCreator;
7+
import mesh.modifier.RotateXModifier;
78

89
public class SteveModel {
910

@@ -41,9 +42,10 @@ public void rotateHead(float x, float y, float z) {
4142

4243
head.rotateZ(-rotationHead.getZ());
4344
head.rotateY(-rotationHead.getY());
44-
head.rotateX(-rotationHead.getX());
45+
head.apply(new RotateXModifier(-rotationHead.getX()));
46+
4547

46-
head.rotateX(x);
48+
head.apply(new RotateXModifier(x));
4749
head.rotateY(y);
4850
head.rotateZ(z);
4951

@@ -55,11 +57,11 @@ public void rotateHead(float x, float y, float z) {
5557
public void rotateLeftArm(float x, float y, float z) {
5658
leftArm.translateY(24 * unit);
5759

58-
leftArm.rotateX(-rotationLeftArm.getZ());
60+
leftArm.apply(new RotateXModifier(-rotationLeftArm.getZ()));
5961
leftArm.rotateY(-rotationLeftArm.getY());
60-
leftArm.rotateX(-rotationLeftArm.getX());
62+
leftArm.apply(new RotateXModifier(-rotationLeftArm.getX()));
6163

62-
leftArm.rotateX(x);
64+
rightArm.apply(new RotateXModifier(x));
6365
leftArm.rotateY(y);
6466
leftArm.rotateY(z);
6567

@@ -71,11 +73,11 @@ public void rotateLeftArm(float x, float y, float z) {
7173
public void rotateRightArm(float x, float y, float z) {
7274
rightArm.translateY(24 * unit);
7375

74-
rightArm.rotateX(-rotationRightArm.getZ());
76+
rightArm.apply(new RotateXModifier(-rotationRightArm.getZ()));
7577
rightArm.rotateY(-rotationRightArm.getY());
76-
rightArm.rotateX(-rotationRightArm.getX());
78+
rightArm.apply(new RotateXModifier(-rotationRightArm.getX()));
7779

78-
rightArm.rotateX(x);
80+
rightArm.apply(new RotateXModifier(x));
7981
rightArm.rotateY(y);
8082
rightArm.rotateY(z);
8183

src/main/java/mesh/creator/creative/LeonardoCubeCreator.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import mesh.Mesh3D;
66
import mesh.creator.IMeshCreator;
77
import mesh.creator.primitives.CubeCreator;
8+
import mesh.modifier.RotateXModifier;
89
import mesh.selection.FaceSelection;
910
import mesh.util.Mesh3DUtil;
1011

@@ -83,14 +84,14 @@ private void createRightConnector() {
8384

8485
private void createBackConnector() {
8586
Mesh3D back = createConnector(true, true);
86-
back.rotateX(-Mathf.HALF_PI);
87+
back.apply(new RotateXModifier(-Mathf.HALF_PI));
8788
back.translateZ(-outerRadius + connectorRadius);
8889
mesh.append(back);
8990
}
9091

9192
private void createFrontConnector() {
9293
Mesh3D front = createConnector(true, true);
93-
front.rotateX(-Mathf.HALF_PI);
94+
front.apply(new RotateXModifier(-Mathf.HALF_PI));
9495
front.translateZ(outerRadius - connectorRadius);
9596
mesh.append(front);
9697
}

src/main/java/mesh/creator/primitives/SegmentedBoxCreator.java

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import math.Mathf;
44
import mesh.Mesh3D;
55
import mesh.creator.IMeshCreator;
6+
import mesh.modifier.RotateXModifier;
67

78
public class SegmentedBoxCreator implements IMeshCreator {
89

@@ -74,23 +75,23 @@ private Mesh3D createGrid(int subdivisionsX, int subdivisionsZ,
7475
private void createFront() {
7576
Mesh3D front = createGrid(segmentsX, segmentsY, segmentSizeX,
7677
segmentSizeY);
77-
front.rotateX(-Mathf.HALF_PI);
78+
front.apply(new RotateXModifier(-Mathf.HALF_PI));
7879
front.translateZ(depth / 2f);
7980
mesh.append(front);
8081
}
8182

8283
private void createBack() {
8384
Mesh3D back = createGrid(segmentsX, segmentsY, segmentSizeX,
8485
segmentSizeY);
85-
back.rotateX(Mathf.HALF_PI);
86+
back.apply(new RotateXModifier(Mathf.HALF_PI));
8687
back.translateZ(-depth / 2f);
8788
mesh.append(back);
8889
}
8990

9091
private void createLeft() {
9192
Mesh3D left = createGrid(segmentsZ, segmentsY, segmentSizeZ,
9293
segmentSizeY);
93-
left.rotateX(Mathf.HALF_PI);
94+
left.apply(new RotateXModifier(Mathf.HALF_PI));
9495
left.rotateY(Mathf.HALF_PI);
9596
left.translateX(-width / 2f);
9697
mesh.append(left);
@@ -99,7 +100,7 @@ private void createLeft() {
99100
private void createRight() {
100101
Mesh3D right = createGrid(segmentsZ, segmentsY, segmentSizeZ,
101102
segmentSizeY);
102-
right.rotateX(Mathf.HALF_PI);
103+
right.apply(new RotateXModifier(Mathf.HALF_PI));
103104
right.rotateY(-Mathf.HALF_PI);
104105
right.translateX(width / 2f);
105106
mesh.append(right);
@@ -115,7 +116,7 @@ private void createTop() {
115116
private void createBottom() {
116117
Mesh3D bottom = createGrid(segmentsX, segmentsZ, segmentSizeX,
117118
segmentSizeZ);
118-
bottom.rotateX(-Mathf.PI);
119+
bottom.apply(new RotateXModifier(-Mathf.PI));
119120
bottom.translateY(height / 2f);
120121
mesh.append(bottom);
121122
}

src/main/java/mesh/creator/primitives/SegmentedCubeCreator.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import math.Mathf;
44
import mesh.Mesh3D;
55
import mesh.creator.IMeshCreator;
6+
import mesh.modifier.RotateXModifier;
67
import mesh.modifier.ScaleModifier;
78

89
public class SegmentedCubeCreator implements IMeshCreator {
@@ -41,21 +42,21 @@ private void createTop() {
4142

4243
private void createBottom() {
4344
Mesh3D bottom = createSide();
44-
bottom.rotateX(Mathf.PI);
45+
bottom.apply(new RotateXModifier(Mathf.PI));
4546
bottom.translateY(creationSize);
4647
append(bottom);
4748
}
4849

4950
private void createFront() {
5051
Mesh3D front = createSide();
51-
front.rotateX(Mathf.HALF_PI);
52+
front.apply(new RotateXModifier(Mathf.HALF_PI));
5253
front.translateZ(-creationSize);
5354
append(front);
5455
}
5556

5657
private void createBack() {
5758
Mesh3D back = createSide();
58-
back.rotateX(-Mathf.HALF_PI);
59+
back.apply(new RotateXModifier(-Mathf.HALF_PI));
5960
back.translateZ(creationSize);
6061
append(back);
6162
}

src/main/java/workspace/ui/ViewGizmo.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import mesh.Mesh3D;
55
import mesh.creator.primitives.ConeCreator;
66
import mesh.creator.primitives.CubeCreator;
7+
import mesh.modifier.RotateXModifier;
78
import mesh.modifier.ScaleModifier;
89
import workspace.laf.UiConstants;
910
import workspace.laf.UiValues;
@@ -72,7 +73,7 @@ private void createConeY() {
7273
private void createConeZ() {
7374
coneZ = new ConeCreator().create();
7475
coneZ.apply(new ScaleModifier(size));
75-
coneZ.rotateX(Mathf.HALF_PI);
76+
coneZ.apply(new RotateXModifier(Mathf.HALF_PI));
7677
coneZ.translateZ(height * size);
7778
}
7879

0 commit comments

Comments
 (0)