Skip to content

Commit 1aa9286

Browse files
jmirabelnim65s
authored andcommitted
[Python] Make toFlags deprecated.
1 parent 0c0e089 commit 1aa9286

File tree

4 files changed

+16
-27
lines changed

4 files changed

+16
-27
lines changed

src/dynamic_graph/sot/core/meta_task_6d.py

Lines changed: 3 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -7,20 +7,9 @@
77

88

99
def toFlags(arr):
10-
"""
11-
Convert an array of boolean to a /flag/ format, type 001010110,
12-
in little indian
13-
(reverse order, first bool of the list will be the [01] of extrem right).
14-
"""
15-
lres = [0] * (max(arr) + 1)
16-
for i in arr:
17-
lres[i] = 1
18-
lres.reverse()
19-
res = ''
20-
for i in lres:
21-
res += str(i)
22-
return Flags(res)
23-
10+
from warnings import warn
11+
warn("This function is deprecated. Please, use Flags directly.")
12+
return Flags(arr)
2413

2514
class MetaTask6d(object):
2615
name = ''

src/dynamic_graph/sot/core/meta_task_posture.py

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
from dynamic_graph.sot.core.feature_generic import FeatureGeneric
33
from dynamic_graph.sot.core.gain_adaptive import GainAdaptive
44
from dynamic_graph.sot.core.matrix_util import matrixToTuple, vectorToTuple
5-
from dynamic_graph.sot.core.meta_task_6d import toFlags
5+
from dynamic_graph.sot.core.meta_task_6d import toFlags # kept for backward compatibility
66
from dynamic_graph.sot.core.meta_tasks import setGain
77
from dynamic_graph.sot.core.sot import Task
88
from numpy import identity, matrix, zeros
@@ -67,17 +67,19 @@ def gotoq(self, gain=None, qdes=None, **kwargs):
6767
MetaTaskPosture.nbDof = len(self.feature.errorIN.value)
6868
qdes = zeros((MetaTaskPosture.nbDof, 1))
6969

70+
act = [ False, ] * MetaTaskPosture.nbDof
7071
for limbName, jointValues in kwargs.items():
7172
limbRange = self.postureRange[limbName]
72-
act += limbRange
73+
for i in limbRange:
74+
act[i] = True
7375
if jointValues != []:
7476
if isinstance(jointValues, matrix):
7577
qdes[limbRange, 0] = vectorToTuple(jointValues)
7678
else:
7779
qdes[limbRange, 0] = jointValues
7880
self.ref = vectorToTuple(qdes)
7981
if len(act) > 0:
80-
self.feature.selec.value = toFlags(act)
82+
self.feature.selec.value = Flags(act)
8183
setGain(self.gain, gain)
8284

8385

src/dynamic_graph/sot/core/meta_tasks.py

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
from dynamic_graph.sot.core.feature_generic import FeatureGeneric
66
from dynamic_graph.sot.core.gain_adaptive import GainAdaptive
77
from dynamic_graph.sot.core.matrix_util import matrixToTuple, rpy2tr
8-
from dynamic_graph.sot.core.meta_task_6d import toFlags
8+
from dynamic_graph.sot.core.meta_task_6d import toFlags # kept for backward compatibility
99

1010

1111
class MetaTaskCom(object):
@@ -79,10 +79,9 @@ def goto6d(task, position, gain=None, resetJacobian=True):
7979
def gotoNd(task, position, selec=None, gain=None, resetJacobian=True):
8080
M = generic6dReference(position)
8181
if selec is not None:
82-
if isinstance(selec, str):
83-
task.feature.selec.value = Flags(selec)
84-
else:
85-
task.feature.selec.value = toFlags(selec)
82+
if not isinstance(selec, Flags):
83+
selec = Flags(selec)
84+
task.feature.selec.value = selec
8685
task.featureDes.position.value = array(M)
8786
setGain(task.gain, gain)
8887
if 'resetJacobianDerivative' in task.task.__class__.__dict__.keys() and resetJacobian:

src/dynamic_graph/sot/core/meta_tasks_kine_relative.py

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
from dynamic_graph.sot.core import Flags
33
from dynamic_graph.sot.core.feature_point6d_relative import FeaturePoint6dRelative
44
from dynamic_graph.sot.core.matrix_util import matrixToTuple
5-
from dynamic_graph.sot.core.meta_task_6d import MetaTask6d, toFlags
5+
from dynamic_graph.sot.core.meta_task_6d import MetaTask6d, toFlags # kept for backward compatibility
66
from dynamic_graph.sot.core.meta_tasks import generic6dReference, setGain
77
from dynamic_graph.sot.core.op_point_modifier import OpPointModifier
88

@@ -94,10 +94,9 @@ def gotoNdRel(task, position, positionRef, selec=None, gain=None, resetJacobian=
9494
M = generic6dReference(position)
9595
MRef = generic6dReference(positionRef)
9696
if selec is not None:
97-
if isinstance(selec, str):
98-
task.feature.selec.value = selec
99-
else:
100-
task.feature.selec.value = toFlags(selec)
97+
if not isinstance(selec, Flags):
98+
selec = Flags(selec)
99+
task.feature.selec.value = selec
101100
task.featureDes.position.value = matrixToTuple(M)
102101
task.featureDes.positionRef.value = matrixToTuple(MRef)
103102
setGain(task.gain, gain)

0 commit comments

Comments
 (0)