public void calculatePoint(Vector3 point, double t) { int currentIndex = (int) Math.floor((t == 1 ? t - DELTA : t) * mNumCurves); mCurrentCurve = mCurves.get(currentIndex); double tdivnum = (t * mNumCurves) - currentIndex; mCurrentCurve.calculatePoint(point, tdivnum); }
public Vector3 getCurrentTangent() { if(mCurrentCurve == null) return null; return mCurrentCurve.getCurrentTangent(); }
public void setOrientToPath(boolean orientToPath) { if (mSplinePath == null) throw new RuntimeException("You must set a spline path before orientation to path is possible."); mOrientToPath = orientToPath; mSplinePath.setCalculateTangents(orientToPath); }
@Override protected void applyTransformation() { mSplinePath.calculatePoint(mTempPoint1, mInterpolatedTime); mTransformable3D.setPosition(mTempPoint1); if(mTarget != null) { mTransformable3D.setLookAt(mTarget.getPosition()); if(mUp != null) mTransformable3D.setUpAxis(mUp); } if (mOrientToPath) { // -- calculate tangent mSplinePath.calculatePoint(mTempPoint2, mInterpolatedTime + mLookatDelta * (mIsReversing ? -1 : 1)); mTransformable3D.setLookAt(mTempPoint2); } }
public void setOrientToPath(boolean orientToPath) { if (mSplinePath == null) throw new RuntimeException("You must set a spline path before orientation to path is possible."); mOrientToPath = orientToPath; mSplinePath.setCalculateTangents(orientToPath); }
public Vector3 getCurrentTangent() { if(mCurrentCurve == null) return null; return mCurrentCurve.getCurrentTangent(); }
public void calculatePoint(Vector3 point, double t) { int currentIndex = (int) Math.floor((t == 1 ? t - DELTA : t) * mNumCurves); mCurrentCurve = mCurves.get(currentIndex); double tdivnum = (t * mNumCurves) - currentIndex; mCurrentCurve.calculatePoint(point, tdivnum); }
@Override protected void applyTransformation() { mSplinePath.calculatePoint(mTempPoint1, mInterpolatedTime); mTransformable3D.setPosition(mTempPoint1); if (mOrientToPath) { // -- calculate tangent mSplinePath.calculatePoint(mTempPoint2, mInterpolatedTime + mLookatDelta * (mIsReversing ? -1 : 1)); mTransformable3D.setLookAt(mTempPoint2); } }