Skip to content

Commit

Permalink
Updated Multi classes to use sample size instead of delta
Browse files Browse the repository at this point in the history
  • Loading branch information
Onur R. Bingol committed Apr 19, 2018
1 parent fd3e852 commit 54ccb1d
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 29 deletions.
29 changes: 3 additions & 26 deletions geomdl/Abstract.py
Original file line number Diff line number Diff line change
Expand Up @@ -756,7 +756,7 @@ class Multi(object):

def __init__(self):
self._elements = [] # elements contained
self._delta = 0.1 # evaluation delta
self._sample_size = 10 # sample size
self._vis_component = None # visualization component
self._iter_index = 0 # iterator index
self._instance = None # type of the initial element
Expand Down Expand Up @@ -803,34 +803,11 @@ def sample_size(self):
:setter: Sets sample size
:type: int
"""
return int(math.ceil(1.0 / self.delta)) + 1
return self._sample_size

@sample_size.setter
def sample_size(self, value):
self.delta = 1.0 / float(value - 1)

@property
def delta(self):
""" Evaluation delta.
Evaluation delta corresponds to the *step size* while ``evaluate`` function iterates on the knot vector to
generate evaluated points. Decreasing step size results in generation of more evaluated points.
Therefore; smaller the delta value, smoother the shape.
:getter: Gets the delta value
:setter: Sets the delta value
:type: float
"""
return self._delta

@delta.setter
def delta(self, value):
# Delta value for surface evaluation should be between 0 and 1
if float(value) <= 0 or float(value) >= 1:
raise ValueError("Evaluation delta should be between 0.0 and 1.0")

# Set a new delta value
self._delta = float(value)
self._sample_size = value

@property
def vis(self):
Expand Down
6 changes: 3 additions & 3 deletions geomdl/Multi.py
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ def render(self):
# Run the visualization component
self._vis_component.clear()
for idx, elem in enumerate(self._elements):
elem.delta = self._delta
elem.sample_size = self._sample_size
elem.evaluate()
color = utilities.color_generator()
self._vis_component.add(ptsarr=elem.ctrlpts,
Expand Down Expand Up @@ -70,7 +70,7 @@ def render(self):
# Run the visualization component
self._vis_component.clear()
for idx, elem in enumerate(self._elements):
elem.delta = self._delta
elem.sample_size = self._sample_size
elem.evaluate()
color = utilities.color_generator()
self._vis_component.add(ptsarr=elem.ctrlpts,
Expand All @@ -79,7 +79,7 @@ def render(self):
color=color[0],
plot_type='ctrlpts')
self._vis_component.add(ptsarr=elem.surfpts,
size=[int((1.0 / self._delta) + 1), int((1.0 / self._delta) + 1)],
size=[elem.sample_size, elem.sample_size],
name="Surface " + str(idx + 1),
color=color[1],
plot_type='evalpts')
Expand Down

0 comments on commit 54ccb1d

Please sign in to comment.