Skip to content

Commit a8069e3

Browse files
author
Onur Rauf Bingol
committed
Updated surface evaluators for more compatibility
1 parent 7be560a commit a8069e3

File tree

2 files changed

+15
-9
lines changed

2 files changed

+15
-9
lines changed

geomdl/BSpline.py

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -228,10 +228,10 @@ def evaluate(self, **kwargs):
228228

229229
# Evaluate
230230
cpts = self._evaluator.evaluate(start_u=start, stop_u=stop,
231-
sample_size=self.sample_size,
232231
degree=self.degree,
233232
knotvector=self.knotvector,
234233
ctrlpts=self._control_points,
234+
sample_size=self.sample_size,
235235
dimension=self._dimension,
236236
precision=self._precision)
237237

@@ -1018,16 +1018,15 @@ def evaluate(self, **kwargs):
10181018
# Clean up the surface points
10191019
self.reset(evalpts=True)
10201020

1021-
# Compute knots in the range
1022-
knots_u = utilities.linspace(start_u, stop_u, self.sample_size, decimals=self._precision)
1023-
knots_v = utilities.linspace(start_v, stop_v, self.sample_size, decimals=self._precision)
1024-
1025-
spts = self._evaluator.evaluate(knots_u=knots_u, knots_v=knots_v,
1021+
# Evaluate
1022+
spts = self._evaluator.evaluate(start_u=start_u, stop_u=stop_u, start_v=start_v, stop_v=stop_v,
10261023
degree_u=self.degree_u, degree_v=self.degree_v,
10271024
knotvector_u=self.knotvector_u, knotvector_v=self.knotvector_v,
10281025
ctrlpts_size_u=self.ctrlpts_size_u, ctrlpts_size_v=self.ctrlpts_size_v,
10291026
ctrlpts=self._control_points2D,
1030-
dimension=self._dimension)
1027+
sample_size=self.sample_size,
1028+
dimension=self._dimension,
1029+
precision=self._precision)
10311030

10321031
self._surface_points = spts
10331032

geomdl/evaluators.py

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -369,8 +369,11 @@ def evaluate(self, **kwargs):
369369
# Call parent method
370370
super(SurfaceEvaluator, self).evaluate(**kwargs)
371371

372-
knots_u = kwargs.get('knots_u')
373-
knots_v = kwargs.get('knots_v')
372+
start_u = kwargs.get('start_u')
373+
stop_u = kwargs.get('stop_u')
374+
start_v = kwargs.get('start_v')
375+
stop_v = kwargs.get('stop_v')
376+
sample_size = kwargs.get('sample_size')
374377
degree_u = kwargs.get('degree_u')
375378
degree_v = kwargs.get('degree_v')
376379
knot_vector_u = kwargs.get('knotvector_u')
@@ -379,8 +382,12 @@ def evaluate(self, **kwargs):
379382
ctrlpts_size_u = kwargs.get('ctrlpts_size_u')
380383
ctrlpts_size_v = kwargs.get('ctrlpts_size_v')
381384
dimension = kwargs.get('dimension')
385+
precision = kwargs.get('precision')
382386

383387
# Algorithm A3.5
388+
knots_u = utilities.linspace(start_u, stop_u, sample_size[0], decimals=precision)
389+
knots_v = utilities.linspace(start_v, stop_v, sample_size[1], decimals=precision)
390+
384391
spans_u = helpers.find_spans(knot_vector_u, ctrlpts_size_u, knots_u)
385392
spans_v = helpers.find_spans(knot_vector_v, ctrlpts_size_v, knots_v)
386393

0 commit comments

Comments
 (0)