From ca206a8ab1ea4633bb8ffa8d0e8d94fe6f54a298 Mon Sep 17 00:00:00 2001
From: Jamie Temple <jamie-temple@live.de>
Date: Thu, 7 Jul 2022 23:57:35 +0200
Subject: [PATCH] refactor: name changes and interface clean ups

---
 src/01-bezierCurves/Curve.ts        |  8 ++++----
 src/01-bezierCurves/CurveHelper.ts  |  4 ++--
 src/01-bezierCurves/DemoBezier.ts   |  4 ++--
 src/02-quaternion/Axes.ts           | 11 +++++------
 src/02-quaternion/DemoQuaternion.ts |  2 +-
 src/core/Shapes.ts                  |  4 ----
 6 files changed, 14 insertions(+), 19 deletions(-)

diff --git a/src/01-bezierCurves/Curve.ts b/src/01-bezierCurves/Curve.ts
index 028a93f..98d0bd3 100644
--- a/src/01-bezierCurves/Curve.ts
+++ b/src/01-bezierCurves/Curve.ts
@@ -31,10 +31,10 @@ class Curve extends Line2d implements PipelineObserver {
         this._offset = parameter.offset;
 
         this.positions = [
-            parameter.pointA.position(),
-            parameter.tangentA.position(),
-            parameter.tangentB.position(),
-            parameter.pointB.position(),
+            parameter.pointA._object3d.position,
+            parameter.tangentA._object3d.position,
+            parameter.tangentB._object3d.position,
+            parameter.pointB._object3d.position,
         ];        
 
         this._generator = new CubicBezierCurve(this.positions, new DeCasteljauAlgorithm());
diff --git a/src/01-bezierCurves/CurveHelper.ts b/src/01-bezierCurves/CurveHelper.ts
index d88a83a..eff3e68 100644
--- a/src/01-bezierCurves/CurveHelper.ts
+++ b/src/01-bezierCurves/CurveHelper.ts
@@ -173,7 +173,7 @@ class CurveHelperBernstein implements PipelineObserver, PipelineRenderable, Pipe
         for (let i = 0; i < 4; i++) {
             this._point.push(new Point2d(.02, 32, new THREE.Color(0x0000ff)));
             this._point[i].material = material;
-            this._point[i].position().copy(new THREE.Vector3(this._helperReference.t, coefficient[i], 0.001));
+            this._point[i]._object3d.position.copy(new THREE.Vector3(this._helperReference.t, coefficient[i], 0.001));
         }
     }
 
@@ -192,7 +192,7 @@ class CurveHelperBernstein implements PipelineObserver, PipelineRenderable, Pipe
     update(_deltaTime: number): void {
         const coefficient = BernsteinAlgorithm.calculateCoefficients(this._helperReference.t);
         for (let i = 0; i < 4; i++) {
-            this._point[i].position().copy(new THREE.Vector3(this._helperReference.t, coefficient[i], 0.001)
+            this._point[i]._object3d.position.copy(new THREE.Vector3(this._helperReference.t, coefficient[i], 0.001)
                 .sub(new THREE.Vector3((this._scale * .5), (this._scale * .5), 0)));
         }
     }
diff --git a/src/01-bezierCurves/DemoBezier.ts b/src/01-bezierCurves/DemoBezier.ts
index 284c829..f4f8cb6 100644
--- a/src/01-bezierCurves/DemoBezier.ts
+++ b/src/01-bezierCurves/DemoBezier.ts
@@ -46,8 +46,8 @@ class BezierDemo extends PipelineData {
         this.addObserver(curveHelper);
         this.addObserver(curveHelperBernstein);
 
-        this.addGUI(curve);
-        this.addGUI(curveHelper);
+        this.addGUIElement(curve);
+        this.addGUIElement(curveHelper);
 
         this.addRenderable(pointA);
         this.addRenderable(tangentA);
diff --git a/src/02-quaternion/Axes.ts b/src/02-quaternion/Axes.ts
index a174f99..c31a11d 100644
--- a/src/02-quaternion/Axes.ts
+++ b/src/02-quaternion/Axes.ts
@@ -17,16 +17,15 @@ class Axes implements PipelineRenderable {
         this._objects.add(this.y.object());
         this._objects.add(this.z.object());
         const offset = 0.001;
-        this.x.position().z = offset;
-        this.y.position().z = offset;
-        this.z.position().z = offset;
+        this.x._object3d.position.z = offset;
+        this.y._object3d.position.z = offset;
+        this.z._object3d.position.z = offset;
     }
+    
     object(): THREE.Object3D {
         return this._objects;
     }
-    position(): THREE.Vector3 {
-        return this._objects.position;
-    }
+
 }
 
 export { Axes };
\ No newline at end of file
diff --git a/src/02-quaternion/DemoQuaternion.ts b/src/02-quaternion/DemoQuaternion.ts
index 4119b83..6751a7a 100644
--- a/src/02-quaternion/DemoQuaternion.ts
+++ b/src/02-quaternion/DemoQuaternion.ts
@@ -29,7 +29,7 @@ class QuaternionDemo extends PipelineData {
 
         const rotator: Rotator = new Rotator(rotationObject.object());
         this.addObserver(rotator);
-        this.addGUI(rotator);
+        this.addGUIElement(rotator);
 
         const rotationHelper = new RotationHelper(rotator, new THREE.Color(0xffffff), new THREE.Color(0xff0000));
         this.addRenderable(rotationHelper);
diff --git a/src/core/Shapes.ts b/src/core/Shapes.ts
index 230e017..f55fdc1 100644
--- a/src/core/Shapes.ts
+++ b/src/core/Shapes.ts
@@ -50,10 +50,6 @@ abstract class Shape implements PipelineRenderable {
     public object(): THREE.Object3D {
         return this._object3d!;
     }
-
-    public position(): THREE.Vector3 {
-        return this._object3d.position;
-    }
 }
 
 class DebugHelper implements PipelineObserver {
-- 
GitLab