[Bf-blender-cvs] [e7e183aa2b9] master: Cleanup: Update / improve comments

Hans Goudey noreply at git.blender.org
Fri May 14 23:37:11 CEST 2021


Commit: e7e183aa2b99b8c787a2d2c357cdc4f61f0f6bf1
Author: Hans Goudey
Date:   Fri May 14 16:37:05 2021 -0500
Branches: master
https://developer.blender.org/rBe7e183aa2b99b8c787a2d2c357cdc4f61f0f6bf1

Cleanup: Update / improve comments

===================================================================

M	source/blender/blenkernel/BKE_spline.hh
M	source/blender/blenkernel/intern/spline_bezier.cc
M	source/blender/blenkernel/intern/spline_nurbs.cc

===================================================================

diff --git a/source/blender/blenkernel/BKE_spline.hh b/source/blender/blenkernel/BKE_spline.hh
index 54a8e97d5c6..acff2843806 100644
--- a/source/blender/blenkernel/BKE_spline.hh
+++ b/source/blender/blenkernel/BKE_spline.hh
@@ -48,10 +48,12 @@ using SplinePtr = std::unique_ptr<Spline>;
  * evaluation happens in a layer on top of the evaluated points generated by the derived types.
  *
  * There are a few methods to evaluate a spline:
- *  1. #evaluated_positions and #interpolate_to_evaluated_points give data at the initial
+ *  1. #evaluated_positions and #interpolate_to_evaluated_points give data for the initial
  *     evaluated points, depending on the resolution.
  *  2. #lookup_evaluated_factor and #lookup_evaluated_factor are meant for one-off lookups
  *     along the length of a curve.
+ *  3. #sample_uniform_index_factors returns an array that stores uniform-length samples
+ *     along the spline which can be used to interpolate data from method 1.
  *
  * Commonly used evaluated data is stored in caches on the spline itself so that operations on
  * splines don't need to worry about taking ownership of evaluated data when they don't need to.
@@ -288,7 +290,7 @@ class BezierSpline final : public Spline {
     int next_control_point_index;
     /**
      * Linear interpolation weight between the two indices, from 0 to 1.
-     * Higher means next control point.
+     * Higher means closer to next control point.
      */
     float factor;
   };
@@ -319,6 +321,8 @@ class NURBSpline final : public Spline {
     EndPoint,
     Bezier,
   };
+
+  /** Method used to recalculate the knots vector when points are added or removed. */
   KnotsMode knots_mode;
 
   struct BasisCache {
diff --git a/source/blender/blenkernel/intern/spline_bezier.cc b/source/blender/blenkernel/intern/spline_bezier.cc
index ba0f33e0093..58a8f46730a 100644
--- a/source/blender/blenkernel/intern/spline_bezier.cc
+++ b/source/blender/blenkernel/intern/spline_bezier.cc
@@ -168,6 +168,10 @@ static float3 next_position(Span<float3> positions, const bool cyclic, const int
   return positions[i + 1];
 }
 
+/**
+ * Recalculate all #Auto and #Vector handles with positions automatically
+ * derived from the neighboring control points.
+ */
 void BezierSpline::ensure_auto_handles() const
 {
   if (!auto_handles_dirty_) {
@@ -504,7 +508,7 @@ Span<float3> BezierSpline::evaluated_positions() const
 /**
  * Convert the data encoded in #evaulated_mappings into its parts-- the information necessary
  * to interpolate data from control points to evaluated points between them. The next control
- * point index result will not overflow the size of the vector.
+ * point index result will not overflow the size of the control point vectors.
  */
 BezierSpline::InterpolationData BezierSpline::interpolation_data_from_index_factor(
     const float index_factor) const
diff --git a/source/blender/blenkernel/intern/spline_nurbs.cc b/source/blender/blenkernel/intern/spline_nurbs.cc
index 2022b9fb85a..7816f303e2e 100644
--- a/source/blender/blenkernel/intern/spline_nurbs.cc
+++ b/source/blender/blenkernel/intern/spline_nurbs.cc
@@ -259,7 +259,7 @@ static void calculate_basis_for_point(const float parameter,
                                       MutableSpan<float> basis_buffer,
                                       NURBSpline::BasisCache &basis_cache)
 {
-  /* Clamp parameter due to floating point inaccuracy. TODO: Look into using doubles. */
+  /* Clamp parameter due to floating point inaccuracy. */
   const float t = std::clamp(parameter, knots[0], knots[points_len + order - 1]);
 
   int start = 0;



More information about the Bf-blender-cvs mailing list