Skip to content

Commit 3ca9392

Browse files
committed
Refactoring extracted methods.
1 parent 4985fad commit 3ca9392

File tree

1 file changed

+20
-6
lines changed

1 file changed

+20
-6
lines changed

src/main/java/mesh/modifier/PushPullModifier.java

Lines changed: 20 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@ public class PushPullModifier implements IMeshModifier {
99

1010
private Vector3f center;
1111

12+
private Mesh3D mesh;
13+
1214
public PushPullModifier() {
1315
this(0, Vector3f.ZERO);
1416
}
@@ -18,17 +20,29 @@ public PushPullModifier(float distance, Vector3f center) {
1820
this.center = center;
1921
}
2022

23+
private void pushPullVertices() {
24+
for (Vector3f vertex : mesh.vertices)
25+
pushPullVertex(vertex);
26+
}
27+
28+
private void pushPullVertex(Vector3f vertex) {
29+
float distanceToCenter = vertex.distance(center);
30+
float displacement = distance - distanceToCenter;
31+
Vector3f directionToCenter = vertex.subtract(center).normalize();
32+
vertex.set(directionToCenter.mult(displacement).add(center));
33+
}
34+
2135
@Override
2236
public Mesh3D modify(Mesh3D mesh) {
23-
for (Vector3f vertex : mesh.vertices) {
24-
float distanceToCenter = vertex.distance(center);
25-
float displacement = this.distance - distanceToCenter;
26-
Vector3f directionToCenter = vertex.subtract(center).normalize();
27-
vertex.set(directionToCenter.mult(displacement).add(center));
28-
}
37+
setMesh(mesh);
38+
pushPullVertices();
2939
return mesh;
3040
}
3141

42+
private void setMesh(Mesh3D mesh) {
43+
this.mesh = mesh;
44+
}
45+
3246
public float getDistance() {
3347
return distance;
3448
}

0 commit comments

Comments
 (0)